/* ==========================================================================
   Grupo R Energia Solar — design system + premium motion
   Tokens · reset · tipografia · componentes shared (nav, footer, CTA, marquee)
   Componentes Home · Agro · Simulador
   Scroll-reveal · letter-stagger · cursor · counter · magnetic
   ========================================================================== */

:root{
  --ink:#0F0F10;
  --ink-soft:#1A1815;
  --yellow:#F4B41A;
  --yellow-deep:#C99100;
  --cream:#F6EEDB;
  --sand:#ECE1C5;
  --warm-white:#FBF7EE;
  --white:#FFFFFF;
  --muted:#6F665A;

  --ink-80: color-mix(in srgb, var(--ink) 80%, transparent);
  --ink-60: color-mix(in srgb, var(--ink) 60%, transparent);
  --ink-40: color-mix(in srgb, var(--ink) 40%, transparent);
  --ink-20: color-mix(in srgb, var(--ink) 20%, transparent);
  --ink-15: color-mix(in srgb, var(--ink) 15%, transparent);
  --ink-08: color-mix(in srgb, var(--ink) 8%, transparent);

  --cream-on-ink-60: color-mix(in srgb, var(--cream) 60%, transparent);
  --cream-on-ink-40: color-mix(in srgb, var(--cream) 40%, transparent);
  --cream-on-ink-20: color-mix(in srgb, var(--cream) 20%, transparent);

  --display: "Playfair Display", Georgia, serif;
  --sans:  "Sora", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
  --mono:  "JetBrains Mono", ui-monospace, Menlo, monospace;

  --ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1);
  --ease-out-quint: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-spring:    cubic-bezier(0.34, 1.56, 0.64, 1);
  --t-fast: 200ms;
  --t-base: 420ms;
  --t-slow: 720ms;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
html,body{ margin:0; padding:0; }
body{
  background:var(--white);
  color:var(--ink);
  font-family:var(--sans);
  font-weight:400;
  font-size:14px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; cursor:pointer; }

.eyebrow{
  font-family:var(--mono);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:11px;
  font-weight:500;
  color:var(--ink-60);
}
.eyebrow.on-dark{ color:var(--cream-on-ink-60); }

.site{
  font-family:var(--sans);
  color:var(--ink);
  background:var(--white);
}
.container{ max-width:1180px; margin:0 auto; padding:0 36px; }

/* ============================================================
   SCROLL-REVEAL · LETTER-STAGGER · ENTRADAS
   ============================================================ */
[data-reveal]{
  opacity:0;
  transform:translateY(28px);
  transition: opacity var(--t-slow) var(--ease-out-quart),
              transform var(--t-slow) var(--ease-out-quart);
  transition-delay: var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}
[data-reveal].in{ opacity:1; transform:translateY(0); }

[data-reveal="fade"]{ transform:none; }
[data-reveal="fade"].in{ transform:none; }

[data-reveal="left"]{ transform:translateX(-32px); }
[data-reveal="left"].in{ transform:translateX(0); }

[data-reveal="right"]{ transform:translateX(32px); }
[data-reveal="right"].in{ transform:translateX(0); }

[data-reveal="scale"]{ transform:scale(.96); }
[data-reveal="scale"].in{ transform:scale(1); }

.letter-stagger{ display:inline; }
.letter-stagger .ls-word{ display:inline-block; overflow:hidden; vertical-align:bottom; }
.letter-stagger .ls-word .ls-inner{
  display:inline-block;
  transform:translateY(110%);
  opacity:0;
  transition:transform 900ms var(--ease-out-quint),
             opacity   600ms var(--ease-out-quart);
  transition-delay: calc(var(--i, 0) * 70ms + 80ms);
  will-change: transform, opacity;
}
.letter-stagger.in .ls-word .ls-inner{
  transform:translateY(0);
  opacity:1;
}

/* Counter — locked to monospaced digits while counting */
.counter{
  font-variant-numeric: tabular-nums;
  display:inline-block;
}

/* ============================================================
   SCROLL PROGRESS BAR · CURSOR CUSTOM
   ============================================================ */
.scroll-bar{
  position:fixed;
  top:0; left:0;
  height:2px;
  width:0;
  background:var(--yellow);
  z-index:9998;
  transition: width 70ms linear;
  pointer-events:none;
}

.cursor{
  position:fixed; top:0; left:0; z-index:9999;
  width:14px; height:14px;
  background:var(--ink);
  border-radius:50%;
  transform:translate3d(-50%,-50%,0);
  pointer-events:none;
  mix-blend-mode:difference;
  transition:
    width  240ms var(--ease-out-quart),
    height 240ms var(--ease-out-quart),
    background-color 240ms var(--ease-out-quart),
    opacity 240ms var(--ease-out-quart);
}
.cursor.grow{
  width:54px; height:54px;
  background:var(--yellow);
  mix-blend-mode:normal;
  opacity:.92;
}
.cursor.hidden{ opacity:0; }
@media (pointer:coarse), (max-width:1100px){ .cursor{ display:none; } }

/* ============================================================
   NAV (sticky · shrunk on scroll · animated underlines)
   ============================================================ */
.s-nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 36px;
  border-bottom:1px solid var(--ink-08);
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.86);
  backdrop-filter:saturate(180%) blur(14px);
  -webkit-backdrop-filter:saturate(180%) blur(14px);
  transition:
    padding var(--t-base) var(--ease-out-quart),
    background var(--t-base) var(--ease-out-quart),
    box-shadow var(--t-base) var(--ease-out-quart);
}
.s-nav.shrunk{
  padding:10px 36px;
  background:rgba(255,255,255,.96);
  box-shadow:0 10px 30px -22px var(--ink-40);
}
.s-nav .brand{
  display:flex; align-items:center; gap:12px;
  font-family:var(--sans); font-weight:700;
  font-size:18px; letter-spacing:-.02em;
  transition: transform var(--t-base) var(--ease-out-quart);
}
.s-nav .brand:hover{ transform: translateY(-1px); }
.s-nav .brand .logo{
  width:32px; height:32px; background:var(--ink); border-radius:6px;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--sans); font-weight:800; color:var(--yellow); font-size:18px;
  letter-spacing:-.04em;
  position:relative;
  transition: transform var(--t-base) var(--ease-spring), box-shadow var(--t-base) var(--ease-out-quart);
  box-shadow: 0 0 0 0 rgba(244,180,26,0);
}
.s-nav .brand:hover .logo{
  transform: rotate(-6deg) scale(1.06);
  box-shadow: 0 0 24px -6px rgba(244,180,26,.55);
}
.s-nav .brand .name{ color:var(--ink); }
.s-nav .brand .name span{ font-weight:400; color:var(--ink-60); margin-left:4px; font-size:13px; }

.s-nav .links{ display:flex; gap:26px; }
.s-nav .links a{
  font-size:13.5px; color:var(--ink); font-weight:500;
  position:relative; padding:6px 0;
  transition: color var(--t-fast) var(--ease-out-quart);
}
.s-nav .links a::after{
  content:""; position:absolute; left:0; bottom:0;
  width:100%; height:1px; background:var(--ink);
  transform:scaleX(0); transform-origin:right center;
  transition: transform var(--t-base) var(--ease-out-quart);
}
.s-nav .links a:hover{ color:var(--ink); }
.s-nav .links a:hover::after{ transform:scaleX(1); transform-origin:left center; }
.s-nav .links a.has-arrow::before{ content:" ▾"; margin-right:0; font-size:10px; color:var(--ink-60); float:right; margin-left:6px; }

.s-nav .actions{ display:flex; gap:10px; align-items:center; }
.s-nav .actions .ghost{
  font-size:13px; color:var(--ink); font-weight:500;
  transition: color var(--t-fast) var(--ease-out-quart);
}
.s-nav .actions .ghost:hover{ color:var(--yellow-deep); }
.s-nav .actions .cta{
  background:var(--yellow); color:var(--ink); font-weight:700; font-size:13px;
  padding:10px 16px; border-radius:999px;
  border:1px solid var(--ink);
  display:inline-flex; align-items:center; gap:6px;
  transition: transform var(--t-fast) var(--ease-spring),
              box-shadow var(--t-fast) var(--ease-out-quart),
              background var(--t-fast) var(--ease-out-quart);
}
.s-nav .actions .cta:hover{
  transform: translateY(-2px);
  box-shadow:0 12px 24px -10px var(--ink-40);
}
.s-nav .actions .cta::before{ content:"→"; font-family:var(--mono); }

/* ============================================================
   PILL CTA (used inside hero / page bodies)
   ============================================================ */
.pill-cta{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--yellow); color:var(--ink); font-weight:700; font-size:13.5px;
  padding:12px 22px; border-radius:999px;
  border:1px solid var(--ink);
  position:relative; overflow:hidden;
  transition: transform var(--t-fast) var(--ease-spring),
              box-shadow var(--t-fast) var(--ease-out-quart);
  will-change: transform;
}
.pill-cta::after{
  content:""; position:absolute; inset:0;
  background:radial-gradient(circle at var(--mx, 50%) var(--my, 50%), rgba(255,255,255,.35) 0, transparent 60%);
  opacity:0; transition: opacity var(--t-base) var(--ease-out-quart);
  pointer-events:none;
}
.pill-cta:hover{ transform: translateY(-2px); box-shadow:0 14px 28px -12px var(--ink-40); }
.pill-cta:hover::after{ opacity:1; }
.pill-cta > *{ position:relative; z-index:1; }
.pill-cta.outline{ background:transparent; color:var(--ink); }
.pill-cta.dark{ background:var(--ink); color:var(--cream); border-color:var(--ink); }
.pill-cta .arrow{ font-family:var(--mono); transition: transform var(--t-base) var(--ease-out-quart); }
.pill-cta:hover .arrow{ transform: translateX(3px); }

/* ============================================================
   MARQUEE (Grupo R · números · MS · ★) — strip animado
   ============================================================ */
.marquee{
  background:var(--ink);
  color:var(--cream);
  padding:14px 0;
  overflow:hidden;
  border-top:1px solid var(--cream-on-ink-20);
  border-bottom:1px solid var(--cream-on-ink-20);
  position:relative;
}
.marquee::before, .marquee::after{
  content:""; position:absolute; top:0; bottom:0; width:120px; z-index:2;
  pointer-events:none;
}
.marquee::before{ left:0; background:linear-gradient(90deg, var(--ink), transparent); }
.marquee::after{ right:0; background:linear-gradient(-90deg, var(--ink), transparent); }
.marquee .track{
  display:flex;
  gap:0;
  width:max-content;
  animation: marqueeX 42s linear infinite;
  font-family:var(--mono);
  font-size:11.5px;
  letter-spacing:.24em;
  text-transform:uppercase;
}
.marquee:hover .track{ animation-play-state:paused; }
.marquee .item{
  display:inline-flex; align-items:center;
  padding:0 28px;
  white-space:nowrap;
}
.marquee .item .star{ color:var(--yellow); margin:0 0 0 18px; font-size:10px; }
.marquee .item b{ color:var(--yellow); font-weight:500; margin-right:6px; letter-spacing:.16em; }
@keyframes marqueeX{
  from{ transform:translateX(0); }
  to  { transform:translateX(-50%); }
}

/* ============================================================
   HERO (Home)
   ============================================================ */
.hero{
  position:relative;
  background:var(--ink);
  color:var(--cream);
  overflow:hidden;
  padding:64px 0 72px;
  isolation:isolate;
}
.hero::before{
  content:""; position:absolute; right:-180px; top:-60px;
  width:520px; height:520px;
  background:radial-gradient(closest-side, var(--yellow) 0 58%, transparent 60%);
  opacity:.18;
  animation: heroPulse 9s ease-in-out infinite;
  transform-origin:center;
  will-change: transform, opacity;
  z-index:0;
}
.hero::after{
  content:""; position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(246,238,219,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(246,238,219,.05) 1px, transparent 1px);
  background-size:60px 60px;
  pointer-events:none;
  mask:radial-gradient(ellipse at 70% 30%, black 30%, transparent 75%);
  -webkit-mask:radial-gradient(ellipse at 70% 30%, black 30%, transparent 75%);
  z-index:0;
}
@keyframes heroPulse{
  0%, 100%{ transform: translate3d(var(--px, 0), var(--py, 0), 0) scale(1); opacity:.18; }
  50%     { transform: translate3d(var(--px, 0), var(--py, 0), 0) scale(1.06); opacity:.22; }
}

.hero .grid{
  display:grid; grid-template-columns: 1.15fr .85fr; gap:48px;
  align-items:end; position:relative; z-index:2;
}
.hero .pre{
  font-family:var(--mono); font-size:11px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--yellow); margin-bottom:18px;
  display:inline-flex; align-items:center; gap:10px;
}
.hero .pre b{ color:var(--cream); font-weight:500; }
.hero .pre .live-dot{
  width:7px; height:7px; border-radius:50%;
  background:var(--yellow);
  box-shadow:0 0 0 0 var(--yellow);
  animation: liveDot 1.6s ease-out infinite;
}
@keyframes liveDot{
  0%   { box-shadow: 0 0 0 0 rgba(244,180,26,.7); }
  70%  { box-shadow: 0 0 0 10px rgba(244,180,26,0); }
  100% { box-shadow: 0 0 0 0 rgba(244,180,26,0); }
}
.hero h1{
  font-family:var(--sans); font-weight:800; font-size:64px; line-height:.98; letter-spacing:-.028em;
  margin:0 0 24px; color:var(--cream);
}
.hero h1 em{ color:var(--yellow); font-style:normal; }
.hero .sub{
  font-size:16px; line-height:1.55; max-width:520px; color:var(--cream-on-ink-60); margin-bottom:28px;
}
.hero .cta-row{ display:flex; gap:12px; margin-bottom:36px; flex-wrap:wrap; }
.hero .cta-row .pill-cta.dark{ background:transparent; color:var(--cream); border-color:var(--cream); }
.hero .cta-row .pill-cta.dark:hover{ background:var(--cream); color:var(--ink); }

.hero .stats{
  display:grid; grid-template-columns:repeat(4, 1fr); gap:0;
  border-top:1px solid var(--cream-on-ink-20);
  padding-top:20px;
}
.hero .stats .s{
  padding-right:12px;
  transition: transform var(--t-base) var(--ease-out-quart);
}
.hero .stats .s:hover{ transform: translateY(-2px); }
.hero .stats .s b{ display:block; font-size:30px; font-weight:700; letter-spacing:-.02em; color:var(--cream); line-height:1; margin-bottom:6px; }
.hero .stats .s b em{ color:var(--yellow); font-style:normal; font-weight:700; transition: text-shadow var(--t-base) var(--ease-out-quart); }
.hero .stats .s:hover b em{ text-shadow: 0 0 14px rgba(244,180,26,.45); }
.hero .stats .s span{ font-family:var(--mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--cream-on-ink-60); }

/* ============================================================
   SIM-CARD (Hero embed) · interatividade premium
   ============================================================ */
.sim-card{
  background:var(--warm-white); color:var(--ink);
  border:1px solid var(--cream-on-ink-20);
  padding:24px 24px 22px;
  box-shadow: 0 30px 60px -30px rgba(0,0,0,.55);
  transition: transform var(--t-base) var(--ease-out-quart), box-shadow var(--t-base) var(--ease-out-quart);
}
.sim-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 50px 80px -36px rgba(0,0,0,.6);
}
.sim-card .head{
  display:flex; justify-content:space-between; align-items:baseline;
  border-bottom:1px solid var(--ink-15); padding-bottom:12px; margin-bottom:14px;
}
.sim-card .head b{ font-size:14px; font-weight:700; }
.sim-card .head .tag{
  font-family:var(--mono); font-size:9.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--yellow-deep);
}
.sim-card .label{ font-family:var(--mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-60); }
.sim-card .field{
  border:1px solid var(--ink-20); padding:10px 12px; margin:6px 0 14px;
  display:flex; align-items:center; justify-content:space-between;
  font-size:14px; background:var(--white);
  transition: border-color var(--t-fast) var(--ease-out-quart), box-shadow var(--t-fast) var(--ease-out-quart);
}
.sim-card .field:focus-within{
  border-color:var(--ink);
  box-shadow: 0 0 0 2px rgba(244,180,26,.55);
}
.sim-card .field .pre{ color:var(--ink-60); font-family:var(--mono); font-size:11px; }
.sim-card .field input{ all:unset; flex:1; text-align:right; font-weight:600; font-size:15px; }
.sim-card .segs{ display:grid; grid-template-columns:repeat(4,1fr); gap:4px; margin:6px 0 16px; }
.sim-card .segs span{
  border:1px solid var(--ink-20); padding:7px 4px; text-align:center;
  font-size:11px; font-weight:600; cursor:pointer;
  transition: background var(--t-fast) var(--ease-out-quart),
              color var(--t-fast) var(--ease-out-quart),
              border-color var(--t-fast) var(--ease-out-quart),
              transform var(--t-fast) var(--ease-out-quart);
}
.sim-card .segs span:hover{ background:var(--cream); transform: translateY(-1px); }
.sim-card .segs span.on{ background:var(--ink); color:var(--cream); border-color:var(--ink); }

.sim-card .ctaWide{
  display:flex; justify-content:center; align-items:center; gap:8px;
  background:var(--yellow); color:var(--ink); border:1px solid var(--ink);
  padding:13px 0; font-weight:700; font-size:14px;
  width:100%;
  position:relative; overflow:hidden;
  transition: color var(--t-base) var(--ease-out-quart);
}
.sim-card .ctaWide::before{
  content:""; position:absolute; inset:0; background:var(--ink);
  transform:translateX(-101%);
  transition: transform var(--t-base) var(--ease-out-quart);
  z-index:0;
}
.sim-card .ctaWide:hover{ color:var(--cream); }
.sim-card .ctaWide:hover::before{ transform:translateX(0); }
.sim-card .ctaWide > *{ position:relative; z-index:1; }
.sim-card .ctaWide::after{ content:"→"; font-family:var(--mono); transition: transform var(--t-base) var(--ease-out-quart); position:relative; z-index:1; }
.sim-card .ctaWide:hover::after{ transform: translateX(4px); }
.sim-card .ftn{ margin-top:10px; font-size:11px; color:var(--ink-60); }

/* ============================================================
   SEGMENTOS (Home pillar band)
   ============================================================ */
.segs-band{ background:var(--cream); padding:48px 0; }
.segs-band .grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }

.seg-card{
  background:var(--warm-white); border:1px solid var(--ink-20);
  padding:22px 22px 22px;
  position:relative;
  display:flex; flex-direction:column; gap:8px; min-height:160px;
  cursor:pointer;
  overflow:hidden;
  transition: transform var(--t-base) var(--ease-out-quart),
              box-shadow var(--t-base) var(--ease-out-quart),
              border-color var(--t-base) var(--ease-out-quart);
}
.seg-card::before{
  content:""; position:absolute; left:0; right:0; bottom:0; height:2px;
  background:var(--yellow);
  transform:scaleX(0); transform-origin:left center;
  transition: transform var(--t-base) var(--ease-out-quart);
}
.seg-card:hover{ transform: translateY(-4px); box-shadow:0 24px 40px -22px var(--ink-40); border-color:var(--ink); }
.seg-card:hover::before{ transform:scaleX(1); }
.seg-card b{ font-size:17px; font-weight:700; letter-spacing:-.01em; }
.seg-card p{ margin:0; font-size:12.5px; color:var(--ink-60); line-height:1.5; }
.seg-card .badge{
  position:absolute; top:14px; right:14px;
  font-family:var(--mono); font-size:9px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--ink-60);
}
.seg-card .arrow{
  margin-top:auto;
  font-family:var(--mono); font-size:11px; letter-spacing:.12em; color:var(--ink);
  transition: transform var(--t-base) var(--ease-out-quart);
}
.seg-card:hover .arrow{ transform: translateX(4px); }
.seg-card.featured{ background:var(--ink); color:var(--cream); border-color:var(--ink); }
.seg-card.featured p, .seg-card.featured .badge{ color:var(--cream-on-ink-60); }
.seg-card.featured .arrow{ color:var(--yellow); }
.seg-card.featured::after{
  content:""; position:absolute; right:-2px; top:-2px;
  width:0; height:0; border-style:solid; border-width:0 22px 22px 0;
  border-color:transparent var(--yellow) transparent transparent;
}

/* ============================================================
   SECTION TITLE
   ============================================================ */
.s-title{ padding:70px 0 32px; }
.s-title .eyebrow{ display:block; margin-bottom:10px; }
.s-title h2{
  font-family:var(--sans); font-weight:700; font-size:36px; letter-spacing:-.02em;
  margin:0; max-width:680px; line-height:1.08; color:var(--ink);
}
.s-title h2 em{ font-family:var(--display); font-style:italic; font-weight:400; color:var(--yellow-deep); }
.s-title .sub{ margin-top:10px; max-width:560px; color:var(--ink-60); font-size:14px; }

/* ============================================================
   CASES (cards com shimmer + hover lift + zoom no img)
   ============================================================ */
.cases-band{ background:var(--white); padding:0 0 70px; }
.case-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.case-card{
  border:1px solid var(--ink-20); background:var(--warm-white);
  display:flex; flex-direction:column;
  overflow:hidden;
  transition: transform var(--t-base) var(--ease-out-quart),
              box-shadow var(--t-base) var(--ease-out-quart),
              border-color var(--t-base) var(--ease-out-quart);
}
.case-card:hover{
  transform: translateY(-4px);
  box-shadow:0 28px 50px -28px var(--ink-40);
  border-color:var(--ink);
}
.case-img{
  aspect-ratio: 4/3;
  background: linear-gradient(135deg, var(--ink) 0%, #2A2722 70%, var(--yellow-deep) 130%);
  position:relative;
  color:var(--cream); padding:14px;
  display:flex; flex-direction:column; justify-content:space-between;
  overflow:hidden;
  transition: transform var(--t-slow) var(--ease-out-quart);
}
.case-card:hover .case-img{ transform: scale(1.04); }

.case-img.alt-a{ background: linear-gradient(135deg, #20457A 0%, #19314F 60%, var(--ink) 110%); }
.case-img.alt-b{ background: linear-gradient(135deg, #6E5722 0%, #3D3013 70%, var(--ink) 120%); }
.case-img.alt-c{ background: linear-gradient(135deg, #355A2D 0%, #1B3214 70%, var(--ink) 120%); }
.case-img.alt-d{ background: linear-gradient(135deg, #4A1F1C 0%, #2A0F0E 70%, var(--ink) 120%); }
.case-img.alt-e{ background: linear-gradient(135deg, #2C3E50 0%, #131D26 70%, var(--ink) 120%); }
.case-img::before{
  content:""; position:absolute; inset:0; z-index:0;
  background-image:
    linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
  background-size: 28px 18px;
  opacity:.6;
  -webkit-mask: linear-gradient(160deg, rgba(0,0,0,1) 30%, rgba(0,0,0,.2) 100%);
          mask: linear-gradient(160deg, rgba(0,0,0,1) 30%, rgba(0,0,0,.2) 100%);
}
.case-img::after{
  content:""; position:absolute; inset:0; z-index:1;
  background: linear-gradient(105deg, transparent 38%, rgba(244,180,26,.22) 50%, transparent 62%);
  transform: translateX(-110%);
  transition: transform 1200ms var(--ease-out-quart);
  pointer-events:none;
}
.case-card:hover .case-img::after{ transform: translateX(110%); }
.case-img > *{ position:relative; z-index:2; }

.case-img .ph-label{
  align-self:flex-start;
  font-family:var(--mono); font-size:9.5px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--cream-on-ink-60);
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18);
  padding:4px 8px;
}
.case-img .tag-cli{
  font-family:var(--mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--yellow);
}
.case-img .city{
  font-family:var(--display); font-style:italic; font-size:24px;
}
.case-body{ padding:18px 18px 20px; }
.case-body .h{
  display:flex; justify-content:space-between; align-items:baseline; gap:12px;
  border-bottom:1px solid var(--ink-15); padding-bottom:10px; margin-bottom:10px;
}
.case-body .h b{ font-size:14.5px; font-weight:700; }
.case-body .h .seg{ font-family:var(--mono); font-size:9.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-60); }
.case-body dl{ margin:0; display:grid; grid-template-columns:repeat(3,1fr); gap:4px 12px; }
.case-body dt{ font-family:var(--mono); font-size:9.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-60); }
.case-body dd{ margin:0 0 6px; font-size:14.5px; font-weight:700; }
.case-body dd em{ font-family:var(--display); font-style:italic; font-weight:400; color:var(--yellow-deep); }

/* ============================================================
   TESTIMONIALS
   ============================================================ */
.tst-band{ background:var(--cream); padding:60px 0; }
.tst-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.tst{
  background:var(--warm-white); border:1px solid var(--ink-20);
  padding:24px 22px 22px;
  display:flex; flex-direction:column; gap:14px;
  transition: transform var(--t-base) var(--ease-out-quart), box-shadow var(--t-base) var(--ease-out-quart);
}
.tst:hover{ transform: translateY(-4px); box-shadow: 0 22px 40px -22px var(--ink-40); }
.tst .stars{ color:var(--yellow-deep); font-size:14px; letter-spacing:3px; }
.tst blockquote{
  margin:0; font-family:var(--display); font-style:italic; font-size:18px; line-height:1.45;
}
.tst blockquote::before{ content:"“"; font-family:var(--display); font-size:36px; line-height:0; color:var(--yellow-deep); margin-right:4px; vertical-align:-12px; }
.tst .who{
  display:flex; align-items:center; gap:10px; margin-top:auto;
  border-top:1px solid var(--ink-15); padding-top:12px;
}
.tst .who .av{
  width:36px; height:36px; border-radius:50%;
  background:var(--sand); border:1px solid var(--ink-20);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--sans); font-weight:700; color:var(--ink); font-size:13px;
}
.tst .who b{ display:block; font-size:13px; font-weight:700; }
.tst .who span{ display:block; font-size:11.5px; color:var(--ink-60); }
.tst .who .g{ margin-left:auto; font-family:var(--mono); font-size:9.5px; letter-spacing:.14em; color:var(--ink-60); }

/* ============================================================
   FINANCING band (dark)
   ============================================================ */
.fin{ background:var(--ink); color:var(--cream); padding:70px 0; }
.fin .row{ display:flex; gap:48px; align-items:end; }
.fin .col{ flex:1; min-width:0; }
.fin h2{ font-family:var(--sans); font-weight:700; font-size:40px; letter-spacing:-.02em; margin:0 0 16px; color:var(--cream); line-height:1.05; }
.fin h2 em{ color:var(--yellow); font-style:normal; }
.fin p{ color:var(--cream-on-ink-60); font-size:14px; max-width:540px; margin:0; }
.fin .partners{
  display:grid; grid-template-columns:repeat(2,1fr); gap:1px;
  background:var(--cream-on-ink-20); border:1px solid var(--cream-on-ink-20);
}
.fin .partner{
  background:var(--ink); padding:18px 20px;
  transition: background var(--t-base) var(--ease-out-quart);
  position:relative;
}
.fin .partner::after{
  content:""; position:absolute; left:0; bottom:0; height:2px; width:100%;
  background:var(--yellow);
  transform: scaleX(0); transform-origin: left center;
  transition: transform var(--t-base) var(--ease-out-quart);
}
.fin .partner:hover{ background:var(--ink-soft); }
.fin .partner:hover::after{ transform: scaleX(1); }
.fin .partner .name{ font-family:var(--mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--cream-on-ink-60); margin-bottom:6px; }
.fin .partner b{ display:block; font-size:18px; font-weight:700; color:var(--cream); }
.fin .partner span{ font-size:12px; color:var(--yellow); font-family:var(--mono); letter-spacing:.06em; }

/* ============================================================
   BENEFITS (3x2 grid)
   ============================================================ */
.ben-band{ background:var(--white); padding:70px 0; }
.ben-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--ink-15); border:1px solid var(--ink-15); }
.ben{
  background:var(--warm-white); padding:26px 26px 28px;
  position:relative;
  transition: background var(--t-base) var(--ease-out-quart);
}
.ben::before{
  content:""; position:absolute; left:0; top:0; bottom:0;
  width:3px; background:var(--yellow);
  transform: scaleY(0); transform-origin: bottom center;
  transition: transform var(--t-base) var(--ease-out-quart);
}
.ben:hover{ background:var(--white); }
.ben:hover::before{ transform: scaleY(1); transform-origin: top center; }
.ben .n{
  font-family:var(--mono); font-size:11px; letter-spacing:.16em; color:var(--ink-60); margin-bottom:10px;
  transition: color var(--t-base) var(--ease-out-quart);
}
.ben:hover .n{ color:var(--yellow-deep); }
.ben h4{ font-family:var(--sans); font-weight:700; font-size:17px; margin:0 0 8px; letter-spacing:-.01em; }
.ben p{ margin:0; font-size:13px; color:var(--ink-60); line-height:1.5; }

/* ============================================================
   FOOTER
   ============================================================ */
.s-footer{ background:var(--ink); color:var(--cream); padding:42px 0 26px; }
.s-footer .row{ display:flex; gap:32px; align-items:flex-start; flex-wrap:wrap; }
.s-footer .col{ flex:1; min-width:200px; }
.s-footer .col p{ margin:0; color:var(--cream-on-ink-60); font-size:13px; line-height:1.6; }
.s-footer .col p a{ transition: color var(--t-fast) var(--ease-out-quart); }
.s-footer .col p a:hover{ color:var(--yellow); }
.s-footer .brand{ display:flex; align-items:center; gap:12px; font-weight:700; font-size:18px; }
.s-footer .brand .logo{
  width:32px; height:32px; background:var(--cream); border-radius:6px;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--sans); font-weight:800; color:var(--ink); font-size:18px;
}
.s-footer .ft-meta{ font-family:var(--mono); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--cream-on-ink-60); margin-top:18px; }
.s-footer .col-head{
  font-family:var(--mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--cream-on-ink-60); margin-bottom:8px;
}

/* ============================================================
   FLOATING WHATSAPP BUTTON
   ============================================================ */
.float-wa{
  position:fixed; right:24px; bottom:24px; z-index:60;
  width:56px; height:56px; border-radius:50%;
  background:var(--ink); color:var(--yellow);
  display:flex; align-items:center; justify-content:center;
  border:1px solid var(--cream-on-ink-20);
  box-shadow: 0 16px 32px -16px var(--ink-40);
  transition: transform var(--t-base) var(--ease-spring),
              box-shadow var(--t-base) var(--ease-out-quart);
  animation: waPulse 2.4s ease-out infinite;
}
.float-wa:hover{
  transform: translateY(-3px) scale(1.04);
  box-shadow: 0 24px 40px -16px var(--ink-40);
}
.float-wa svg{ width:26px; height:26px; }
@keyframes waPulse{
  0%   { box-shadow: 0 16px 32px -16px var(--ink-40), 0 0 0 0 rgba(244,180,26,.45); }
  70%  { box-shadow: 0 16px 32px -16px var(--ink-40), 0 0 0 20px rgba(244,180,26,0); }
  100% { box-shadow: 0 16px 32px -16px var(--ink-40), 0 0 0 0 rgba(244,180,26,0); }
}

/* ============================================================
   AGRO HERO
   ============================================================ */
.agro-hero{
  background: linear-gradient(180deg, var(--ink) 0%, #1F1B14 100%);
  color:var(--cream);
  padding:56px 0 64px;
  position:relative; overflow:hidden;
  isolation:isolate;
}
.agro-hero::before{
  content:""; position:absolute; right:-100px; top:60px; width:480px; height:480px;
  background:radial-gradient(closest-side, var(--yellow) 0 50%, transparent 52%);
  opacity:.10;
  animation: agroPulse 7s ease-in-out infinite;
  transform-origin:center;
  will-change: transform, opacity;
  z-index:0;
}
@keyframes agroPulse{
  0%,100%{ transform: scale(1); opacity:.10; }
  50%   { transform: scale(1.08); opacity:.16; }
}
.agro-hero::after{
  content:""; position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(246,238,219,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(246,238,219,.04) 1px, transparent 1px);
  background-size:60px 60px;
  pointer-events:none; z-index:0;
  mask:radial-gradient(ellipse at 80% 50%, black 30%, transparent 75%);
  -webkit-mask:radial-gradient(ellipse at 80% 50%, black 30%, transparent 75%);
}
.agro-hero .crumbs{
  font-family:var(--mono); font-size:11px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--cream-on-ink-60); margin-bottom:20px;
  position:relative; z-index:2;
}
.agro-hero .crumbs b{ color:var(--yellow); font-weight:500; }
.agro-hero .crumbs a{ color:var(--cream-on-ink-60); transition: color var(--t-fast) var(--ease-out-quart); }
.agro-hero .crumbs a:hover{ color:var(--yellow); }
.agro-hero .grid{ display:grid; grid-template-columns:1.2fr .8fr; gap:48px; align-items:end; position:relative; z-index:2; }
.agro-hero h1{
  font-family:var(--sans); font-weight:800; font-size:54px; line-height:1; letter-spacing:-.028em;
  margin:0 0 16px; color:var(--cream);
}
.agro-hero h1 em{ color:var(--yellow); font-style:normal; }
.agro-hero .sub{ font-size:15.5px; color:var(--cream-on-ink-60); max-width:540px; line-height:1.55; }
.agro-hero .quick{
  background:var(--warm-white); color:var(--ink); border:1px solid var(--cream-on-ink-20);
  padding:24px 22px 22px;
  transition: transform var(--t-base) var(--ease-out-quart), box-shadow var(--t-base) var(--ease-out-quart);
  box-shadow: 0 30px 60px -30px rgba(0,0,0,.5);
}
.agro-hero .quick:hover{
  transform: translateY(-4px);
  box-shadow: 0 50px 80px -36px rgba(0,0,0,.55);
}
.agro-hero .quick .lab{ font-family:var(--mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-60); margin-bottom:6px; display:block; }
.agro-hero .quick h4{ margin:0 0 14px; font-size:18px; font-weight:700; }
.agro-hero .quick .rows{ display:flex; flex-direction:column; gap:0; }
.agro-hero .quick .rw{ display:flex; justify-content:space-between; padding:9px 0; border-bottom:1px dashed var(--ink-15); font-size:13px; }
.agro-hero .quick .rw:last-child{ border-bottom:none; }
.agro-hero .quick .rw b{ font-weight:700; }
.agro-hero .quick .ctaWide{
  display:flex; align-items:center; justify-content:center; gap:8px;
  margin-top:14px;
  background:var(--yellow); color:var(--ink); border:1px solid var(--ink);
  padding:12px 0; font-weight:700; font-size:13.5px;
  width:100%;
  position:relative; overflow:hidden;
  transition: color var(--t-base) var(--ease-out-quart);
}
.agro-hero .quick .ctaWide::before{
  content:""; position:absolute; inset:0; background:var(--ink);
  transform: translateX(-101%);
  transition: transform var(--t-base) var(--ease-out-quart);
}
.agro-hero .quick .ctaWide:hover{ color:var(--cream); }
.agro-hero .quick .ctaWide:hover::before{ transform: translateX(0); }
.agro-hero .quick .ctaWide > *{ position:relative; z-index:1; }

/* ============================================================
   AGRO PAINS
   ============================================================ */
.pain-band{ background:var(--white); padding:64px 0; }
.pain-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--ink-15); border:1px solid var(--ink-15); }
.pain{
  background:var(--warm-white); padding:24px 22px 26px;
  position:relative;
  transition: background var(--t-base) var(--ease-out-quart);
}
.pain::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--yellow);
  transform: scaleY(0); transform-origin: bottom center;
  transition: transform var(--t-base) var(--ease-out-quart);
}
.pain:hover{ background:var(--white); }
.pain:hover::before{ transform: scaleY(1); transform-origin: top center; }
.pain .n{ font-family:var(--display); font-style:italic; font-size:34px; color:var(--yellow-deep); line-height:1; margin-bottom:12px; }
.pain b{ display:block; font-size:14.5px; font-weight:700; margin-bottom:4px; }
.pain p{ margin:0; font-size:12.5px; color:var(--ink-60); line-height:1.5; }

/* ============================================================
   AGRO SOLUTIONS
   ============================================================ */
.sol-band{ background:var(--cream); padding:64px 0; }
.sol-grid{ display:grid; grid-template-columns: 1fr 1fr; gap:32px; }
.sol-col h3{ font-family:var(--sans); font-weight:700; font-size:24px; margin:0 0 14px; letter-spacing:-.015em; }
.sol-col ul{ list-style:none; margin:0; padding:0; }
.sol-col ul li{
  border-bottom:1px solid var(--ink-15);
  padding:14px 0; font-size:14px;
  display:grid; grid-template-columns: 26px 1fr; gap:10px;
  transition: background var(--t-fast) var(--ease-out-quart), padding-left var(--t-fast) var(--ease-out-quart);
}
.sol-col ul li:hover{ background: rgba(255,255,255,.5); padding-left:8px; }
.sol-col ul li::before{
  content:""; align-self:start; margin-top:6px;
  width:12px; height:12px; background:var(--yellow); border:1px solid var(--ink);
  display:inline-block;
  transition: transform var(--t-fast) var(--ease-spring);
}
.sol-col ul li:hover::before{ transform: rotate(45deg) scale(1.1); }
.sol-col ul li b{ font-weight:700; }

/* ============================================================
   AGRO CASES (2 cols, horizontal cards)
   ============================================================ */
.agro-cases{ background:var(--white); padding:64px 0 70px; }
.agro-cases .case-grid{ grid-template-columns:repeat(2,1fr); gap:18px; }
.agro-cases .case-card{ display:grid; grid-template-columns: 240px 1fr; }
.agro-cases .case-card .case-img{ aspect-ratio: auto; height:100%; }
.agro-cases .case-card .case-body{ padding:20px 24px; }

/* ============================================================
   CREDIT band (agro)
   ============================================================ */
.credit-band{ background:var(--sand); padding:56px 0; }
.credit-band .row{ display:flex; gap:48px; align-items:center; flex-wrap:wrap; }
.credit-band .col{ flex:1; min-width:280px; }
.credit-band h3{ font-family:var(--sans); font-weight:700; font-size:28px; letter-spacing:-.015em; margin:0 0 10px; }
.credit-band p{ margin:0; font-size:14px; color:var(--ink-60); max-width:540px; }
.credit-band .terms{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--ink-20); border:1px solid var(--ink-20); }
.credit-band .terms .t{
  background:var(--warm-white); padding:18px 18px;
  transition: background var(--t-base) var(--ease-out-quart), transform var(--t-base) var(--ease-out-quart);
}
.credit-band .terms .t:hover{ background:var(--white); transform: translateY(-2px); }
.credit-band .terms .t .lab{ font-family:var(--mono); font-size:9.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-60); display:block; margin-bottom:4px; }
.credit-band .terms .t b{ font-size:20px; font-weight:700; display:block; letter-spacing:-.01em; }
.credit-band .terms .t span{ font-size:11px; color:var(--ink-60); }

/* ============================================================
   SIMULADOR (página /simular)
   ============================================================ */
.sim-mock{ background:var(--white); padding:42px 0 64px; }
.sim-mock .heading{
  display:grid; grid-template-columns:1fr 320px; align-items:end; gap:32px; padding:24px 0 26px;
  border-bottom:1px solid var(--ink-15); margin-bottom:28px;
}
.sim-mock .heading h2{ font-family:var(--sans); font-weight:800; font-size:40px; letter-spacing:-.022em; margin:0; line-height:1.04; }
.sim-mock .heading h2 em{ font-family:var(--display); font-style:italic; font-weight:400; color:var(--yellow-deep); }
.sim-mock .heading .sub{ color:var(--ink-60); font-size:13.5px; margin-top:10px; max-width:540px; }
.sim-mock .progress{
  display:flex; gap:10px; align-items:center;
  font-family:var(--mono); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--ink);
  justify-self:end;
}
.sim-mock .progress .pip{ width:18px; height:6px; background:var(--ink-15); display:inline-block; transition: background var(--t-base) var(--ease-out-quart); }
.sim-mock .progress .pip.on{ background:var(--ink); }
.sim-mock .progress .pip.cur{ background:var(--yellow); }

.sim-frames{ display:grid; grid-template-columns:repeat(3, 1fr); gap:18px; }
.sim-frame{
  border:1px solid var(--ink-20); background:var(--warm-white);
  display:flex; flex-direction:column;
  transition: transform var(--t-base) var(--ease-out-quart),
              box-shadow var(--t-base) var(--ease-out-quart),
              border-color var(--t-base) var(--ease-out-quart);
}
.sim-frame:hover{
  transform: translateY(-4px);
  box-shadow: 0 22px 50px -26px var(--ink-40);
  border-color:var(--ink);
}
.sim-frame .top{
  background:var(--cream); border-bottom:1px solid var(--ink-15);
  padding:14px 18px; display:flex; justify-content:space-between; align-items:center;
}
.sim-frame .top b{ font-size:13px; font-weight:700; }
.sim-frame .top .step{ font-family:var(--mono); font-size:10px; letter-spacing:.14em; color:var(--ink-60); }
.sim-frame .body{ padding:22px 20px 24px; flex:1; display:flex; flex-direction:column; gap:14px; }
.sim-frame .lab{ font-family:var(--mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-60); }

.sim-frame .seg-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }
.sim-frame .seg{
  border:1px solid var(--ink-20); padding:14px;
  background:var(--white);
  display:flex; flex-direction:column; gap:6px;
  cursor:pointer;
  transition: background var(--t-fast) var(--ease-out-quart),
              color var(--t-fast) var(--ease-out-quart),
              border-color var(--t-fast) var(--ease-out-quart),
              transform var(--t-fast) var(--ease-out-quart);
}
.sim-frame .seg:hover{ background:var(--cream); transform: translateY(-1px); }
.sim-frame .seg.on{ background:var(--ink); color:var(--cream); border-color:var(--ink); transform: none; }
.sim-frame .seg.on:hover{ background:var(--ink); }
.sim-frame .seg .ico{
  width:24px; height:24px; border:1px solid var(--ink); display:inline-block;
  background:repeating-linear-gradient(45deg, var(--yellow) 0 4px, transparent 4px 8px);
}
.sim-frame .seg.on .ico{ border-color:var(--cream); }
.sim-frame .seg b{ font-size:13.5px; font-weight:700; }
.sim-frame .seg span{ font-size:11.5px; color:var(--ink-60); }
.sim-frame .seg.on span{ color:var(--cream-on-ink-60); }

.sim-frame .field{
  border:1px solid var(--ink-20); padding:10px 12px;
  display:flex; align-items:center; justify-content:space-between;
  font-size:14px; background:var(--white);
  transition: border-color var(--t-fast) var(--ease-out-quart), box-shadow var(--t-fast) var(--ease-out-quart);
}
.sim-frame .field:focus-within{
  border-color: var(--ink);
  box-shadow: 0 0 0 2px rgba(244,180,26,.55);
}
.sim-frame .field .pre{ color:var(--ink-60); font-family:var(--mono); font-size:11px; }
.sim-frame .field input{ all:unset; flex:1; text-align:right; font-weight:600; font-size:15px; }

.sim-frame .slider{
  height:6px; background:var(--ink-15); position:relative; margin:10px 0 4px;
  border-radius:999px;
}
.sim-frame .slider .fill{
  position:absolute; left:0; top:0; bottom:0; background:var(--yellow);
  border-radius:999px;
}
.sim-frame .slider .thumb{
  position:absolute; top:50%; width:20px; height:20px; background:var(--ink); border:2px solid var(--cream);
  transform:translate(-50%,-50%); border-radius:50%;
  animation: thumbPulse 2.4s ease-in-out infinite;
  cursor: grab;
}
@keyframes thumbPulse{
  0%, 100% { box-shadow: 0 0 0 0 rgba(244,180,26,.5); }
  50%      { box-shadow: 0 0 0 8px rgba(244,180,26,0); }
}
.sim-frame .scale{ display:flex; justify-content:space-between; font-family:var(--mono); font-size:10px; color:var(--ink-60); }

.sim-frame .util-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:6px; }
.sim-frame .util{
  border:1px solid var(--ink-20); padding:10px 8px; font-size:11.5px; text-align:center; background:var(--white);
  cursor:pointer;
  transition: background var(--t-fast) var(--ease-out-quart),
              color var(--t-fast) var(--ease-out-quart),
              border-color var(--t-fast) var(--ease-out-quart),
              transform var(--t-fast) var(--ease-out-quart);
}
.sim-frame .util:hover{ background:var(--cream); transform: translateY(-1px); }
.sim-frame .util.on{ background:var(--ink); color:var(--cream); border-color:var(--ink); transform: none; }

.sim-frame .ctaWide{
  display:flex; align-items:center; justify-content:center; gap:8px;
  margin-top:auto;
  background:var(--ink); color:var(--cream); border:1px solid var(--ink);
  padding:12px 0; font-weight:700; font-size:13.5px;
  position:relative; overflow:hidden;
  transition: color var(--t-base) var(--ease-out-quart);
}
.sim-frame .ctaWide::before{
  content:""; position:absolute; inset:0; background:var(--yellow);
  transform: translateX(-101%);
  transition: transform var(--t-base) var(--ease-out-quart);
  z-index:0;
}
.sim-frame .ctaWide:hover{ color:var(--ink); }
.sim-frame .ctaWide:hover::before{ transform: translateX(0); }
.sim-frame .ctaWide > *{ position:relative; z-index:1; }

.sim-frame .res-head{
  background:var(--ink); color:var(--cream); margin:-22px -20px 18px; padding:20px 20px 18px;
  display:grid; grid-template-columns:1fr auto; align-items:end; gap:18px;
  position:relative; overflow:hidden;
}
.sim-frame .res-head::before{
  content:""; position:absolute; inset:0;
  background: radial-gradient(circle at 90% 20%, rgba(244,180,26,.18), transparent 55%);
  pointer-events:none;
}
.sim-frame .res-head .lab{ color:var(--cream-on-ink-60); position:relative; z-index:1; }
.sim-frame .res-head .big{
  font-family:var(--sans); font-size:38px; font-weight:800; letter-spacing:-.02em; color:var(--yellow); line-height:1;
  position:relative; z-index:1;
}
.sim-frame .res-head .pct{ font-family:var(--display); font-style:italic; font-size:30px; color:var(--cream); position:relative; z-index:1; }
.sim-frame .res-stat{
  display:flex; justify-content:space-between; padding:9px 0;
  border-bottom:1px dashed var(--ink-15); font-size:13px;
}
.sim-frame .res-stat:last-child{ border-bottom:none; }
.sim-frame .res-stat b{ font-weight:700; }
.sim-frame .lead-form{
  margin-top:6px; border-top:1px solid var(--ink-15); padding-top:14px;
  display:flex; flex-direction:column; gap:8px;
}
.sim-frame .lead-form input{
  border:1px solid var(--ink-20); padding:10px 12px; font-size:13px; background:var(--white); font-family:inherit;
  transition: border-color var(--t-fast) var(--ease-out-quart), box-shadow var(--t-fast) var(--ease-out-quart);
}
.sim-frame .lead-form input:focus{
  outline:none;
  border-color:var(--ink);
  box-shadow: 0 0 0 2px rgba(244,180,26,.5);
}
.sim-frame .lead-form .ctaWide{
  background:var(--yellow); color:var(--ink); border:1px solid var(--ink);
}
.sim-frame .lead-form .ctaWide::before{ background:var(--ink); }
.sim-frame .lead-form .ctaWide:hover{ color:var(--cream); }
.sim-frame .compl{
  font-size:10.5px; color:var(--ink-60); line-height:1.5; margin-top:6px;
}

/* ============================================================
   DISCLOSURE BAR
   ============================================================ */
.demo-disclosure{
  background:var(--ink-soft); color:var(--cream-on-ink-60);
  padding:14px 36px; text-align:center;
  font-family:var(--mono); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase;
  border-top:1px solid var(--cream-on-ink-20);
}
.demo-disclosure b{ color:var(--yellow); font-weight:500; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1100px){
  .container{ padding:0 24px; }
  .s-nav{ padding:14px 24px; flex-wrap:wrap; gap:14px; }
  .s-nav.shrunk{ padding:10px 24px; }
  .s-nav .links{ order:3; flex-basis:100%; justify-content:flex-start; gap:18px; }
  .hero .grid{ grid-template-columns: 1fr; gap:32px; }
  .hero h1{ font-size:48px; }
  .agro-hero .grid{ grid-template-columns: 1fr; gap:32px; }
  .agro-hero h1{ font-size:42px; }
  .segs-band .grid{ grid-template-columns:repeat(2,1fr); }
  .case-grid{ grid-template-columns:repeat(2,1fr); }
  .agro-cases .case-grid{ grid-template-columns:1fr; }
  .agro-cases .case-card{ grid-template-columns: 200px 1fr; }
  .tst-grid{ grid-template-columns:1fr; gap:14px; }
  .pain-grid{ grid-template-columns:repeat(2,1fr); }
  .sol-grid{ grid-template-columns:1fr; }
  .ben-grid{ grid-template-columns:repeat(2,1fr); }
  .fin .row{ flex-direction:column; align-items:stretch; gap:24px; }
  .sim-frames{ grid-template-columns:1fr; }
  .sim-mock .heading{ grid-template-columns:1fr; gap:14px; }
}

@media (max-width: 680px){
  .container{ padding:0 18px; }
  .s-nav .links{ display:none; }
  .s-nav .actions .ghost{ display:none; }
  .hero{ padding:42px 0 50px; }
  .hero h1{ font-size:36px; }
  .hero .stats{ grid-template-columns:repeat(2,1fr); gap:18px 24px; }
  .agro-hero h1{ font-size:34px; }
  .segs-band .grid{ grid-template-columns:1fr; }
  .case-grid{ grid-template-columns:1fr; }
  .agro-cases .case-card{ grid-template-columns:1fr; }
  .pain-grid{ grid-template-columns:1fr; }
  .ben-grid{ grid-template-columns:1fr; }
  .credit-band .terms{ grid-template-columns:1fr; }
  .s-footer .row{ flex-direction:column; gap:20px; }
  .sim-mock .heading h2{ font-size:28px; }
  .fin .partners{ grid-template-columns:1fr; }
  .float-wa{ right:18px; bottom:18px; width:50px; height:50px; }
  .float-wa svg{ width:22px; height:22px; }
  .cursor{ display:none; }
}

/* ============================================================
   REDUCE MOTION
   ============================================================ */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 1ms !important;
  }
  html{ scroll-behavior:auto; }
  .marquee .track{ animation: none; }
  .float-wa{ animation: none; }
  .hero::before, .agro-hero::before{ animation: none; }
}
