@font-face{font-family:'Sora';src:url('../fonts/sora-variable.woff2') format('woff2');font-weight:100 800;font-display:swap}
@font-face{font-family:'Inter';src:url('../fonts/inter-variable.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{
  --cloud:#EEF2EC; --paper:#FFFFFF; --ink:#06251C; --ink-2:#19362D; --moss:#0E7A5B; --leaf:#12A075; --mint:#8ADCC4; --mist:#C9DDD3; --ember:#E0742B; --ember-soft:#F7C9A3;
  --accent:var(--leaf); --accent-strong:var(--moss);
  --text:#0E1F1A; --muted:#4A5F57; --line:rgba(6,37,28,.12);
  --f-display:'Sora',system-ui,sans-serif; --f-body:'Inter',system-ui,sans-serif;
  --fs-hero:clamp(2.3rem,4.8vw + .5rem,5.2rem); --fs-h2:clamp(1.8rem,2.9vw + .6rem,3.3rem); --fs-h3:clamp(1.25rem,1.2vw + .8rem,1.7rem); --fs-body:clamp(1rem,.3vw + .9rem,1.1rem);
  --gutter:clamp(1.25rem,4.5vw,4.5rem); --maxw:1480px; --section:clamp(5rem,11vh,8.5rem);
  --ease:cubic-bezier(.16,1,.3,1); --ease-io:cubic-bezier(.76,0,.24,1);
  --r:14px; --r-lg:28px;
  box-sizing:border-box; padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){ } }
*,*::before,*::after{box-sizing:inherit}
html{scroll-behavior:smooth;scroll-padding-top:env(safe-area-inset-top,0px);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cloud);color:var(--text);font-family:var(--f-body);font-size:var(--fs-body);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img,video{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--f-display);font-weight:700;letter-spacing:-.025em;line-height:1.02;margin:0}
h2{font-size:var(--fs-h2)} h3{font-size:var(--fs-h3);line-height:1.15}
p{margin:0}
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gutter)}
.skip{position:absolute;left:1rem;top:-100%;background:var(--ink);color:#fff;padding:.5rem .9rem;border-radius:8px;z-index:200}
.skip:focus{top:1rem}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
:focus:not(:focus-visible){outline:none}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:.6rem;font-weight:600;font-size:.98rem;padding:.95rem 1.5rem;border-radius:999px;text-decoration:none;border:1.5px solid transparent;cursor:pointer;font-family:var(--f-body);transition:transform .35s var(--ease),background .3s,color .3s,border-color .3s,box-shadow .3s;will-change:transform}
.btn:hover{transform:translateY(-2px)} .btn:active{transform:scale(.98)}
.btn-ink{background:var(--ink);color:#fff}.btn-ink:hover{background:var(--ink-2)}
.btn-accent{background:var(--accent-strong);color:#fff;box-shadow:0 12px 30px -12px var(--accent-strong)}
.btn-accent:hover{background:var(--ink)}
.btn-ghost{border-color:rgba(255,255,255,.45);color:#fff;background:rgba(255,255,255,.06);backdrop-filter:blur(8px)}
.btn-ghost:hover{background:rgba(255,255,255,.14);border-color:#fff}
.btn-line{border-color:var(--line);color:var(--ink);background:transparent}.btn-line:hover{border-color:var(--ink)}
.btn svg{width:18px;height:18px;flex:none}

/* ---------- nav ---------- */
.nav{position:fixed;top:env(safe-area-inset-top,0px);left:0;right:0;z-index:100;padding:1rem 0;transition:background .4s,box-shadow .4s,padding .4s;color:#fff}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.nav-logo img{height:28px;width:auto}
.nav-logo .dark{display:none}
.nav-links{display:flex;gap:2rem;list-style:none;margin:0;padding:0}
.nav-links a{text-decoration:none;font-weight:500;font-size:.95rem;opacity:.9;position:relative;padding:.25rem 0}
.nav-links a::after{content:"";position:absolute;left:0;bottom:0;height:1.5px;width:100%;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.nav-links a:hover::after{transform:scaleX(1)}
.nav-right{display:flex;align-items:center;gap:1rem}
.nav-phone{text-decoration:none;font-weight:600;font-size:.95rem;white-space:nowrap}
.nav .btn{padding:.7rem 1.2rem;font-size:.92rem}
.nav.solid{background:rgba(238,242,236,.86);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);color:var(--ink);box-shadow:0 1px 0 var(--line);padding:.6rem 0}
.nav.solid .nav-logo .light{display:none}.nav.solid .nav-logo .dark{display:block}
.nav.solid .btn-ghost{color:var(--ink);border-color:var(--line);background:transparent}
.burger{display:none;background:none;border:0;color:inherit;width:44px;height:44px;cursor:pointer;border-radius:10px}
.burger span{display:block;width:22px;height:2px;background:currentColor;margin:5px auto;transition:transform .3s,opacity .3s}
.mobile-menu{position:fixed;inset:0;z-index:99;visibility:hidden;background:var(--ink);color:#fff;display:flex;flex-direction:column;justify-content:center;padding:var(--gutter);transform:translateY(-100%);transition:transform .6s var(--ease-io)}
.mobile-menu.open{transform:none;visibility:visible}
.mobile-menu a{font-family:var(--f-display);font-size:2.2rem;font-weight:700;text-decoration:none;padding:.4rem 0;letter-spacing:-.02em}
.mobile-menu .small{font-family:var(--f-body);font-size:1rem;font-weight:500;opacity:.8;margin-top:1.5rem}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100svh;display:grid;grid-template-rows:1fr auto;color:#fff;isolation:isolate;overflow:hidden;background:var(--ink)}
.hero-media{position:absolute;inset:0;z-index:-2}
.hero-media video,.hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.1s var(--ease);transform:scale(1.02)}
.hero-media img.on{opacity:1}
.hero-media video.on.ready{opacity:1}
.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(6,37,28,.55) 0%,rgba(6,37,28,.08) 35%,rgba(6,37,28,.25) 65%,rgba(6,37,28,.9) 100%),linear-gradient(90deg,rgba(6,37,28,.6) 0%,rgba(6,37,28,0) 60%)}
.hero-tint{position:absolute;inset:0;z-index:-1;mix-blend-mode:color;background:var(--accent);opacity:.09;transition:background .9s,opacity .9s}
.hero-grain{position:absolute;inset:0;z-index:-1;opacity:.07;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.hero-main{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:3rem;align-items:end;padding-top:clamp(7rem,16vh,10rem);padding-bottom:3rem}
.hero-copy{max-width:880px}
.hero-kicker{display:inline-flex;align-items:center;gap:.6rem;font-size:.9rem;font-weight:500;opacity:.9;margin-bottom:1.4rem;padding:.4rem .9rem .4rem .5rem;border:1px solid rgba(255,255,255,.28);border-radius:999px;backdrop-filter:blur(6px)}
.hero-kicker i{width:8px;height:8px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 0 rgba(138,220,196,.6);animation:pulse 2.2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(138,220,196,.7)}70%{box-shadow:0 0 0 10px rgba(138,220,196,0)}100%{box-shadow:0 0 0 0 rgba(138,220,196,0)}}
.hero h1{font-size:var(--fs-hero);font-weight:800;letter-spacing:-.035em;line-height:.96;text-wrap:balance}
.hero h1 .line{display:block;overflow:hidden}
.hero h1 .line span{display:block;transform:translateY(110%);transition:transform 1.1s var(--ease)}
.hero.ready h1 .line span{transform:none}
.hero.ready h1 .line:nth-child(2) span{transition-delay:.08s}
.hero-sub{font-size:clamp(1.05rem,.5vw + .9rem,1.3rem);max-width:56ch;margin:1.5rem 0 2rem;opacity:.92;line-height:1.55}
.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap}
.hero-sub,.hero-actions,.hero-kicker{opacity:0;transform:translateY(16px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.hero.ready .hero-kicker{opacity:1;transform:none;transition-delay:.05s}
.hero.ready .hero-sub{opacity:.92;transform:none;transition-delay:.3s}
.hero.ready .hero-actions{opacity:1;transform:none;transition-delay:.45s}

/* line selector */
.lines{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:var(--r-lg);padding:.5rem;backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);display:grid;gap:.25rem;opacity:0;transform:translateY(24px);transition:opacity 1s var(--ease) .5s,transform 1s var(--ease) .5s}
.hero.ready .lines{opacity:1;transform:none}
.line-btn{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:.9rem;align-items:center;text-align:left;background:transparent;border:0;color:#fff;padding:1rem 1.1rem;border-radius:20px;cursor:pointer;font-family:var(--f-body);transition:background .35s;overflow:hidden}
.line-btn:hover{background:rgba(255,255,255,.08)}
.line-btn[aria-selected="true"]{background:rgba(255,255,255,.14)}
.line-btn .ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.12);color:#fff}
.line-btn .ic svg{width:22px;height:22px}
.line-btn b{display:block;font-family:var(--f-display);font-weight:700;font-size:1.08rem;letter-spacing:-.01em;line-height:1.1}
.line-btn small{display:block;font-size:.84rem;opacity:.75;margin-top:.15rem}
.line-btn .go{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.3);display:grid;place-items:center;transition:background .3s,transform .3s var(--ease)}
.line-btn .go svg{width:14px;height:14px}
.line-btn[aria-selected="true"] .go{background:#fff;color:var(--ink);transform:rotate(-45deg)}
.line-btn .bar{position:absolute;left:1.1rem;right:1.1rem;bottom:.45rem;height:2px;background:rgba(255,255,255,.18);border-radius:2px;overflow:hidden;opacity:0;transition:opacity .3s}
.line-btn[aria-selected="true"] .bar{opacity:1}
.line-btn .bar i{display:block;height:100%;width:100%;background:var(--mint);transform:scaleX(0);transform-origin:left}
.line-btn[aria-selected="true"] .bar i{animation:fill 10s linear forwards}
.hero.paused .line-btn .bar i{animation-play-state:paused}
@keyframes fill{to{transform:scaleX(1)}}

/* spec ticker */
.ticker{position:relative;border-top:1px solid rgba(255,255,255,.14);padding:1rem 0;overflow:hidden;white-space:nowrap;font-size:.95rem;font-weight:500;color:rgba(255,255,255,.85);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ticker-track{display:inline-flex;gap:3rem;animation:tk 38s linear infinite;padding-left:3rem}
.ticker-track span{display:inline-flex;align-items:center;gap:3rem}
.ticker-track span::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--mint)}
@keyframes tk{to{transform:translateX(-50%)}}
.hero:hover .ticker-track{animation-play-state:paused}

/* ---------- sections ---------- */
section{position:relative}
.sec{padding-block:var(--section)}
.sec-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:2rem 4rem;align-items:end;margin-bottom:clamp(2.5rem,6vh,4.5rem)}
.sec-head p{max-width:52ch;color:var(--muted);font-size:1.08rem}
.sec-head h2{text-wrap:balance}

/* problem / segments */
.problem{background:var(--cloud)}
.problem-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1.5rem;align-items:start}
.problem-text{grid-column:1/6}
.problem-text h2{margin-bottom:1.25rem}
.problem-text p{color:var(--muted);font-size:1.08rem;max-width:46ch}
.problem-text p + p{margin-top:1rem}
.segments{grid-column:7/13;display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.seg{display:flex;align-items:center;gap:.9rem;padding:1rem 1.1rem;background:var(--paper);border-radius:var(--r);border:1px solid var(--line);font-weight:600;color:var(--ink);transition:transform .4s var(--ease),border-color .3s}
.seg:hover{transform:translateX(4px);border-color:var(--mint)}
.seg svg{width:22px;height:22px;color:var(--moss);flex:none}
.seg small{display:block;font-weight:400;color:var(--muted);font-size:.85rem}
.seg-photo{grid-column:1/13;margin-top:2.5rem;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:21/8;position:relative}
.seg-photo img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 1.4s var(--ease)}
.seg-photo.in img{transform:none}
.seg-photo figcaption{position:absolute;left:1.25rem;bottom:1.25rem;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);padding:.6rem 1rem;border-radius:999px;font-size:.9rem;font-weight:500;color:var(--ink)}

/* calculator */
.calc{background:var(--ink);color:#fff;overflow:hidden}
.calc::before{content:"";position:absolute;inset:auto -10% -40% auto;width:60vw;height:60vw;border-radius:50%;background:radial-gradient(circle,rgba(18,160,117,.35),transparent 60%);pointer-events:none}
.calc .wrap{position:relative}
.calc-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem 5rem;align-items:center}
.calc-intro p{color:rgba(255,255,255,.78);font-size:1.08rem;max-width:48ch;margin-top:1.25rem}
.calc-intro h2 em{font-style:normal;color:var(--mint)}
.calc-panel{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:var(--r-lg);padding:clamp(1.25rem,3vw,2.25rem);backdrop-filter:blur(10px)}
.field{margin-bottom:1.6rem}
.field label{display:flex;justify-content:space-between;align-items:baseline;font-weight:500;margin-bottom:.7rem}
.field output{font-family:var(--f-display);font-weight:700;font-size:1.5rem;letter-spacing:-.02em}
input[type=range]{width:100%;appearance:none;-webkit-appearance:none;height:34px;background:transparent;cursor:pointer}
input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:6px;background:linear-gradient(90deg,var(--mint) var(--p,50%),rgba(255,255,255,.18) var(--p,50%))}
input[type=range]::-moz-range-track{height:6px;border-radius:6px;background:rgba(255,255,255,.18)}
input[type=range]::-moz-range-progress{height:6px;border-radius:6px;background:var(--mint)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;margin-top:-10px;border-radius:50%;background:#fff;border:6px solid var(--ink);box-shadow:0 0 0 2px var(--mint)}
input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#fff;border:6px solid var(--ink);box-shadow:0 0 0 2px var(--mint)}
.result{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.5rem 0}
.res{background:rgba(255,255,255,.08);border-radius:18px;padding:1.1rem 1.2rem}
.res small{display:block;font-size:.85rem;color:rgba(255,255,255,.7);margin-bottom:.35rem}
.res b{font-family:var(--f-display);font-size:clamp(1.7rem,2.6vw,2.4rem);font-weight:800;letter-spacing:-.03em;line-height:1;display:block}
.res b span{font-size:.55em;font-weight:600;opacity:.8}
.calc-note{font-size:.82rem;color:rgba(255,255,255,.55);line-height:1.5;margin-top:1rem}
.calc-panel .btn{width:100%;justify-content:center}

/* solutions */
.solutions{background:var(--cloud)}
.sol{display:grid;grid-template-columns:repeat(12,1fr);gap:2rem 3rem;align-items:center;padding-block:clamp(2rem,5vh,3.5rem);border-top:1px solid var(--line)}
.sol:last-child{border-bottom:1px solid var(--line)}
.sol-media{grid-column:1/8;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/3;position:relative;clip-path:inset(0 0 100% 0 round var(--r-lg));transition:clip-path 1.2s var(--ease)}
.sol.in .sol-media{clip-path:inset(0 round var(--r-lg))}
.sol-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.sol:hover .sol-media img{transform:scale(1.04)}
.sol-media .tag{position:absolute;top:1rem;left:1rem;display:flex;gap:.4rem}
.sol-media .tag span{background:rgba(255,255,255,.92);color:var(--ink);font-size:.82rem;font-weight:600;padding:.4rem .75rem;border-radius:999px}
.sol-body{grid-column:8/13}
.sol:nth-child(even) .sol-media{grid-column:6/13;order:2}
.sol:nth-child(even) .sol-body{grid-column:1/6;order:1}
.sol-body h3{font-size:clamp(1.6rem,2.2vw,2.3rem);margin-bottom:1rem}
.sol-body p{color:var(--muted);max-width:44ch}
.specs{list-style:none;margin:1.5rem 0;padding:0;border-top:1px solid var(--line)}
.specs li{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--line);font-size:.95rem}
.specs li span:first-child{color:var(--muted)}
.specs li span:last-child{font-weight:600;text-align:right}
.sol-links{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.5rem}
.maint{display:grid;grid-template-columns:auto 1fr auto;gap:1.5rem;align-items:center;margin-top:3rem;padding:1.5rem 1.75rem;background:var(--paper);border-radius:var(--r-lg);border:1px solid var(--line)}
.maint .ic{width:52px;height:52px;border-radius:16px;background:var(--mist);display:grid;place-items:center;color:var(--moss)}
.maint .ic svg{width:26px;height:26px}
.maint h3{font-size:1.25rem;margin-bottom:.2rem}
.maint p{color:var(--muted);font-size:.95rem}

/* process */
.process{background:var(--paper)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;position:relative;margin-top:1rem}
.steps::before{content:"";position:absolute;left:0;right:0;top:26px;height:2px;background:var(--line)}
.steps::after{content:"";position:absolute;left:0;top:26px;height:2px;width:100%;background:var(--moss);transform:scaleX(0);transform-origin:left;transition:transform 2.2s var(--ease)}
.steps.in::after{transform:scaleX(1)}
.step{position:relative;padding-top:4rem}
.step .n{position:absolute;top:0;left:0;width:54px;height:54px;border-radius:50%;background:var(--paper);border:2px solid var(--line);display:grid;place-items:center;font-family:var(--f-display);font-weight:800;font-size:1.2rem;color:var(--ink);transition:background .5s,border-color .5s,color .5s}
.steps.in .step .n{background:var(--ink);border-color:var(--ink);color:#fff}
.steps.in .step:nth-child(2) .n{transition-delay:.5s}.steps.in .step:nth-child(3) .n{transition-delay:1s}.steps.in .step:nth-child(4) .n{transition-delay:1.5s}
.step h3{font-size:1.3rem;margin-bottom:.6rem}
.step p{color:var(--muted);font-size:.97rem;max-width:30ch}

/* proof */
.proof{background:var(--ink);color:#fff}
.proof-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem;align-items:center}
.proof-photo{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/5;max-height:620px;align-self:stretch}
.proof-photo img{width:100%;height:100%;object-fit:cover}
.proof h2{margin-bottom:1rem}
.proof .lead{color:rgba(255,255,255,.78);font-size:1.08rem;max-width:46ch;margin-bottom:2.5rem}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 2rem}
.stat{border-left:2px solid rgba(255,255,255,.18);padding-left:1.25rem}
.stat b{display:block;font-family:var(--f-display);font-size:clamp(2.4rem,4vw,3.6rem);font-weight:800;letter-spacing:-.04em;line-height:1}
.stat b sup{font-size:.5em;vertical-align:top;top:.1em;position:relative;color:var(--mint)}
.stat > span{display:block;color:rgba(255,255,255,.72);margin-top:.5rem;font-size:.95rem}
.badges{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2.5rem}
.crea{display:inline-flex;align-items:center;gap:.75rem;padding:.8rem 1.1rem .8rem .8rem;border:1px solid rgba(255,255,255,.2);border-radius:999px;font-size:.95rem}
.crea i{width:34px;height:34px;border-radius:50%;background:var(--mint);color:var(--ink);display:grid;place-items:center}
.crea i svg{width:18px;height:18px}

/* eventos */
.eventos{background:var(--paper)}
.eventos-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:3rem 4rem;align-items:center}
.eventos-text h2{margin-bottom:1.25rem}
.eventos-text > p{color:var(--muted);font-size:1.08rem;max-width:48ch}
.eventos-list{list-style:none;margin:1.75rem 0;padding:0;display:grid;gap:.9rem}
.eventos-list li{display:grid;gap:.15rem;padding-left:1.1rem;border-left:2px solid var(--mint)}
.eventos-list b{font-family:var(--f-display);font-size:1.08rem;letter-spacing:-.01em}
.eventos-list span{color:var(--muted);font-size:.95rem}
.eventos-photo{margin:0;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/3;position:relative}
.eventos-photo img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 1.4s var(--ease)}
.eventos-photo.in img{transform:none}
.eventos-photo figcaption{position:absolute;left:1.25rem;bottom:1.25rem;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);padding:.6rem 1rem;border-radius:999px;font-size:.9rem;font-weight:500;color:var(--ink)}
/* partners */
.partners{background:var(--cloud);padding-block:calc(var(--section) * .8)}
.partners h2{font-size:clamp(1.5rem,2vw,2rem);margin-bottom:.5rem}
.partners p{color:var(--muted)}
.logos{margin-top:2.5rem;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.logos-track{display:flex;gap:1rem;width:max-content;animation:tk 40s linear infinite}
.logos-track.rev{animation-direction:reverse;margin-top:1rem}
.logos:hover .logos-track{animation-play-state:paused}
.logo-card{flex:none;width:200px;height:96px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);display:grid;place-items:center;padding:1.2rem}
.logo-card img{max-height:44px;width:auto;filter:grayscale(1) contrast(1.1);opacity:.7;transition:filter .4s,opacity .4s}
.logo-card:hover img{filter:none;opacity:1}

/* faq */
.faq{background:var(--paper)}
.faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:3rem}
.faq-grid > div:first-child p{color:var(--muted);margin-top:1rem;max-width:40ch}
details{border-top:1px solid var(--line)}
details:last-child{border-bottom:1px solid var(--line)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 0;font-family:var(--f-display);font-weight:700;font-size:1.2rem;letter-spacing:-.01em}
summary::-webkit-details-marker{display:none}
summary i{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;flex:none;transition:transform .4s var(--ease),background .3s}
summary i::before,summary i::after{content:"";position:absolute;width:12px;height:1.5px;background:currentColor}
summary i::after{transform:rotate(90deg)}
summary i{position:relative}
details[open] summary i{transform:rotate(45deg);background:var(--mist)}
details p{color:var(--muted);padding:0 3rem 1.4rem 0;max-width:62ch}

/* contact */
.contact{background:var(--cloud)}
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:3rem 5rem;align-items:start}
.contact-intro p{color:var(--muted);font-size:1.08rem;max-width:44ch;margin-top:1.25rem}
.contact-alt{margin-top:2rem;padding:1.5rem;border-radius:var(--r-lg);background:var(--paper);border:1px solid var(--line)}
.contact-alt b{display:block;font-family:var(--f-display);font-size:1.15rem;margin-bottom:.35rem}
.contact-alt p{font-size:.95rem;margin:0 0 1rem}
.contact-alt .btn{background:#25D366;color:#063;border:0}
.contact-alt .btn:hover{background:#1ebe5a}
.contact-list{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;gap:.6rem;color:var(--muted);font-size:.95rem}
.contact-list b{color:var(--ink);font-weight:600}
.form{background:var(--paper);border-radius:var(--r-lg);padding:clamp(1.25rem,3vw,2.5rem);border:1px solid var(--line);box-shadow:0 30px 60px -40px rgba(6,37,28,.35)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.f{margin-bottom:1rem}
.f label{display:block;font-weight:600;font-size:.9rem;margin-bottom:.4rem;color:var(--ink)}
.f input,.f select,.f textarea{width:100%;font:inherit;padding:.9rem 1rem;border-radius:12px;border:1.5px solid var(--line);background:var(--cloud);color:var(--text);transition:border-color .3s,box-shadow .3s}
.f input:focus,.f select:focus,.f textarea:focus{outline:none;border-color:var(--moss);box-shadow:0 0 0 4px rgba(18,160,117,.15);background:#fff}
.f textarea{min-height:110px;resize:vertical}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chip{position:relative}
.chip input{position:absolute;opacity:0;inset:0}
.chip span{display:inline-block;padding:.6rem 1rem;border-radius:999px;border:1.5px solid var(--line);font-weight:500;font-size:.92rem;cursor:pointer;transition:all .25s}
.chip input:checked + span{background:var(--ink);color:#fff;border-color:var(--ink)}
.chip input:focus-visible + span{outline:2px solid var(--accent);outline-offset:2px}
.lgpd{display:flex;gap:.7rem;align-items:flex-start;font-size:.86rem;color:var(--muted);margin:1rem 0 1.25rem}
.lgpd input{margin-top:.25rem;width:18px;height:18px;accent-color:var(--moss)}
.form .btn{width:100%;justify-content:center}
.form-ok{display:none;text-align:center;padding:3rem 1rem}
.form-ok svg{width:56px;height:56px;color:var(--moss);margin:0 auto 1rem}
.form.sent form{display:none}.form.sent .form-ok{display:block}

/* footer */
footer{background:var(--ink);color:rgba(255,255,255,.8);padding:4rem 0 2rem}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:2.5rem}
.foot-grid h4{color:#fff;font-family:var(--f-display);font-size:1.05rem;margin:0 0 1rem}
.foot-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:.55rem;font-size:.95rem}
.foot-grid a{text-decoration:none;opacity:.85}.foot-grid a:hover{opacity:1;color:var(--mint)}
.foot-brand img{height:30px;margin-bottom:1.2rem}
.foot-brand p{font-size:.92rem;max-width:36ch;opacity:.8}
.foot-bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.12);font-size:.85rem;opacity:.7}

/* fab */
.fab{position:fixed;right:1.25rem;bottom:calc(1.25rem + env(safe-area-inset-bottom,0px));z-index:90;width:58px;height:58px;border-radius:50%;background:#25D366;color:#fff;display:grid;place-items:center;box-shadow:0 14px 30px -10px rgba(37,211,102,.7);transition:transform .35s var(--ease)}
.fab:hover{transform:scale(1.08)}
.fab svg{width:28px;height:28px}

/* reveal */
[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
[data-reveal].in{opacity:1;transform:none}
[data-reveal="2"].in{transition-delay:.1s}[data-reveal="3"].in{transition-delay:.2s}[data-reveal="4"].in{transition-delay:.3s}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}[data-reveal]{opacity:1;transform:none}.sol-media{clip-path:none}}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .nav-links{display:none}.burger{display:block}
  .nav-phone{display:none}
  .hero-main{grid-template-columns:1fr;gap:2rem}
  .problem-text{grid-column:1/13}.segments{grid-column:1/13}
  .calc-grid,.proof-grid,.faq-grid,.contact-grid,.eventos-grid{grid-template-columns:1fr}
  .sol-media,.sol:nth-child(even) .sol-media{grid-column:1/13;order:1}
  .sol-body,.sol:nth-child(even) .sol-body{grid-column:1/13;order:2}
  .steps{grid-template-columns:1fr 1fr;gap:2.5rem 2rem}
  .steps::before,.steps::after{display:none}
  .foot-grid{grid-template-columns:1fr 1fr}
  .proof-photo{aspect-ratio:16/10;max-height:none}
  .eventos-photo{order:-1}
}
@media (max-width:640px){
  .sec-head{grid-template-columns:1fr}
  .segments{grid-template-columns:1fr}
  .lines{grid-template-columns:1fr}
  .line-btn{padding:.85rem .9rem}
  .line-btn small{display:none}
  .hero-actions .btn{flex:1;justify-content:center;padding:.9rem 1rem;font-size:.92rem;white-space:nowrap}
  .hero-shade{background:linear-gradient(180deg,rgba(6,37,28,.6) 0%,rgba(6,37,28,.35) 30%,rgba(6,37,28,.55) 60%,rgba(6,37,28,.95) 100%)}
  .hero-main{padding-top:6.5rem}
  .result,.form-row{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr 1fr;gap:1.25rem 1rem}
  .steps{grid-template-columns:1fr}
  .maint{grid-template-columns:auto 1fr}.maint .btn{grid-column:1/3}
  .foot-grid{grid-template-columns:1fr}
  .seg-photo{aspect-ratio:4/3}
  .nav .btn-ghost{display:none}
}
/* ---------- service pages ---------- */
.svc-hero{background:var(--ink);color:#fff;padding-top:clamp(7rem,14vh,9.5rem);padding-bottom:0;position:relative;overflow:hidden}
.svc-hero::before{content:"";position:absolute;inset:auto auto -30% -10%;width:50vw;height:50vw;border-radius:50%;background:radial-gradient(circle,rgba(18,160,117,.3),transparent 60%);pointer-events:none}
.svc-hero.warm::before{background:radial-gradient(circle,rgba(224,116,43,.3),transparent 60%)}
.svc-hero .wrap{position:relative}
.crumb{display:flex;gap:.5rem;align-items:center;font-size:.9rem;color:rgba(255,255,255,.65);margin-bottom:1.5rem}
.crumb a{color:inherit;text-decoration:none}.crumb a:hover{color:#fff}
.crumb i{width:4px;height:4px;border-radius:50%;background:var(--mint)}
.svc-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:3rem;align-items:end}
.svc-hero h1{font-size:clamp(2.4rem,4.6vw + .5rem,5rem);font-weight:800;letter-spacing:-.035em;line-height:.98;text-wrap:balance}
.svc-hero .lead{font-size:clamp(1.05rem,.5vw + .9rem,1.25rem);color:rgba(255,255,255,.82);max-width:52ch;margin:1.5rem 0 2rem;line-height:1.55}
.svc-hero .hero-actions{margin-bottom:3rem}
.svc-hero .pills{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}
.svc-hero .pills span{padding:.45rem .9rem;border-radius:999px;border:1px solid rgba(255,255,255,.25);font-size:.88rem;font-weight:500}
.svc-hero-media{border-radius:var(--r-lg) var(--r-lg) 0 0;overflow:hidden;aspect-ratio:4/3;transform:translateY(0);box-shadow:0 -30px 80px -40px rgba(0,0,0,.6)}
.svc-hero-media img{width:100%;height:100%;object-fit:cover}
.svc-kpis{background:var(--cloud);border-bottom:1px solid var(--line)}
.svc-kpis .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;padding-block:2rem}
.kpi b{display:block;font-family:var(--f-display);font-size:clamp(1.6rem,2.4vw,2.2rem);font-weight:800;letter-spacing:-.03em;line-height:1;color:var(--ink)}
.kpi span{display:block;color:var(--muted);font-size:.92rem;margin-top:.4rem}
.svc-uses{background:var(--paper)}
.uses-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem 3rem}
.use h3{font-size:1.25rem;margin-bottom:.5rem;padding-top:1rem;border-top:2px solid var(--ink)}
.use p{color:var(--muted);font-size:.97rem}
.svc-how{background:var(--cloud)}
.how-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem 5rem;align-items:center}
.how-grid .diagram{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.25rem;display:grid;place-items:center}
.how-grid .diagram svg{width:100%;height:auto;max-height:100%}
.how-steps{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;gap:1.1rem}
.how-steps li{display:grid;grid-template-columns:42px 1fr;gap:1rem;align-items:start}
.how-steps li i{width:42px;height:42px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-family:var(--f-display);font-weight:800}
.how-steps b{display:block;font-family:var(--f-display);font-size:1.08rem;letter-spacing:-.01em}
.how-steps span{color:var(--muted);font-size:.95rem}
.svc-specs{background:var(--paper)}
.specs-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem 5rem;align-items:start}
.specs-grid .specs{margin-top:0}
.compare{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.cmp{background:var(--cloud);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.5rem}
.cmp h3{font-size:1.3rem;margin-bottom:.35rem}
.cmp > p{color:var(--muted);font-size:.92rem;margin-bottom:1rem}
.cmp ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem;font-size:.95rem}
.cmp li{display:flex;gap:.6rem;align-items:flex-start}
.cmp li::before{content:"";flex:none;width:18px;height:18px;margin-top:.15rem;border-radius:50%;background:var(--mint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2306251C' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center/11px no-repeat}
.cmp.warm li::before{background-color:var(--ember-soft)}
.guar{background:var(--ink);color:#fff}
.guar .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;padding-block:clamp(3rem,7vh,4.5rem)}
.guar .g{border-left:2px solid rgba(255,255,255,.18);padding-left:1.25rem}
.guar .g b{display:block;font-family:var(--f-display);font-size:1.35rem;letter-spacing:-.02em;margin-bottom:.4rem}
.guar .g span{color:rgba(255,255,255,.72);font-size:.95rem}
.svc-gallery{background:var(--cloud)}
.gal{display:grid;grid-template-columns:2fr 1fr;gap:1rem}
.gal figure{margin:0;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:16/10;position:relative}
.gal figure:nth-child(2){aspect-ratio:auto}
.gal img{width:100%;height:100%;object-fit:cover}
.gal figcaption{position:absolute;left:1rem;bottom:1rem;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);padding:.5rem .9rem;border-radius:999px;font-size:.85rem;font-weight:500;color:var(--ink)}
.svc-faq{background:var(--paper)}
.svc-cta{background:var(--cloud)}
.other{background:var(--paper);border-top:1px solid var(--line)}
.other .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding-block:3rem}
.other a{display:grid;gap:.3rem;padding:1.25rem 1.4rem;border:1px solid var(--line);border-radius:var(--r-lg);text-decoration:none;transition:border-color .3s,transform .4s var(--ease)}
.other a:hover{border-color:var(--ink);transform:translateY(-3px)}
.other b{font-family:var(--f-display);font-size:1.15rem;letter-spacing:-.01em}
.other span{color:var(--muted);font-size:.9rem}
@media (max-width:1100px){
  .svc-hero-grid,.how-grid,.specs-grid{grid-template-columns:1fr}
  .svc-hero-media{aspect-ratio:16/9}
  .svc-kpis .wrap{grid-template-columns:1fr 1fr}
  .uses-grid{grid-template-columns:1fr 1fr}
  .guar .wrap,.other .wrap{grid-template-columns:1fr}
  .gal{grid-template-columns:1fr}.gal figure:nth-child(2){aspect-ratio:16/10}
}
@media (max-width:640px){
  .uses-grid,.compare,.svc-kpis .wrap{grid-template-columns:1fr}
    }
.svc-hero .hero-actions,.about-hero .hero-actions{opacity:1;transform:none}.svc-hero h1 .line{display:block;overflow:hidden}.svc-hero h1 .line span{display:block;transform:translateY(110%);transition:transform 1.1s var(--ease)}.svc-hero.ready h1 .line span{transform:none}.svc-hero.ready h1 .line:nth-child(2) span{transition-delay:.08s}
.hero-media video.on.ready{opacity:1}.hero-media img.on{opacity:1}
/* ================= SITE: nav with dropdowns ================= */
.nav-links{align-items:center}
.nav-links > li{position:relative}
.nav-links > li > a,.nav-links > li > button{background:none;border:0;color:inherit;font:inherit;font-weight:500;font-size:.95rem;opacity:.9;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;padding:.25rem 0;text-decoration:none}
.nav-links > li > button svg{width:12px;height:12px;transition:transform .3s}
.nav-links > li.open > button svg{transform:rotate(180deg)}
.dd{position:absolute;top:calc(100% + .9rem);left:-1rem;min-width:280px;background:var(--paper);color:var(--ink);border-radius:18px;border:1px solid var(--line);box-shadow:0 30px 60px -30px rgba(6,37,28,.4);padding:.5rem;display:grid;gap:.15rem;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .25s,transform .3s var(--ease)}
.nav-links > li.open .dd,.nav-links > li:hover .dd,.nav-links > li:focus-within .dd{opacity:1;pointer-events:auto;transform:none}
.dd a{display:grid;gap:.1rem;padding:.7rem .9rem;border-radius:12px;text-decoration:none;font-size:.95rem}
.dd a:hover{background:var(--cloud)}
.dd a b{font-family:var(--f-display);font-weight:700;letter-spacing:-.01em}
.dd a small{color:var(--muted);font-size:.82rem}
.dd .sub{margin-left:.9rem;border-left:2px solid var(--mist);padding-left:.4rem;display:grid}
.dd .sub a{padding:.45rem .7rem;font-size:.9rem}
.nav-links > li > a.active{opacity:1}
.nav-links > li > a::after,.nav-links > li > button::after{content:"";position:absolute;left:0;bottom:0;height:1.5px;width:100%;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.nav-links > li > a:hover::after,.nav-links > li > a.active::after,.nav-links > li > button:hover::after{transform:scaleX(1)}
.mobile-menu{overflow:auto;justify-content:flex-start;padding-top:6rem}
.mobile-menu a{font-size:1.7rem;padding:.3rem 0}
.mobile-menu .group{margin:.6rem 0 .2rem;font-family:var(--f-body);font-size:.8rem;font-weight:600;opacity:.6;letter-spacing:.04em}
.mobile-menu .group + a{font-size:1.25rem}
.mobile-menu a.sub{font-size:1.25rem;padding-left:1rem}
.page-top{position:fixed;left:0;right:0;z-index:100;top:env(safe-area-inset-top,0px)}
/* ================= seals / badges ================= */
.seal{position:absolute;z-index:3;width:clamp(84px,9vw,124px);height:clamp(84px,9vw,124px);filter:drop-shadow(0 10px 20px rgba(0,0,0,.35))}
.seal img{width:100%;height:auto;display:block}
.seal-hero{right:clamp(1rem,3vw,2.5rem);top:clamp(6rem,14vh,8.5rem)}
.seal-media{right:1rem;bottom:1rem}
.diffs{background:var(--paper)}
.diff-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}
.diff{position:relative;display:grid;justify-items:center;text-align:center;gap:.8rem;padding:1.75rem 1.25rem;border-radius:var(--r-lg);background:var(--cloud);border:1px solid var(--line);transition:transform .4s var(--ease),border-color .3s}
.diff:hover{transform:translateY(-4px);border-color:var(--mint)}
.diff .badge{width:88px;height:88px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;position:relative}
.diff .badge::before{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px dashed var(--mint);opacity:.8}
.diff .badge svg{width:38px;height:38px}
.diff .badge.num{font-family:var(--f-display);font-weight:800;font-size:1.6rem;letter-spacing:-.03em;line-height:1}
.diff .badge.num small{display:block;font-size:.62rem;font-weight:600;letter-spacing:.04em;opacity:.85}
.diff b{font-family:var(--f-display);font-size:1.1rem;letter-spacing:-.01em;line-height:1.15}
.diff span{color:var(--muted);font-size:.88rem;max-width:22ch}
.certs{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:2rem}
.certs span{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1rem;border-radius:999px;background:var(--ink);color:#fff;font-weight:600;font-size:.88rem}
.certs span i{width:8px;height:8px;border-radius:50%;background:var(--mint)}
.maint2{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:3rem}
.maint2 .m{display:grid;grid-template-columns:auto 1fr;gap:1rem 1.25rem;align-items:start;padding:1.5rem 1.75rem;background:var(--paper);border-radius:var(--r-lg);border:1px solid var(--line)}
.maint2 .ic{width:52px;height:52px;border-radius:16px;background:var(--mist);display:grid;place-items:center;color:var(--moss)}
.maint2 .ic svg{width:26px;height:26px}
.maint2 h3{font-size:1.2rem;margin-bottom:.3rem}
.maint2 p{color:var(--muted);font-size:.95rem}
.maint2 .btn{grid-column:2;justify-self:start;padding:.7rem 1.2rem;font-size:.92rem}
@media (max-width:900px){.maint2{grid-template-columns:1fr}}
/* testimonials carousel */
.t-car{position:relative}
.t-track{display:flex;gap:1.25rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:.25rem .25rem 1rem;-webkit-overflow-scrolling:touch}
.t-track::-webkit-scrollbar{display:none}
.t-track .t{flex:0 0 clamp(280px,31%,440px);scroll-snap-align:start;min-height:100%}
.t-nav{display:flex;gap:.5rem;align-items:center;justify-content:space-between;margin-top:.5rem}
.t-dots{display:flex;gap:.4rem}
.t-dots i{width:8px;height:8px;border-radius:50%;background:var(--line);transition:background .3s,transform .3s}
.t-dots i.on{background:var(--ink);transform:scale(1.25)}
.t-btns{display:flex;gap:.5rem}
.t-btns button{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--line);background:var(--paper);color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:background .3s,border-color .3s}
.t-btns button:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.t-btns svg{width:18px;height:18px}
@media (max-width:640px){.t-track .t{flex-basis:86%}}
.info{background:var(--paper);overflow:hidden}
.info-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,1fr) minmax(0,1fr);gap:1.25rem 1.5rem;align-items:center}
.info-col{display:grid;gap:1rem}
.pill{display:grid;grid-template-columns:72px 1fr;align-items:center;gap:1rem;padding:.9rem 1.25rem .9rem .9rem;border-radius:999px;background:linear-gradient(135deg,#0A2E24,#06251C 60%,#0E4A39);color:#fff;border:1px solid rgba(138,220,196,.25);box-shadow:0 18px 40px -28px rgba(6,37,28,.8);position:relative;overflow:hidden}
.pill::after{content:"";position:absolute;right:18px;top:12px;bottom:12px;width:4px;border-radius:4px;background:var(--mint);opacity:.9}
.pill .ic{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 30% 30%,#19362D,#06251C);box-shadow:0 0 0 3px #8ADCC4,inset 0 0 0 2px rgba(255,255,255,.08);color:#fff}
.pill .ic svg{width:34px;height:34px}
.pill b{display:block;font-family:var(--f-display);font-size:1.15rem;letter-spacing:-.015em;line-height:1.1}
.pill b em{font-style:normal;color:var(--mint)}
.pill small{display:block;color:rgba(255,255,255,.78);font-size:.86rem;margin-top:.15rem}
.info-img{position:relative;display:grid;justify-items:center}
.info-img img{width:100%;max-height:700px;object-fit:contain;object-position:bottom}
.info-img::before{content:"";position:absolute;inset:auto 10% -6% 10%;height:30%;border-radius:50%;background:radial-gradient(ellipse,rgba(18,160,117,.25),transparent 70%);z-index:0}
.info-img img{position:relative;z-index:1}
@media (max-width:1100px){.info-grid{grid-template-columns:1fr 1fr}.info-img{grid-column:1/3;order:-1}.info-img img{max-height:420px}}
@media (max-width:640px){.info-grid{grid-template-columns:1fr}.info-img{grid-column:auto}.pill{grid-template-columns:56px 1fr}.pill .ic{width:56px;height:56px}.pill .ic svg{width:26px;height:26px}}
.logo-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.75rem;margin-top:1.75rem}
.logo-grid .logo-card{width:auto;height:84px}
.partners{padding-block:clamp(2.5rem,6vh,4rem)}
@media (max-width:1100px){.logo-grid{grid-template-columns:repeat(4,1fr)}}
@media (max-width:640px){.logo-grid{grid-template-columns:repeat(3,1fr)}.logo-grid .logo-card{height:64px;padding:.8rem}}
.cases{background:var(--cloud)}
.case-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}
.case-filters button{font:inherit;font-weight:500;font-size:.92rem;padding:.55rem 1rem;border-radius:999px;border:1.5px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;transition:all .25s}
.case-filters button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.case-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.case{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:1;background:var(--paper);border:1px solid var(--line);margin:0}
.case img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.case:hover img{transform:scale(1.05)}
.case figcaption{position:absolute;left:0;right:0;bottom:0;padding:2.5rem .9rem .9rem;background:linear-gradient(180deg,transparent,rgba(6,37,28,.85));color:#fff;font-size:.86rem;font-weight:500}
.case .cat{position:absolute;top:.75rem;left:.75rem;background:rgba(255,255,255,.92);color:var(--ink);font-size:.74rem;font-weight:600;padding:.3rem .6rem;border-radius:999px}
.case.hide{display:none}
.info .sec-head{grid-template-columns:1fr;text-align:center;justify-items:center}
.info .sec-head p{margin-top:.5rem}
.steps::before,.steps::after{z-index:0}
.step .n{z-index:2}
.foot-brand img{height:30px;width:auto;margin-bottom:1.2rem}
.foot-contact li{display:flex;gap:.6rem;align-items:flex-start}
.foot-contact li svg{width:18px;height:18px;flex:none;margin-top:.15rem;color:var(--mint)}
.social{display:flex;gap:.5rem;margin-top:1.25rem}
.social a{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.2);display:grid;place-items:center;color:#fff;transition:background .3s,border-color .3s}
.social a:hover{background:var(--moss);border-color:var(--moss)}
.social svg{width:18px;height:18px}
.hero-main{position:relative}
.seal-hero{right:var(--gutter);top:clamp(6rem,14vh,9rem)}
@media (max-width:1100px){.case-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.case-grid{grid-template-columns:1fr 1fr;gap:.6rem}.seal-hero{top:5.4rem}}
/* v7 fixes */
.nav-links > li{padding-bottom:.9rem;margin-bottom:-.9rem}
.dd{top:100%}
.hero h1 .line,.svc-hero h1 .line{overflow:visible;clip-path:inset(-.15em -.4em -.2em -.05em)}
.svc-kpis .wrap{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.case-grid{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:.25rem .25rem 1rem}
.case-grid::-webkit-scrollbar{display:none}
.case-grid .case{flex:0 0 clamp(240px,23.5%,340px);scroll-snap-align:start}
.contact-list li{display:flex;gap:.6rem;align-items:flex-start}
.contact-list li svg{width:18px;height:18px;flex:none;margin-top:.15rem;color:var(--moss)}
.contact-list li b{margin-right:.3rem}
.cta-band{background:var(--moss)}
.cta-band p{color:rgba(255,255,255,.85)}
.cta-band .btn-accent{background:var(--ink)}.cta-band .btn-accent:hover{background:#041a14}
.region{background:var(--paper);border-top:1px solid var(--line)}
.region .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem 4rem;align-items:center;padding-block:clamp(3rem,7vh,4.5rem)}
.region h2{font-size:clamp(1.6rem,2.4vw,2.3rem)}
.region p{color:var(--muted);margin-top:.75rem;max-width:46ch}
.cities{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}
.cities span{padding:.5rem .9rem;border-radius:999px;border:1.5px solid var(--line);font-weight:500;font-size:.92rem}
.foot-bottom .dev{display:inline-flex;align-items:center;gap:.6rem}
.foot-bottom .dev img{height:18px;width:auto;opacity:.85}
@media (max-width:1100px){.region .wrap{grid-template-columns:1fr}}
@media (max-width:640px){.case-grid .case{flex-basis:78%}}
/* ================= testimonials ================= */
.testi{background:var(--cloud)}
.testi-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;flex-wrap:wrap;margin-bottom:2.5rem}
.rating{display:inline-flex;align-items:center;gap:.6rem;padding:.6rem 1rem;background:var(--paper);border:1px solid var(--line);border-radius:999px;font-weight:600}
.stars{display:inline-flex;gap:2px;color:#F2B01E}.stars svg{width:16px;height:16px}
.t-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.t{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.5rem;display:grid;gap:.9rem;align-content:start}
.t.wide{grid-column:span 2}
.t p{color:var(--text);font-size:.98rem;line-height:1.55}
.t .who{display:flex;align-items:center;gap:.75rem;margin-top:auto}
.t .av{width:40px;height:40px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-family:var(--f-display);font-weight:700}
.t .who b{display:block;font-size:.95rem}.t .who small{color:var(--muted);font-size:.82rem}
.t .tag{font-size:.78rem;font-weight:600;color:var(--moss);background:var(--mist);padding:.3rem .6rem;border-radius:999px;justify-self:start}
/* ================= cta band ================= */
.cta-band{background:var(--ink);color:#fff}
.cta-band .wrap{display:grid;grid-template-columns:minmax(0,1.2fr) auto;gap:2rem;align-items:center;padding-block:clamp(2.5rem,6vh,4rem)}
.cta-band h2{font-size:clamp(1.6rem,2.6vw,2.4rem)}
.cta-band p{color:rgba(255,255,255,.75);margin-top:.5rem;max-width:48ch}
.cta-band .acts{display:flex;gap:.75rem;flex-wrap:wrap}
.sec-cta{margin-top:2.5rem;display:flex;gap:.75rem;flex-wrap:wrap}
/* ================= about / contact / blog / policy ================= */
.about-hero{background:var(--ink);color:#fff;padding-top:clamp(7rem,14vh,9.5rem);padding-bottom:clamp(3rem,7vh,5rem)}
.about-hero h1{font-size:clamp(2.4rem,4.6vw + .5rem,4.6rem);font-weight:800;letter-spacing:-.035em;line-height:.98;max-width:18ch}
.about-hero p{color:rgba(255,255,255,.8);max-width:56ch;margin-top:1.5rem;font-size:1.1rem}
.about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem 5rem;align-items:center}
.about-grid img{border-radius:var(--r-lg);width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;align-self:center}
.timeline{display:grid;gap:1rem;margin-top:1.5rem}
.timeline li{display:grid;grid-template-columns:100px 1fr;gap:1rem;list-style:none;padding-bottom:1rem;border-bottom:1px solid var(--line)}
.timeline b{font-family:var(--f-display);font-size:1.3rem;letter-spacing:-.02em;color:var(--moss)}
.timeline span{color:var(--muted)}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.post{border-radius:var(--r-lg);overflow:hidden;background:var(--paper);border:1px solid var(--line);display:grid;text-decoration:none;color:inherit;transition:transform .4s var(--ease)}
.post:hover{transform:translateY(-4px)}
.post img{aspect-ratio:16/10;object-fit:cover;width:100%}
.post div{padding:1.25rem}
.post small{color:var(--muted);font-size:.82rem}
.post h3{font-size:1.2rem;margin:.4rem 0 .5rem}
.post p{color:var(--muted);font-size:.93rem}
.policy{max-width:76ch}
.policy h2{font-size:1.5rem;margin:2rem 0 .75rem}
.policy p,.policy li{color:var(--muted)}
.page-head{padding-top:clamp(7rem,14vh,9rem)}
/* ================= back to top + cookies ================= */
.totop{position:fixed;right:1.25rem;bottom:calc(5.5rem + env(safe-area-inset-bottom,0px));z-index:90;width:46px;height:46px;border-radius:50%;background:var(--paper);color:var(--ink);border:1px solid var(--line);box-shadow:0 10px 24px -12px rgba(6,37,28,.4);display:grid;place-items:center;cursor:pointer;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .3s,transform .4s var(--ease)}
.totop.show{opacity:1;transform:none;pointer-events:auto}
.totop svg{width:20px;height:20px}
.cookies{position:fixed;left:1rem;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom,0px));z-index:120;max-width:560px;margin:0 auto;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:1rem 1.25rem;box-shadow:0 30px 60px -30px rgba(6,37,28,.5);display:none;gap:1rem;align-items:center;font-size:.9rem;color:var(--muted)}
.cookies.show{display:flex}
.cookies .btn{padding:.6rem 1rem;font-size:.88rem;white-space:nowrap}
/* ================= models ================= */
.models{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.model{background:var(--cloud);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.5rem;display:grid;gap:.4rem}
.model b{font-family:var(--f-display);font-size:1.3rem;letter-spacing:-.02em}
.model span{color:var(--muted);font-size:.9rem}
.model .btn{margin-top:.75rem;justify-self:start;padding:.6rem 1rem;font-size:.88rem}
@media (max-width:1100px){
  .diff-grid,.t-grid{grid-template-columns:1fr 1fr}.t.wide{grid-column:span 2}
  .about-grid{grid-template-columns:1fr}.blog-grid,.models{grid-template-columns:1fr 1fr}
  .cta-band .wrap{grid-template-columns:1fr}
}
@media (max-width:640px){.diff-grid,.t-grid,.blog-grid,.models{grid-template-columns:1fr}.t.wide{grid-column:auto}.seal-hero{top:5.2rem;right:1rem;width:76px;height:76px}}
.cta-band{background:var(--moss)}
.cta-band p{color:rgba(255,255,255,.85)}
.cta-band .btn-accent{background:var(--ink)}.cta-band .btn-accent:hover{background:#041a14}
@media (max-width:1100px){.sol{grid-template-columns:1fr;gap:1.25rem}.sol-media,.sol:nth-child(even) .sol-media{grid-column:auto;order:1}.sol-body,.sol:nth-child(even) .sol-body{grid-column:auto;order:2}.problem-grid{grid-template-columns:1fr}.problem-text,.segments,.seg-photo{grid-column:auto}.ben-grid{grid-template-columns:1fr}}
@media (max-width:640px){.sol-media{aspect-ratio:4/3}}
.uses-grid.cols-4{grid-template-columns:repeat(4,1fr)}.uses-grid.cols-3{grid-template-columns:repeat(3,1fr)}
@media (max-width:1100px){.uses-grid.cols-4,.uses-grid.cols-3{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.uses-grid.cols-4,.uses-grid.cols-3{grid-template-columns:1fr}summary{padding-right:0}.chips{gap:.4rem}}
.blog-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:2.5rem;align-items:start}
.blog-side{position:sticky;top:6rem;display:grid;gap:1rem}
.side-box{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.25rem}
.side-box h3{font-size:1.05rem;margin-bottom:.75rem}
.side-box.dark{background:var(--ink);color:#fff}
.side-box.dark p{color:rgba(255,255,255,.75);font-size:.92rem;margin-bottom:1rem}
.side-box.dark .btn{width:100%;justify-content:center}
.cat-list{list-style:none;margin:0;padding:0;display:grid}
.cat-list a{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem .7rem;border-radius:10px;text-decoration:none;font-size:.95rem;color:var(--text)}
.cat-list a span{font-size:.78rem;color:var(--muted);background:var(--cloud);padding:.15rem .5rem;border-radius:999px}
.cat-list a:hover{background:var(--cloud)}
.cat-list a.on{background:var(--ink);color:#fff}.cat-list a.on span{background:rgba(255,255,255,.15);color:#fff}
.blog-layout .blog-grid{grid-template-columns:1fr 1fr}
.post.hide{display:none}
.about-hero{position:relative;isolation:isolate;overflow:hidden}
.about-hero .bg{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center right}
.about-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(6,37,28,.96) 0%,rgba(6,37,28,.88) 45%,rgba(6,37,28,.45) 100%)}
@media (max-width:1100px){.blog-layout{grid-template-columns:1fr}.blog-side{position:static}}
@media (max-width:640px){.blog-layout .blog-grid{grid-template-columns:1fr}}
.foot-brand .btn{margin-top:.25rem;padding:.65rem 1.1rem;font-size:.9rem;border-color:rgba(255,255,255,.3);color:#fff}
.foot-brand .btn:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.foot-bottom .dev a{display:inline-flex;align-items:center}
.logo-card img{height:auto;max-height:44px;width:auto;max-width:100%;object-fit:contain}
@media (max-width:640px){
  .logo-grid{grid-template-columns:1fr 1fr 1fr;gap:.5rem}
  .logo-grid .logo-card{height:70px;padding:.7rem}
  .logo-grid .logo-card img{max-height:34px}
  .seal-hero{position:static;width:72px;height:auto;justify-self:end;margin:0 0 .5rem;order:-1}
}
.pcar{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:.25rem .25rem 1rem}
.pcar::-webkit-scrollbar{display:none}
.pcar .pcard{flex:0 0 clamp(230px,23.5%,320px);scroll-snap-align:start}
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.pcard{display:grid;grid-template-rows:auto 1fr;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;text-decoration:none;color:inherit;transition:transform .4s var(--ease),border-color .3s}
.pcard:hover{transform:translateY(-4px);border-color:var(--mint)}
.pimg{position:relative;aspect-ratio:1;background:radial-gradient(circle at 50% 60%,#fff,var(--cloud));display:grid;place-items:center;padding:1.25rem}
.pimg img{width:100%;height:100%;object-fit:contain}
.pbadge{position:absolute;top:.75rem;right:.75rem;width:56px!important;height:56px!important;object-fit:contain}
.pbadge.gas{width:auto!important;height:auto!important;background:var(--ember);color:#fff;font-weight:700;font-size:.72rem;letter-spacing:.06em;padding:.35rem .6rem;border-radius:999px}
.pbody{padding:1rem 1.1rem 1.2rem;display:grid;gap:.2rem;align-content:start}
.pbody small{color:var(--muted);font-size:.78rem}
.pbody b{font-family:var(--f-display);font-size:1.15rem;letter-spacing:-.01em}
.pbody span{color:var(--muted);font-size:.9rem}
.pmeta{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.5rem}
.pmeta em{font-style:normal;font-size:.78rem;font-weight:600;background:var(--cloud);border:1px solid var(--line);padding:.25rem .55rem;border-radius:999px}
.phero{position:relative;border-radius:var(--r-lg);background:radial-gradient(circle at 50% 60%,#fff,#dfe8e3);padding:2rem;display:grid;place-items:center;aspect-ratio:1;max-height:520px}
.phero img:not(.pbadge){width:100%;height:100%;object-fit:contain}
.phero .pbadge{width:96px!important;height:96px!important;top:1rem;right:1rem}
.plist{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.plist li{display:flex;gap:.6rem;align-items:flex-start;color:var(--text);font-size:.95rem}
.plist li::before{content:"";flex:none;width:18px;height:18px;margin-top:.15rem;border-radius:50%;background:var(--mint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2306251C' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center/11px no-repeat}
.plist.big li{font-size:1rem;padding:.45rem 0;border-bottom:1px solid var(--line)}
.nao-achou{display:grid;grid-template-columns:1fr auto;gap:1rem 2rem;align-items:center;background:var(--ink);color:#fff;border-radius:var(--r-lg);padding:1.5rem 1.75rem;margin-top:1.5rem}
.nao-achou b{display:block;font-family:var(--f-display);font-size:1.2rem;letter-spacing:-.01em}
.nao-achou span{color:rgba(255,255,255,.75);font-size:.95rem}
.fbtn{font:inherit;font-weight:500;font-size:.92rem;padding:.55rem 1rem;border-radius:999px;border:1.5px solid var(--line);background:var(--paper);color:var(--ink);text-decoration:none}
.fbtn.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.segs{background:var(--cloud)}
.seg-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}
.seg-col{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.5rem}
.seg-col h3{font-size:1.15rem;margin-bottom:.9rem;padding-bottom:.75rem;border-bottom:2px solid var(--ink)}
.seg-col ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
.seg-col li{display:flex;gap:.6rem;align-items:center;font-size:.95rem}
.seg-col li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--moss);flex:none}
.pill .ic img{width:46px;height:46px;object-fit:contain}
.certs img{height:44px;width:auto}
.gas-seal{position:absolute;z-index:3;right:clamp(1rem,3vw,2.5rem);top:clamp(6rem,14vh,8.5rem);background:var(--ember);color:#fff;font-family:var(--f-display);font-weight:800;letter-spacing:.04em;padding:.6rem .9rem;border-radius:999px;box-shadow:0 10px 24px -10px rgba(0,0,0,.5)}
.seal-wifi img{border-radius:50%}
@media (max-width:1100px){.pgrid,.seg-grid{grid-template-columns:1fr 1fr}.nao-achou{grid-template-columns:1fr}}
@media (max-width:640px){.pgrid,.seg-grid{grid-template-columns:1fr}.pcar .pcard{flex-basis:78%}.phero{max-height:none}}
.seal-stack{display:grid;gap:.6rem;justify-items:center}
.seal-stack img{width:100%;height:auto;display:block}
.seal-stack .seal-wifi-img{border-radius:50%}
.seal-stack .seal-gar{transition:opacity .4s,transform .5s var(--ease)}
.seal-stack.no-gar .seal-gar{opacity:0;transform:scale(.8);height:0;overflow:hidden}
@media (max-width:640px){.seal-stack{grid-template-columns:1fr 1fr;width:150px;gap:.4rem}.seal-stack.no-gar{grid-template-columns:1fr;width:72px}}
.seal-stack.hidden{opacity:0;pointer-events:none;transition:opacity .4s}
/* ---------- service pages: imagem do topo visível na 1ª dobra (desktop) ----------
   Antes a imagem ficava presa ao pé da coluna de texto (align-items:end) e, com
   títulos longos, começava abaixo da dobra. Só para os topos com imagem. */
@media (min-width:1101px){
  .svc-hero-grid:has(> .svc-hero-media){align-items:start;padding-bottom:clamp(3rem,7vh,5rem)}
  .svc-hero-grid:has(> .svc-hero-media) .hero-actions{margin-bottom:0}
  .svc-hero-grid > .svc-hero-media{border-radius:var(--r-lg)}
}
