:root{--ink:#101111;--ink-2:#171919;--paper:#f4f3ef;--paper-2:#deded8;--line:rgba(244,243,239,.2);--darkline:rgba(16,17,17,.15);--acid:#d6ff3f;--muted:#a8aaa6;--radius:2px;--max:1440px;--side:clamp(20px,4.6vw,74px);--display:'Manrope',Arial,sans-serif;--body:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.5}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;object-fit:cover}button,input,select,textarea{font:inherit}button{cursor:pointer}.skip-link{position:absolute;left:-1000px;z-index:100}.skip-link:focus{left:20px;top:20px;background:var(--acid);padding:12px;color:var(--ink)}.eyebrow{display:flex;align-items:center;gap:9px;color:inherit;font-family:var(--body);font-size:11px;font-weight:700;letter-spacing:.13em;line-height:1;text-transform:uppercase}.eyebrow:before{width:22px;height:2px;background:var(--acid);content:''}.eyebrow.dark:before{background:var(--ink)}.kicker{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.wrap{max-width:var(--max);margin:auto;padding-right:var(--side);padding-left:var(--side)}.section{padding:clamp(76px,10vw,168px) 0}.section--compact{padding:clamp(58px,7vw,104px) 0}.section--dark{background:var(--ink);color:var(--paper)}.section--graphite{background:var(--ink-2);color:var(--paper)}.title-xl,.title-lg,.title-md{margin:0;font-family:var(--display);font-weight:700;letter-spacing:-.065em;line-height:.92;text-wrap:balance}.title-xl{font-size:clamp(3.35rem,7.35vw,7.9rem)}.title-lg{font-size:clamp(2.8rem,5.3vw,6.35rem)}.title-md{font-size:clamp(2.15rem,3.7vw,4.5rem)}.lead{max-width:720px;margin:27px 0 0;font-size:clamp(1.06rem,1.35vw,1.38rem);line-height:1.55}.lead--wide{max-width:800px}.body-copy{max-width:560px;color:#555854;font-size:1.08rem;line-height:1.65}.section--dark .body-copy,.section--graphite .body-copy{color:#c7c8c4}.button{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:54px;padding:15px 20px;border:1px solid var(--acid);border-radius:0;background:var(--acid);color:var(--ink);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;transition:transform .25s,background .25s,border-color .25s}.button:hover{transform:translateY(-3px);background:#ebff96;border-color:#ebff96}.button--ghost{background:transparent;color:var(--paper);border-color:rgba(244,243,239,.42)}.button--ghost:hover{background:var(--paper);border-color:var(--paper);color:var(--ink)}.button--dark{background:var(--ink);border-color:var(--ink);color:var(--paper)}.button--dark:hover{background:#2e3230;border-color:#2e3230}.arrow{font-family:Arial;font-size:18px;line-height:0}.page-header{padding:176px 0 80px;background:var(--ink);color:var(--paper)}.page-header .title-lg{max-width:980px}.page-header .lead{color:#c8c9c4}.crumb{display:flex;gap:9px;margin:0 0 32px;color:#b1b4ad;font-size:11px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.crumb a{text-decoration:underline;text-underline-offset:4px}.site-header{position:absolute;z-index:30;top:0;right:0;left:0;color:var(--paper)}.site-header.is-scrolled{position:fixed;background:rgba(16,17,17,.94);backdrop-filter:blur(14px);animation:headerIn .3s ease}@keyframes headerIn{from{transform:translateY(-100%)}to{transform:translateY(0)}}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:88px;border-bottom:1px solid rgba(244,243,239,.2)}.brand{display:flex;align-items:center;gap:6px;font-family:var(--display);font-size:17px;font-weight:800;letter-spacing:-.06em}.brand-mark{color:var(--acid)}.desktop-nav{display:flex;align-items:center;gap:30px}.desktop-nav a{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.desktop-nav a:hover,.desktop-nav a[aria-current='page']{color:var(--acid)}.nav-cta{padding:10px 13px!important;border:1px solid var(--acid);color:var(--acid)!important}.nav-cta:hover{background:var(--acid);color:var(--ink)!important}.menu-toggle{display:none;padding:8px 0;border:0;background:transparent;color:var(--paper);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.mobile-menu{display:none}.hero{position:relative;display:flex;align-items:flex-end;min-height:100svh;overflow:hidden;background:var(--ink);color:var(--paper)}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.68;filter:saturate(.72) contrast(1.05)}.hero-media{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(8,9,9,.92) 0%,rgba(8,9,9,.6) 44%,rgba(8,9,9,.18) 100%),linear-gradient(0deg,rgba(8,9,9,.88),transparent 46%);background-position:center;background-size:cover;animation:heroZoom 16s ease-in-out infinite alternate}.hero-media:after{position:absolute;inset:0;background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0 1px,transparent 1px 72px);content:'';mix-blend-mode:overlay}@keyframes heroZoom{from{transform:scale(1)}to{transform:scale(1.075)}}.hero-inner{position:relative;z-index:1;width:100%;padding-top:138px;padding-bottom:clamp(38px,4vw,62px)}.hero .eyebrow{margin-bottom:24px}.hero .title-xl{max-width:1100px}.hero-copy{max-width:650px;margin:24px 0 0;color:#d1d2ce;font-size:clamp(1.1rem,1.45vw,1.42rem);line-height:1.45}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.hero-meta{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-top:36px;padding-top:22px;border-top:1px solid rgba(244,243,239,.25)}.hero-meta p{max-width:330px;margin:0;color:#b6b8b2;font-size:12px;line-height:1.5}.scroll-indicator{display:flex;align-items:center;gap:11px;color:var(--acid);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.scroll-indicator:before{width:42px;height:1px;background:var(--acid);content:''}.logos{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:116px;overflow:hidden;color:#a7a9a4}.logos span{flex:0 0 auto;font-family:var(--display);font-size:clamp(1rem,1.8vw,1.45rem);font-weight:700;letter-spacing:-.06em;opacity:.72}.logos span em{font-style:normal;font-weight:400}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,9vw,150px);align-items:start}.manifesto .title-lg{max-width:700px}.manifesto .body-copy{margin:12px 0 0}.rule{width:100%;height:1px;background:var(--darkline)}.expertise{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--darkline);border-bottom:1px solid var(--darkline)}.expertise-item{min-height:340px;padding:31px 28px 30px;border-right:1px solid var(--darkline);transition:background .3s,color .3s}.expertise-item:last-child{border-right:0}.expertise-item:hover{background:var(--acid);color:var(--ink)}.expertise-num{display:block;color:#8f918d;font-size:11px;font-weight:700;letter-spacing:.1em}.expertise-item:hover .expertise-num{color:var(--ink)}.expertise-item h3{max-width:320px;margin:100px 0 17px;font-family:var(--display);font-size:clamp(1.55rem,2.1vw,2.3rem);letter-spacing:-.06em;line-height:.96}.expertise-item p{max-width:320px;margin:0;color:#5d615d;font-size:15px;line-height:1.55}.expertise-item:hover p{color:#293022}.section-head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:48px}.section-head .title-md{max-width:800px}.cases-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.case-card{position:relative;grid-column:span 4;min-height:440px;overflow:hidden;background:#272928;color:var(--paper)}.case-card:first-child{grid-column:span 7}.case-card:nth-child(2){grid-column:span 5}.case-card--wide{grid-column:span 8}.case-card img{width:100%;height:100%;position:absolute;inset:0;filter:saturate(.7);transition:transform .6s ease,filter .6s ease}.case-card:hover img{transform:scale(1.055);filter:saturate(1)}.case-card:after{position:absolute;inset:0;background:linear-gradient(0deg,rgba(9,10,10,.92),rgba(9,10,10,.05) 70%);content:''}.case-content{position:absolute;z-index:2;right:28px;bottom:27px;left:28px}.case-cat{display:block;margin-bottom:8px;color:var(--acid);font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.case-content h2,.case-content h3{max-width:510px;margin:0;font-family:var(--display);font-size:clamp(1.7rem,2.5vw,2.85rem);letter-spacing:-.06em;line-height:.95}.case-content p{max-width:450px;margin:12px 0 0;color:#e0e1dd;font-size:14px}.case-link{display:flex;align-items:center;gap:8px;margin-top:21px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.case-link .arrow{color:var(--acid)}.quote-block{display:grid;grid-template-columns:.7fr 1.3fr;gap:40px;padding:68px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.quote-block p{max-width:880px;margin:0;font-family:var(--display);font-size:clamp(1.9rem,3.6vw,4.15rem);letter-spacing:-.065em;line-height:1.02}.quote-by{align-self:end;color:#bfc0bd;font-size:12px}.quote-by strong{display:block;margin-bottom:4px;color:var(--acid);font-size:11px;letter-spacing:.11em;text-transform:uppercase}.numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}.number{padding:29px 20px 18px;border-right:1px solid var(--line)}.number:last-child{border-right:0}.number b{display:block;font-family:var(--display);font-size:clamp(3.2rem,6vw,6.8rem);font-weight:700;letter-spacing:-.08em;line-height:.94}.number span{display:block;max-width:175px;margin-top:12px;color:#bfc0bb;font-size:12px;line-height:1.4}.cta-band{position:relative;overflow:hidden;background:var(--acid);color:var(--ink)}.cta-band:after{position:absolute;right:-3vw;bottom:-6vw;color:rgba(16,17,17,.1);font-family:var(--display);font-size:35vw;font-weight:800;letter-spacing:-.13em;line-height:.8;content:'UP/'}.cta-band .wrap{position:relative;z-index:1;display:flex;align-items:end;justify-content:space-between;gap:35px;padding-top:76px;padding-bottom:76px}.cta-band .title-md{max-width:820px}.cta-band .button{flex:0 0 auto;background:var(--ink);border-color:var(--ink);color:var(--paper)}.cta-band .button:hover{background:#383c39;border-color:#383c39}.site-footer{background:#0b0c0c;color:var(--paper)}.footer-top{display:grid;grid-template-columns:1.5fr .65fr .65fr;gap:42px;padding-top:75px;padding-bottom:55px}.footer-brand{font-family:var(--display);font-size:clamp(2rem,3.3vw,3.7rem);font-weight:800;letter-spacing:-.08em;line-height:.9}.footer-brand span{color:var(--acid)}.footer-statement{max-width:420px;margin:22px 0 0;color:#bcbeb9;font-size:15px;line-height:1.55}.footer-col h4{margin:5px 0 18px;color:var(--acid);font-size:10px;letter-spacing:.13em;text-transform:uppercase}.footer-col a{display:block;width:max-content;max-width:100%;margin:0 0 9px;color:#d3d4d0;font-size:14px}.footer-col a:hover{text-decoration:underline;text-underline-offset:4px}.footer-bottom{display:flex;justify-content:space-between;gap:25px;padding:22px 0;border-top:1px solid rgba(244,243,239,.16);color:#969994;font-size:10px;letter-spacing:.05em;text-transform:uppercase}.whatsapp{position:fixed;z-index:21;right:20px;bottom:20px;display:flex;align-items:center;gap:10px;padding:13px 17px;border:1px solid var(--acid);background:var(--acid);color:var(--ink);box-shadow:0 10px 30px rgba(0,0,0,.22);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;transition:transform .25s}.whatsapp:hover{transform:translateY(-4px)}.whatsapp-dot{width:8px;height:8px;border-radius:50%;background:#2b6922;box-shadow:0 0 0 4px rgba(43,105,34,.16)}.video-note{display:flex;align-items:center;gap:8px;margin-top:17px;color:#aeb0ab;font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase}.video-note:before{width:7px;height:7px;border-radius:50%;background:var(--acid);content:''}.page-hero-image{min-height:460px;background-position:center;background-size:cover;position:relative}.page-hero-image:after{position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,17,17,.7),rgba(16,17,17,.03));content:''}.solution-list{border-top:1px solid var(--darkline)}.solution{display:grid;grid-template-columns:.3fr 1fr 1fr auto;gap:24px;align-items:center;padding:31px 0;border-bottom:1px solid var(--darkline);transition:padding .3s}.solution:hover{padding-right:16px;padding-left:16px;background:var(--acid)}.solution-index{font-size:11px;font-weight:700;letter-spacing:.1em}.solution h2,.solution h3{margin:0;font-family:var(--display);font-size:clamp(1.4rem,2.2vw,2.3rem);letter-spacing:-.06em;line-height:1}.solution p{margin:0;color:#5c5f5b;font-size:14px}.solution:hover p{color:#2b3128}.solution-icon{font-size:27px}.pain-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.pain-card{min-height:250px;padding:30px;background:var(--ink)}.pain-card span{color:var(--acid);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.pain-card h3{margin:52px 0 0;font-family:var(--display);font-size:clamp(1.55rem,2.4vw,2.55rem);letter-spacing:-.06em;line-height:.95}.pain-card p{max-width:470px;margin:14px 0 0;color:#bfc1bc;font-size:15px}.process{margin-top:60px;border-top:1px solid var(--line)}.process-step{display:grid;grid-template-columns:.35fr .7fr 1.3fr .7fr;gap:25px;align-items:start;padding:35px 0;border-bottom:1px solid var(--line)}.step-num{color:var(--acid);font-size:12px;font-weight:700;letter-spacing:.1em}.process-step h3{margin:0;font-family:var(--display);font-size:clamp(1.3rem,2.1vw,2.35rem);letter-spacing:-.06em;line-height:1}.process-step p{max-width:550px;margin:0;color:#caccc7;font-size:15px}.step-deliverable{color:#9ea19a;font-size:11px;line-height:1.4}.method-media{min-height:520px;background-image:linear-gradient(90deg,rgba(16,17,17,.52),rgba(16,17,17,.1)),url('../images/method-uptrade.jpg');background-position:center;background-size:cover}.filter-bar{display:flex;flex-wrap:wrap;gap:9px;margin:38px 0 40px}.filter{padding:12px 16px;border:1px solid var(--darkline);background:transparent;color:var(--ink);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:.25s}.filter:hover,.filter.is-active{border-color:var(--ink);background:var(--ink);color:var(--acid)}.case-collection{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.portfolio-card{min-height:520px}.portfolio-card.hidden{display:none}.case-detail{display:grid;grid-template-columns:.9fr 1.1fr;gap:55px;margin-top:60px;padding-top:55px;border-top:1px solid var(--darkline)}.case-detail h3{margin:0;font-family:var(--display);font-size:clamp(1.8rem,3vw,3.3rem);letter-spacing:-.07em;line-height:.96}.case-detail p{max-width:650px;margin:0;color:#565a55;font-size:16px;line-height:1.65}.case-stats{display:flex;flex-wrap:wrap;gap:24px;margin-top:25px}.case-stat{padding-right:24px;border-right:1px solid var(--darkline)}.case-stat:last-child{border:0}.case-stat b{display:block;font-family:var(--display);font-size:2rem;letter-spacing:-.07em}.case-stat span{display:block;margin-top:2px;color:#676a66;font-size:11px;text-transform:uppercase}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.article{display:flex;min-height:390px;padding:27px;flex-direction:column;justify-content:flex-end;border:1px solid var(--darkline);background:#ebeae5;transition:background .3s,transform .3s}.article:hover{transform:translateY(-5px);background:var(--acid)}.article-type{margin-bottom:auto;font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.article h2,.article h3{max-width:390px;margin:85px 0 0;font-family:var(--display);font-size:clamp(1.65rem,2.2vw,2.35rem);letter-spacing:-.065em;line-height:.98}.article p{margin:15px 0 0;color:#5e615d;font-size:14px}.article-link{margin-top:25px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.insight-feature{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:560px;overflow:hidden;background:var(--ink);color:var(--paper)}.insight-feature:after{position:absolute;inset:0;background:radial-gradient(circle at 85% 20%,rgba(214,255,63,.3),transparent 28%),linear-gradient(115deg,transparent,rgba(244,243,239,.08));content:''}.insight-feature-copy{position:relative;z-index:1;padding:clamp(34px,5vw,78px);align-self:end}.insight-feature-copy h2{max-width:640px;margin:20px 0 0;font-family:var(--display);font-size:clamp(2.4rem,4.6vw,5rem);letter-spacing:-.07em;line-height:.94}.insight-feature-copy p{max-width:520px;margin:22px 0 0;color:#c5c7c1}.insight-index{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;color:var(--acid);font-family:var(--display);font-size:clamp(10rem,23vw,24rem);font-weight:800;letter-spacing:-.15em;line-height:.8}.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(42px,10vw,160px)}.contact-intro .lead{max-width:500px}.contact-details{margin-top:52px;border-top:1px solid var(--darkline)}.contact-detail{padding:20px 0;border-bottom:1px solid var(--darkline)}.contact-detail span{display:block;margin-bottom:4px;color:#737671;font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.contact-detail a,.contact-detail p{margin:0;font-family:var(--display);font-size:clamp(1.1rem,1.6vw,1.55rem);letter-spacing:-.04em}.form{padding:clamp(24px,4vw,44px);background:var(--ink);color:var(--paper)}.form h2{margin:0;font-family:var(--display);font-size:clamp(1.8rem,3vw,3.3rem);letter-spacing:-.07em;line-height:.95}.form-intro{margin:14px 0 32px;color:#bec0ba;font-size:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px 16px}.field{display:flex;flex-direction:column;gap:8px}.field--wide{grid-column:1/-1}.field label{color:#c3c5c0;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.field input,.field select,.field textarea{width:100%;padding:12px 0;border:0;border-bottom:1px solid rgba(244,243,239,.34);outline:none;background:transparent;color:var(--paper);font-size:15px}.field select{color:#d1d2ce}.field select option{color:var(--ink)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--acid)}.field textarea{min-height:68px;resize:vertical}.form .button{width:100%;margin-top:34px}.form-result{display:none;margin-top:20px;padding:12px 14px;border-left:3px solid var(--acid);background:rgba(214,255,63,.1);color:#e0f5a7;font-size:14px}.form-result.is-visible{display:block}.note{margin-top:15px;color:#989b95;font-size:11px;line-height:1.45}.faq{border-top:1px solid var(--darkline)}.faq-item{border-bottom:1px solid var(--darkline)}.faq-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:22px 0;border:0;background:transparent;color:var(--ink);text-align:left;font-family:var(--display);font-size:clamp(1.2rem,1.9vw,1.85rem);letter-spacing:-.055em}.faq-trigger span:last-child{font-family:Arial;font-size:24px}.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s}.faq-answer>div{overflow:hidden}.faq-answer p{max-width:670px;margin:0;padding-bottom:0;color:#5e615d}.faq-item.is-open .faq-answer{grid-template-rows:1fr}.faq-item.is-open .faq-answer p{padding-bottom:24px}.seo-note{margin-top:18px;color:#747873;font-size:11px;line-height:1.5}.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}.notfound{display:grid;min-height:100vh;place-items:center;padding:30px;background:var(--ink);color:var(--paper);text-align:center}.notfound b{display:block;color:var(--acid);font-family:var(--display);font-size:clamp(7rem,22vw,18rem);letter-spacing:-.13em;line-height:.8}.notfound h1{margin:20px 0;font-family:var(--display);font-size:clamp(2rem,4vw,4rem);letter-spacing:-.08em}.notfound p{max-width:490px;color:#bbbdb8}.notfound .button{margin-top:22px}
@media(max-width:900px){.desktop-nav{display:none}.menu-toggle{display:block}.mobile-menu{position:fixed;z-index:29;top:0;right:0;bottom:0;left:0;display:flex;visibility:hidden;flex-direction:column;padding:120px var(--side) 30px;background:var(--ink);opacity:0;pointer-events:none;transition:.3s}.mobile-menu.is-open{visibility:visible;opacity:1;pointer-events:auto}.mobile-menu a{padding:13px 0;border-bottom:1px solid rgba(244,243,239,.15);color:var(--paper);font-family:var(--display);font-size:clamp(1.9rem,7vw,3.3rem);letter-spacing:-.07em}.mobile-menu .button{margin-top:auto}.header-inner{min-height:74px}.expertise{grid-template-columns:1fr}.expertise-item{min-height:auto;padding:25px 0;border-right:0;border-bottom:1px solid var(--darkline)}.expertise-item:last-child{border-bottom:0}.expertise-item h3{margin:45px 0 12px}.case-card,.case-card:first-child,.case-card:nth-child(2),.case-card--wide{grid-column:span 12;min-height:420px}.case-card:nth-child(n+3){grid-column:span 6}.quote-block{grid-template-columns:1fr;gap:25px}.numbers{grid-template-columns:1fr 1fr}.number:nth-child(2){border-right:0}.number:nth-child(3){grid-column:span 2;border-top:1px solid var(--line)}.footer-top{grid-template-columns:1fr 1fr}.footer-top>div:first-child{grid-column:span 2}.split{gap:44px}.solution{grid-template-columns:.23fr 1fr auto}.solution p{grid-column:2/4}.process-step{grid-template-columns:.25fr 1fr 1.35fr}.step-deliverable{grid-column:2/4}.contact-layout{grid-template-columns:1fr}.article-grid{grid-template-columns:1fr 1fr}.article:first-child{grid-column:span 2}.case-collection{grid-template-columns:1fr}.portfolio-card{min-height:450px}.page-header{padding-top:145px}.hero-meta{margin-top:45px}.method-media{min-height:400px}}
@media(max-width:620px){.title-xl{font-size:clamp(2.7rem,10.8vw,3.3rem);overflow-wrap:break-word}.hero{min-height:750px}.hero-meta{display:block}.scroll-indicator{margin-top:27px}.logos{gap:35px;justify-content:flex-start}.logos span:nth-child(n+4){display:none}.split{grid-template-columns:1fr}.section-head{display:block}.section-head .button{margin-top:25px}.case-card:nth-child(n+3){grid-column:span 12}.case-card{min-height:390px}.case-content{right:20px;bottom:21px;left:20px}.case-detail{grid-template-columns:1fr;gap:20px;margin-top:42px;padding-top:40px}.numbers{grid-template-columns:1fr}.number,.number:nth-child(2){border-right:0;border-bottom:1px solid var(--line)}.number:nth-child(3){grid-column:auto}.cta-band .wrap{display:block}.cta-band .button{margin-top:27px}.footer-top{grid-template-columns:1fr;gap:30px}.footer-top>div:first-child{grid-column:auto}.footer-bottom{display:block;line-height:1.7}.footer-bottom span+span{display:block}.whatsapp{right:12px;bottom:12px}.whatsapp-label{display:none}.pain-grid{grid-template-columns:1fr}.solution{grid-template-columns:.2fr 1fr auto;gap:13px}.solution p{grid-column:2/4}.process-step{grid-template-columns:.21fr 1fr;gap:16px}.process-step p,.step-deliverable{grid-column:2}.article-grid{grid-template-columns:1fr}.article:first-child{grid-column:auto}.insight-feature{grid-template-columns:1fr;min-height:600px}.insight-index{position:absolute;top:50px;right:-10px;font-size:15rem;opacity:.35}.form-grid{grid-template-columns:1fr}.field--wide{grid-column:auto}.form{margin-right:calc(var(--side) * -1);margin-left:calc(var(--side) * -1);padding:27px var(--side)}.page-hero-image{min-height:300px}.title-xl{font-size:clamp(3.2rem,15vw,5rem)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* novosite: keep theme colors over Elementor kit defaults */
.hero.hero h1,.hero.hero .title-xl{color:var(--paper)}
.section--dark.section--dark h1,.section--dark.section--dark h2,.section--dark.section--dark h3,.section--dark.section--dark p,
.section--graphite.section--graphite h1,.section--graphite.section--graphite h2,.section--graphite.section--graphite h3,.section--graphite.section--graphite p{color:inherit}
.cta-band.cta-band h2,.cta-band.cta-band h3{color:var(--ink)}
.site-footer.site-footer h2,.site-footer.site-footer h3{color:var(--paper)}
.notfound.notfound h1{color:var(--paper)}

/* novosite: map theme title styles onto native Elementor heading widgets */
.elementor-widget-heading.title-xl .elementor-heading-title,.elementor-widget-heading.title-lg .elementor-heading-title,.elementor-widget-heading.title-md .elementor-heading-title{margin:0;font-family:'Manrope',Arial,sans-serif;font-weight:700;letter-spacing:-.065em;line-height:.92;text-wrap:balance;color:inherit}
.elementor-widget-heading.title-xl .elementor-heading-title{font-size:clamp(3.35rem,7.35vw,7.9rem)}
.elementor-widget-heading.title-lg .elementor-heading-title{font-size:clamp(2.8rem,5.3vw,6.35rem)}
.elementor-widget-heading.title-md .elementor-heading-title{font-size:clamp(2.15rem,3.7vw,4.5rem)}
.elementor-widget-heading.number-big .elementor-heading-title{margin:0;font-family:'Manrope',Arial,sans-serif;font-size:clamp(3.2rem,6vw,6.8rem);font-weight:700;letter-spacing:-.08em;line-height:.94;color:inherit}
.hero .elementor-background-video-hosted{opacity:.68;filter:saturate(.72) contrast(1.05)}
.hero .elementor-background-video-container{animation:heroZoom 16s ease-in-out infinite alternate}
@media(max-width:620px){.elementor-widget-heading.title-xl .elementor-heading-title{font-size:clamp(3.2rem,15vw,5rem)}}

/* novosite: restore copy styles on widget wrappers (Elementor base css wins otherwise) */
.hero-copy.hero-copy{max-width:650px;margin:24px 0 0;color:#d1d2ce;font-size:clamp(1.1rem,1.45vw,1.42rem);line-height:1.45}
.body-copy.body-copy{max-width:560px;color:#555854;font-size:1.08rem;line-height:1.65}
.section--dark .body-copy.body-copy,.section--graphite .body-copy.body-copy{color:#c7c8c4}
.quote-by.quote-by{color:#bfc0bd;font-size:12px}
.hero .elementor-background-video-container{background:url('../images/hero-poster.jpg') center/cover}

/* novosite: keep card text colors inside linked containers */
a.case-card span,a.case-card p{color:inherit}

/* novosite: fix kit cyan on native headings + case image container + section-head button */
.expertise-item.expertise-item h3{color:var(--ink)}
.case-cat.case-cat .elementor-heading-title{color:var(--acid)}
.case-link.case-link .elementor-heading-title{color:inherit}
.case-card .elementor-widget-image{position:absolute;inset:0;z-index:0}
.section-head .elementor-widget-button{flex:0 0 auto}
.section-head .elementor-button{white-space:nowrap}
.quote-block .elementor-widget-heading .elementor-heading-title{color:inherit}

/* novosite: quote block refinements */
.quote-block .eyebrow .elementor-heading-title{font:inherit;color:inherit}
.quote-by.quote-by{align-self:auto}
.number.number span{color:#bfc0bb}

/* novosite: explicit display font where theme var(--display) is shadowed by Elementor containers */
.logos.logos span,.expertise-item.expertise-item h3,.case-content.case-content h3,.quote-block.quote-block p{font-family:'Manrope',Arial,sans-serif}
.site-header.site-header a{color:inherit}

/* novosite: body font + heading text colors over Elementor kit defaults */
body.elementor-kit{font-family:'DM Sans',Arial,sans-serif}
.elementor-widget-heading .elementor-heading-title{color:inherit}
.elementor-widget-text-editor{color:inherit}

/* novosite: beat per-template kit CSS loaded after the theme css */
.elementor-widget-heading.elementor-widget-heading .elementor-heading-title{color:inherit;font-family:'DM Sans',Arial,sans-serif}
.elementor-widget-text-editor.elementor-widget-text-editor{color:inherit;font-family:'DM Sans',Arial,sans-serif}
.site-header.site-header .elementor-widget-text-editor{color:var(--paper)}

/* novosite: re-assert display font for title classes (final) */
.elementor-widget-heading.elementor-widget-heading.title-xl .elementor-heading-title,.elementor-widget-heading.elementor-widget-heading.title-lg .elementor-heading-title,.elementor-widget-heading.elementor-widget-heading.title-md .elementor-heading-title{font-family:'Manrope',Arial,sans-serif;font-weight:700}
.elementor-widget-heading.elementor-widget-heading.number-big .elementor-heading-title{font-family:'Manrope',Arial,sans-serif;font-weight:700}

/* novosite: display font for theme-styled descendants (final, highest specificity) */
.case-content.case-content.case-content h3,.expertise-item.expertise-item.expertise-item h3,.quote-block.quote-block.quote-block p,.logos.logos.logos span{font-family:'Manrope',Arial,sans-serif}

/* novosite: hero bottom gradient (original has two gradients) + copy width */
.hero .elementor-background-overlay:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,9,9,.88),transparent 46%)}
.hero-copy.hero-copy.hero-copy{max-width:650px}

/* novosite: copy widths above Elementor container widget rule (final) */
.hero-copy.hero-copy.hero-copy.hero-copy{max-width:650px}
.body-copy.body-copy.body-copy.body-copy{max-width:560px}

/* novosite: exact original hero gradient + uppercase nav CTA */
.hero .elementor-background-overlay:before{background-image:linear-gradient(90deg,rgba(8,9,9,.92) 0%,rgba(8,9,9,.6) 44%,rgba(8,9,9,.18) 100%)!important}
.nav-cta.nav-cta{text-transform:uppercase}

/* novosite: header-inner flex should treat html widget wrapper as transparent */
.header-inner .elementor-widget-html{display:contents}

/* novosite: active nav item acid over the inherit override */
.site-header.site-header .desktop-nav a[aria-current='page']{color:var(--acid)}

/* novosite: logos strip - sprite full width, fallback venue names visually hidden but editable */
.logos .elementor-widget-image.logos-sprite{flex:1 1 auto;min-width:0}
.logos .elementor-widget-image.logos-sprite img{width:100%;height:auto;object-fit:contain}
.logos .logos-fallback{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* novosite: page-header stack rhythm inside Elementor wrappers */
.page-header.page-header .crumb{margin:0 0 32px}
.page-header.page-header .eyebrow{margin:0 0 11px}

/* novosite: numbers row on light sections (metodo) + process titles in Manrope */
.numbers--light.numbers--light{border-top-color:var(--darkline);margin-top:30px}
.numbers--light .number.number{border-right-color:var(--darkline)}
.numbers--light .number.number .elementor-widget-heading:not(.number-big){color:#5c605a}
.process-step.process-step h3{font-family:'Manrope',Arial,sans-serif}

/* novosite: page-header title/lead max-widths above Elementor container widget rule */
.page-header.page-header .elementor-widget.elementor-widget.title-lg{max-width:980px}
.page-header.page-header .elementor-widget.elementor-widget.lead{max-width:720px}

/* novosite: numeros grandes nao quebram (Manrope real e mais larga que o fallback do site no ar) */
.numbers .number b{white-space:nowrap;font-size:clamp(2.4rem,5.2vw,5.9rem)}

/* novosite: numeros Elementor (heading widget) - sem quebra */
.numbers .number .number-big.number-big{white-space:nowrap}
.numbers .number .number-big .elementor-heading-title{font-size:clamp(2.4rem,5.2vw,5.9rem);white-space:nowrap}

/* novosite: cases - stat num (Elementor span substitui b) e flex rows */
.case-stat .stat-num.stat-num{display:block;font-family:"Manrope",Arial,sans-serif;font-size:2rem;font-weight:700;letter-spacing:-.07em;line-height:1.1}
.filter-bar.filter-bar{display:flex;flex-direction:row;flex-wrap:wrap;gap:9px}
.case-stats.case-stats{display:flex;flex-direction:row;flex-wrap:wrap;gap:24px}

/* novosite: stat-num heading title dentro do widget */
.case-stat .stat-num .elementor-heading-title{display:block;font-family:"Manrope",Arial,sans-serif;font-size:2rem;font-weight:700;letter-spacing:-.07em;line-height:1.1;text-transform:none;color:inherit}

/* novosite: filter chips (botao Elementor com cara do tema) */
.filter-bar .filter.filter{border:0;padding:0;margin:0;background:transparent}
.filter-bar .filter .elementor-button{display:inline-flex;align-items:center;background:transparent;color:#101111;border:1px solid rgba(16,17,17,.15);border-radius:0;padding:12px 16px;font-family:"DM Sans",Arial,sans-serif;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;line-height:1;transition:.25s;box-shadow:none;text-shadow:none}
.filter-bar .filter .elementor-button:hover,.filter-bar .filter.is-active .elementor-button{background:#101111;border-color:#101111;color:#d6ff3f}

/* novosite: case-stat lado a lado (inner container 100% por padrao) */
.case-stats .case-stat.case-stat{width:auto}

/* novosite: posts relacionados (template 462) - ratio 0.5 como no original */
.elementor-462 .elementor-posts-container .elementor-post__thumbnail{position:relative;overflow:hidden}
.elementor-462 .elementor-posts-container .elementor-post__thumbnail img{position:absolute;top:calc(50% + 1px);left:calc(50% + 1px);height:auto;width:calc(100% + 1px);max-height:none;transform:scale(1.01) translate(-50%,-50%)}

/* novosite: galeria dos cases + lightbox (movido de page-case.php) */
.case-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:32px}
@media (max-width:768px){.case-gallery-grid{grid-template-columns:repeat(2,1fr)}}
.case-gallery-item{position:relative;border-radius:4px;overflow:hidden;cursor:pointer;background-color:#1a1a1a;aspect-ratio:4/3}
.case-gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}
.case-gallery-item:hover img{transform:scale(1.06)}
.case-gallery-overlay{position:absolute;inset:0;background:rgba(16,17,17,.55);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .25s ease}
.case-gallery-overlay span{color:#ccff00;font-size:.8rem;font-weight:700;letter-spacing:.5px}
.case-gallery-item:hover .case-gallery-overlay{opacity:1}
.uptrade-lightbox{display:none;position:fixed;z-index:999999;inset:0;background-color:rgba(10,10,10,.94);backdrop-filter:blur(8px);align-items:center;justify-content:center}
.uptrade-lightbox.active{display:flex}
.lightbox-content{max-width:85%;max-height:85%;display:flex;flex-direction:column;align-items:center}
.lightbox-content img{max-width:100%;max-height:80vh;border-radius:4px;box-shadow:0 10px 40px rgba(0,0,0,.8);object-fit:contain}
.lightbox-caption{color:#a3a3a3;font-size:.85rem;margin-top:12px}
.lightbox-close{position:absolute;top:24px;right:32px;color:#fff;font-size:40px;cursor:pointer;line-height:1;user-select:none;transition:color .2s}
.lightbox-close:hover{color:#ccff00}
.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:transparent;border:none;color:#fff;font-size:32px;padding:16px;cursor:pointer;user-select:none;transition:color .2s}
.lightbox-nav:hover{color:#ccff00}
.lightbox-prev{left:16px}
.lightbox-next{right:16px}

/* novosite: altura total do wrapper da imagem na galeria de case */
.case-gallery-item .elementor-widget-container{height:100%}

/* novosite: legenda do case-stat cinza discreta como no original */
.case-stat .elementor-widget-heading:not(.stat-num) .elementor-heading-title.elementor-heading-title{display:block;margin-top:2px;color:#676a66;font-family:"DM Sans",Arial,sans-serif;font-size:11px;font-weight:400;letter-spacing:0;line-height:1.4;text-transform:uppercase}

/* novosite: repor margens do <p> original perdidas nos widgets Elementor (flex nao colapsa margens) */
.elementor-widget-heading .elementor-heading-title.eyebrow.eyebrow{margin-block:1em}
.elementor-widget-text-editor.body-copy.body-copy{margin-top:1em}
.elementor-widget-text-editor.body-copy.body-copy .elementor-widget-container p{margin:0}

/* novosite: correcao de seletor - classes ficam no wrapper do widget */
.elementor-widget-heading.eyebrow.eyebrow .elementor-heading-title{margin-block:1em}
.elementor-widget-text-editor.body-copy.body-copy p{margin:0}

/* novosite: eyebrow - margens no wrapper (flex nao colapsa); hero/page-header com regras proprias */
.elementor-widget-heading.eyebrow.eyebrow{margin-top:1em;margin-bottom:1em}
.elementor-widget-heading.eyebrow.eyebrow .elementor-heading-title{margin-block:0}
.page-header .elementor-widget-heading.eyebrow.eyebrow{margin-top:0}
.hero .elementor-widget-heading.eyebrow.eyebrow{margin-bottom:24px}

/* novosite: secao faq-light da pagina de contato (movido do inline do template) */
.section--faq-light {
    background-color: #f8fafc;
    color: #0f172a;
    padding: 80px 0;
}
.section--faq-light .title-md {
    color: #0f172a;
}
.section--faq-light .eyebrow {
    color: #475569;
    font-weight: 700;
}
.section--faq-light .faq-trigger { 
    color: #0f172a; 
    font-weight: 600;
}
.section--faq-light .faq-trigger:hover { 
    color: #65a30d; 
}
.section--faq-light .faq-trigger span:last-child { 
    color: #65a30d; 
    font-size: 1.6rem; 
    font-weight: bold; 
}
.section--faq-light .faq-answer, 
.section--faq-light .faq-answer p { 
    color: #334155; 
    line-height: 1.65;
}
.section--faq-light .faq-item { 
    border-bottom: 1px solid rgba(15, 23, 42, 0.12); 
}

/* novosite: secao location da pagina de contato (movido do inline do template) */
.section--location.section--location{background:#0e1015;border-top:1px solid rgba(255,255,255,.08);padding:70px 0}
.section--location .wrap.wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:48px;align-items:center}

/* novosite: var(--display) e shadowed por containers Elementor - Manrope explicito p/ classes do tema em HTML de widgets */
.contact-detail.contact-detail a,.contact-detail.contact-detail p,.faq .faq-item .faq-trigger,.form.form h2,.case-content.case-content h2,.case-detail.case-detail h3,.article.article h2,.article.article h3,.solution.solution h2,.solution.solution h3,.process-step.process-step h3,.pain-card.pain-card h3,.insight-feature .insight-feature-copy h2,.insight-feature .insight-index,.number.number b,.case-stat.case-stat b,.cta-band.cta-band:after,.notfound.notfound b,.notfound.notfound h1,.footer-brand.footer-brand,.brand.brand{font-family:'Manrope',Arial,sans-serif}
.faq .faq-item .faq-trigger span:last-child{font-family:Arial}

/* === FIX hero home: overlay gradiente duplo (réplica do .hero-media) + altura dos CTAs === */
.hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background-image:linear-gradient(90deg,rgb(8 9 9 / .92) 0%,rgb(8 9 9 / .6) 44%,rgb(8 9 9 / .18) 100%),linear-gradient(0deg,rgb(8 9 9 / .88),transparent 46%);background-position:center;background-size:cover;animation:heroZoom 16s ease-in-out infinite alternate}
.hero>.elementor-element{z-index:2}
.hero .elementor-button{min-height:54px;display:inline-flex;align-items:center;justify-content:center}

/* === FIX heroes de case: camada gradiente inline do original (.55/.06) via ::before === */
.page-hero-image::before{content:"";position:absolute;inset:0;z-index:0;background-image:linear-gradient(90deg,rgba(16,17,17,.55),rgba(16,17,17,.06));pointer-events:none}

/* === FIX: nav-cta sem quebra de linha === */
.nav-cta{white-space:nowrap}

/* === seta diagonal do botao: FA arrow-up rotacionada 45graus (icon nativo do widget) === */
.elementor-button .elementor-button-icon i.fa-arrow-up{transform:rotate(45deg)}
.elementor-button .elementor-button-icon svg{transform:rotate(45deg)}

/* === FIX mobile: widgets Elementor como grid items (réplica das regras .solution p / .process-step p) === */
@media(max-width:900px){.solution>.elementor-widget-text-editor{grid-column:2/4}}
@media(max-width:620px){.process-step>.elementor-widget-text-editor{grid-column:2}}
/* Mobile navigation: Elementor containers shadow --display with flex. */
.mobile-menu.mobile-menu a{font-family:'Manrope',Arial,sans-serif}
.mobile-menu.mobile-menu a.button{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:54px;padding:15px 20px;background:var(--acid);border:1px solid var(--acid);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
/* Full viewport menu also when scrolled header establishes a containing block. */
@media(max-width:900px){.mobile-menu.mobile-menu{height:100vh;height:100dvh;min-height:100svh;overflow-y:auto}}
.native-address p{margin:0}
.mobile-menu-close{position:absolute;right:20px;top:42px;border:0;padding:8px 0;background:transparent;color:var(--paper);font-family:'DM Sans',Arial,sans-serif;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.header-inner .elementor-widget-uptrade-mobile-menu{display:contents}
.case-content.case-content{width:auto;max-width:none}
@media(max-width:620px){.process-step .step-num{overflow-wrap:anywhere;min-width:0}}
.site-header .elementor-widget-uptrade-mobile-menu{display:contents}
@media(max-width:900px){.site-header .menu-toggle{position:absolute;right:20px;top:43px;z-index:30}}
/* Give short process labels enough space without breaking words. */
@media(max-width:620px){.process-step.process-step{grid-template-columns:92px minmax(0,1fr)}.process-step .step-num{overflow-wrap:normal;font-size:11px;letter-spacing:.05em}}
body.menu-open .site-header .menu-toggle{visibility:hidden}
/* The standalone header editor has no dark page hero behind it. */
body.elementor-editor-active.elementor-page-2108{background:#101111}
/* Mobile: keep the contact link in normal footer flow, never over content or menu CTA. */
@media(max-width:900px){.elementor-widget-uptrade-whatsapp{padding:20px!important}a.whatsapp{position:static;width:max-content;max-width:100%;margin:0 auto;box-shadow:none}.whatsapp-label{display:inline}body.menu-open .elementor-widget-uptrade-whatsapp{visibility:hidden}}
