/* Grupo Eras — atmosfera e movimento, sem bibliotecas. */
:root { --electric:#b97bff; --lavender:#d9baff; }

/* Luzes, órbitas e trilhas ficam atrás do conteúdo e não capturam cliques. */
.hero { background:radial-gradient(ellipse at 80% 35%,#291348,transparent 65%),#100b1c; }
.hero:before { inset:0; width:auto; height:auto; z-index:0; background:radial-gradient(420px circle at var(--ambient-x,72%) var(--ambient-y,40%),#b573ed26,transparent 75%); animation:hero-aura 12s ease-in-out infinite alternate; pointer-events:none; }
.hero:after { z-index:1; opacity:1; background:linear-gradient(90deg,#100b1c80,transparent 58%),linear-gradient(0deg,#100b1c,transparent 22%,transparent 80%,#100b1c50); mask-image:none; pointer-events:none; }
.hero-inner,.hero-bottom { position:relative; z-index:2; }
.hero-atmosphere { position:absolute; inset:0; z-index:0; pointer-events:none; overflow:hidden; }
.hero-ambient-layer { position:absolute; inset:-3%; transform:translate3d(var(--ambient-dx,0px),var(--ambient-dy,0px),0); transition:transform 1.6s ease-out; }
.hero-aurora { position:absolute; border-radius:50%; filter:blur(38px); mix-blend-mode:screen; animation:aurora-flow 14s ease-in-out infinite alternate; }
.aurora-violet { width:70%; height:100%; left:38%; top:-18%; background:radial-gradient(ellipse,#803ddc88 0%,#6429b34d 32%,transparent 68%); transform:rotate(-28deg); }
.aurora-blue { width:65%; height:75%; left:17%; top:34%; background:radial-gradient(ellipse,#5543c85c,transparent 65%); animation-name:aurora-cross; animation-duration:18s; animation-delay:-7s; }
.aurora-rose { width:60%; height:85%; right:-20%; top:10%; background:radial-gradient(ellipse,#ad4bb16b,transparent 67%); animation-duration:16s; animation-delay:-8s; }
.hero-perspective-grid { position:absolute; left:0; right:-15%; height:64%; bottom:-36%; background-image:linear-gradient(#b586ec30 1px,transparent 1px),linear-gradient(90deg,#b586ec30 1px,transparent 1px); background-size:75px 75px; transform:perspective(450px) rotateX(52deg) rotateZ(-9deg); mask-image:radial-gradient(ellipse,#000,transparent 70%); animation:grid-flow 18s linear infinite; }
.hero-light-trails { position:absolute; inset:0; width:100%; height:100%; overflow:visible; animation:light-wave 12s ease-in-out infinite alternate; }
.light-trail { fill:none; stroke:url(#hero-trail-gradient); stroke-width:1.3; }
.trail-second { opacity:.5; stroke-width:.8; }.trail-third { opacity:.3; stroke-width:.6; }
.trail-signal { fill:none; stroke:#ddb1ff; stroke-width:2; stroke-linecap:round; stroke-dasharray:12 988; stroke-dashoffset:0; filter:drop-shadow(0 0 5px #bc79ff); animation:trail-travel 12s linear infinite; }
.hero-orbit-lines { position:absolute; width:66%; height:108%; right:-1%; top:-3%; overflow:visible; stroke:url(#hero-orbit-gradient); stroke-width:.85; animation:hero-orbit-sway 16s ease-in-out infinite alternate; }
.orbit-dashed { stroke-dasharray:2 12; opacity:.65; animation:orbit-dash-flow 70s linear infinite; }
.hero-particles { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.hero-particles circle { opacity:.65; animation:particle-rise 8s ease-in-out infinite; filter:drop-shadow(0 0 4px #c297ff); }
.hero-particles circle:nth-child(3n) { animation-delay:-3s; animation-duration:11s; }.hero-particles circle:nth-child(3n + 1) { animation-delay:-5s; animation-duration:9s; }.hero-particles circle:nth-child(4n) { fill:#aa85ff; }
.hero-spark { position:absolute; color:#d8afff; line-height:1; text-shadow:0 0 18px #9e58ea80; animation:hero-spark-turn 24s linear infinite; }
.spark-north { right:8%; top:11%; font-size:29px; }.spark-south { left:48%; bottom:15%; font-size:22px; animation-direction:reverse; }
.hero h1 em { background:linear-gradient(105deg,#ba89ff 10%,#ebcfff 42%,#ba89ff 74%); background-size:210% 100%; background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; animation:hero-title-glow 9s ease-in-out infinite alternate; padding-right:.04em; }
.hero-actions .button { position:relative; overflow:hidden; box-shadow:0 12px 36px #9a4ce733; }
.hero-actions .button:before { content:""; position:absolute; inset:-50% auto -50% -55%; width:35%; background:linear-gradient(90deg,transparent,#fff5,transparent); transform:skewX(-20deg); animation:hero-button-shine 7s ease-in-out infinite; pointer-events:none; }
@keyframes hero-aura { to { opacity:.55; } }
@keyframes aurora-flow { from { transform:translate3d(-2%,-3%,0) rotate(-28deg) scale(.93); opacity:.75; } to { transform:translate3d(8%,9%,0) rotate(-13deg) scale(1.15); opacity:1; } }
@keyframes aurora-cross { from { transform:translate3d(-8%,8%,0) rotate(15deg); opacity:.5; } to { transform:translate3d(12%,-9%,0) rotate(-8deg); opacity:1; } }
@keyframes grid-flow { to { background-position:0 75px; } }
@keyframes light-wave { to { transform:translate3d(0,-3%,0) scaleY(1.06); } }
@keyframes trail-travel { to { stroke-dashoffset:-1000; } }
@keyframes hero-orbit-sway { to { transform:rotate(12deg) scale(1.04); } }
@keyframes orbit-dash-flow { to { stroke-dashoffset:-280; } }
@keyframes particle-rise { 0%,100% { opacity:.2; transform:translate(0,8px); } 50% { opacity:.85; transform:translate(9px,-18px); } }
@keyframes hero-spark-turn { to { transform:rotate(360deg); } }
@keyframes hero-title-glow { to { background-position:100% 50%; } }
@keyframes hero-button-shine { 0%,65%,100% { left:-55%; } 85% { left:130%; } }

/* Abas, relógio da apresentação e transições sem alterar a altura da seção. */
.solutions .section-heading h2 span { color:#9865c3; }
.solutions-cinema .solution-grid { margin-bottom:0; }
.solutions-cinema .solution-card { position:relative; border-radius:14px; transition:background .35s,border-color .35s,box-shadow .35s; }
.solutions-cinema .solution-card.is-current { background:linear-gradient(120deg,#42245f,#6c3991); border-color:#9e74c4; box-shadow:0 12px 25px #7937a31a; }
.solutions-cinema .solution-card:after { display:block; content:""; position:absolute; bottom:0; left:18px; right:18px; height:3px; border-radius:4px; background:#dcc1ff; transform:scaleX(0); transform-origin:left; }
.solutions-cinema .solution-card.is-current:after { transform:scaleX(var(--service-progress,0)); }
.is-current .service-number { background:#7a4ba170; border-color:#ad83cc; }.is-current .service-toggle .card-index { color:#cfb4e5; }.is-current .service-toggle-mark { color:#ead2ff; }
.service-controls { display:none; justify-content:space-between; align-items:center; gap:20px; padding:18px 3px; }
.services-enhanced .service-controls { display:flex; }
.service-cycle-copy { display:flex; align-items:center; gap:13px; font-size:10px; color:var(--muted); }
.service-counter { font-size:10px; color:var(--purple); letter-spacing:.07em; font-weight:700; }
.service-timeline { width:100px; height:2px; background:#dbcce8; border-radius:4px; overflow:hidden; }.service-timeline>i { display:block; height:100%; background:#9863c6; transform:scaleX(var(--service-progress,0)); transform-origin:left; }
.service-cycle-toggle { display:inline-flex; align-items:center; gap:8px; padding:8px 11px; color:var(--muted); background:var(--white); border:1px solid var(--line); border-radius:6px; font-size:10px; }
.service-cycle-toggle:hover { border-color:#a77cc9; color:var(--purple); }.service-cycle-toggle:disabled { cursor:default; }
.service-cycle-toggle svg { width:13px; height:13px; fill:none; stroke:currentColor; stroke-width:1.5; }.service-cycle-toggle .play-icon { display:none; }
.service-cycle-toggle[aria-pressed="true"] .pause-icon { display:none; }.service-cycle-toggle[aria-pressed="true"] .play-icon { display:block; }
.services-content { border-radius:22px; border-color:#dacbe7; box-shadow:0 22px 60px #4521600c; }
.services-enhanced .service-details { display:grid; align-self:stretch; align-items:center; }
.services-enhanced .solution-detail { grid-area:1/1; animation:detail-arrive .6s cubic-bezier(.2,.65,.3,1) both; }
.services-enhanced .service-details .solution-detail[hidden] { display:block!important; visibility:hidden; pointer-events:none; animation:none; }
.services-enhanced .solution-detail[hidden] li { animation:none; }
.solution-detail>h3>span { color:#9b72b8; }
.solution-detail li { animation:detail-arrive .55s both; }.solution-detail li:nth-child(2) { animation-delay:.09s; }.solution-detail li:nth-child(3) { animation-delay:.18s; }
.showcase-wrap { background:#20122f; padding:22px; }
.service-showcase { background:#170b25; border:1px solid #62347d; color:#f1e2fa; box-shadow:0 15px 40px #0c021433; isolation:isolate; }
.service-showcase:before { content:""; position:absolute; inset:-20%; z-index:-1; background:radial-gradient(ellipse at 80% 65%,#8b2ba83d,transparent 60%),radial-gradient(ellipse at 10% 15%,#7239ba50,transparent 55%); animation:ambient-drift 12s ease-in-out infinite alternate; }
.service-showcase:after { content:""; position:absolute; inset:0; z-index:-1; background-image:radial-gradient(#b27ddd55 .5px,transparent .8px); background-size:23px 23px; opacity:.3; }
.showcase-label { border-color:#9c62bc30; color:#bd91d5; background:#1a0e2980; padding:18px 20px; font-size:8px; }
.services-enhanced .service-showcase { height:520px; min-height:520px; }
.showcase-panel { min-height:460px; animation:scene-arrive .65s cubic-bezier(.2,.65,.3,1) both; }.services-enhanced .showcase-panel { inset:49px 0 0; }
.showcase-panel .demo-browser { top:35px; box-shadow:0 25px 40px #05010c55; animation:site-window-drift 8s ease-in-out infinite; }
.showcase-panel .demo-phone { top:132px; animation:phone-drift 8s -1s ease-in-out infinite; }
.showcase-panel .visual-sculpture { animation:sculpture-drift 8s ease-in-out infinite; }
.showcase-panel .demo-button { animation:preview-button-pulse 8s infinite; }
.showcase-panel .demo-copy>strong { animation:preview-text-arrive 8s infinite; }
.scene-cursor { position:absolute; left:44%; top:270px; z-index:4; width:25px; height:25px; pointer-events:none; animation:scene-cursor-path 8s ease-in-out infinite; }
.scene-cursor svg { width:100%; height:100%; fill:#fff; stroke:#7547a3; stroke-width:1.5; stroke-linejoin:round; }
.showcase-caption { color:#bd95d0; font-size:9px; }.caption-dot { background:#be82ea; box-shadow:0 0 10px #9d53cd; }
.studio-bottom-label { color:#c49ad9; bottom:17px; font-size:10px; }
.booking-example-label { color:#b990d0; font-size:7px; }
.studio-calendar { top:45px; left:27px; right:27px; padding:23px; color:#32203f; animation:calendar-drift 8s ease-in-out infinite; }
.studio-calendar .calendar-brand { padding-bottom:12px; margin-bottom:14px; }
.studio-calendar .calendar-helper { margin-bottom:14px; }
.studio-calendar .studio-calendar-days { margin-bottom:12px; }
.studio-calendar .studio-calendar-confirm { margin-top:14px; }
.studio-calendar-days .selected { animation:day-highlight 8s infinite; }
.studio-calendar-times .studio-time-picked { animation:time-highlight 8s infinite; }
.studio-calendar-confirm { animation:booking-confirm-pulse 8s infinite; }
.booking-toast { position:absolute; z-index:3; right:18px; bottom:57px; display:flex; align-items:center; gap:11px; padding:13px 16px; background:#412050; color:#f4e9fa; border:1px solid #ba7bd6; border-radius:10px; box-shadow:0 12px 25px #08000e50; animation:booking-toast-arrive 8s ease-in-out infinite; }
.booking-toast>span { width:25px; height:25px; border-radius:50%; display:grid; place-items:center; background:#b57bd7; font-size:12px; }.booking-toast strong { font-size:11px; display:block; }.booking-toast small { display:block; font-size:8px; color:#c6a0d8; margin-top:3px; }
.ops-window { position:absolute; top:38px; left:27px; right:27px; border:1px solid #80529c; border-radius:13px; padding:22px; color:#f3e4fb; background:linear-gradient(130deg,#30203f,#21132d); box-shadow:0 22px 40px #06010c55; animation:calendar-drift 8s ease-in-out infinite; }
.ops-topbar { display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #81539155; padding-bottom:16px; gap:10px; }.ops-brand { font-size:22px; color:#c48aef; display:flex; gap:8px; align-items:center; }.ops-brand>b { font-size:11px; color:#d9c0e7; font-weight:700; }.ops-label { color:#ae8cbd; font-size:7px; letter-spacing:.09em; }
.ops-heading { margin:19px 0 16px; }.ops-heading>strong { display:block; font:800 21px/1.2 'Manrope',sans-serif; letter-spacing:-.035em; }.ops-status { display:flex; align-items:center; gap:5px; font-size:8px; color:#b79ac9; margin-top:7px; }.ops-status>i { width:4px; height:4px; background:#bd88e4; border-radius:50%; box-shadow:0 0 8px #aa6bdc; }
.ops-chips { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; }.ops-chips>span { font-size:8px; padding:9px 2px; background:#58346e66; border:1px solid #71478b; color:#d3b0e3; text-align:center; border-radius:5px; }
.ops-chart { position:relative; margin:16px 0 18px; height:83px; background:repeating-linear-gradient(0deg,transparent 0,transparent 25px,#9862b222 26px); border-bottom:1px solid #9b63b642; }
.ops-bars { display:flex; align-items:end; gap:10px; position:absolute; inset:0 0 0; }.ops-bars>i { height:30%; flex:1; background:linear-gradient(#a766d6,#60377e30); border-radius:4px 4px 0 0; transform-origin:bottom; animation:ops-bar-grow 8s infinite; }.ops-bars>i:nth-child(2) { height:42%; animation-delay:.1s; }.ops-bars>i:nth-child(3) { height:36%; animation-delay:.2s; }.ops-bars>i:nth-child(4) { height:58%; animation-delay:.3s; }.ops-bars>i:nth-child(5) { height:52%; animation-delay:.4s; }.ops-bars>i:nth-child(6) { height:68%; animation-delay:.5s; }.ops-bars>i:nth-child(7) { height:82%; animation-delay:.6s; }
.ops-chart>svg { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }.ops-chart path { fill:none; stroke:#e1a1f3; stroke-width:2; stroke-linecap:round; stroke-dasharray:1; stroke-dashoffset:1; animation:ops-line-draw 8s infinite; }.ops-chart>span { position:absolute; bottom:-14px; right:0; color:#9978ae; font-size:6px; }
.ops-task { display:flex; align-items:center; gap:9px; padding:12px 0; border-bottom:1px solid #82529244; }.ops-task>span { display:grid; place-items:center; width:23px; height:23px; background:#653c8066; color:#cca0e8; border-radius:5px; font-size:10px; animation:task-check-pulse 8s infinite; }.ops-task:nth-of-type(6)>span { animation-delay:1.2s; }.ops-task>strong { font-size:9px; font-weight:600; }.ops-task>small { color:#b38ec7; font-size:7px; margin-left:auto; }
.ops-flow { display:flex; align-items:center; gap:6px; margin-top:17px; }.ops-flow>span { color:#d2acdf; font-size:8px; padding:7px 10px; border:1px solid #89609e; border-radius:5px; background:#432750; animation:flow-node-light 8s infinite; }.ops-flow>span:nth-of-type(2) { animation-delay:1.5s; }.ops-flow>span:nth-of-type(3) { animation-delay:3s; }.ops-flow>i { flex:1; height:1px; position:relative; background:#79528e; }.ops-flow>i:after { content:""; position:absolute; width:5px; height:5px; border-radius:50%; top:-2px; background:#e3a1f4; box-shadow:0 0 9px #bf6cea; animation:flow-signal 3s linear infinite; }.ops-flow>i:nth-of-type(2):after { animation-delay:1.5s; }
.showcase-panel .ops-window { height:389px; display:grid; grid-template-rows:33px 47px 29px 72px 36px 36px 30px; gap:7px; padding:19px; align-content:center; }
.ops-window .ops-topbar { padding-bottom:7px; }.ops-window .ops-brand { font-size:18px; }.ops-window .ops-heading { margin:0; align-self:center; }.ops-window .ops-status { margin-top:5px; }
.ops-window .ops-chips>span { padding-block:6px; }.ops-window .ops-chart { height:72px; margin:0; }.ops-window .ops-chart>span { bottom:4px; padding:2px 3px; background:#271531c9; }
.ops-window .ops-task { padding:6px 0; }.ops-window .ops-flow { margin:0; }

/* A assinatura acompanha a rolagem nas duas direções, sem recortar as letras. */
.brand-finale { display:block; font:inherit; letter-spacing:normal; white-space:normal; padding:22px 0 60px; overflow:visible; }
.finale-caption { display:flex; align-items:center; justify-content:center; gap:18px; color:#a37abb; font-size:8px; letter-spacing:.16em; padding:12px 0; }
.finale-caption>i { width:65px; height:1px; background:linear-gradient(90deg,transparent,#c0a0d5); }.finale-caption>i:last-child { transform:rotate(180deg); }
.finale-wordmark { text-align:center; white-space:nowrap; font:800 clamp(50px,12.2vw,174px)/1.38 'Manrope',sans-serif; letter-spacing:-.065em; overflow:visible; }
.finale-wordmark>span { display:inline-block; padding:0 .13em .04em .09em; color:#b287d0; background:linear-gradient(115deg,#9663c3 5%,#cda2f1 35%,#9b62c5 58%,#d9b7f4 78%,#aa7ad0 100%); background-size:230% 100%; background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; animation:title-shimmer 12s ease-in-out infinite alternate; }
.finale-wordmark b { font-weight:800; padding-left:.02em; }
.js .finale-wordmark { opacity:var(--finale-progress,0); transform:translateY(calc((1 - var(--finale-progress,0))*48px)) scale(calc(.94 + var(--finale-progress,0)*.06)); filter:blur(calc((1 - var(--finale-progress,0))*8px)); transform-origin:center; will-change:transform,opacity; }
.js .finale-caption { opacity:var(--finale-progress,0); transform:translateY(calc((1 - var(--finale-progress,0))*15px)); }
.closing { background:#1a0e29; }.closing:before { animation:ambient-drift 13s ease-in-out infinite alternate; opacity:.8; }.closing-project { box-shadow:0 10px 30px #0c031733; }.process-journey .process-item { transition:transform .35s,border-color .35s,box-shadow .35s; }.process-journey .process-item:hover { transform:translateY(-5px); box-shadow:0 18px 30px #653c8a10; }
.case-cover:after { animation:portfolio-light 10s ease-in-out infinite alternate; }
.process-journey .process-item>span { animation:process-step-beat 9s ease-in-out infinite; }
.process-journey .process-item:nth-child(2)>span { animation-delay:3s; }.process-journey .process-item:nth-child(3)>span { animation-delay:6s; }
html[data-theme="dark"] .solutions-cinema .solution-card.is-current { background:linear-gradient(120deg,#4b2b6a,#744394); border-color:#aa7bce; }
html[data-theme="dark"] .showcase-wrap { background:#221431; }.services-content .showcase-wrap .service-showcase { background:#170b25; }
html[data-theme="dark"] .service-counter { color:#c896ec; }html[data-theme="dark"] .service-timeline { background:#573c6c; }
html[data-theme="dark"] .finale-wordmark>span { background-image:linear-gradient(115deg,#7542a4,#ba7beb 38%,#9559c3 60%,#dab0ff 78%,#9f66cd); }

@keyframes ambient-drift { to { transform:translate3d(-3%,3%,0) scale(1.08); } }
@keyframes title-shimmer { to { background-position:100% 50%; } }
@keyframes detail-arrive { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
@keyframes scene-arrive { from { opacity:0; transform:translateX(14px); } to { opacity:1; transform:none; } }
@keyframes site-window-drift { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-5px); } }
@keyframes phone-drift { 0%,100% { transform:translateY(0) rotate(4deg); } 50% { transform:translateY(-7px) rotate(1deg); } }
@keyframes sculpture-drift { 0%,100% { transform:rotate(-26deg) translateY(0); } 50% { transform:rotate(-18deg) translateY(-4px); } }
@keyframes preview-button-pulse { 0%,35%,60%,100% { box-shadow:0 0 0 0 #8b44cd00; transform:none; } 45% { box-shadow:0 0 0 4px #9d58e533; transform:scale(.97); } }
@keyframes preview-text-arrive { 0% { opacity:0; transform:translateY(8px); } 12%,100% { opacity:1; transform:none; } }
@keyframes scene-cursor-path { 0%,15% { opacity:0; transform:translate(55px,15px); } 25% { opacity:1; transform:translate(0,0); } 40%,48% { opacity:1; transform:translate(-85px,25px); } 55%,100% { opacity:0; transform:translate(-85px,25px); } }
@keyframes calendar-drift { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-4px); } }
@keyframes day-highlight { 0%,15% { background:#fcf9fe; color:#806b91; } 25%,100% { background:#8556b4; color:white; } }
@keyframes time-highlight { 0%,30% { background:white; border-color:#e5d9ee; color:#8c769b; } 45%,100% { background:#efe1fa; border-color:#a26dc6; color:#714294; box-shadow:0 0 0 2px #aa70ce15; } }
@keyframes booking-confirm-pulse { 0%,55%,100% { transform:none; box-shadow:none; } 64% { transform:scale(.98); box-shadow:0 0 0 4px #b97dd42a; } }
@keyframes booking-toast-arrive { 0%,63% { opacity:0; transform:translateY(12px) scale(.96); } 73%,93% { opacity:1; transform:none; } 100% { opacity:0; transform:translateY(-4px); } }
@keyframes ops-bar-grow { 0% { transform:scaleY(.2); opacity:.3; } 35%,100% { transform:scaleY(1); opacity:1; } }
@keyframes ops-line-draw { 0%,12% { stroke-dashoffset:1; } 63%,100% { stroke-dashoffset:0; } }
@keyframes task-check-pulse { 0%,35%,100% { background:#653c8066; } 50%,80% { background:#ad6cd2; color:#fff; } }
@keyframes flow-node-light { 0%,100% { background:#432750; } 20%,40% { background:#8c49ac; color:#fff; border-color:#d89bf0; } }
@keyframes flow-signal { 0% { left:0; opacity:0; } 15% { opacity:1; } 85% { opacity:1; } 100% { left:100%; opacity:0; } }
@keyframes portfolio-light { to { transform:translateX(8%); opacity:.45; } }
@keyframes process-step-beat { 0%,26% { background:#8454b0; color:#fff; box-shadow:0 0 0 4px #a76bce12; } 34%,100% { background:#f1e9f8; color:#8e65ad; box-shadow:none; } }

@media(max-width:1100px) {
  .showcase-label { font-size:7px; padding-inline:15px; }.ops-window { left:20px; right:20px; padding:18px; }.ops-flow>span { padding:7px; }
}
@media(max-width:900px) {
  .hero-orbit-lines { width:100%; height:64%; right:-12%; top:34%; }
  .aurora-violet { width:115%; height:80%; left:6%; top:23%; }.aurora-blue { width:100%; left:-24%; top:33%; }.aurora-rose { width:95%; right:-35%; top:41%; }
  .spark-north { top:55%; right:6%; }.spark-south { left:7%; bottom:9%; }
  .showcase-panel .demo-browser { top:54px; }.showcase-panel .demo-phone { top:110px; }.scene-cursor { top:300px; left:40%; }
  .studio-calendar { left:18px; right:18px; padding:18px; }.calendar-brand { font-size:10px; }.calendar-brand small { font-size:5px; }
  .ops-window { left:15px; right:15px; padding:16px; }.ops-heading>strong { font-size:18px; }.ops-flow>span { font-size:7px; padding:7px 5px; }.ops-task>strong { font-size:8px; }.ops-task>small { font-size:6px; }
}
@media(max-width:700px) {
  .services-content { border-radius:18px; }.showcase-wrap { padding:22px; }.service-controls { padding-block:16px; }
  .services-enhanced .service-showcase { height:505px; min-height:505px; }.showcase-panel { min-height:455px; }
  .showcase-panel .demo-browser { top:34px; }.showcase-panel .demo-phone { top:120px; }
  .studio-calendar { top:40px; left:30px; right:30px; padding:24px; }.ops-window { top:36px; left:30px; right:30px; padding:22px; }.ops-heading>strong { font-size:22px; }.ops-task>strong { font-size:10px; }.ops-task>small { font-size:7px; }.ops-flow>span { font-size:9px; padding:8px 12px; }
  .booking-toast { bottom:53px; right:23px; }.scene-cursor { top:278px; left:40%; }
}
@media(max-width:540px) {
  .hero-aurora { filter:blur(24px); }.hero-orbit-lines { width:140%; right:-25%; top:41%; height:52%; }
  .hero-perspective-grid { height:38%; bottom:-20%; background-size:48px 48px; }.hero-light-trails { opacity:.75; }
  .hero-spark { font-size:19px; }.spark-north { top:60%; right:8%; }.spark-south { bottom:7%; left:5%; }
  .service-cycle-copy { gap:8px; font-size:8px; }.service-counter { font-size:8px; }.service-timeline { display:none; }.service-cycle-toggle { font-size:8px; padding:7px; gap:5px; }.service-cycle-toggle svg { width:11px; height:11px; }
  .service-controls { gap:8px; }.showcase-wrap { padding:15px; }.showcase-label { font-size:6px; padding:15px 12px; }.services-enhanced .showcase-panel { inset:42px 0 0; }
  .services-enhanced .service-showcase { height:455px; min-height:455px; }.showcase-panel { min-height:405px; }
  .showcase-panel .demo-browser { top:33px; }.showcase-panel .demo-phone { top:110px; }.scene-cursor { top:257px; width:20px; height:20px; }
  .studio-calendar { top:47px; left:15px; right:15px; padding:17px; }.studio-calendar-heading { font-size:17px; }.calendar-brand small { font-size:4px; }.booking-example-label { font-size:6px; }.studio-bottom-label { font-size:8px; bottom:16px; left:12px; right:12px; }
  .booking-toast { bottom:55px; right:12px; padding:11px; gap:8px; }.booking-toast strong { font-size:9px; }.booking-toast small { font-size:7px; }
  .ops-window { top:31px; left:14px; right:14px; padding:16px; }.ops-topbar { padding-bottom:12px; }.ops-brand { font-size:18px; }.ops-brand>b { font-size:9px; }.ops-label { font-size:6px; }
  .ops-heading { margin-block:15px 13px; }.ops-heading>strong { font-size:18px; }.ops-status { font-size:7px; }.ops-chips>span { font-size:7px; padding:8px 2px; }.ops-chart { height:68px; margin-block:14px 18px; }.ops-bars { gap:6px; }.ops-task { padding-block:10px; gap:7px; }.ops-task>strong { font-size:8px; }.ops-task>small { font-size:6px; }.ops-task>span { width:21px; height:21px; }
  .ops-flow { margin-top:13px; }.ops-flow>span { font-size:7px; padding:7px; }
  .showcase-panel .ops-window { height:353px; padding:14px; grid-template-rows:28px 40px 26px 58px 31px 31px 25px; gap:6px; }
  .ops-window .ops-chart { height:58px; }.ops-window .ops-task { padding:4px 0; }.ops-window .ops-task>span { width:21px; height:21px; }.ops-window .ops-chips>span { padding-block:5px; }
  .ops-window .ops-flow>span { padding:5px 7px; }
  .finale-caption { font-size:6px; letter-spacing:.1em; gap:10px; }.finale-caption>i { width:25px; }.brand-finale { padding:15px 0 38px; }.finale-wordmark { font-size:12.5vw; line-height:1.45; letter-spacing:-.055em; }
}
@media(prefers-reduced-motion:reduce) {
  .hero-aurora,.hero-perspective-grid,.hero-light-trails,.trail-signal,.hero-orbit-lines,.orbit-dashed,.hero-particles circle,.hero-spark,.hero h1 em,.hero-actions .button:before,.hero-device .demo-phone,.hero-device .visual-sculpture { animation:none; }
  .hero-ambient-layer { transform:none; transition:none; }.hero-device .demo-phone { transform:none; }.trail-signal { display:none; }
  .hero:before,.hero-device .demo-browser,.solution-detail,.solution-detail li,.showcase-panel,.service-showcase:before,.showcase-panel .demo-browser,.showcase-panel .demo-phone,.showcase-panel .visual-sculpture,.showcase-panel .demo-button,.showcase-panel .demo-copy>strong,.studio-calendar,.studio-calendar-days .selected,.studio-calendar-times .studio-time-picked,.studio-calendar-confirm,.booking-toast,.ops-window,.ops-bars>i,.ops-chart path,.ops-task>span,.ops-flow>span,.ops-flow>i:after,.finale-wordmark>span,.closing:before { animation:none; }
  .scene-cursor { display:none; }.booking-toast { opacity:1; }.ops-chart path { stroke-dashoffset:0; }
  .hero-device,.hero-device .demo-browser { transform:none; }
  .case-cover:after,.process-journey .process-item>span { animation:none; }
  .js .finale-wordmark,.js .finale-caption { opacity:1; transform:none; filter:none; will-change:auto; }
}

/* Composição editorial: trabalho real na abertura, narrativa própria nos serviços. */
:root { --paper:#fbfaf8; --line:#e9e2ee; }
.header-inner { min-height:80px; }.nav-contact,.button { border-radius:12px; }
.hero-inner { grid-template-columns:1.03fr .97fr; gap:72px; min-height:720px; padding-block:74px 64px; }
.hero h1 { font-size:clamp(48px,4.9vw,72px); line-height:1.06; letter-spacing:-.06em; margin-block:27px; }
.hero-copy>p { max-width:495px; line-height:1.8; font-size:17px; }
.hero .hero-art { min-height:0; max-width:none; width:100%; margin:0; perspective:1200px; }
.hero-art:before { display:none; }.hero-orbit-lines { opacity:.6; }
.hero-work-heading { display:flex; align-items:center; gap:16px; color:#cab8db; font-size:9px; letter-spacing:.11em; }
.work-heading-line { flex:1; height:1px; background:linear-gradient(90deg,#9864bd80,transparent); }.hero-work-heading>span:last-child { color:#987caa; }
.hero-work { position:relative; display:block; height:440px; margin:22px 0; overflow:hidden; border-radius:24px; isolation:isolate; border:1px solid #d6baf440; box-shadow:0 35px 65px #09031255; transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)); transition:box-shadow .4s ease; }
.hero-work-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 48%; z-index:-2; animation:work-photo-breathe 14s ease-in-out infinite alternate; }
.hero-work:after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,#1d101af2 0%,#2415224d 45%,#21142515 70%,#1d101a70); }
.hero-work:hover { box-shadow:0 35px 70px #09031288,0 0 0 1px #d6baf485; }
.hero-work-top { display:flex; align-items:center; justify-content:space-between; gap:15px; position:absolute; top:24px; left:25px; right:25px; color:#fff1e5; font-size:8px; letter-spacing:.12em; }
.hero-work-live { display:flex; align-items:center; gap:7px; padding:7px 10px; border:1px solid #fff5; border-radius:99px; background:#27152c55; backdrop-filter:blur(12px); letter-spacing:0; font-size:10px; white-space:nowrap; }
.hero-work-live>i { width:5px; height:5px; background:#c6e5b3; border-radius:50%; box-shadow:0 0 9px #c6e5b350; }
.hero-work-caption { position:absolute; bottom:30px; left:29px; right:29px; color:#fff3e9; padding-right:64px; }
.hero-work-category { display:block; color:#dbc3b0; font-size:8px; letter-spacing:.17em; margin-bottom:12px; }
.hero-work-caption>strong { display:block; font:500 58px/1.05 Georgia,'Times New Roman',serif; letter-spacing:-.04em; margin-bottom:12px; }
.hero-work-caption>strong>span { color:#d9b59f; }.hero-work-description { display:block; max-width:300px; color:#e0cfc8; font-size:12px; line-height:1.6; }
.hero-work-arrow { position:absolute; right:0; bottom:2px; display:grid; place-items:center; width:52px; height:52px; border:1px solid #fff6; border-radius:50%; font-size:25px; transition:background .3s,transform .3s; }
.hero-work:hover .hero-work-arrow { background:#fff3; transform:rotate(8deg); }
.hero-work-footer { display:flex; align-items:center; justify-content:space-between; gap:15px; font-size:10px; color:#bda5d0; }.hero-work-footer a { color:#e8d7f5; border-bottom:1px solid #a579bd; padding-bottom:3px; white-space:nowrap; }
.hero-bottom { margin-top:0; }.marquee-strip { height:52px; }.marquee-group span { font-weight:600; letter-spacing:.12em; }
.solutions-heading { gap:60px; margin-bottom:34px!important; }.solutions .section-heading h2 { font-size:clamp(35px,3.9vw,52px); line-height:1.12; }.solutions .section-heading h2 span { color:#9970b4; }
.solutions-cinema .solution-card { border-radius:13px; }.service-toggle { padding:22px 21px; }.service-title { font-size:16px; }
.service-controls { padding-block:18px; }.services-content { grid-template-columns:1.03fr .97fr; border-radius:24px; border-color:#e2d6eb; box-shadow:0 22px 55px #47235408; }
.service-details { padding:42px; }.solution-detail>h3 { font-size:37px; line-height:1.14; }.solution-detail>p { font-size:14px; }.solution-detail li strong { font-size:14px; }.solution-detail li div>span { font-size:12px; }
.showcase-wrap,html[data-theme="dark"] .showcase-wrap { padding:24px; background:radial-gradient(ellipse at 75% 35%,#61358477,transparent 65%),#231330; }
.service-showcase,.services-content .showcase-wrap .service-showcase { border:0; box-shadow:none; background:transparent; border-radius:0; }
.service-showcase:after { opacity:.12; }.showcase-label { padding:17px 13px; background:transparent; border-color:#c690e726; font-size:7px; }
.site-story { position:absolute; inset:28px 16px 54px; color:#f5eafb; }
.site-story-eyebrow { display:flex; justify-content:space-between; align-items:center; color:#c19ed8; font-size:8px; letter-spacing:.12em; margin-bottom:19px; }.site-story-eyebrow>span:last-child { font-size:22px; line-height:1; }
.site-story-title { display:block; font:800 37px/1.12 'Manrope',sans-serif; letter-spacing:-.045em; }.site-story-title em { font-style:normal; color:#d3a1ee; }
.site-story-path { display:flex; justify-content:space-between; height:1px; background:#8b629c60; margin:24px 0; position:relative; }.site-story-path:after { content:""; position:absolute; left:0; top:-2px; width:5px; height:5px; background:#e5bbfa; border-radius:50%; box-shadow:0 0 12px #d79af0; animation:story-path-travel 8s ease-in-out infinite; }
.site-story-path>i { width:5px; height:5px; margin-top:-2px; border:1px solid #b487c7; border-radius:50%; background:#3b214d; }
.site-story-steps { display:grid; gap:10px; }
.site-story + .studio-bottom-label { display:block; }
.site-story-step { display:flex; align-items:center; gap:12px; padding:13px 14px; border:1px solid #a772bb3d; background:linear-gradient(100deg,#855ca328,#6b3c8420); border-radius:12px; animation:story-step-light 8s ease-in-out infinite; }
.site-story-step:nth-child(2) { animation-delay:2s; }.site-story-step:nth-child(3) { animation-delay:4s; }
.story-step-number { display:grid; place-items:center; width:30px; height:33px; border-radius:7px; border:1px solid #c69dd647; color:#d8bce8; flex:none; font-size:10px; }
.site-story-step>div { min-width:0; }.site-story-step strong { display:block; font-size:14px; font-weight:600; line-height:1.4; }.site-story-step div>span { display:block; margin-top:3px; color:#bfa1cf; font-size:11px; line-height:1.4; }
.story-step-mark { margin-left:auto; font-size:23px; color:#cca6e2; flex:none; }
.showcase-caption { font-size:10px; color:#bda0ce; }.studio-bottom-label { font-size:10px; color:#cdb0df; }
.solutions-cinema .solution-cta { margin-top:32px; padding-top:26px; }.solution-cta h3 { font-size:22px; }.solution-cta .button { border-radius:12px; }
.projects { padding-block:94px 128px; background:#171020; }.case-cover { background:radial-gradient(ellipse at 35% 20%,#876653,#3c2834 72%); border-color:#aa82734d; border-radius:24px; min-height:390px; }
.case-top,.case-bottom { color:#ead8ca; }.case-live { border-color:#c6a58c70; }.case-cover img { max-height:150px; filter:drop-shadow(0 10px 20px #1a0b1640); }
.case-copy h3 { font-size:62px; }.featured-work { gap:66px; }.projects-heading { margin-bottom:44px; }.projects-heading h2 { font-size:clamp(36px,4vw,54px); }
.portfolio-note { border-color:#b88cd326; }.clients-window { margin-top:10px; }.process-journey .process-item { border-radius:18px; padding:29px; background:linear-gradient(145deg,var(--white),var(--paper)); }
.process-journey .process-item>span { border-radius:50%; width:37px; height:37px; }.process-output>span { border-radius:5px; }.process-journey .process-item p { min-height:75px; }
.faq-conversation { padding:25px; border:1px solid var(--line); border-radius:18px; background:var(--white); }.faq-conversation h3 { font-size:18px; }.faq-list summary { font-size:15px; padding-block:26px; }.faq-number { background:transparent; border:1px solid var(--line); }
.project-form { border-radius:20px; box-shadow:0 20px 40px #47235406; }.message-preview { border-radius:20px; }.request-expectation { padding:24px 4px 0; }
.closing { padding-block:92px; }.closing h2 { font-size:clamp(36px,4.4vw,60px); }.closing .button { border-radius:12px; }.footer p { max-width:335px; font-size:11px; }
@keyframes work-photo-breathe { to { transform:scale(1.05); } }
@keyframes story-path-travel { 0%,6% { left:0; opacity:0; } 14%,86% { opacity:1; } 94%,100% { left:calc(100% - 5px); opacity:0; } }
@keyframes story-step-light { 0%,24% { border-color:#d6b0ef88; background-color:#9d64bf33; } 35%,100% { border-color:#a772bb3d; background-color:transparent; } }
@media(max-width:1100px) {
  .hero-inner { gap:42px; }.hero h1 { font-size:58px; }.hero-work { height:420px; }.hero-work-top { left:20px; right:20px; font-size:7px; }.hero-work-live { font-size:9px; }.hero-work-caption { left:23px; right:23px; }.hero-work-caption>strong { font-size:49px; }
  .hero-work-footer { font-size:9px; }.service-details { padding:34px; }.solution-detail>h3 { font-size:33px; }.site-story-title { font-size:32px; }.showcase-wrap { padding:18px; }.site-story-step strong { font-size:13px; }.site-story-step { padding:12px; }.featured-work { gap:45px; }
}
@media(max-width:900px) {
  .hero-inner { grid-template-columns:1fr; padding-block:58px 44px; gap:42px; min-height:0; }.hero-copy { max-width:660px; }.hero h1 { font-size:clamp(48px,7.5vw,68px); }.hero .hero-art { max-width:610px; margin-inline:auto; }.hero-work { height:450px; }.hero-work-caption>strong { font-size:56px; }.hero-work-footer { font-size:11px; }
  .services-content { grid-template-columns:1fr; }.service-details { padding:38px; }.solution-detail>h3 { font-size:36px; }.solution-detail>p { max-width:590px; }.solution-detail>ul { max-width:540px; }
  .showcase-wrap { padding:24px; }.service-showcase { width:100%; max-width:610px; margin-inline:auto; }.site-story { inset-inline:26px; }.site-story-title { font-size:37px; }.site-story-step strong { font-size:15px; }.site-story-step div>span { font-size:12px; }
  .faq-section { gap:44px; }.process-journey .process-item { padding:24px; }.process-journey .process-item h3 { font-size:18px; }
}
@media(max-width:700px) {
  .hero-work { height:425px; }.hero-work-heading { font-size:8px; }.hero-work-footer { font-size:10px; }
  .services-content { border-radius:20px; }.site-story { inset:24px 20px 52px; }.site-story-title { font-size:36px; }.site-story-path { margin-block:22px; }.site-story-step { padding:12px 14px; }
  .service-title { font-size:12px; }.service-toggle { padding:16px 12px; }.solution-cta .button { justify-self:stretch; }.featured-work { gap:34px; }.case-cover { min-height:340px; }.case-copy h3 { font-size:52px; }
  .projects { padding-block:74px 116px; }.faq-section { grid-template-columns:1fr; }.faq-conversation { max-width:540px; }.closing { padding-block:74px; }
}
@media(max-width:540px) {
  .hero-inner { padding-top:43px; gap:36px; }.hero h1 { font-size:clamp(39px,10.7vw,54px); margin-block:24px; }.hero-copy>p { font-size:15px; }.hero-work { height:380px; border-radius:19px; margin-block:17px; }
  .hero-work-top { top:19px; left:19px; right:19px; font-size:6px; letter-spacing:.09em; }.hero-work-live { font-size:8px; gap:5px; padding:6px 8px; }.hero-work-caption { bottom:24px; left:21px; right:21px; padding-right:52px; }.hero-work-caption>strong { font-size:45px; }.hero-work-category { font-size:7px; margin-bottom:9px; }.hero-work-description { font-size:11px; }.hero-work-arrow { width:42px; height:42px; font-size:21px; }.hero-work-footer { align-items:flex-start; gap:13px; font-size:9px; }.hero-work-footer>span { max-width:175px; }.hero-work-heading { font-size:7px; gap:11px; }
  .hero-bottom { font-size:8px; }.service-details { padding:29px 24px; }.solution-detail>h3 { font-size:30px; }.solution-detail>p { font-size:13px; }.solution-detail li strong { font-size:13px; }.solution-detail li div>span { font-size:11px; }
  .showcase-wrap { padding:17px; }.site-story { inset:22px 12px 49px; }.site-story-title { font-size:29px; }.site-story-eyebrow { font-size:7px; margin-bottom:17px; }.site-story-path { margin-block:20px; }.site-story-step { padding:11px 12px; gap:10px; }.story-step-number { width:27px; height:31px; font-size:9px; }.site-story-step strong { font-size:13px; }.site-story-step div>span { font-size:10px; }.story-step-mark { font-size:20px; }.showcase-caption { font-size:8px; }
  .service-title { font-size:11px; }.service-toggle { padding:14px 10px; }.projects-heading h2 { font-size:35px; }.case-cover { min-height:315px; padding:23px; }.case-copy h3 { font-size:47px; }.case-copy>p,.case-copy dd { font-size:14px; }.projects { padding-bottom:100px; }
  .process-journey .process-item { padding:25px; }.process-journey .process-item h3 { font-size:20px; }.process-journey .process-item p { min-height:0; }.faq-conversation { padding:22px; }.faq-list summary { font-size:14px; }.project-form { padding:24px 21px; }.closing h2 { font-size:36px; }
}
@media(max-width:360px) {
  .studio-calendar { top:40px; padding:14px; }.studio-calendar-heading { font-size:16px; }
  .hero-work { height:350px; }.hero-work-top { gap:8px; left:16px; right:16px; }.hero-work-caption { left:18px; right:18px; }.hero-work-caption>strong { font-size:39px; }.hero-work-description { font-size:10px; }.hero-work-footer { font-size:8px; }.site-story-title { font-size:24px; }.site-story-eyebrow { margin-bottom:12px; }.site-story-path { margin-block:15px; }.site-story-step div>span { display:none; }.site-story-step { min-height:58px; }.story-step-mark { font-size:17px; }.site-story { inset-inline:9px; }
}
@media(prefers-reduced-motion:reduce) {
  .hero-work { transform:none; }.hero-work-image,.site-story-path:after,.site-story-step { animation:none; }.hero-work:hover .hero-work-arrow { transform:none; }
}
