/* REVOZ — site independente, sem frameworks nem recursos externos. */
:root{--black:#080809;--black-deep:#050506;--surface:#101013;--surface-2:#141417;--white:#f3f2f0;--grey:#949398;--grey-light:#bebdc1;--line:rgba(242,240,245,.135);--line-strong:rgba(242,240,245,.27);--purple:#9574e9;--purple-light:#bca4ff;--purple-dim:rgba(149,116,233,.15);--frame:1440px;--ease:cubic-bezier(.22,1,.36,1);color-scheme:dark}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:85px}
body{margin:0;background:var(--black);color:var(--white);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-width:320px;overflow-x:hidden}
body.menu-open,body.modal-open{overflow:hidden}
::selection{background:#a78af2;color:#09090b}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{color:inherit;cursor:pointer}
button:disabled{cursor:not-allowed}
button,input,select,textarea{outline-offset:4px}
:focus-visible{outline:2px solid #c4adff!important;outline-offset:4px}
img,svg,canvas{display:block;max-width:100%}
[hidden]{display:none!important}
.frame{width:min(calc(100% - 100px),var(--frame));margin-inline:auto}
.section{padding:130px 0}
.muted-heading{color:#77767c}
.period{color:var(--purple)}
.slash{color:var(--purple);padding-right:8px;font-weight:700}
.status-dot,.scene-live-dot,.smart-pulse,.contact-mini-dot,.smart-visual-led,.console-led{width:7px;height:7px;border-radius:50%;background:var(--purple);box-shadow:0 0 17px rgba(167,134,255,.7);display:inline-block;flex-shrink:0}
.skip-link{position:fixed;z-index:9999;left:16px;top:-60px;background:white;color:#000;padding:12px 18px;font-weight:700}
.skip-link:focus{top:12px}
.page-noise{pointer-events:none;position:fixed;z-index:90;inset:0;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}
.mouse-glow{position:fixed;z-index:1;width:480px;height:480px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(125,88,219,.065),rgba(125,88,219,0) 65%);transform:translate3d(-1000px,-1000px,0);will-change:transform}
.scroll-progress{position:fixed;z-index:101;top:0;left:0;width:0;height:2px;background:var(--purple);pointer-events:none;box-shadow:0 0 12px rgba(150,115,250,.7)}
.reveal{opacity:0;transform:translateY(32px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.visible{opacity:1;transform:translateY(0)}
/* HEADER */
.site-header{position:fixed;z-index:100;top:0;left:0;right:0;transition:background .35s,border-color .35s;min-height:89px;border-bottom:1px solid rgba(255,255,255,.075)}
.site-header.scrolled{background:rgba(7,7,9,.86);backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px);border-bottom-color:var(--line)}
.header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;align-items:center;gap:12px;min-width:208px}
.brand img{width:34px;height:34px;object-fit:contain}
.brand-name{font-weight:900;letter-spacing:-.065em;font-size:26px;line-height:1}
.brand-dot{color:var(--purple)}
.desktop-nav{display:flex;align-items:center;gap:35px;margin-left:auto;margin-right:30px}
.desktop-nav a{font-size:12px;letter-spacing:.025em;color:#a5a3a8;transition:color .2s;position:relative}
.desktop-nav a:hover,.desktop-nav a.active{color:#fff}
.desktop-nav a::after{content:"";position:absolute;height:1px;width:0;background:var(--purple);left:0;bottom:-10px;transition:width .24s}
.desktop-nav a:hover::after,.desktop-nav a.active::after{width:100%}
.header-cta{font-size:10px;font-weight:800;letter-spacing:.09em;white-space:nowrap;display:flex;align-items:center;gap:20px;border:1px solid var(--line-strong);padding:15px 16px;transition:background .3s,color .3s,border .3s}
.header-cta span{font-size:17px;font-weight:400}
.header-cta:hover{background:#fff;color:#050506;border-color:#fff}
.menu-toggle{display:none;border:1px solid var(--line);width:44px;height:42px;background:rgba(255,255,255,.025);align-items:center;justify-content:center;flex-direction:column;gap:6px;z-index:4}
.menu-toggle span{display:block;width:19px;height:1px;background:#fff;transition:transform .3s}
.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.mobile-nav{position:absolute;left:0;right:0;top:88px;background:#0b0b0d;border-bottom:1px solid var(--line);padding:20px 5% 30px}
.mobile-nav a{padding:17px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;font-size:21px;font-weight:700}
.mobile-nav a span{color:var(--purple);font-size:12px;font-weight:400}
/* HERO */
.hero{min-height:790px;height:min(900px,100svh);position:relative;background:#060607;isolation:isolate;overflow:hidden;display:flex;flex-direction:column}
.hero-aura{position:absolute;pointer-events:none;width:900px;height:900px;right:-220px;top:50px;background:radial-gradient(ellipse at center,rgba(70,54,116,.13),rgba(13,11,22,.07) 42%,transparent 69%);z-index:-1}
.hero-grid{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 49.96%,rgba(255,255,255,.022) 50%,transparent 50.04%),linear-gradient(180deg,transparent 49.92%,rgba(255,255,255,.02) 50%,transparent 50.08%);z-index:-1}
.hero::before{content:"";position:absolute;left:8%;top:60%;height:1px;width:20%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);transform:rotate(-20deg);pointer-events:none}
.hero-orbit-label{position:absolute;left:17px;top:50%;transform:translateY(-50%) rotate(-90deg);transform-origin:50% 50%;font-size:9px;letter-spacing:.22em;color:rgba(255,255,255,.22)}
.hero-inner{display:grid;grid-template-columns:1.12fr .88fr;align-items:center;gap:0;flex:1;padding-top:94px;position:relative}
.hero-copy{position:relative;z-index:5;padding-bottom:35px}
.eyebrow,.section-kicker{font-family:Arial,Helvetica,sans-serif;font-size:10px;font-weight:750;letter-spacing:.16em;line-height:1.6;color:#c2c0c7}
.hero-eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:35px;white-space:nowrap}
.eyebrow-index{color:#6b6971;letter-spacing:.1em}
.hero-title{font-weight:900;letter-spacing:-.091em;line-height:.91;font-size:clamp(74px,7.8vw,133px);margin:0;color:#f5f4f2;white-space:nowrap}
.hero-title span{display:block}
.hero-title .title-outline{color:transparent;-webkit-text-stroke:1.4px rgba(244,243,244,.78)}
.hero-title .period{display:inline;color:var(--purple);-webkit-text-stroke:0;letter-spacing:-.07em}
.hero-description{font-size:15px;line-height:1.85;color:#aaa9af;max-width:425px;margin:34px 0 35px;font-weight:400}
.hero-actions{display:flex;align-items:center;gap:32px;flex-wrap:wrap}
.button{min-height:57px;border:0;display:inline-flex;align-items:center;justify-content:space-between;gap:44px;padding:0 20px 0 25px;font-size:11px;letter-spacing:.095em;font-weight:800;white-space:nowrap;transition:transform .25s,background .3s,color .3s}
.button-light{background:var(--white);color:#08080a}
.button-light:hover{background:var(--purple-light);transform:translateY(-3px)}
.button-arrow{font-size:21px;font-weight:400;line-height:1}
.text-action{font-size:12px;font-weight:650;display:inline-flex;gap:25px;align-items:center;position:relative}
.text-action::after{content:"";position:absolute;bottom:-9px;left:0;width:100%;height:1px;background:rgba(255,255,255,.32);transition:background .2s}
.text-action:hover::after{background:var(--purple)}
.text-action span{font-size:18px;color:var(--purple)}
.hero-art{height:min(650px,70vh);min-height:510px;position:relative;z-index:2;display:flex;align-items:center;justify-content:center;touch-action:pan-y}
.hero-art::before{content:"";pointer-events:none;position:absolute;inset:3%;border-radius:50%;background:radial-gradient(ellipse at center,rgba(123,91,206,.095),transparent 50%)}
.logo-canvas{position:absolute;z-index:3;left:-7%;top:-5%;width:114%;height:110%;cursor:grab;touch-action:pan-y}
.logo-canvas:active{cursor:grabbing}
.logo-fallback{width:61%;filter:drop-shadow(25px 30px 20px rgba(0,0,0,.25));z-index:3;transform:rotate(12deg)}
.orbit{position:absolute;left:50%;top:50%;pointer-events:none;border:1px solid rgba(179,164,217,.15);border-radius:50%;transform-origin:center center}
.orbit-outer{width:90%;aspect-ratio:1;transform:translate(-50%,-50%) rotate(-24deg) rotateX(66deg);box-shadow:0 0 40px rgba(110,90,150,.03);animation:orbit-slow 40s linear infinite}
.orbit-inner{width:70%;aspect-ratio:1;transform:translate(-50%,-50%) rotate(38deg) rotateY(61deg);border-style:dashed;opacity:.55;animation:orbit-slow-reverse 55s linear infinite}
.orbit-slashed{width:99%;aspect-ratio:1;border-color:rgba(150,133,198,.09);transform:translate(-50%,-50%) rotate(80deg) rotateX(80deg)}
.orbit-outer::before,.orbit-inner::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--purple);position:absolute;left:12%;top:15%;box-shadow:0 0 15px var(--purple)}
@keyframes orbit-slow{from{transform:translate(-50%,-50%) rotate(-24deg) rotateX(66deg)}to{transform:translate(-50%,-50%) rotate(336deg) rotateX(66deg)}}
@keyframes orbit-slow-reverse{from{transform:translate(-50%,-50%) rotate(38deg) rotateY(61deg)}to{transform:translate(-50%,-50%) rotate(-322deg) rotateY(61deg)}}
.scene-label,.scene-coordinates,.scene-interaction{position:absolute;z-index:5;color:#7b7984;font-family:'Courier New',monospace;font-size:9px;letter-spacing:.13em;pointer-events:none}
.scene-label-top{top:10%;right:2%;display:flex;align-items:center;gap:8px}
.scene-live-dot{width:5px;height:5px;animation:pulse 3s infinite}
.scene-coordinates-left{left:0;bottom:21%;line-height:2.5;font-size:10px;color:#55545c}
.scene-cross{position:absolute;z-index:2;color:#8d829f;opacity:.6;font:18px 'Courier New',monospace}
.cross-one{top:16%;left:18%}.cross-two{right:9%;bottom:28%}.cross-three{top:38%;right:4%}
.scene-interaction{bottom:6%;left:12%;display:flex;align-items:center;gap:12px;color:#a5a0ad}
.interaction-icon{font-size:20px;color:var(--purple)}
.scene-interaction-line{width:38px;height:1px;background:var(--line-strong)}
.hero-bottom{height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.09);position:relative;z-index:5}
.hero-bottom-left,.scroll-indicator,.hero-bottom-count{font-size:9px;letter-spacing:.15em;font-weight:700;color:#85838b;white-space:nowrap}
.tiny-cross{font-size:14px;color:var(--purple);margin-right:7px}
.scroll-indicator{display:flex;align-items:center;gap:22px;color:#b1afb5;transition:color .2s}
.scroll-indicator:hover{color:white}
.scroll-indicator-line{height:25px;width:1px;background:var(--purple);transform-origin:top;animation:scroll-line 2.2s ease-in-out infinite}
@keyframes scroll-line{0%,100%{transform:scaleY(.35);opacity:.4}60%{transform:scaleY(1);opacity:1}}
.hero-bottom-count span{color:var(--purple);margin:0 5px}
@keyframes pulse{0%,100%{opacity:.5;box-shadow:0 0 8px var(--purple)}50%{opacity:1;box-shadow:0 0 18px var(--purple)}}
.intro-up{animation:intro-up .95s var(--ease) both}
.hero-title.intro-up{animation-delay:.12s}.hero-description.intro-up{animation-delay:.23s}.hero-actions.intro-up{animation-delay:.34s}
@keyframes intro-up{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:translateY(0)}}
/* MARQUEE */
.marquee-section{position:relative;overflow:hidden;padding:23px 0;background:#e9e8e6;color:#0a090c;border-top:1px solid #fff}
.marquee-track{display:flex;gap:58px;white-space:nowrap;width:max-content;animation:marquee 35s linear infinite}
.marquee-track>span{font-weight:900;font-size:clamp(18px,2.1vw,28px);letter-spacing:-.035em;display:inline-flex;align-items:center;gap:28px}
.marquee-track i{font-style:normal;color:#7653c7;font-size:22px}
@keyframes marquee{to{transform:translateX(calc(-50% - 29px))}}
/* SHARED SECTIONS */
.section-topline{display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:10px;letter-spacing:.16em;color:#8d8b94;font-weight:700;border-top:1px solid var(--line-strong);padding-top:20px}
.section-heading-wrap,.method-heading-grid{display:flex;justify-content:space-between;align-items:end;gap:35px;margin:75px 0 55px}
.section-kicker{margin:0 0 22px}
.section-heading{font-size:clamp(46px,5.5vw,85px);line-height:1.04;letter-spacing:-.077em;font-weight:900;margin:0;max-width:1000px}
.section-sidecopy{max-width:228px;color:#aaa8b0;font-size:15px;line-height:1.8;margin:0 0 7px}
/* SERVICES */
.solutions-section{background:#09090b;position:relative;isolation:isolate}
.solutions-section::before{position:absolute;content:"";height:540px;left:0;right:0;top:0;z-index:-1;background:radial-gradient(ellipse at 8% 20%,rgba(96,74,154,.065),transparent 44%)}
.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.service-card{position:relative;min-height:425px;display:flex;flex-direction:column;text-align:left;padding:27px 30px 24px;background:#111113;border:1px solid rgba(255,255,255,.09);overflow:hidden;isolation:isolate;transition:transform .35s var(--ease),border .3s,box-shadow .3s,background .3s;transform-style:preserve-3d;will-change:transform}
.service-card:nth-child(2),.service-card:nth-child(5){background:#121215}
.service-card::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(380px circle at var(--mx,50%) var(--my,0%),rgba(159,130,253,.13),transparent 60%);opacity:0;transition:opacity .3s}
.service-card::after{content:"";position:absolute;inset:0;background:linear-gradient(125deg,transparent 24%,rgba(255,255,255,.015) 25%,transparent 26%,transparent 71%,rgba(255,255,255,.015) 72%,transparent 73%);background-size:50px 50px;opacity:.6;pointer-events:none}
.service-card:hover{border-color:rgba(172,144,254,.45);background:#17151d;box-shadow:0 30px 60px rgba(0,0,0,.25);z-index:2}
.service-card:hover::before{opacity:1}
.service-card:focus-visible{border-color:var(--purple)}
.service-top{display:flex;justify-content:space-between;align-items:center;z-index:1;transform:translateZ(18px)}
.service-number{font:10px 'Courier New',monospace;letter-spacing:.07em;color:#85818b}
.service-arrow{border:1px solid rgba(255,255,255,.18);width:36px;height:36px;display:grid;place-items:center;border-radius:50%;font-size:19px;transition:background .3s,color .3s,transform .3s}
.service-card:hover .service-arrow{background:var(--purple-light);color:#100c17;transform:rotate(45deg)}
.service-icon{position:relative;margin:auto auto 31px;display:grid;place-items:center;width:125px;height:130px;color:#b9adb8;transition:transform .45s var(--ease),color .35s;transform:translateZ(25px)}
.service-icon svg{width:110px;height:110px;stroke:#c1bdd2;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 6px 18px rgba(181,145,239,.07))}
.service-icon::before,.service-icon::after{position:absolute;content:"";width:127px;height:127px;border:1px solid rgba(168,137,224,.11);border-radius:50%;transform:rotateX(65deg) rotate(-25deg)}
.service-icon::after{width:105px;height:105px;transform:rotateY(70deg) rotate(30deg);border-style:dashed}
.service-card:hover .service-icon{transform:translateZ(25px) translateY(-8px) rotate(-5deg)}
.service-card:hover .service-icon svg{stroke:#e9dbff}
.service-copy{display:block;position:relative;z-index:1;transform:translateZ(22px)}
.service-name{display:block;font-size:clamp(25px,2.5vw,34px);line-height:1.04;font-weight:800;letter-spacing:-.06em}
.service-description{display:block;font-size:12px;color:#96939d;line-height:1.6;margin-top:14px}
.service-bottom{position:relative;z-index:1;border-top:1px solid rgba(255,255,255,.14);margin-top:25px;padding-top:17px;font-size:10px;font-weight:700;letter-spacing:.11em;display:flex;align-items:center;justify-content:space-between;color:#b2aeb8}
.service-bottom span{font-size:15px;color:var(--purple)}
.services-footnote{display:flex;justify-content:space-between;gap:20px;margin-top:24px;color:#77757e;font-size:9px;letter-spacing:.12em}
.services-footnote span span{color:var(--purple);font-size:15px}
/* VISION */
.vision-section{background:radial-gradient(ellipse at 75% 60%,#131020 0%,#0e0d13 32%,#0b0b0d 70%);overflow:hidden;border-top:1px solid var(--line)}
.vision-grid{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;min-height:650px}
.section-topline-simple{margin-bottom:72px}
.vision-heading{font-size:clamp(68px,7.2vw,110px);line-height:.96;font-weight:900;letter-spacing:-.085em;margin:0 0 42px}
.vision-heading span{color:transparent;-webkit-text-stroke:1.2px #88838e}
.vision-description{color:#aba8b1;font-size:15px;line-height:1.9;max-width:460px;margin:0 0 18px}
.vision-description-highlight{color:#edeaf3;font-weight:700;margin-bottom:42px}
.inline-link{padding:0 0 13px;border:0;border-bottom:1px solid rgba(255,255,255,.43);display:inline-flex;align-items:center;justify-content:space-between;gap:28px;font-size:10px;letter-spacing:.11em;font-weight:800;background:none;transition:border-color .25s,color .25s;text-align:left}
.inline-link:hover{color:#c6afff;border-color:var(--purple)}
.inline-link>span{font-size:21px;color:var(--purple);font-weight:400}
.vision-art{height:610px;position:relative;display:grid;place-items:center;perspective:1000px}
.vision-reticle{position:absolute;width:92%;aspect-ratio:1;border:1px solid rgba(205,185,255,.075);border-radius:50%;transform:rotateX(66deg);animation:reticle 36s linear infinite}
.vision-reticle::after{content:"";position:absolute;inset:16%;border-radius:50%;border:1px dashed rgba(205,185,255,.12)}
@keyframes reticle{to{transform:rotateX(66deg) rotate(360deg)}}
.vision-console{width:83%;height:410px;background:linear-gradient(140deg,rgba(36,32,49,.85),rgba(15,14,20,.96));border:1px solid rgba(233,215,255,.26);box-shadow:20px 35px 90px rgba(0,0,0,.45),inset 0 0 0 1px rgba(255,255,255,.025);transform:rotateY(-11deg) rotateX(7deg) rotateZ(-4deg);display:flex;flex-direction:column;position:relative;transform-style:preserve-3d;animation:console-float 8s ease-in-out infinite}
.vision-console::after{content:"";position:absolute;top:8px;bottom:-12px;right:-14px;width:13px;background:#22202e;border:1px solid rgba(233,215,255,.12);transform:skewY(38deg)}
.vision-console::before{content:"";position:absolute;bottom:-15px;left:7px;right:-7px;height:14px;background:#14141a;transform:skewX(46deg)}
@keyframes console-float{0%,100%{transform:rotateY(-11deg) rotateX(7deg) rotateZ(-4deg) translateY(2px)}50%{transform:rotateY(-7deg) rotateX(9deg) rotateZ(-3deg) translateY(-13px)}}
.console-head,.console-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;font-family:'Courier New',monospace;letter-spacing:.04em;font-size:9px;color:#a5a0af;padding:20px 22px;border-bottom:1px solid var(--line)}
.console-head span:first-child{display:flex;align-items:center;gap:8px}
.console-head span:last-child{color:#7b768a}
.console-led{width:5px;height:5px}
.console-foot{margin-top:auto;border-bottom:0;border-top:1px solid var(--line);padding:18px 22px;font-size:8px}
.console-foot b{color:var(--purple);margin:0 8px;font-size:7px}
.console-middle{flex:1;display:grid;place-items:center;position:relative;overflow:hidden;background:repeating-linear-gradient(0deg,transparent 0 34px,rgba(203,193,227,.025) 34px 35px),repeating-linear-gradient(90deg,transparent 0 34px,rgba(203,193,227,.025) 34px 35px)}
.console-middle::after{content:"";inset:15%;position:absolute;background:radial-gradient(circle,rgba(151,120,243,.13),transparent 66%);filter:blur(14px)}
.console-symbol{width:154px;height:154px;position:relative;z-index:3;transform:rotate(-13deg);filter:drop-shadow(15px 15px 16px rgba(0,0,0,.5))}
.console-symbol img{width:100%;height:100%}
.console-rings,.console-rings span{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.console-rings span{left:50%;top:50%;transform:translate(-50%,-50%) rotateX(68deg);width:230px;height:230px;border:1px solid rgba(165,135,245,.32);border-radius:50%}
.console-rings span:nth-child(2){width:290px;height:290px;transform:translate(-50%,-50%) rotateY(69deg);border-style:dashed;opacity:.6}
.console-rings span:nth-child(3){width:345px;height:345px;transform:translate(-50%,-50%) rotate(39deg) rotateX(85deg);opacity:.45}
.console-mark{position:absolute;color:#7e708e;font:20px 'Courier New',monospace}.mark-a{top:14%;left:12%}.mark-b{right:12%;bottom:12%}
.vision-floating{position:absolute;z-index:2;background:rgba(20,19,27,.85);backdrop-filter:blur(14px);border:1px solid rgba(227,219,247,.22);width:195px;min-height:88px;padding:14px 14px 13px;box-shadow:0 25px 55px rgba(0,0,0,.24);display:flex;flex-direction:column;justify-content:space-between;gap:8px;animation:float-label 7s ease-in-out infinite}
.vision-floating-top{top:63px;right:-4%;transform:rotate(6deg)}
.vision-floating-bottom{bottom:78px;left:-7%;transform:rotate(-7deg);animation-delay:-3s}
.vision-floating>span{color:var(--purple);font-size:10px;font-family:monospace}
.vision-floating b{font-size:10px;letter-spacing:.08em}
.vision-floating small{font-size:8px;letter-spacing:.11em;color:#a6a1ad}
.vision-floating i{color:var(--purple);font-size:8px;font-style:normal}
@keyframes float-label{0%,100%{translate:0 0}50%{translate:0 -11px}}
.vision-art-index{position:absolute;bottom:0;right:9%;font:9px 'Courier New',monospace;color:#77717f;letter-spacing:.1em}
/* SMART HOME */
.smart-section{background:#080809;padding-bottom:105px;overflow:hidden}
.smart-panel{position:relative;min-height:640px;display:grid;grid-template-columns:47% 53%;margin-top:54px;border:1px solid rgba(220,209,247,.15);background:#121017;isolation:isolate;overflow:hidden}
.smart-backdrop{position:absolute;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 91% 44%,rgba(106,73,189,.27),transparent 50%),linear-gradient(110deg,#121017 20%,#181322 100%)}
.smart-panel::after{position:absolute;content:"";left:47%;top:0;bottom:0;width:1px;background:rgba(220,209,247,.16)}
.smart-intro{padding:55px 40px 55px 48px;z-index:2;display:flex;align-items:flex-start;flex-direction:column}
.smart-state{display:inline-flex;align-items:center;gap:12px;font-family:monospace;font-size:9px;letter-spacing:.12em;color:#c6b6e6;border:1px solid rgba(188,159,255,.32);padding:12px 14px;margin-bottom:48px;background:rgba(130,95,213,.06)}
.smart-pulse{width:6px;height:6px;animation:pulse 2.5s infinite}
.smart-state-arrow{font-size:15px;color:var(--purple-light);margin-left:12px}
.smart-intro h2{margin:0 0 27px;line-height:1.01;letter-spacing:-.073em;font-weight:900;font-size:clamp(43px,4.25vw,66px)}
.smart-intro h2 span{color:transparent;-webkit-text-stroke:1px #9f86c4}
.smart-description{font-size:14px;color:#aaa3b9;line-height:1.8;max-width:375px;margin:0 0 35px}
.smart-preview-label{font:9px 'Courier New',monospace;color:#c5b2ea;letter-spacing:.11em;display:flex;align-items:center;gap:15px;margin:0 0 17px}
.smart-preview-line{width:55px;height:1px;background:rgba(168,143,224,.5)}
.smart-controls{display:flex;gap:6px;flex-wrap:wrap}
.smart-control{border:1px solid rgba(217,205,246,.22);background:rgba(255,255,255,.016);color:#a6a1b1;font-size:9px;letter-spacing:.06em;font-weight:700;padding:11px 12px;transition:background .25s,color .25s,border .25s}
.smart-control:hover{border-color:var(--purple-light);color:white}
.smart-control.is-active{background:#d8c5ff;color:#160e28;border-color:#d8c5ff}
.smart-live-copy{margin:20px 0 0;min-height:74px;max-width:400px;display:flex;flex-direction:column;gap:8px}
.smart-live-copy b{font-size:15px;line-height:1.3}
.smart-live-copy span{font-size:12px;line-height:1.65;color:#b0a8bc}
.smart-link{margin-top:auto;padding-top:28px}
.smart-visual{position:relative;z-index:1;min-height:590px;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;padding:25px 23px 21px}
.smart-visual-top,.smart-visual-bottom{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:10px;font:9px 'Courier New',monospace;color:#aaa0bd;letter-spacing:.065em}
.smart-visual-top span:last-child{color:#767084}
.house-svg{width:100%;height:auto;max-height:545px;align-self:center;filter:drop-shadow(0 0 28px rgba(158,123,251,.04));overflow:visible}
.house-outer{filter:drop-shadow(0 0 8px rgba(183,160,255,.16))}
.circuit-line{animation:circuit 8s linear infinite}
@keyframes circuit{to{stroke-dashoffset:-110}}
.house-node{opacity:.5;transition:opacity .4s;cursor:default}
.house-node.is-active{opacity:1;filter:drop-shadow(0 0 12px rgba(165,118,255,.55))}
.house-node.is-active circle:first-child{animation:node-pulse 2.6s ease-in-out infinite}
@keyframes node-pulse{50%{stroke-opacity:.75;stroke-width:2}}
.house-hub{filter:drop-shadow(0 0 14px rgba(155,116,251,.6))}
.smart-visual-bottom{border-top:1px solid rgba(225,216,250,.15);padding-top:13px}
.smart-visual-bottom span:first-child{display:flex;align-items:center;gap:8px}
.smart-visual-led{width:5px;height:5px}
.smart-note{margin-top:20px;display:flex;justify-content:space-between;gap:20px;color:#77717e;font-size:9px;letter-spacing:.1em}
/* PROCESS */
.method-section{background:#0b0b0d}
.method-heading-grid{margin-bottom:89px}
.method-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line-strong)}
.method-step{padding:20px 27px 15px 0;min-height:350px;position:relative;display:flex;align-items:flex-start;flex-direction:column}
.method-step:not(:last-child){border-right:1px solid var(--line);margin-right:25px}
.method-index{width:100%;display:flex;justify-content:space-between;color:#b0abb4;font-size:11px;font-family:'Courier New',monospace}
.method-index i{font-size:18px;font-style:normal;color:#665680}
.method-line{width:8px;height:8px;position:relative;left:0;top:51px;border-radius:50%;background:var(--purple);box-shadow:0 0 0 5px rgba(154,122,227,.11)}
.method-step h3{font-size:clamp(25px,2.5vw,38px);line-height:1;letter-spacing:-.065em;margin:91px 0 16px}
.method-step h3 span{color:var(--purple)}
.method-step p{font-size:13px;color:#9a98a1;line-height:1.7;margin:0 0 35px;max-width:210px}
.method-step small{font:9px 'Courier New',monospace;letter-spacing:.12em;color:#716d79;margin-top:auto}
/* CONTACT */
.contact-section{background:radial-gradient(ellipse at 5% 60%,rgba(109,76,180,.085),transparent 49%),#101014;border-top:1px solid var(--line);padding:130px 0 148px}
.contact-wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:11%;align-items:start}
.contact-intro .section-topline-simple{margin-bottom:70px}
.contact-intro h2{font-size:clamp(57px,6.8vw,103px);font-weight:900;line-height:.94;letter-spacing:-.081em;margin:0 0 35px}
.contact-intro h2>span:first-of-type{color:transparent;-webkit-text-stroke:1.15px rgba(230,227,239,.8)}
.contact-intro h2>.period{color:var(--purple);-webkit-text-stroke:0}
.contact-intro>p:not(.section-kicker){max-width:440px;font-size:15px;line-height:1.85;color:#a5a1ae}
.contact-mini{display:flex;align-items:center;gap:13px;margin-top:82px;color:#85818b;font:9px 'Courier New',monospace;letter-spacing:.13em}
.contact-mini-dot{width:6px;height:6px}
.contact-form-wrap{background:rgba(19,18,23,.9);border:1px solid rgba(230,219,248,.16);padding:34px 36px 32px;margin-top:34px}
.form-head{display:flex;justify-content:space-between;gap:10px;padding-bottom:29px;border-bottom:1px solid var(--line-strong);font-family:'Courier New',monospace;font-size:10px;letter-spacing:.08em;color:#aaa5b1}
.form-head span:first-child{color:white}
.form-field{margin-top:28px;display:flex;flex-direction:column;gap:11px}
.form-field label{font-size:10px;font-weight:750;letter-spacing:.08em;color:#b6b1bf}
.form-field input,.form-field select,.form-field textarea{width:100%;border:0;border-bottom:1px solid rgba(231,226,240,.21);border-radius:0;background:transparent;color:#f5f1f7;padding:13px 0 17px;font-size:16px;outline:none;transition:border-color .25s;resize:vertical}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-bottom-color:var(--purple);outline:0}
.form-field input::placeholder,.form-field textarea::placeholder{color:#6e6975}
.form-field select{appearance:none;color:#bab5c0;font-size:14px;cursor:pointer;padding-right:28px}
.form-field select:has(option:checked:not([value=""])){color:#f5f1f7}
.form-field select option{background:#17141d;color:#fff}
.select-wrap{position:relative}
.select-wrap>span{position:absolute;right:0;top:0;pointer-events:none;font-size:25px;color:var(--purple)}
.field-error{font-size:11px;color:#ffb6b6;min-height:0}
.form-field input[aria-invalid="true"]{border-color:#ffb6b6}
.form-submit{display:flex;justify-content:space-between;align-items:center;width:100%;margin:36px 0 0;padding:19px 20px 19px 24px;background:#f3f2f0;color:#090909;font-weight:900;font-size:11px;letter-spacing:.09em;border:0;transition:background .2s,transform .25s}
.form-submit:hover{background:#cfb8ff;transform:translateY(-2px)}
.form-submit-arrow{font-size:23px;font-weight:400}
.form-privacy{font-size:10px;line-height:1.7;color:#817b8b;margin:17px 0 0}
.brief-result{border-top:1px solid var(--line-strong);margin-top:30px;padding-top:25px}
.brief-result-title{display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.1em}
.brief-check{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#c2aaff;color:#0c0813;font-weight:900}
.brief-result p{font-size:12px;line-height:1.7;color:#aaa4b4}
.brief-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:21px}
.brief-action{padding:12px 13px;background:#f1eff2;border:1px solid #f1eff2;font-weight:800;letter-spacing:.08em;color:#100f12;font-size:10px;transition:background .2s}
.brief-action:hover{background:#d4beff}
.brief-action-outline{color:#e4d8f5;background:transparent;border-color:rgba(224,208,252,.32)}
.brief-action-outline:hover{color:#100f12}
.copy-status{display:block;min-height:17px;margin-top:12px;color:#cbb8ff;font-size:11px}
/* FOOTER */
.site-footer{background:#060607;border-top:1px solid var(--line);padding:36px 0 29px;overflow:hidden}
.footer-top{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:9px;letter-spacing:.13em;color:#8a8790}
.footer-up{color:#c4b4eb;transition:color .2s}.footer-up:hover{color:white}
.footer-brand{display:flex;align-items:center;gap:1.2vw;margin:47px 0 45px;white-space:nowrap}
.footer-brand img{width:clamp(55px,9.6vw,153px);height:clamp(55px,9.6vw,153px);align-self:center}
.footer-brand>span{font-weight:900;font-size:clamp(125px,23.25vw,380px);line-height:.86;letter-spacing:-.102em}
.footer-bottom{padding-top:22px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;color:#77747f;font-size:9px;letter-spacing:.07em}
.footer-links{display:flex;gap:24px}
.footer-links a{color:#a7a2ae;transition:color .2s}
.footer-links a:hover{color:white}
/* SERVICE MODAL */
.service-modal{position:fixed;inset:0;max-width:none;max-height:none;width:100%;height:100%;margin:0;border:none;padding:0;background:transparent;color:var(--white);overflow:hidden}
.service-modal::backdrop{background:transparent}
.modal-backdrop{position:absolute;inset:0;background:rgba(1,1,2,.78);backdrop-filter:blur(12px);animation:fadein .22s both}
.modal-panel{position:absolute;right:0;top:0;bottom:0;width:min(560px,100%);display:flex;flex-direction:column;background:#151319;border-left:1px solid rgba(204,180,248,.33);overflow-y:auto;animation:slidein .5s var(--ease) both}
@keyframes fadein{from{opacity:0}to{opacity:1}}
@keyframes slidein{from{transform:translateX(100%)}to{transform:translateX(0)}}
.modal-top{height:100px;min-height:100px;border-bottom:1px solid var(--line);padding:0 35px;display:flex;align-items:center;justify-content:space-between;font-family:monospace;font-size:11px;letter-spacing:.12em;color:#aaa0b7}
.modal-close{border:1px solid var(--line-strong);width:44px;height:44px;background:transparent;font-size:17px;transition:background .2s}
.modal-close:hover{background:#282132}
.modal-content{padding:62px 48px 48px;display:flex;flex-direction:column;align-items:flex-start}
.modal-tag{font-size:10px;letter-spacing:.2em;color:#c09df9;font-weight:700;margin-bottom:27px}
.modal-content h2{font-size:clamp(40px,5vw,65px);font-weight:900;letter-spacing:-.075em;line-height:1.02;margin:0 0 26px}
.modal-description{font-size:16px;color:#b5acbd;line-height:1.9;margin:0 0 38px}
.modal-detail-title{font:10px 'Courier New',monospace;color:#c6b2e8;letter-spacing:.14em;padding-top:24px;width:100%;border-top:1px solid var(--line-strong)}
.modal-deliverables{padding:0;margin:23px 0 42px;list-style:none;width:100%}
.modal-deliverables li{font-size:15px;border-bottom:1px solid var(--line);padding:13px 0;display:flex;justify-content:space-between;gap:12px}
.modal-deliverables li::after{content:"↗";color:var(--purple)}
.modal-signature{font-size:20px;line-height:1.4;font-style:italic;color:#d7c8e8;padding-left:18px;border-left:2px solid var(--purple);margin:0 0 37px}
.modal-cta{width:100%}
.modal-foot{font:9px 'Courier New',monospace;color:#615b69;letter-spacing:.11em;margin:auto 48px 30px}
/* RESPONSIVE */
@media(max-width:1250px){
 .frame{width:min(calc(100% - 72px),var(--frame))}
 .desktop-nav{gap:20px;margin-right:8px}.brand{min-width:150px}
 .hero-title{font-size:clamp(70px,8.2vw,110px)}.hero-art{min-height:440px}
 .smart-intro{padding:45px 30px}.smart-intro h2{font-size:clamp(42px,4.5vw,60px)}
 .vision-grid{gap:3%}.vision-floating-top{right:-1%}.vision-floating-bottom{left:-2%}
 .contact-wrap{gap:6%}
}
@media(max-width:1020px){
 .desktop-nav,.header-cta{display:none}.menu-toggle{display:flex}.header-inner{min-height:76px}.site-header{min-height:76px}.mobile-nav{top:76px}
 .hero-inner{padding-top:98px;grid-template-columns:1fr .87fr}.hero-art{min-height:420px;height:490px}
 .hero-eyebrow{font-size:9px}.hero-title{font-size:clamp(65px,8.7vw,95px)}
 .service-card{padding:24px;min-height:375px}.service-name{font-size:28px}
 .vision-heading{font-size:clamp(60px,7.5vw,84px)}.vision-art{height:520px}.vision-console{height:350px}
 .smart-panel{grid-template-columns:48% 52%}.smart-panel::after{left:48%}.smart-intro h2{font-size:42px}.smart-intro{padding:38px 26px}.smart-visual{min-height:535px}.smart-state{margin-bottom:35px}
 .smart-control{padding:9px 10px}.method-step:not(:last-child){margin-right:15px}.method-step{padding-right:18px}
 .footer-brand>span{font-size:23vw}
}
@media(max-width:820px){
 .frame{width:calc(100% - 42px)}.section{padding:95px 0}.section-heading-wrap,.method-heading-grid{margin:55px 0 43px;align-items:start;flex-direction:column;gap:17px}
 .section-heading{font-size:clamp(46px,7.8vw,64px)}.section-sidecopy{max-width:470px}
 .hero{height:auto;min-height:900px}.hero-inner{grid-template-columns:1fr;padding-top:154px;align-content:start}
 .hero-copy{padding-bottom:0}.hero-eyebrow{margin-bottom:26px}.hero-title{font-size:clamp(68px,10vw,105px)}
 .hero-description{margin:24px 0 26px;max-width:550px;font-size:14px}
 .hero-art{height:480px;min-height:0;width:min(620px,100%);margin:0 auto}.logo-canvas{left:0;width:100%;top:-4%;height:110%}
 .hero-orbit-label{display:none}.hero-bottom{margin-top:0;height:62px}.scene-label-top{right:7%;top:9%}
 .services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card{min-height:355px}
 .service-icon{margin:auto auto 20px;width:110px;height:95px}.service-icon svg{width:90px;height:90px}.service-icon::before{width:110px;height:110px}.service-icon::after{width:95px;height:95px}
 .vision-grid{grid-template-columns:1fr;gap:20px}.vision-art{height:550px;max-width:650px;width:100%;margin:auto}
 .vision-copy .section-topline{margin-bottom:55px}.vision-heading{font-size:clamp(67px,10vw,110px)}
 .smart-panel{grid-template-columns:1fr}.smart-panel::after{display:none}.smart-intro{padding:38px 33px 20px}.smart-state{margin-bottom:36px}.smart-intro h2{font-size:clamp(50px,8vw,78px)}
 .smart-live-copy{min-height:60px}.smart-link{margin-top:12px}.smart-visual{min-height:0;padding:15px 28px 25px}.house-svg{max-height:460px}
 .method-steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:20px}.method-step{min-height:300px}.method-step:nth-child(2){margin-right:0;border-right:0}.method-step h3{margin-top:73px}
 .contact-wrap{grid-template-columns:1fr;gap:30px}.contact-intro h2{font-size:clamp(68px,10vw,104px)}.contact-intro .section-topline{margin-bottom:55px}.contact-mini{margin-top:33px}
 .contact-form-wrap{margin-top:6px}
 .footer-bottom{flex-wrap:wrap}.footer-bottom>span:nth-child(2){display:none}.footer-brand img{width:9vw;height:9vw}
}
@media(max-width:540px){
 html{scroll-padding-top:70px}.frame{width:calc(100% - 36px)}
 .site-header{min-height:70px}.header-inner{min-height:69px}.mobile-nav{top:69px}.brand{min-width:0;gap:9px}.brand img{width:28px;height:28px}.brand-name{font-size:24px}
 .hero{min-height:810px}.hero-inner{padding-top:123px}.hero-eyebrow{font-size:8px;letter-spacing:.08em;gap:7px}.eyebrow-index{display:none}
 .hero-title{font-size:clamp(57px,11.6vw,77px);line-height:.96;letter-spacing:-.09em}.hero-title .title-outline{-webkit-text-stroke:1px #e0e0e0}
 .hero-description{font-size:13px;line-height:1.75;max-width:325px;margin:22px 0 23px}.hero-actions{gap:20px}
 .button{min-height:52px;padding:0 14px 0 17px;gap:19px;font-size:10px}.button-arrow{font-size:19px}
 .text-action{font-size:11px;gap:12px}.text-action span{font-size:16px}
 .hero-art{height:360px;width:100%;margin-top:16px}.orbit-outer{width:100%}.orbit-inner{width:78%}.orbit-slashed{width:100%}
 .logo-canvas{top:-3%;height:100%}.scene-label-top{top:3%;right:0;font-size:8px}.scene-interaction{bottom:3%;left:9%;font-size:8px;gap:9px}
 .scene-coordinates-left{display:none}.hero-bottom{height:62px}.hero-bottom-left{font-size:8px}.scroll-indicator{font-size:8px;gap:10px}.scroll-indicator-line{height:19px}.hero-bottom-count{display:none}
 .marquee-section{padding:17px 0}.marquee-track>span{font-size:18px;gap:17px}.marquee-track i{font-size:17px}
 .section{padding:72px 0}.section-topline{font-size:8px;letter-spacing:.12em;padding-top:16px}.section-topline span:last-child{white-space:nowrap}
 .section-heading-wrap,.method-heading-grid{margin:43px 0 34px}.section-kicker{font-size:8px;letter-spacing:.12em;margin-bottom:16px}
 .section-heading{font-size:clamp(38px,9vw,55px);letter-spacing:-.07em}.section-sidecopy{font-size:13px}
 .services-grid{grid-template-columns:1fr;gap:10px}.service-card{min-height:300px;padding:21px 23px}.service-icon{height:80px;width:100px;margin:15px auto}.service-icon svg{width:85px;height:85px}.service-icon::before{width:95px;height:95px}.service-icon::after{width:87px;height:87px}
 .service-name{font-size:30px}.service-description{margin-top:8px;font-size:12px}.service-bottom{margin-top:19px;padding-top:13px}.services-footnote{font-size:8px;line-height:1.7;flex-direction:column;gap:7px}
 .vision-copy .section-topline{margin-bottom:45px}.vision-heading{font-size:clamp(64px,13vw,92px);margin-bottom:30px}.vision-description{font-size:13px}.vision-description-highlight{margin-bottom:30px}
 .vision-art{height:400px}.vision-console{width:88%;height:290px}.console-head,.console-foot{font-size:7px;padding:14px}.console-symbol{width:110px;height:110px}.console-rings span{width:180px;height:180px}.console-rings span:nth-child(2){width:235px;height:235px}.console-rings span:nth-child(3){width:280px;height:280px}
 .vision-floating{width:135px;min-height:68px;padding:9px;gap:5px}.vision-floating b{font-size:8px}.vision-floating small{font-size:7px}.vision-floating-top{top:10px;right:0}.vision-floating-bottom{bottom:30px;left:0}.vision-art-index{font-size:7px}
 .smart-panel{margin-top:38px}.smart-intro{padding:27px 20px 17px}.smart-state{font-size:8px;padding:9px 10px;margin-bottom:27px}.smart-intro h2{font-size:clamp(42px,10.8vw,62px)}
 .smart-description{font-size:12px;line-height:1.75;margin-bottom:25px}.smart-controls{gap:5px}.smart-control{font-size:8px;padding:9px 8px}
 .smart-preview-label{font-size:8px}.smart-live-copy{margin-top:16px;min-height:68px}.smart-live-copy b{font-size:13px}.smart-live-copy span{font-size:11px}.smart-link{font-size:9px}
 .smart-visual{padding:12px 12px 20px}.smart-visual-top,.smart-visual-bottom{font-size:7px}.house-svg{margin-top:8px}.smart-note{flex-direction:column;gap:5px;font-size:8px;line-height:1.6}
 .method-steps{grid-template-columns:1fr;row-gap:0}.method-step{min-height:212px;border:0!important;border-bottom:1px solid var(--line)!important;margin:0!important;padding:21px 4px 18px 0}
 .method-step h3{margin:46px 0 12px;font-size:33px}.method-line{top:28px}.method-step p{margin:0 0 16px;max-width:none}.method-step small{margin-top:0}
 .contact-section{padding:80px 0 90px}.contact-intro .section-topline{margin-bottom:44px}.contact-intro h2{font-size:clamp(64px,13.2vw,84px)}.contact-intro>p:not(.section-kicker){font-size:13px}
 .contact-mini{font-size:8px;line-height:1.7}.contact-form-wrap{padding:24px 21px 24px}.form-head{font-size:9px;padding-bottom:22px}.form-field{margin-top:24px}.form-field label{font-size:9px}.form-field input,.form-field select,.form-field textarea{font-size:14px}.form-privacy{font-size:9px}
 .footer-top{font-size:8px}.footer-brand{margin:45px 0 42px;gap:1vw}.footer-brand img{width:10vw;height:10vw}.footer-brand>span{font-size:22.8vw}
 .footer-bottom{font-size:8px;gap:14px}.footer-links{width:100%;justify-content:space-between}
 .modal-top{min-height:75px;height:75px;padding:0 22px}.modal-content{padding:41px 24px 30px}.modal-content h2{font-size:43px}.modal-description{font-size:14px}.modal-foot{margin:20px 24px 25px}
}
@media(max-width:360px){.hero-title{font-size:55px}.hero-actions{gap:14px}.hero-eyebrow{font-size:7px}.hero-bottom-left{font-size:7px}.scroll-indicator{font-size:7px}.smart-control{font-size:7px}.scene-interaction{font-size:7px}.smart-intro h2{font-size:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.marquee-track{animation:none}.mouse-glow{display:none}}
/* Fallback imersivo: a marca continua em perspectiva 3D quando WebGL está bloqueado. */
.hero-orbit-label-left{display:none}
.hero-art.is-fallback{perspective:900px}
.fallback-stack{position:relative;width:61%;aspect-ratio:1;z-index:3;transform-style:preserve-3d;will-change:transform;filter:drop-shadow(26px 24px 18px rgba(0,0,0,.28))}
.fallback-stack .logo-fallback,.fallback-stack .logo-fallback-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}
.fallback-stack .logo-fallback{z-index:12;transform:translateZ(11px);filter:none}
.fallback-stack .logo-fallback-layer{z-index:1;filter:brightness(.22) saturate(0);transform:translateZ(var(--depth))}
@media(max-width:540px){.fallback-stack{width:62%}}
/* Evita que títulos longos imponham largura extra em aparelhos estreitos. */
.contact-wrap{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
.contact-wrap>*{min-width:0}
@media(max-width:820px){.contact-wrap{grid-template-columns:minmax(0,1fr)}}
@media(max-width:540px){.contact-intro h2{font-size:clamp(51px,16.4vw,84px)}}

/* REVOZ 1.5 — detalhes 3D locais. A identidade e o fluxo da V1 não mudam. */
.hero-3d-controls{position:absolute;z-index:8;right:0;bottom:6%;display:flex;align-items:center;gap:5px}
.hero-3d-controls button,.artifact-controls button{width:31px;height:31px;display:grid;place-items:center;background:rgba(18,16,24,.75);border:1px solid rgba(208,191,238,.23);color:#d5c9e8;font-size:17px;line-height:1;transition:background .18s,border-color .18s,color .18s}
.hero-3d-controls button:hover,.artifact-controls button:hover{background:rgba(155,115,236,.17);border-color:#9f88c5;color:#fff}
.hero-3d-controls button:focus-visible,.artifact-controls button:focus-visible{outline:2px solid #d1baff;outline-offset:2px}
.hero-3d-controls .hero-rotate-toggle{display:none;width:auto;font-size:8px;letter-spacing:.09em;font-weight:700;padding:0 9px;white-space:nowrap}
.hero-3d-controls .hero-rotate-toggle[aria-pressed="true"],.artifact-controls .artifact-touch-rotate[aria-pressed="true"]{background:rgba(190,159,255,.92);border-color:#cbb0ff;color:#16101f}
.hero-art.touch-active .logo-canvas{touch-action:none}
.hero-art.touch-active .fallback-stack{touch-action:none}
/* O HTML foi preservado; só a experiência ao abrir um serviço ganhou uma peça 3D. */
.artifact-viewer{width:100%;min-width:0;margin:0 0 29px;background:#0d0b11;border:1px solid rgba(221,205,250,.14);overflow:hidden}
.artifact-topline{min-height:37px;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 13px;border-bottom:1px solid rgba(216,201,248,.11);font:9px 'Courier New',monospace;letter-spacing:.09em;color:#888193}
.artifact-topline span:first-child{color:#beb4ce}
.artifact-stage{position:relative;isolation:isolate;height:250px;overflow:hidden;background:radial-gradient(ellipse at 52% 48%,#231a34 0%,#0d0b11 68%)}
.artifact-stage canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:pan-y;cursor:grab}
.artifact-stage canvas:active{cursor:grabbing}
.artifact-stage.touch-active canvas{touch-action:none}
.artifact-reticle{pointer-events:none;position:absolute;width:23px;height:23px;z-index:2;opacity:.65}
.artifact-reticle-tl{left:13px;top:13px;border-top:1px solid #8b74bc;border-left:1px solid #8b74bc}
.artifact-reticle-br{right:13px;bottom:13px;border-right:1px solid #8b74bc;border-bottom:1px solid #8b74bc}
.artifact-controls{height:45px;border-top:1px solid rgba(216,201,248,.12);display:flex;gap:5px;align-items:center;padding:5px 9px}
.artifact-controls .artifact-instruction{font:8px 'Courier New',monospace;letter-spacing:.1em;color:#8b8495;margin-right:auto}
.artifact-controls button{height:29px;width:29px;border-color:rgba(221,205,250,.13);font-size:17px}
.artifact-controls .artifact-touch-rotate{display:none;width:auto;white-space:nowrap;padding:0 8px;font-size:8px;letter-spacing:.03em}
/* Evita que o hover 3D dos cards persista após usar toque no celular. */
@media(pointer:coarse){.service-card{will-change:auto}.hero-3d-controls .hero-rotate-toggle,.artifact-controls .artifact-touch-rotate{display:grid}.artifact-controls .artifact-instruction{display:none}}
@media(max-width:820px){.hero-3d-controls{right:6%;bottom:8%}}
@media(max-width:540px){
 .hero-3d-controls{right:1%;bottom:10%;gap:3px}
 .hero-3d-controls button{width:27px;height:27px;font-size:15px}
 .hero-3d-controls .hero-rotate-toggle{font-size:7px;padding:0 7px}
 .scene-interaction{bottom:2%;left:3%}
 .artifact-stage{height:195px}
 .artifact-topline{font-size:8px}
}
@media(max-width:360px){.hero-3d-controls{right:0;bottom:10%}.scene-interaction-line{display:none}}
