:root{
  --bg:#050711;--bg2:#090d1c;--panel:#0b1020;--panel2:#10172d;--text:#f7f8ff;--muted:#a9b1c4;--line:rgba(140,151,194,.18);
  --blue:#2f7cff;--cyan:#19b8ff;--violet:#9254ff;--pink:#cf45ff;--green:#24d366;--max:1240px;--radius:22px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 70% -20%,rgba(71,46,255,.16),transparent 31%),linear-gradient(180deg,#04060e 0%,#070a15 42%,#050711 100%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}.container{width:min(var(--max),calc(100% - 42px));margin-inline:auto}.page-glow{position:fixed;pointer-events:none;filter:blur(88px);opacity:.10;border-radius:50%;z-index:-1}.page-glow--one{width:430px;height:430px;background:var(--violet);left:-200px;top:24vh}.page-glow--two{width:540px;height:540px;background:var(--blue);right:-280px;top:8vh}.section{padding:84px 0}.site-header{position:sticky;top:0;z-index:50;background:rgba(5,7,17,.76);border-bottom:1px solid rgba(255,255,255,.07);backdrop-filter:blur(10px)}.header-inner{height:82px;display:flex;align-items:center;gap:34px}.brand{display:flex;align-items:center;gap:12px;min-width:max-content}.brand-mark{display:grid;place-items:center;width:42px;height:42px;font-size:19px;font-weight:900;font-style:italic;letter-spacing:-3px;background:linear-gradient(135deg,var(--violet),var(--blue) 55%,var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent;border:1px solid rgba(132,97,255,.48);border-radius:12px;box-shadow:0 0 25px rgba(109,75,255,.2)}.brand-copy{display:flex;flex-direction:column;line-height:1.05}.brand-copy strong{font-size:18px}.brand-copy small{margin-top:6px;color:#9fa8bb;font-size:9px;text-transform:uppercase;letter-spacing:.18em}.main-nav{margin-left:auto;display:flex;gap:30px;align-items:center}.main-nav a{font-size:14px;color:#cdd3e0;position:relative;padding:29px 0}.main-nav a:hover,.main-nav a.is-active{color:#fff}.main-nav a.is-active:after{content:"";position:absolute;left:0;right:0;bottom:18px;height:2px;background:linear-gradient(90deg,var(--blue),var(--violet));border-radius:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 22px;border-radius:12px;font-weight:750;font-size:14px;letter-spacing:-.01em;transition:.25s ease;border:1px solid transparent}.btn:hover{transform:translateY(-2px)}.btn--primary{background:linear-gradient(105deg,#1d64ff,#6539ff 55%,#932df1);box-shadow:0 12px 35px rgba(63,65,255,.28),inset 0 0 18px rgba(255,255,255,.08)}.btn--outline{border-color:rgba(141,91,255,.8);box-shadow:0 0 24px rgba(123,51,255,.18);background:rgba(123,68,255,.05)}.btn--ghost{border-color:rgba(153,162,200,.28);background:rgba(255,255,255,.02)}.btn--header{margin-left:12px}.menu-toggle{display:none;margin-left:auto;border:0;background:none;color:white;width:40px;height:40px}.menu-toggle span{display:block;width:24px;height:2px;background:white;margin:6px auto}.hero{padding-top:74px;padding-bottom:50px}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:54px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:800;color:#5d9bff;margin:0 0 14px}.hero h1{font-size:clamp(44px,5.1vw,74px);line-height:1.02;letter-spacing:-.045em;margin:0 0 25px;max-width:760px}.hero h1 span{background:linear-gradient(90deg,#25a9ff 0%,#7662ff 46%,#d547ff 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-lead{max-width:690px;color:#b6bed0;font-size:17px;margin:0 0 30px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.wa-dot{font-size:18px}.hero-visual{min-height:520px;position:relative;isolation:isolate}.hero-visual:before{content:"";position:absolute;inset:12% 3% 4% 3%;background:radial-gradient(circle at 50% 50%,rgba(64,87,255,.28),transparent 48%),linear-gradient(180deg,transparent,rgba(35,42,99,.18));filter:blur(10px);border-radius:50%}.orbit{position:absolute;border:1px solid rgba(118,81,255,.28);border-radius:50%;transform:rotate(-8deg)}.orbit--one{width:530px;height:280px;right:-18px;top:92px}.orbit--two{width:445px;height:240px;right:34px;top:132px;border-color:rgba(34,165,255,.23)}.device{position:absolute;background:linear-gradient(160deg,#151b30,#080b14);border:1px solid rgba(140,150,190,.38);box-shadow:0 26px 80px rgba(0,0,0,.48),0 0 38px rgba(82,65,255,.11);overflow:hidden}.device-topbar{height:24px;border-bottom:1px solid rgba(255,255,255,.07);display:flex;align-items:center;gap:5px;padding-left:11px}.device-topbar span{width:5px;height:5px;border-radius:50%;background:#58617a}.device--laptop{width:78%;height:350px;left:0;top:105px;border-radius:18px;transform:perspective(1100px) rotateY(-4deg) rotateX(1deg)}.device--laptop:after{content:"";position:absolute;bottom:-22px;left:-6%;width:112%;height:28px;background:linear-gradient(180deg,#272d3d,#0d111b);border-radius:0 0 60% 60%;border-top:1px solid rgba(255,255,255,.18)}.dashboard{padding:20px}.dash-head{display:flex;justify-content:space-between;align-items:flex-start}.dash-head small,.mini-ui small,.phone-ui small{display:block;color:#7f89a2;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.dash-head strong{display:block;font-size:17px;margin-top:4px}.dash-status{font-size:9px;color:#73f4c1;border:1px solid rgba(115,244,193,.28);padding:4px 7px;border-radius:20px}.kpi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0}.kpi-row div{background:#0d1428;border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:10px}.kpi-row small{display:block;color:#717a90;font-size:9px}.kpi-row b{font-size:19px;margin-right:7px}.kpi-row em{font-size:9px;color:#5ee0af;font-style:normal}.kpi-row em.neutral{color:#9ba3b4}.chart-panel{height:148px;position:relative;background:linear-gradient(180deg,rgba(38,57,105,.24),rgba(9,13,25,.55));border:1px solid rgba(255,255,255,.05);border-radius:12px;overflow:hidden}.chart-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:100% 32px,56px 100%}.chart-panel svg{position:absolute;inset:9px 8px}.mini-panels{display:flex;gap:8px;margin-top:10px}.mini-panels span{height:21px;border-radius:7px;background:linear-gradient(90deg,#11182b,#161d38);flex:1}.device--tablet{width:42%;height:280px;right:0;top:55px;border-radius:16px;transform:rotate(2deg)}.mini-ui{padding:22px}.mini-ui strong{display:block;font-size:20px;line-height:1.12;margin:8px 0 18px}.ui-lines{display:grid;gap:7px}.ui-lines span{height:6px;border-radius:10px;background:linear-gradient(90deg,#6540ff,#1f68ff 60%,transparent)}.ui-lines span:nth-child(2){width:75%}.ui-lines span:nth-child(3){width:48%}.mini-ui button{margin-top:22px;background:#5527ef;border:0;color:#fff;border-radius:7px;padding:8px 12px;font-weight:700;font-size:10px}.device--phone{width:24%;height:300px;right:-8px;bottom:10px;border-radius:28px;border-width:2px;transform:rotate(2deg);z-index:5}.phone-notch{width:42%;height:16px;background:#050711;border-radius:0 0 10px 10px;margin:0 auto}.phone-ui{padding:19px 14px}.ring{width:92px;height:92px;margin:16px auto 19px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--violet) 72%,#151c31 0);position:relative}.ring:after{content:"";position:absolute;inset:10px;border-radius:50%;background:#0a1020}.ring span{position:relative;z-index:1;font-weight:800}.phone-row{display:flex;align-items:center;gap:8px;font-size:10px;color:#c4cada;border-top:1px solid rgba(255,255,255,.07);padding:11px 0}.phone-row i{width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 9px var(--cyan)}.proof-strip{padding:0 0 25px}.proof-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(139,99,255,.42);border-radius:18px;background:linear-gradient(180deg,rgba(14,19,39,.82),rgba(8,11,24,.82));overflow:hidden}.proof-item{display:flex;gap:14px;padding:20px 22px;border-right:1px solid rgba(255,255,255,.09);align-items:flex-start}.proof-item:last-child{border-right:0}.proof-icon{display:grid;place-items:center;width:38px;height:38px;flex:0 0 auto;border-radius:12px;color:#c65cff;border:1px solid rgba(189,78,255,.48);font-size:20px}.proof-item strong{font-size:14px;display:block;line-height:1.25}.proof-item small{display:block;color:#8f98ac;font-size:11px;margin-top:5px}.section-heading{max-width:760px;margin:0 auto 38px;text-align:center}.section-heading h2{font-size:clamp(31px,3.4vw,49px);letter-spacing:-.035em;line-height:1.08;margin:0 0 12px}.section-heading>p:last-child{color:#9fa7ba;margin:0}.section-heading--row{max-width:none;text-align:left;display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:end}.section-heading--row .cases-intro{padding-bottom:6px}.services{padding-top:66px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.service-card{min-height:280px;padding:26px;border:1px solid rgba(134,105,255,.32);border-radius:18px;background:linear-gradient(180deg,rgba(15,21,42,.84),rgba(7,11,24,.88));position:relative;overflow:hidden;transition:.3s ease}.service-card:after{content:"";position:absolute;inset:auto -20% -50% -20%;height:130px;background:radial-gradient(circle,rgba(82,56,255,.18),transparent 66%);opacity:0;transition:.3s}.service-card:hover{transform:translateY(-5px);border-color:rgba(137,86,255,.72);box-shadow:0 18px 44px rgba(0,0,0,.22)}.service-card:hover:after{opacity:1}.service-icon{width:52px;height:52px;border-radius:16px;border:1px solid rgba(120,86,255,.48);display:grid;place-items:center;font-size:26px;color:#b758ff;box-shadow:inset 0 0 26px rgba(84,66,255,.12),0 0 18px rgba(97,76,255,.08)}.service-card h3{font-size:20px;margin:19px 0 10px}.service-card p{font-size:14px;color:#aeb6c8;margin:0 0 24px}.service-card a{font-size:13px;color:#69a3ff;font-weight:750}.cases{padding-top:52px}.cases-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.case-card{border:1px solid rgba(129,92,241,.38);border-radius:20px;overflow:hidden;background:#0b0f1d;transition:.28s}.case-card:hover{transform:translateY(-5px);border-color:rgba(125,78,250,.8);box-shadow:0 22px 55px rgba(0,0,0,.25)}.case-preview{height:235px;display:block;position:relative;overflow:hidden}.case-preview:after{content:"";position:absolute;inset:auto 0 0;height:70%;background:linear-gradient(transparent,rgba(4,6,14,.62));pointer-events:none}.case-browser{position:absolute;top:0;left:0;right:0;height:27px;background:rgba(4,6,12,.78);display:flex;align-items:center;gap:5px;padding-left:10px;z-index:3}.case-browser span{width:6px;height:6px;border-radius:50%;background:#666}.case-stage{position:absolute;z-index:2;left:25px;right:25px;top:62px}.case-stage strong{font-size:26px;letter-spacing:.04em}.case-stage b{font-weight:500}.case-stage p{font-family:Georgia,serif;font-size:24px;line-height:1.08;max-width:280px;margin:18px 0;color:#f4f1ff}.case-stage em{font-style:normal;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#aeb3c8}.case-preview--arisu{background:linear-gradient(135deg,#071328,#0d1f48 50%,#15102d)}.case-preview--arisu:before{content:"";position:absolute;right:-10%;bottom:-15%;width:75%;height:90%;background:linear-gradient(140deg,transparent 33%,rgba(47,124,255,.18) 34%,rgba(47,124,255,.18) 36%,transparent 37%),linear-gradient(45deg,transparent 45%,rgba(152,71,255,.15) 46%,rgba(152,71,255,.15) 48%,transparent 49%);transform:skewY(-8deg)}.case-preview--educacao{background:linear-gradient(135deg,#172051,#3222a3 48%,#6f28b6)}.edu-shapes i{position:absolute;border-radius:50%;filter:blur(1px)}.edu-shapes i:nth-child(1){width:110px;height:110px;background:#ff9f5a;right:30px;bottom:-25px}.edu-shapes i:nth-child(2){width:75px;height:75px;background:#1bd4bc;right:98px;top:48px}.edu-shapes i:nth-child(3){width:50px;height:50px;background:#ed5d91;left:45%;bottom:24px}.case-preview--convites{background:linear-gradient(145deg,#23171e,#4c2a39 52%,#7d4652)}.flower{position:absolute;border:1px solid rgba(255,202,211,.35);border-radius:50%;box-shadow:0 0 0 8px rgba(255,190,202,.05),0 0 0 17px rgba(255,190,202,.03)}.flower--one{width:130px;height:130px;right:-22px;bottom:-8px}.flower--two{width:90px;height:90px;right:84px;top:60px}.case-content{padding:22px 23px 24px;display:flex;justify-content:space-between;gap:20px}.case-content small{color:#65739a;text-transform:uppercase;font-size:9px;letter-spacing:.13em}.case-content h3{margin:5px 0 8px;font-size:22px}.case-content p{color:#9fa7ba;font-size:13px;margin:0;max-width:310px}.case-content>a{align-self:flex-end;white-space:nowrap;color:#6f9cff;font-size:13px;font-weight:800}.method{padding-top:54px}.method-line{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,1fr);position:relative}.method-line:before{content:"";position:absolute;left:9%;right:9%;top:31px;height:1px;background:linear-gradient(90deg,transparent,rgba(84,120,255,.75),rgba(189,76,255,.75),transparent)}.method-line li{text-align:center;padding:0 16px;position:relative}.method-line span{position:relative;z-index:2;width:62px;height:62px;border-radius:50%;margin:0 auto 18px;display:grid;place-items:center;font-size:20px;font-weight:850;background:#070a15;border:1px solid rgba(115,91,255,.8);box-shadow:0 0 22px rgba(89,69,255,.28),inset 0 0 18px rgba(95,65,255,.12)}.method-line strong{font-size:17px}.method-line p{font-size:12px;color:#929bad;margin:7px 0 0}.contact{padding:58px 0 72px}.contact-panel{display:grid;grid-template-columns:auto 1.2fr .8fr;gap:28px;align-items:center;border:1px solid rgba(118,74,247,.6);border-radius:22px;padding:28px 32px;background:linear-gradient(95deg,rgba(10,26,63,.95),rgba(24,19,75,.92) 60%,rgba(53,19,105,.9));box-shadow:inset 0 0 55px rgba(56,64,200,.12),0 18px 60px rgba(0,0,0,.2)}.contact-icon{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;border:2px solid #7d56ff;font-size:36px;box-shadow:0 0 30px rgba(83,102,255,.35),inset 0 0 30px rgba(40,132,255,.18)}.contact-copy h2{font-size:31px;line-height:1.06;margin:0 0 10px}.contact-copy p{color:#b3bbcf;margin:0;max-width:650px}.contact-action{border-left:1px solid rgba(255,255,255,.12);padding-left:28px}.contact-action small{display:block;color:#a5adc1}.contact-action strong{display:block;font-size:31px;margin:4px 0 14px}.site-footer{border-top:1px solid rgba(255,255,255,.08);background:#050711;padding:50px 0 25px}.footer-grid{display:grid;grid-template-columns:1.15fr .65fr .85fr 1fr;gap:45px}.brand--footer{margin-bottom:18px}.footer-grid>div:first-child p{font-size:13px;color:#8e98ac;max-width:320px}.footer-grid h4{font-size:12px;color:#f4f5f9;margin:0 0 15px;text-transform:uppercase;letter-spacing:.13em}.footer-grid a,.footer-grid span{display:block;color:#8f98ac;font-size:12px;margin:9px 0}.footer-grid a:hover{color:white}.footer-bottom{border-top:1px solid rgba(255,255,255,.07);margin-top:34px;padding-top:20px;display:flex;justify-content:space-between;color:#6f788e;font-size:11px}.floating-whatsapp{position:fixed;right:22px;bottom:22px;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:white;font-size:24px;box-shadow:0 14px 36px rgba(36,211,102,.3);z-index:40}.reveal{opacity:0;transform:translateY(18px);transition:.7s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:none}
@media(max-width:1050px){.main-nav{gap:18px}.btn--header{display:none}.hero-grid{grid-template-columns:1fr}.hero-visual{min-height:470px;max-width:720px;width:100%;margin:0 auto}.proof-grid{grid-template-columns:1fr 1fr}.proof-item:nth-child(2){border-right:0}.proof-item:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.08)}.services-grid{grid-template-columns:1fr 1fr}.cases-grid{grid-template-columns:1fr}.case-preview{height:300px}.method-line{grid-template-columns:1fr 1fr;gap:30px}.method-line:before{display:none}.method-line li:last-child{grid-column:1/-1;max-width:360px;justify-self:center}.contact-panel{grid-template-columns:auto 1fr}.contact-action{grid-column:1/-1;border-left:0;border-top:1px solid rgba(255,255,255,.12);padding:22px 0 0 106px}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:780px){.container{width:min(100% - 28px,var(--max))}.site-header{position:sticky}.header-inner{height:70px}.menu-toggle{display:block}.main-nav{position:absolute;top:70px;left:14px;right:14px;display:none;flex-direction:column;align-items:stretch;background:#0a0e1d;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:10px 20px;box-shadow:0 20px 60px rgba(0,0,0,.4)}.main-nav.open{display:flex}.main-nav a{padding:13px 0}.main-nav a.is-active:after{bottom:7px}.hero{padding-top:50px}.hero h1{font-size:clamp(40px,12vw,62px)}.hero-lead{font-size:15px}.hero-visual{min-height:390px}.device--laptop{width:84%;height:290px;top:80px}.device--tablet{width:44%;height:235px;top:40px}.device--phone{width:24%;height:250px}.dashboard{padding:14px}.dash-head strong{font-size:14px}.kpi-row{margin:12px 0}.kpi-row b{font-size:15px}.chart-panel{height:120px}.proof-grid{grid-template-columns:1fr}.proof-item{border-right:0!important;border-bottom:1px solid rgba(255,255,255,.08)!important}.proof-item:last-child{border-bottom:0!important}.section{padding:64px 0}.section-heading{text-align:left;margin-left:0}.section-heading--row{grid-template-columns:1fr;gap:10px}.services-grid{grid-template-columns:1fr}.case-preview{height:250px}.case-content{flex-direction:column}.case-content>a{align-self:flex-start}.method-line{grid-template-columns:1fr;gap:25px}.method-line li:last-child{grid-column:auto;max-width:none}.contact-panel{grid-template-columns:1fr;text-align:left;padding:25px}.contact-icon{width:64px;height:64px}.contact-action{grid-column:auto;padding:20px 0 0;border-top:1px solid rgba(255,255,255,.12)}.contact-action strong{font-size:28px}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:8px}.floating-whatsapp{right:15px;bottom:15px}}
@media(max-width:520px){.brand-copy strong{font-size:16px}.brand-mark{width:38px;height:38px}.hero-actions{display:grid}.hero-actions .btn{width:100%}.hero-visual{min-height:320px}.device--laptop{height:235px;top:58px}.device--tablet{height:195px;right:-4px;top:28px}.device--phone{height:205px;width:26%;bottom:0}.mini-ui{padding:14px}.mini-ui strong{font-size:14px}.kpi-row div:nth-child(3){display:none}.kpi-row{grid-template-columns:1fr 1fr}.chart-panel{height:86px}.phone-ui{padding:12px 7px}.ring{width:63px;height:63px}.phone-row{font-size:8px;padding:8px 0}.case-stage p{font-size:21px}.case-preview{height:225px}.contact-copy h2{font-size:27px}}

/* =========================================================
   RC03.1 — ANIMAÇÕES & REFINOS PREMIUM
   Mantém integralmente a arquitetura visual da RC03.
   ========================================================= */

/* Atmosfera e header */
.page-glow--one,.page-glow--two{animation:none}
.site-header{transition:background .35s ease,border-color .35s ease,box-shadow .35s ease,height .35s ease}
.site-header.is-scrolled{background:rgba(4,6,15,.91);border-bottom-color:rgba(122,91,255,.18);box-shadow:0 10px 40px rgba(0,0,0,.22)}
.brand-mark{position:relative;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.brand:hover .brand-mark{transform:translateY(-2px) rotate(-2deg);border-color:rgba(111,147,255,.78);box-shadow:0 0 32px rgba(86,79,255,.34)}
.main-nav a:after{transform-origin:left center;transition:transform .28s ease,opacity .28s ease}
.main-nav a:not(.is-active):after{content:"";position:absolute;left:0;right:0;bottom:18px;height:2px;background:linear-gradient(90deg,var(--blue),var(--violet));border-radius:2px;transform:scaleX(0);opacity:.35}
.main-nav a:not(.is-active):hover:after{transform:scaleX(1);opacity:.7}

/* Botões: brilho controlado + ripple */
.btn{position:relative;overflow:hidden;isolation:isolate}
.btn:before{content:"";position:absolute;z-index:-1;top:-100%;left:-55%;width:38%;height:300%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent);transform:rotate(22deg) translateX(-220%);transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.btn:hover:before{transform:rotate(22deg) translateX(520%)}
.btn--primary:hover{box-shadow:0 17px 44px rgba(63,65,255,.38),0 0 32px rgba(115,54,255,.14),inset 0 0 18px rgba(255,255,255,.1)}
.btn-ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.24);transform:translate(-50%,-50%) scale(0);pointer-events:none;animation:buttonRipple .58s ease-out forwards;z-index:2}

/* Hero: entrada editorial + demonstração técnica */
.hero-copy.visible .eyebrow{animation:heroTextIn .65s .04s both cubic-bezier(.2,.8,.2,1)}
.hero-copy.visible h1{animation:heroTextIn .82s .12s both cubic-bezier(.2,.8,.2,1)}
.hero-copy.visible .hero-lead{animation:heroTextIn .72s .26s both cubic-bezier(.2,.8,.2,1)}
.hero-copy.visible .hero-actions{animation:heroTextIn .7s .38s both cubic-bezier(.2,.8,.2,1)}
.hero-visual{--spot-x:66%;--spot-y:38%;transform-style:preserve-3d}
.hero-visual:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle 180px at var(--spot-x) var(--spot-y),rgba(55,166,255,.12),transparent 67%);opacity:.9;transition:opacity .4s ease}
.hero-visual.visible .orbit--one{animation:orbitDrift 16s linear infinite}
.hero-visual.visible .orbit--two{animation:orbitDriftReverse 20s linear infinite}
.hero-visual.visible .device--laptop{animation:laptopIn .9s .12s both cubic-bezier(.16,.9,.3,1),laptopFloat 6.6s 1.1s ease-in-out infinite}
.hero-visual.visible .device--tablet{animation:tabletIn .85s .28s both cubic-bezier(.16,.9,.3,1),tabletFloat 5.8s 1.15s ease-in-out infinite}
.hero-visual.visible .device--phone{animation:phoneIn .78s .42s both cubic-bezier(.16,.9,.3,1),phoneFloat 5.2s 1.2s ease-in-out infinite}
.hero-visual.visible .chart-panel svg path:first-of-type{stroke-dasharray:900;stroke-dashoffset:900;animation:drawChart 2.1s .9s cubic-bezier(.2,.7,.2,1) forwards}
.hero-visual.visible .chart-panel svg path:last-of-type{opacity:0;animation:chartFillIn .8s 2.25s ease forwards}
.hero-visual.visible .ui-lines span{transform-origin:left center;animation:lineLoad 1.1s ease both}
.hero-visual.visible .ui-lines span:nth-child(1){animation-delay:1.1s}.hero-visual.visible .ui-lines span:nth-child(2){animation-delay:1.25s}.hero-visual.visible .ui-lines span:nth-child(3){animation-delay:1.4s}
.hero-visual.visible .dash-status{animation:statusPulse 1.7s 1.4s ease-in-out 2}
.hero-visual.visible .ring{animation:ringGlow 1.9s 1.2s ease-in-out 2}
.hero-visual.visible .phone-row i{animation:dotPulse 2.1s ease-in-out infinite}.hero-visual.visible .phone-row:nth-of-type(3) i{animation-delay:.25s}.hero-visual.visible .phone-row:nth-of-type(4) i{animation-delay:.5s}
.mini-panels span{background-size:220% 100%;background-image:linear-gradient(90deg,#11182b 0%,#20284a 44%,#11182b 72%)}
.hero-visual.visible .mini-panels span{animation:miniShimmer 1.8s 1.5s ease-in-out 1}.hero-visual.visible .mini-panels span:nth-child(2){animation-delay:.35s}.hero-visual.visible .mini-panels span:nth-child(3){animation-delay:.7s}

/* Revelações com stagger */
.reveal{will-change:transform,opacity;transition-duration:.78s;transition-delay:var(--reveal-delay,0ms)}
.reveal.visible{will-change:auto}
.section-heading.visible .eyebrow{animation:headingAccent .62s .05s both ease-out}
.section-heading.visible h2{animation:headingAccent .7s .12s both cubic-bezier(.2,.8,.2,1)}
.section-heading.visible>p:last-child,.section-heading--row.visible .cases-intro{animation:headingAccent .7s .2s both ease-out}

/* Provas de autoridade */
.proof-item{transition:background .35s ease,transform .35s ease}
.proof-item:hover{background:rgba(97,79,255,.07);transform:translateY(-2px)}
.proof-icon{transition:transform .38s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,color .35s ease}
.proof-item:hover .proof-icon{transform:translateY(-3px) rotate(-4deg) scale(1.06);color:#76b8ff;box-shadow:0 0 22px rgba(109,70,255,.25)}

/* Serviços: spotlight no cursor e microinteração */
.service-card{--mx:50%;--my:50%;--tilt-x:0deg;--tilt-y:0deg;transform:perspective(900px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transform-style:preserve-3d;transition:transform .28s cubic-bezier(.2,.8,.2,1),border-color .3s ease,box-shadow .3s ease}
.service-card:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle 210px at var(--mx) var(--my),rgba(68,132,255,.12),transparent 66%);opacity:0;transition:opacity .3s ease}
.service-card:hover:before{opacity:1}.service-card:hover{transform:perspective(900px) translateY(-6px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y))}
.service-card>*{position:relative;z-index:1}.service-icon{transition:transform .38s cubic-bezier(.2,.8,.2,1),border-color .35s ease,box-shadow .35s ease}
.service-card:hover .service-icon{transform:translateY(-4px) rotate(-4deg);border-color:rgba(91,151,255,.7);box-shadow:inset 0 0 26px rgba(84,66,255,.16),0 0 30px rgba(87,77,255,.18)}
.service-card a{display:inline-flex;align-items:center;transition:transform .25s ease,color .25s ease}.service-card:hover a{transform:translateX(4px);color:#a3c6ff}

/* Cases: profundidade, movimento e brilho */
.case-card{--rx:0deg;--ry:0deg;--case-x:50%;--case-y:50%;transform:perspective(1000px) rotateX(var(--rx)) rotateY(var(--ry));transform-style:preserve-3d;position:relative}
.case-card:before{content:"";position:absolute;inset:0;z-index:8;pointer-events:none;background:radial-gradient(circle 260px at var(--case-x) var(--case-y),rgba(129,104,255,.13),transparent 68%);opacity:0;transition:opacity .3s ease}
.case-card:hover:before{opacity:1}.case-card:hover{transform:perspective(1000px) translateY(-6px) rotateX(var(--rx)) rotateY(var(--ry))}
.case-preview{transform:translateZ(0);transition:transform .65s cubic-bezier(.2,.8,.2,1),filter .45s ease}.case-card:hover .case-preview{transform:scale(1.025)}
.case-stage{transition:transform .55s cubic-bezier(.2,.8,.2,1)}.case-card:hover .case-stage{transform:translateY(-5px)}
.case-content>a{transition:transform .25s ease,color .25s ease}.case-card:hover .case-content>a{transform:translateX(4px);color:#b5ccff}
.case-browser span{animation:browserDot 3.2s ease-in-out infinite}.case-browser span:nth-child(2){animation-delay:.22s}.case-browser span:nth-child(3){animation-delay:.44s}
.case-preview--arisu:before{animation:arisuLines 8s ease-in-out infinite alternate}
.edu-shapes i:nth-child(1){animation:eduFloatOne 6.5s ease-in-out infinite}.edu-shapes i:nth-child(2){animation:eduFloatTwo 5.6s .4s ease-in-out infinite}.edu-shapes i:nth-child(3){animation:eduFloatThree 4.8s .8s ease-in-out infinite}
.flower--one{animation:flowerBreathe 7s ease-in-out infinite}.flower--two{animation:flowerBreathe 5.7s .7s ease-in-out infinite reverse}

/* Método: trilha que se constrói no scroll */
.method-line:after{content:"";position:absolute;left:9%;right:9%;top:30px;height:3px;background:linear-gradient(90deg,var(--blue),#6960ff,var(--pink));border-radius:10px;box-shadow:0 0 16px rgba(89,105,255,.32);transform:scaleX(0);transform-origin:left center;opacity:.85}
.method-line.is-visible:after{animation:methodProgress 1.65s .15s cubic-bezier(.2,.75,.2,1) forwards}
.method-line li span{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,background .35s ease}.method-line li:hover span{transform:translateY(-5px) scale(1.06);background:#0c1122;box-shadow:0 0 34px rgba(89,69,255,.38),inset 0 0 20px rgba(95,65,255,.16)}
.method-line.is-visible li span{animation:stepPulse .7s both}.method-line.is-visible li:nth-child(1) span{animation-delay:.25s}.method-line.is-visible li:nth-child(2) span{animation-delay:.5s}.method-line.is-visible li:nth-child(3) span{animation-delay:.75s}.method-line.is-visible li:nth-child(4) span{animation-delay:1s}.method-line.is-visible li:nth-child(5) span{animation-delay:1.25s}

/* CTA final e WhatsApp */
.contact-panel{position:relative;overflow:hidden}.contact-panel:before{content:"";position:absolute;inset:-70% auto -70% -25%;width:36%;background:linear-gradient(90deg,transparent,rgba(88,152,255,.1),transparent);transform:rotate(18deg) translateX(-160%);pointer-events:none}.contact-panel.visible:before{animation:contactSweep 5.8s 1s ease-in-out 2}
.contact-icon{animation:contactIconLite 5.5s ease-in-out infinite}.contact-panel .btn--primary{box-shadow:0 14px 40px rgba(73,56,255,.36)}
.floating-whatsapp{transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease}.floating-whatsapp:hover{transform:translateY(-4px) scale(1.06);box-shadow:0 18px 44px rgba(36,211,102,.38)}
.floating-whatsapp:after{content:"";position:absolute;inset:-7px;border:1px solid rgba(36,211,102,.38);border-radius:50%;animation:whatsappPulse 3.4s ease-out infinite;pointer-events:none}

/* Keyframes */
@keyframes ambientGlowOne{0%{transform:translate3d(0,0,0) scale(1)}100%{transform:translate3d(80px,55px,0) scale(1.12)}}
@keyframes ambientGlowTwo{0%{transform:translate3d(0,0,0) scale(1.05)}100%{transform:translate3d(-95px,70px,0) scale(.92)}}
@keyframes buttonRipple{to{transform:translate(-50%,-50%) scale(1);opacity:0}}
@keyframes heroTextIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes orbitDrift{from{transform:rotate(-8deg)}to{transform:rotate(352deg)}}
@keyframes orbitDriftReverse{from{transform:rotate(-8deg)}to{transform:rotate(-368deg)}}
@keyframes laptopIn{from{opacity:0;transform:perspective(1100px) translate3d(-28px,26px,0) rotateY(-9deg) rotateX(4deg) scale(.94)}to{opacity:1;transform:perspective(1100px) translate3d(0,0,0) rotateY(-4deg) rotateX(1deg) scale(1)}}
@keyframes laptopFloat{0%,100%{transform:perspective(1100px) translate3d(0,0,0) rotateY(-4deg) rotateX(1deg)}50%{transform:perspective(1100px) translate3d(0,-8px,0) rotateY(-3deg) rotateX(.5deg)}}
@keyframes tabletIn{from{opacity:0;transform:translate3d(26px,-12px,0) rotate(5deg) scale(.92)}to{opacity:1;transform:translate3d(0,0,0) rotate(2deg) scale(1)}}
@keyframes tabletFloat{0%,100%{transform:translate3d(0,0,0) rotate(2deg)}50%{transform:translate3d(3px,-10px,0) rotate(1deg)}}
@keyframes phoneIn{from{opacity:0;transform:translate3d(22px,30px,0) rotate(6deg) scale(.9)}to{opacity:1;transform:translate3d(0,0,0) rotate(2deg) scale(1)}}
@keyframes phoneFloat{0%,100%{transform:translate3d(0,0,0) rotate(2deg)}50%{transform:translate3d(-3px,-8px,0) rotate(1deg)}}
@keyframes drawChart{to{stroke-dashoffset:0}}
@keyframes chartFillIn{to{opacity:.12}}
@keyframes lineLoad{from{transform:scaleX(.08);opacity:.35}to{transform:scaleX(1);opacity:1}}
@keyframes statusPulse{0%,100%{box-shadow:0 0 0 rgba(115,244,193,0)}50%{box-shadow:0 0 18px rgba(115,244,193,.18)}}
@keyframes ringGlow{0%,100%{box-shadow:0 0 0 rgba(146,84,255,0)}50%{box-shadow:0 0 28px rgba(146,84,255,.2)}}
@keyframes dotPulse{0%,100%{transform:scale(1);opacity:.72}50%{transform:scale(1.4);opacity:1}}
@keyframes miniShimmer{0%,100%{background-position:120% 0}50%{background-position:-90% 0}}
@keyframes headingAccent{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes browserDot{0%,100%{opacity:.45}50%{opacity:.95}}
@keyframes arisuLines{0%{transform:skewY(-8deg) translate3d(0,0,0)}100%{transform:skewY(-8deg) translate3d(-18px,-8px,0)}}
@keyframes eduFloatOne{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(-10px,-9px,0)}}
@keyframes eduFloatTwo{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(9px,-12px,0)}}
@keyframes eduFloatThree{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(-5px,10px,0)}}
@keyframes flowerBreathe{0%,100%{transform:scale(1);opacity:.8}50%{transform:scale(1.08);opacity:1}}
@keyframes methodProgress{to{transform:scaleX(1)}}
@keyframes stepPulse{0%{box-shadow:0 0 0 rgba(89,69,255,0)}55%{box-shadow:0 0 36px rgba(89,69,255,.42),inset 0 0 18px rgba(95,65,255,.16)}100%{box-shadow:0 0 22px rgba(89,69,255,.28),inset 0 0 18px rgba(95,65,255,.12)}}
@keyframes contactSweep{0%,15%{transform:rotate(18deg) translateX(-170%);opacity:0}35%{opacity:1}60%,100%{transform:rotate(18deg) translateX(480%);opacity:0}}
@keyframes contactIcon{0%,100%{transform:translateY(0);box-shadow:0 0 30px rgba(83,102,255,.35),inset 0 0 30px rgba(40,132,255,.18)}50%{transform:translateY(-5px);box-shadow:0 0 38px rgba(83,102,255,.46),inset 0 0 30px rgba(40,132,255,.2)}}
@keyframes contactIconLite{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes whatsappPulse{0%{transform:scale(.88);opacity:.6}70%,100%{transform:scale(1.4);opacity:0}}

@media(max-width:1050px){
  .method-line:after{display:none}
  .hero-visual.visible .device--laptop{animation:laptopIn .9s .12s both cubic-bezier(.16,.9,.3,1),laptopFloat 6.6s 1.1s ease-in-out infinite}
}
@media(max-width:780px){
  .main-nav a:not(.is-active):after{bottom:7px}
  .service-card,.service-card:hover,.case-card,.case-card:hover{transform:none}
  .service-card:before,.case-card:before{display:none}
  .hero-visual:after{opacity:.55}
  .floating-whatsapp:after{animation-duration:4.4s}
}
@media(hover:none){
  .service-card:hover,.case-card:hover{transform:none}
  .service-card:before,.case-card:before{display:none}
}

/* =========================================================
   RC03.2 — PERFORMANCE
   Preserva a estética da RC03.1 e reduz trabalho contínuo.
   ========================================================= */
.services,.cases,.method,.contact,.site-footer{content-visibility:auto;contain-intrinsic-size:1px 720px}
.service-card,.case-card{contain:paint}

/* Pausa animações contínuas quando os componentes saem da viewport/aba. */
.perf-paused,.perf-paused *,
.perf-paused:before,.perf-paused:after,
.perf-paused *:before,.perf-paused *:after,
html.page-paused *,html.page-paused *:before,html.page-paused *:after{animation-play-state:paused!important}

/* Camada automática para touch, telas menores ou dispositivos modestos. */
html.performance-lite .page-glow{filter:blur(64px);opacity:.08}
html.performance-lite .site-header{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(5,7,17,.94)}
html.performance-lite .hero-visual.visible .orbit--one,
html.performance-lite .hero-visual.visible .orbit--two{animation:none}
html.performance-lite .hero-visual.visible .device--laptop{animation:laptopIn .72s .08s both cubic-bezier(.16,.9,.3,1)}
html.performance-lite .hero-visual.visible .device--tablet{animation:tabletIn .68s .18s both cubic-bezier(.16,.9,.3,1)}
html.performance-lite .hero-visual.visible .device--phone{animation:phoneIn .64s .28s both cubic-bezier(.16,.9,.3,1)}
html.performance-lite .hero-visual.visible .dash-status,
html.performance-lite .hero-visual.visible .ring,
html.performance-lite .hero-visual.visible .phone-row i,
html.performance-lite .hero-visual.visible .mini-panels span{animation:none}
html.performance-lite .case-browser span,
html.performance-lite .case-preview--arisu:before,
html.performance-lite .edu-shapes i,
html.performance-lite .flower{animation:none}
html.performance-lite .contact-panel.visible:before{animation:contactSweep 4.8s .8s ease-in-out 1}
html.performance-lite .contact-icon{animation:none}
html.performance-lite .floating-whatsapp:after{animation-duration:5.2s}

@media(max-width:1050px){
  .site-header{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(5,7,17,.94)}
  .service-card,.service-card:hover,.case-card,.case-card:hover{transform:none}
  .service-card:before,.case-card:before{display:none}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .reveal{opacity:1!important;transform:none!important}
  .method-line:after{transform:scaleX(1)!important}
}

/* =========================================================
   RC03.3 — CONTEÚDO & AUTORIDADE
   Acrescenta profundidade profissional sem alterar o DNA RC03.
   ========================================================= */
.authority{padding-top:58px;padding-bottom:74px;position:relative}
.authority:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(94,118,255,.28),rgba(196,69,255,.22),transparent)}
.authority-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:74px;align-items:start}
.authority-copy{position:sticky;top:118px}
.authority-copy h2{font-size:clamp(32px,3.45vw,50px);line-height:1.06;letter-spacing:-.04em;margin:0 0 22px;max-width:590px}
.authority-copy>p:not(.eyebrow){color:#aeb6c8;font-size:15px;max-width:610px;margin:0 0 16px}
.authority-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.authority-rail{position:relative;padding-left:9px}
.career-path{position:relative}
.career-path:before{content:"";position:absolute;left:23px;top:19px;bottom:23px;width:1px;background:linear-gradient(180deg,#2f7cff,#755dff 48%,#cf45ff);transform:scaleY(0);transform-origin:top;opacity:.65}
.authority-rail.visible .career-path:before{animation:careerLine 1.2s .2s cubic-bezier(.2,.75,.2,1) forwards}
.career-item{display:grid;grid-template-columns:48px 1fr;gap:18px;padding:0 0 27px;position:relative}
.career-item:last-child{padding-bottom:18px}
.career-item>span{width:47px;height:47px;border-radius:50%;display:grid;place-items:center;z-index:1;background:#080d1b;border:1px solid rgba(112,95,255,.58);font-size:10px;font-weight:850;letter-spacing:.06em;color:#77a8ff;box-shadow:0 0 22px rgba(71,67,255,.12)}
.career-item strong{display:block;font-size:17px;letter-spacing:-.01em;margin:3px 0 6px}
.career-item p{margin:0;color:#949db1;font-size:13px;max-width:610px}
.credentials{margin:7px 0 0 65px;padding-top:18px;border-top:1px solid rgba(255,255,255,.09)}
.credentials p{margin:0 0 10px;color:#8993a9;font-size:12px;line-height:1.65}
.credentials strong{color:#cbd2e1;margin-right:8px}
.service-card--web{border-color:rgba(80,134,255,.68);background:linear-gradient(180deg,rgba(18,28,57,.93),rgba(8,12,27,.93));box-shadow:inset 0 0 32px rgba(43,105,255,.05)}
.service-card--web .service-icon{color:#58a4ff;border-color:rgba(73,143,255,.62);box-shadow:inset 0 0 26px rgba(43,113,255,.14),0 0 22px rgba(69,92,255,.1)}
.service-card--web a{color:#8ebcff}
.contact-links{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin-top:12px}
.contact-links a{color:#8fa0be;font-size:11px;border-bottom:1px solid rgba(143,160,190,.22);transition:color .2s ease,border-color .2s ease}
.contact-links a:hover{color:#d7def0;border-color:#718fff}
@keyframes careerLine{to{transform:scaleY(1)}}

/* A nova seção também recebe as otimizações de renderização da RC03.2. */
.authority{content-visibility:auto;contain-intrinsic-size:1px 690px}

@media(max-width:1050px){
  .authority-grid{grid-template-columns:1fr;gap:42px}
  .authority-copy{position:static}
  .authority-copy>p:not(.eyebrow){max-width:760px}
}
@media(max-width:780px){
  .authority{padding-top:46px;padding-bottom:58px}
  .authority-grid{gap:34px}
  .career-item{grid-template-columns:42px 1fr;gap:14px;padding-bottom:24px}
  .career-item>span{width:41px;height:41px}
  .career-path:before{left:20px}
  .credentials{margin-left:55px}
  .authority-actions .btn{width:100%}
  .contact-links{justify-content:center}
}
@media(prefers-reduced-motion:reduce){
  .career-path:before{transform:scaleY(1)!important}
}

/* RC03.4 — identidade pessoal + autoridade profissional */
.profile-signature{display:flex;align-items:center;gap:16px;margin-top:24px;padding:14px 16px;border:1px solid rgba(112,95,255,.22);border-radius:18px;background:linear-gradient(135deg,rgba(15,21,42,.74),rgba(8,12,26,.56));box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
.profile-signature img{width:78px;height:78px;border-radius:18px;object-fit:cover;flex:0 0 auto;border:1px solid rgba(123,112,255,.36);box-shadow:0 12px 30px rgba(0,0,0,.22)}
.profile-signature strong{display:block;font-size:17px;letter-spacing:-.01em;margin-bottom:3px}
.profile-signature span{display:block;color:#c8cede;font-size:12px;font-weight:650}
.profile-signature small{display:block;color:#858fa7;font-size:11px;margin-top:5px;line-height:1.45}
@media(max-width:520px){.profile-signature{align-items:flex-start}.profile-signature img{width:66px;height:66px;border-radius:15px}.profile-signature span{font-size:11px}}


/* =========================================================
   RC03.5 — CASES COMERCIAIS
   Páginas editoriais de case sem alterar o DNA visual da home.
   ========================================================= */
.case-actions{display:flex;align-items:flex-end;justify-content:flex-end;gap:13px;flex-wrap:wrap;min-width:150px}
.case-actions a{white-space:nowrap;color:#7786a5;font-size:12px;font-weight:750;transition:transform .25s ease,color .25s ease}
.case-actions .case-main-link{color:#79a8ff;font-size:13px}
.case-actions a:hover{color:#fff;transform:translateX(3px)}

.case-page .site-header .main-nav a.is-active:after{display:none}
.case-hero{padding:68px 0 54px;position:relative}
.case-breadcrumb{display:flex;gap:8px;align-items:center;color:#71809b;font-size:12px;margin-bottom:22px}
.case-breadcrumb a{color:#9cafcf}.case-breadcrumb a:hover{color:#fff}.case-breadcrumb span{opacity:.55}
.case-hero-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:66px;align-items:center}
.case-hero-copy h1{font-size:clamp(46px,5.5vw,78px);line-height:.99;letter-spacing:-.048em;margin:0 0 23px;max-width:760px}
.case-hero-copy h1 span{background:linear-gradient(90deg,#27a9ff,#7562ff 48%,#cf49ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.case-hero-copy .case-summary{font-size:17px;color:#b1bacd;max-width:680px;margin:0 0 29px}
.case-meta{display:flex;gap:20px;flex-wrap:wrap;margin-top:24px;padding-top:22px;border-top:1px solid rgba(255,255,255,.08)}
.case-meta div{min-width:135px}.case-meta small{display:block;text-transform:uppercase;letter-spacing:.13em;color:#66748e;font-size:9px;margin-bottom:5px}.case-meta strong{display:block;font-size:12px;color:#d8ddea}
.case-showcase{position:relative;min-height:460px}
.case-showcase .case-preview{position:absolute;inset:20px 0 20px 5%;height:auto;min-height:420px;border-radius:24px;border:1px solid rgba(127,92,255,.42);box-shadow:0 36px 90px rgba(0,0,0,.42),0 0 60px rgba(84,64,255,.12);overflow:hidden}
.case-showcase:before{content:"";position:absolute;inset:10% -4% 2% 12%;background:radial-gradient(circle at 50% 50%,rgba(66,91,255,.22),transparent 54%);filter:blur(26px);pointer-events:none}
.case-showcase .case-stage{min-height:396px;padding:74px 48px 40px;display:flex;flex-direction:column;justify-content:center}
.case-showcase .case-stage strong{font-size:clamp(26px,3vw,42px)}
.case-showcase .case-stage p{font-size:clamp(25px,3vw,45px);max-width:620px;line-height:1.02}
.case-showcase .case-browser{height:32px}

.case-story{padding:78px 0;border-top:1px solid rgba(255,255,255,.07)}
.case-story-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:86px;align-items:start}
.case-story-label{position:sticky;top:120px}
.case-story-label h2{font-size:clamp(31px,3.3vw,48px);line-height:1.06;letter-spacing:-.035em;margin:0 0 15px}
.case-story-label p{color:#8994a9;max-width:390px;margin:0}
.case-story-body{display:grid;gap:44px}
.case-story-block{padding-bottom:37px;border-bottom:1px solid rgba(255,255,255,.08)}
.case-story-block:last-child{border-bottom:0;padding-bottom:0}
.case-story-block small{display:block;color:#5d9bff;text-transform:uppercase;letter-spacing:.15em;font-size:10px;font-weight:800;margin-bottom:10px}
.case-story-block h3{font-size:clamp(24px,2.35vw,34px);letter-spacing:-.025em;margin:0 0 12px;line-height:1.1}
.case-story-block p{color:#aeb6c8;font-size:15px;margin:0;max-width:780px}

.case-flow{padding:72px 0;background:linear-gradient(180deg,rgba(16,21,43,.34),rgba(7,9,20,.12));border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}
.case-flow-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:37px}
.case-flow-head h2{font-size:clamp(30px,3.2vw,46px);letter-spacing:-.035em;margin:0;max-width:650px;line-height:1.06}
.case-flow-head p{color:#929caf;max-width:480px;margin:0}
.case-flow-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(103,101,255,.34)}
.case-flow-list li{padding:25px 25px 5px 0;position:relative}
.case-flow-list li:before{content:"";position:absolute;top:-4px;left:0;width:7px;height:7px;border-radius:50%;background:#6e65ff;box-shadow:0 0 18px rgba(85,98,255,.65)}
.case-flow-list span{display:block;color:#6d86c5;font-size:10px;font-weight:850;letter-spacing:.12em;margin-bottom:11px}
.case-flow-list strong{font-size:17px;display:block;margin-bottom:7px}.case-flow-list p{font-size:12px;color:#8e98ab;margin:0;max-width:230px}

.case-deliveries{padding:78px 0}
.case-deliveries-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:76px}
.case-deliveries h2{font-size:clamp(31px,3.2vw,47px);line-height:1.06;letter-spacing:-.035em;margin:0 0 14px}
.case-deliveries .lead{color:#929caf;max-width:510px;margin:0}
.case-delivery-list{margin:0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.09)}
.case-delivery-list li{display:grid;grid-template-columns:36px 1fr;gap:16px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.08);color:#c7cedd;font-size:14px}
.case-delivery-list span{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;border:1px solid rgba(102,105,255,.42);color:#7eaaff;font-size:12px}

.case-proof{padding:0 0 76px}
.case-proof-panel{border:1px solid rgba(112,82,242,.42);border-radius:24px;padding:34px;background:linear-gradient(110deg,rgba(11,25,58,.88),rgba(25,18,72,.8),rgba(46,18,91,.75));display:grid;grid-template-columns:1fr .72fr;gap:55px;align-items:center;overflow:hidden;position:relative}
.case-proof-panel:after{content:"";position:absolute;width:330px;height:330px;border-radius:50%;right:-120px;top:-170px;background:radial-gradient(circle,rgba(89,80,255,.25),transparent 68%)}
.case-proof-panel h2{font-size:clamp(29px,3vw,43px);line-height:1.05;letter-spacing:-.035em;margin:0 0 12px;position:relative;z-index:1}.case-proof-panel p{margin:0;color:#b2bbcf;max-width:720px;position:relative;z-index:1}
.case-proof-actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap;position:relative;z-index:1}

.case-next{padding:0 0 72px}.case-next-inner{display:flex;justify-content:space-between;align-items:center;gap:35px;border-top:1px solid rgba(255,255,255,.08);padding-top:30px}.case-next small{color:#6f7d96;text-transform:uppercase;letter-spacing:.14em;font-size:9px}.case-next strong{display:block;margin-top:5px;font-size:18px}.case-next a{color:#82aaff;font-weight:750;font-size:13px}

@media(max-width:1050px){
 .case-hero-grid,.case-story-grid,.case-deliveries-grid{grid-template-columns:1fr;gap:42px}.case-showcase{min-height:410px;max-width:850px}.case-showcase .case-preview{inset:0;min-height:390px}.case-story-label{position:static}.case-flow-list{grid-template-columns:1fr 1fr;row-gap:18px}.case-proof-panel{grid-template-columns:1fr}.case-proof-actions{justify-content:flex-start}
}
@media(max-width:780px){
 .case-hero{padding-top:46px}.case-hero-grid{gap:30px}.case-hero-copy h1{font-size:clamp(42px,12vw,62px)}.case-showcase{min-height:330px}.case-showcase .case-preview{min-height:310px}.case-showcase .case-stage{min-height:286px;padding:56px 25px 25px}.case-story,.case-flow,.case-deliveries{padding:60px 0}.case-flow-head{display:block}.case-flow-head p{margin-top:12px}.case-flow-list{grid-template-columns:1fr}.case-deliveries-grid{gap:32px}.case-proof-panel{padding:26px}.case-proof-actions .btn{width:100%}.case-next-inner{align-items:flex-start;flex-direction:column;gap:14px}.case-meta{gap:14px}.case-meta div{min-width:105px}.case-actions{justify-content:flex-start;align-items:flex-start;margin-top:8px}
}


/* RC03.6 — identidade oficial e iconografia premium */
.brand{gap:0}.brand-logo{display:block;width:232px;height:auto;max-height:58px;object-fit:contain;object-position:left center;filter:drop-shadow(0 0 14px rgba(66,115,255,.12));transition:transform .3s ease,filter .3s ease}.brand:hover .brand-logo{transform:translateY(-1px);filter:drop-shadow(0 0 18px rgba(74,115,255,.22))}.brand--footer .brand-logo{width:220px;max-height:none}.brand-mark,.brand-copy{display:none!important}
.icon-svg{display:block;width:100%;height:100%;overflow:visible}.proof-icon{border:0!important;border-radius:0!important;padding:3px;color:#b84fff;background:transparent;box-shadow:none!important}.proof-icon .icon-svg{filter:drop-shadow(0 0 7px rgba(174,69,255,.34))}.proof-item:hover .proof-icon{color:#6bb4ff;transform:translateY(-3px) rotate(-3deg) scale(1.07)!important}.proof-item:hover .proof-icon .icon-svg{filter:drop-shadow(0 0 10px rgba(84,145,255,.48))}
.service-icon{border:0!important;border-radius:0!important;background:transparent!important;padding:3px;color:#a84cff!important;box-shadow:none!important;width:54px;height:54px}.service-icon .icon-svg{filter:drop-shadow(0 0 7px rgba(173,70,255,.32));transition:filter .35s ease}.service-card--web .service-icon{color:#5d9dff!important}.service-card:hover .service-icon{transform:translateY(-4px) rotate(-3deg) scale(1.04)!important}.service-card:hover .service-icon .icon-svg{filter:drop-shadow(0 0 12px rgba(103,112,255,.52))}
.contact-icon{padding:18px;color:#fff}.contact-icon .icon-svg{filter:drop-shadow(0 0 10px rgba(90,104,255,.46))}.floating-whatsapp{padding:14px}.floating-whatsapp .icon-svg{filter:drop-shadow(0 0 5px rgba(255,255,255,.32))}
@media(max-width:1050px){.brand-logo{width:205px}.brand--footer .brand-logo{width:205px}}
@media(max-width:780px){.brand-logo{width:182px;max-height:50px}.header-inner{gap:14px}.brand--footer .brand-logo{width:205px}}
@media(max-width:520px){.brand-logo{width:158px;max-height:44px}.brand--footer .brand-logo{width:190px}.proof-icon{width:40px;height:40px}.service-icon{width:50px;height:50px}}

/* RC03.7 — nova identidade FS + confiança de mercado + IA/BPMN */
.brand-logo{height:58px;width:auto;max-width:310px;max-height:none;object-fit:contain;object-position:left center;filter:drop-shadow(0 0 14px rgba(66,115,255,.16))}
.brand--footer .brand-logo{height:66px;width:auto;max-width:330px}

.case-client-logo{display:block;object-fit:contain;object-position:left center;margin-bottom:12px;filter:brightness(0) invert(1);opacity:.96}
.case-client-logo--arisu{width:156px;height:52px}
.case-client-logo--criad{width:94px;height:70px;object-position:left top;margin-top:-12px;margin-bottom:-1px}

.client-trust{padding:56px 0 64px;border-top:1px solid rgba(255,255,255,.065);border-bottom:1px solid rgba(255,255,255,.065);background:linear-gradient(180deg,rgba(5,8,19,.42),rgba(8,11,25,.72))}
.client-trust-head{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:end;margin-bottom:28px}
.client-trust-head h2{font-size:clamp(27px,3vw,42px);letter-spacing:-.033em;line-height:1.08;margin:0;max-width:720px}
.client-trust-head>p{margin:0;color:#8f99ad;font-size:14px;max-width:540px}
.client-marquee{position:relative;overflow:hidden;padding:12px 0;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.client-track{display:flex;width:max-content;gap:0;animation:clientRail 24s linear infinite;will-change:transform}
.client-logo-item{width:310px;height:110px;display:grid;place-items:center;padding:20px 42px;position:relative}
.client-logo-item:after{content:"";position:absolute;right:0;top:28%;bottom:28%;width:1px;background:linear-gradient(transparent,rgba(255,255,255,.14),transparent)}
.client-logo-item img{display:block;max-width:220px;max-height:66px;width:auto;height:auto;object-fit:contain;filter:grayscale(1) brightness(0) invert(1);opacity:.58;transition:opacity .28s ease,transform .28s ease,filter .28s ease}
.client-logo-item:hover img{opacity:1;transform:scale(1.04);filter:grayscale(0) brightness(1.02)}
.client-marquee:hover .client-track{animation-play-state:paused}
@keyframes clientRail{to{transform:translateX(-50%)}}

.credentials p:nth-last-child(2){border-left:2px solid rgba(75,139,255,.58);padding-left:14px}

@media(max-width:1050px){
  .brand-logo{height:52px;max-width:270px}.brand--footer .brand-logo{height:60px;max-width:290px}
  .client-trust-head{grid-template-columns:1fr;gap:14px}.client-logo-item{width:270px;height:96px;padding:18px 34px}.client-logo-item img{max-width:190px;max-height:58px}
}
@media(max-width:780px){
  .brand-logo{height:47px;max-width:235px}.brand--footer .brand-logo{height:58px;max-width:270px}
  .client-trust{padding:44px 0 50px}.client-trust-head{margin-bottom:20px}.client-logo-item{width:230px;height:88px;padding:16px 28px}.client-logo-item img{max-width:165px;max-height:50px}
  .case-client-logo--arisu{width:132px;height:44px}.case-client-logo--criad{width:80px;height:60px}
}
@media(max-width:520px){
  .brand-logo{height:43px;max-width:210px}.brand--footer .brand-logo{height:54px;max-width:250px}
  .client-logo-item{width:200px;height:82px;padding:14px 24px}.client-logo-item img{max-width:145px;max-height:46px}
}
@media(prefers-reduced-motion:reduce){.client-track{animation:none}.client-marquee{overflow-x:auto;mask-image:none;-webkit-mask-image:none}.client-logo-item[aria-hidden="true"]{display:none}}


/* =========================================================
   RC03.9 — RESPONSIVIDADE & EQUILÍBRIO VISUAL
   Revisão cross-device: 320px → ultrawide, touch e short viewports.
   ========================================================= */
html,body{max-width:100%;overflow-x:clip}
body{min-width:280px}
img,svg{max-width:100%}
section[id],header[id]{scroll-margin-top:96px}
.container{width:min(var(--max),calc(100% - clamp(28px,4vw,56px)))}
.section{padding-block:clamp(62px,6.2vw,88px)}
.section-heading h2,.authority-copy h2,.case-hero-copy h1,.case-flow-head h2,.case-deliveries h2,.case-proof-panel h2{text-wrap:balance}
.section-heading>p:last-child,.hero-lead,.authority-copy>p:not(.eyebrow),.cases-intro,.contact-copy p{text-wrap:pretty}

/* Header: logo oficial com recorte otimizado, melhor presença sem aumentar a altura. */
.header-inner{height:78px;gap:clamp(18px,2.3vw,32px)}
.brand{min-width:0;flex:0 1 auto}
.brand-logo{display:block;width:clamp(190px,17vw,228px);height:auto;max-width:100%;max-height:52px;object-fit:contain;object-position:left center}
.brand--footer .brand-logo{width:clamp(200px,19vw,250px);height:auto;max-height:58px}
.main-nav{gap:clamp(17px,2vw,28px)}
.main-nav a{font-size:13px;padding:27px 0}
.btn--header{min-height:48px;padding-inline:20px;white-space:nowrap}
.menu-toggle{width:44px;height:44px;border-radius:10px;flex:0 0 auto}
.menu-toggle:focus-visible,.btn:focus-visible,.main-nav a:focus-visible,.service-card a:focus-visible,.case-actions a:focus-visible,.footer-grid a:focus-visible{outline:2px solid #73a7ff;outline-offset:4px}

/* Hero: mantém impacto, mas cabe melhor no primeiro viewport de notebooks/desktops. */
.hero{padding-top:clamp(48px,5vw,68px);padding-bottom:46px}
.hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(28px,4vw,52px);align-items:center}
.hero-copy{min-width:0}
.hero h1{font-size:clamp(44px,4.35vw,62px);line-height:1.035;max-width:720px;margin-bottom:22px;text-wrap:balance}
.hero-lead{font-size:clamp(15px,1.25vw,17px);max-width:680px}
.hero-visual{min-width:0;min-height:450px;overflow:clip;overflow-clip-margin:24px}
.orbit--one{width:min(510px,92%);height:250px;right:0;top:84px}
.orbit--two{width:min(430px,80%);height:215px;right:7%;top:122px}
.device--laptop{width:80%;height:315px;top:84px}
.device--tablet{width:43%;height:250px;top:42px}
.device--phone{width:24%;height:270px;right:0;bottom:7px}
.dashboard{padding:17px}.chart-panel{height:128px}.kpi-row{margin:16px 0}

/* Cards e texto: protege contra estouro em traduções, zoom e telas estreitas. */
.service-card,.case-card,.proof-item,.contact-panel,.profile-signature{min-width:0}
.service-card p,.case-content p,.proof-item small,.career-item p,.credentials p,.footer-grid a,.footer-grid span,.contact-links a{overflow-wrap:anywhere}
.service-card{min-height:265px}
.case-content{align-items:flex-start}
.case-actions{align-self:stretch}

/* Clientes: a faixa nunca aumenta a largura útil da página. */
.client-trust,.client-marquee{max-width:100%;overflow:hidden}
.client-marquee{contain:inline-size}
.client-track{max-width:none}

/* WhatsApp: preserva CTA principal no primeiro viewport em touch. */
.floating-whatsapp{right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom))}

/* Laptops menores e tablets landscape: hero ainda em duas colunas. */
@media (min-width:961px) and (max-width:1100px){
  .hero-grid{grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:26px}
  .hero h1{font-size:clamp(43px,4.55vw,50px);max-width:580px}
  .hero-visual{min-height:410px;max-width:none;margin:0}
  .device--laptop{height:285px;top:78px}.device--tablet{height:225px;top:43px}.device--phone{height:238px}
}

/* Tablet portrait e navegação compacta. */
@media (max-width:900px){
  .header-inner{height:72px}
  .brand-logo{width:clamp(150px,29vw,190px);max-height:48px}
  .menu-toggle{display:block;margin-left:auto}
  .main-nav{position:absolute;top:72px;left:clamp(14px,3vw,24px);right:clamp(14px,3vw,24px);display:none;flex-direction:column;align-items:stretch;gap:0;background:rgba(8,12,27,.98);border:1px solid rgba(120,105,255,.24);border-radius:16px;padding:10px 18px 14px;box-shadow:0 22px 70px rgba(0,0,0,.5);max-height:calc(100dvh - 90px);overflow-y:auto}
  .main-nav.open{display:flex}
  .main-nav a{min-height:46px;display:flex;align-items:center;padding:10px 0;font-size:14px}
  .main-nav a.is-active:after,.main-nav a:not(.is-active):after{bottom:5px}
  .btn--header{display:none}
  .hero-grid{grid-template-columns:1fr;gap:30px}
  .hero-copy{max-width:780px}
  .hero h1{font-size:clamp(42px,7vw,54px);max-width:780px}
  .hero-visual{min-height:390px;max-width:720px;width:100%;margin:0 auto}
  .device--laptop{width:82%;height:280px;top:72px}.device--tablet{height:225px;top:35px}.device--phone{height:235px;right:1%}
  .proof-grid{grid-template-columns:1fr 1fr}
  .proof-item:nth-child(2){border-right:0}.proof-item:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.08)}
  .proof-item:nth-child(3){border-bottom:0!important}
  .services-grid{grid-template-columns:1fr 1fr}
  .method-line{grid-template-columns:1fr 1fr;gap:30px}.method-line:before,.method-line:after{display:none}.method-line li:last-child{grid-column:1/-1;max-width:420px;justify-self:center}
  .footer-grid{grid-template-columns:1fr 1fr}
  .floating-whatsapp{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px) scale(.95);transition:opacity .25s ease,visibility .25s ease,transform .25s ease,box-shadow .3s ease}
  .floating-whatsapp.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:none}
  .services,.cases,.method,.contact,.site-footer,.authority{content-visibility:visible;contain-intrinsic-size:none}
}

@media (max-width:640px){
  .container{width:calc(100% - 28px)}
  .section{padding-block:58px}
  .hero{padding-top:42px;padding-bottom:36px}
  .hero h1{font-size:clamp(38px,11.2vw,48px);line-height:1.035;letter-spacing:-.04em}
  .hero-lead{font-size:15px;line-height:1.62}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:11px}
  .hero-actions .btn{width:100%}
  .hero-visual{min-height:300px;overflow:clip}
  .orbit--one{width:100%;height:175px;right:0;top:60px}.orbit--two{width:82%;height:150px;right:7%;top:82px}
  .device--laptop{width:84%;height:218px;top:54px;left:0}.device--tablet{width:43%;height:180px;top:26px;right:0}.device--phone{width:25%;height:188px;right:0;bottom:2px}
  .dashboard{padding:11px}.dash-head strong{font-size:12px}.dash-head small,.mini-ui small,.phone-ui small{font-size:8px}.dash-status{font-size:7px}.kpi-row{margin:9px 0;gap:5px}.kpi-row div{padding:7px}.kpi-row b{font-size:13px}.kpi-row em,.kpi-row small{font-size:7px}.kpi-row div:nth-child(3){display:none}.kpi-row{grid-template-columns:1fr 1fr}.chart-panel{height:76px}.mini-panels{margin-top:6px}.mini-panels span{height:13px}
  .mini-ui{padding:12px}.mini-ui strong{font-size:13px;margin:6px 0 10px}.ui-lines{gap:5px}.mini-ui button{margin-top:12px;padding:6px 8px;font-size:8px}.phone-ui{padding:10px 6px}.ring{width:58px;height:58px;margin:10px auto 12px}.phone-row{font-size:7px;padding:6px 0}
  .proof-grid{grid-template-columns:1fr}.proof-item{padding:17px 18px;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.08)!important}.proof-item:last-child{border-bottom:0!important}
  .services-grid{grid-template-columns:1fr}.service-card{min-height:0;padding:23px}
  .section-heading{text-align:left;margin:0 0 30px}.section-heading--row{grid-template-columns:1fr;gap:10px}.section-heading h2{font-size:clamp(30px,9vw,40px)}
  .cases-grid{grid-template-columns:1fr}.case-preview{height:230px}.case-content{flex-direction:column;padding:20px}.case-actions{justify-content:flex-start;align-items:flex-start;margin-top:4px}
  .method-line{grid-template-columns:1fr;gap:25px}.method-line li:last-child{grid-column:auto;max-width:none}
  .authority{padding-top:48px;padding-bottom:58px}.authority-grid{gap:32px}.authority-actions{display:grid}.authority-actions .btn{width:100%}.credentials{margin-left:0}.career-path:before{left:20px}
  .profile-signature{align-items:flex-start;padding:13px}.profile-signature img{width:66px;height:66px}
  .contact-panel{grid-template-columns:1fr;text-align:left;padding:24px 20px;gap:20px}.contact-icon{width:62px;height:62px}.contact-action{grid-column:auto;padding:18px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.12)}.contact-action strong{font-size:clamp(25px,8vw,30px)}.contact-links{justify-content:flex-start;flex-direction:column;align-items:flex-start}
  .footer-grid{grid-template-columns:1fr;gap:28px}.footer-bottom{flex-direction:column;gap:7px}.brand--footer .brand-logo{width:min(235px,78vw);max-height:54px}
  .client-trust{padding:44px 0 48px}.client-trust-head{grid-template-columns:1fr;gap:12px;margin-bottom:20px}.client-trust-head h2{font-size:clamp(27px,8vw,36px)}
  .client-marquee{mask-image:none;-webkit-mask-image:none;padding:0 14px}.client-track{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));animation:none!important;gap:10px}.client-logo-item{width:auto;height:92px;padding:14px;border:1px solid rgba(255,255,255,.07);border-radius:14px;background:rgba(255,255,255,.018)}.client-logo-item:after{display:none}.client-logo-item[aria-hidden="true"]{display:none}.client-logo-item img{max-width:100%;max-height:54px;opacity:.78}
  .case-client-logo--arisu{width:125px;height:42px}.case-client-logo--criad{width:74px;height:56px}
  .floating-whatsapp{width:50px;height:50px;padding:13px;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom))}
}

@media (max-width:390px){
  .brand-logo{width:136px;max-height:42px}
  .hero h1{font-size:clamp(36px,10.7vw,42px)}
  .hero-visual{min-height:280px}.device--laptop{height:202px}.device--tablet{height:165px}.device--phone{height:173px}
  .eyebrow{font-size:10px;letter-spacing:.13em}
  .btn{min-height:48px;padding-inline:17px}
  .client-track{grid-template-columns:1fr}.client-logo-item{height:84px}.client-logo-item img{max-width:190px}
}

/* Pequenas telas com pouca altura: reduz o hero sem esconder informação. */
@media (min-width:901px) and (max-height:780px){
  .hero{padding-top:42px;padding-bottom:38px}.hero h1{font-size:clamp(42px,4vw,55px)}.hero-lead{font-size:15px;margin-bottom:23px}.hero-visual{min-height:400px}.device--laptop{height:285px;top:72px}.device--tablet{height:225px;top:36px}.device--phone{height:238px}
}

@media (min-width:1600px){
  :root{--max:1320px}
  .hero-grid{gap:58px}.hero h1{max-width:760px}.hero-visual{min-height:470px}
}

@media (prefers-reduced-motion:reduce){
  .floating-whatsapp{transition:none}
}

/* =========================================================
   RC03.10 — TRANSIÇÕES ENTRE SEÇÕES + DEPOIMENTOS
   Incremental: não altera grid, conteúdo-base ou identidade.
   ========================================================= */
.scroll-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;overflow:hidden;pointer-events:none;z-index:2}
.scroll-progress span{display:block;width:100%;height:100%;transform:scaleX(var(--scroll-progress,0));transform-origin:left center;background:linear-gradient(90deg,var(--cyan),var(--blue) 46%,var(--violet),var(--pink));box-shadow:0 0 12px rgba(76,102,255,.48);transition:transform .08s linear}

.flow-section{position:relative;isolation:isolate;overflow:clip}
.flow-section::before,.flow-section::after{content:"";position:absolute;left:50%;width:min(1120px,86vw);height:170px;transform:translateX(-50%);pointer-events:none;z-index:-1;opacity:0;transition:opacity .75s cubic-bezier(.2,.75,.2,1),transform .75s cubic-bezier(.2,.75,.2,1)}
.flow-section::before{top:-84px;background:radial-gradient(ellipse at center,rgba(47,124,255,.11),transparent 68%);transform:translateX(-50%) translateY(14px)}
.flow-section::after{bottom:-86px;background:radial-gradient(ellipse at center,rgba(146,84,255,.09),transparent 70%);transform:translateX(-50%) translateY(-12px)}
.flow-section[data-flow-tone="violet"]::before{background:radial-gradient(ellipse at center,rgba(146,84,255,.105),transparent 68%)}
.flow-section[data-flow-tone="violet"]::after{background:radial-gradient(ellipse at center,rgba(207,69,255,.075),transparent 70%)}
.flow-section.section-focus::before,.flow-section.section-focus::after{opacity:1;transform:translateX(-50%) translateY(0)}

.flow-section>.container{position:relative}
.flow-section>.container::before{content:"";position:absolute;top:-1px;left:50%;width:min(220px,42vw);height:1px;transform:translateX(-50%) scaleX(0);transform-origin:center;background:linear-gradient(90deg,transparent,var(--blue),var(--violet),transparent);opacity:.75;transition:transform .72s cubic-bezier(.2,.75,.2,1) .08s}
.flow-section.section-focus>.container::before{transform:translateX(-50%) scaleX(1)}
.client-trust.flow-section>.container::before{top:0}

.section-heading h2,.client-trust-head h2{transition:transform .55s cubic-bezier(.2,.75,.2,1),filter .55s ease}
.flow-section.section-focus .section-heading h2,.flow-section.section-focus .client-trust-head h2{transform:translateY(-2px);filter:drop-shadow(0 10px 30px rgba(69,76,255,.08))}

/* Depoimentos: o bloco existe na baseline, mas fica oculto até receber conteúdo real/autorizado. */
.testimonials{padding-top:72px;padding-bottom:78px}
.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.testimonial-card{min-height:260px;padding:28px;border:1px solid rgba(125,98,255,.30);border-radius:20px;background:linear-gradient(155deg,rgba(15,21,43,.90),rgba(7,10,23,.90));position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
.testimonial-card::after{content:"";position:absolute;right:-90px;top:-110px;width:230px;height:230px;border-radius:50%;background:radial-gradient(circle,rgba(93,75,255,.14),transparent 68%);pointer-events:none}
.testimonial-mark{font-family:Georgia,serif;font-size:58px;line-height:.7;color:#7d6cff;opacity:.82;margin-bottom:20px}
.testimonial-card blockquote{margin:0;color:#d4d9e7;font-size:17px;line-height:1.55;letter-spacing:-.01em;position:relative;z-index:1}
.testimonial-card footer{margin-top:28px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:3px;position:relative;z-index:1}
.testimonial-card footer strong{font-size:13px}
.testimonial-card footer span{font-size:11px;color:#7e899f}

@media(max-width:900px){
  .flow-section::before,.flow-section::after{width:92vw;height:130px;opacity:0}
  .testimonials-grid{grid-template-columns:1fr 1fr}
  .testimonial-card:last-child{grid-column:1/-1}
  .scroll-progress span{transition:none}
}
@media(max-width:620px){
  .flow-section::before,.flow-section::after{height:105px;filter:none}
  .flow-section>.container::before{width:130px}
  .testimonials{padding-top:56px;padding-bottom:60px}
  .testimonials-grid{grid-template-columns:1fr}
  .testimonial-card:last-child{grid-column:auto}
  .testimonial-card{min-height:220px;padding:23px}
}
@media(prefers-reduced-motion:reduce){
  .scroll-progress span{transition:none}
  .flow-section::before,.flow-section::after,.flow-section>.container::before,.section-heading h2,.client-trust-head h2{transition:none!important;transform:none!important}
  .flow-section::before,.flow-section::after{left:0;right:0;width:auto;opacity:.6!important}
  .flow-section>.container::before{left:50%;transform:translateX(-50%) scaleX(1)!important}
}

/* RC03.12 — depoimentos de clientes */
.testimonials-grid--two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:980px;margin-inline:auto}
.testimonial-card--brand{min-height:300px}
.testimonial-brand{height:48px;display:flex;align-items:center;margin-bottom:10px;position:relative;z-index:1}
.testimonial-brand img{display:block;max-height:44px;max-width:180px;width:auto;object-fit:contain;filter:grayscale(1) brightness(1.65);opacity:.92}
.testimonial-card--brand:nth-child(2) .testimonial-brand img{filter:none;opacity:1;max-height:46px}
@media (max-width:760px){.testimonials-grid--two{grid-template-columns:1fr}.testimonial-card--brand{min-height:0}.testimonial-brand{height:42px}.testimonial-brand img{max-height:38px;max-width:160px}}

/* RC03.13 — clareza comercial: ênfase incremental no serviço principal */
.service-card--web{isolation:isolate}
.service-card--web::after{opacity:.38;background:radial-gradient(circle at 50% 120%,rgba(50,117,255,.28),transparent 66%)}
.service-card--web::before{opacity:.28;background:linear-gradient(90deg,#2b9dff,#725cff 55%,#be42ff);height:2px;inset:0 22px auto 22px;border-radius:0 0 3px 3px}
.service-card--web:hover::before{opacity:.9}
@media(max-width:900px){.service-card--web::before{inset:0 18px auto 18px}}


/* =========================================================
   RC03.15 — CLIENTES / MARCAS: FAIXA COMPACTA
   Incremental: somente a seção client-trust.
   Referência de UX: logos em faixa horizontal contínua,
   sem cards empilhados no mobile.
   ========================================================= */
.client-trust{
  padding:48px 0 52px;
}
.client-trust-head{
  margin-bottom:22px;
}
.client-marquee{
  padding:6px 0;
  contain:layout paint;
}
.client-track{
  display:flex;
  width:max-content;
  gap:0;
  animation:clientRailCompact 26s linear infinite;
  will-change:transform;
}
.client-logo-item{
  width:270px;
  height:88px;
  padding:14px 34px;
  border:0;
  border-radius:0;
  background:transparent;
}
.client-logo-item img{
  max-width:188px;
  max-height:54px;
}
@keyframes clientRailCompact{
  to{transform:translate3d(-50%,0,0)}
}

@media (max-width:900px){
  .client-trust{padding:40px 0 42px}
  .client-trust-head{gap:9px;margin-bottom:15px}
  .client-trust-head>p{max-width:62ch;font-size:13px;line-height:1.55}
  .client-marquee{
    padding:2px 0;
    mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
  }
  .client-track{
    width:max-content;
    display:flex;
    grid-template-columns:none;
    gap:0;
    animation:clientRailCompact 24s linear infinite!important;
  }
  .client-logo-item{
    width:205px;
    height:68px;
    padding:9px 26px;
    border:0;
    border-radius:0;
    background:transparent;
  }
  .client-logo-item:after{display:block;top:24%;bottom:24%;opacity:.75}
  .client-logo-item[aria-hidden="true"]{display:grid}
  .client-logo-item img{max-width:154px;max-height:42px;opacity:.66}
}

@media (max-width:520px){
  .client-trust{padding:34px 0 36px}
  .client-trust-head{margin-bottom:12px}
  .client-trust-head h2{font-size:clamp(25px,7.2vw,31px);line-height:1.1;max-width:18ch}
  .client-trust-head>p{font-size:12.25px;line-height:1.5;max-width:36ch}
  .client-marquee{padding:0}
  .client-track{animation-duration:22s!important}
  .client-logo-item{
    width:158px;
    height:58px;
    padding:7px 18px;
  }
  .client-logo-item img{max-width:122px;max-height:36px;opacity:.7}
}

@media (max-width:390px){
  .client-track{grid-template-columns:none}
  .client-logo-item{width:148px;height:56px;padding:7px 16px}
  .client-logo-item img{max-width:114px;max-height:34px}
}

@media (hover:hover) and (pointer:fine){
  .client-marquee:hover .client-track{animation-play-state:paused}
}

@media (prefers-reduced-motion:reduce){
  .client-marquee{overflow-x:auto;scrollbar-width:none;mask-image:none;-webkit-mask-image:none}
  .client-marquee::-webkit-scrollbar{display:none}
  .client-track{animation:none!important;transform:none!important}
  .client-logo-item[aria-hidden="true"]{display:none}
}
