
:root{--bg:#020b14;--panel:#071522;--line:rgba(94,175,226,.28);--blue:#0b8ee9;--blue2:#19b8ff;--orange:#ff8200;--text:#f5f8fb;--muted:#a9b8c6}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,"Arial Narrow",sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}button{font:inherit}.container{width:min(1440px,calc(100% - 72px));margin:auto}
.topbar{height:90px;position:fixed;z-index:30;inset:0 0 auto;background:rgba(2,10,18,.9);backdrop-filter:blur(15px);border-bottom:1px solid rgba(105,172,216,.2)}.nav{height:100%;display:flex;align-items:center;justify-content:space-between}.logo{width:230px;display:block}.navlinks{display:flex;align-items:center;gap:44px;font-weight:700;font-size:14px;letter-spacing:1px}.navlinks a{position:relative}.navlinks a:hover,.navlinks a.active{color:var(--blue2)}.navlinks a.active:after{content:"";position:absolute;left:0;right:0;bottom:-32px;height:3px;background:var(--blue2);box-shadow:0 0 12px var(--blue2)}.langs{display:flex;gap:12px;margin-left:20px}.langs .on{color:var(--blue2)}
.hero{min-height:920px;padding-top:90px;position:relative;overflow:hidden;background-image:linear-gradient(90deg,rgba(1,10,18,.98) 0%,rgba(1,10,18,.86) 29%,rgba(1,10,18,.15) 69%,rgba(1,10,18,.45) 100%),url('hero-trofa.jpg');background-size:cover;background-position:center}.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(33,135,200,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(33,135,200,.065) 1px,transparent 1px);background-size:80px 80px;pointer-events:none}.blueprint{position:absolute;inset:90px 0 0;opacity:.34;pointer-events:none;background-image:url('blueprint.svg');background-size:cover;background-position:center}.hero-inner{position:relative;z-index:2;padding-top:130px;width:590px}.eyebrow{color:var(--blue2);font-weight:800;letter-spacing:1.8px;font-size:20px;text-transform:uppercase}.hero h1{font-size:65px;line-height:1.02;margin:18px 0 30px;text-transform:uppercase;letter-spacing:-1px}.hero h1 span{display:block}.hero-copy{font-size:21px;color:#e3ebf2;max-width:590px}.glowline{width:75px;height:3px;margin:26px 0;background:var(--blue2);box-shadow:0 0 12px var(--blue2)}.actions{display:flex;gap:22px;margin-top:34px}.btn{padding:17px 30px;border:1px solid #298bc8;font-weight:800;letter-spacing:.4px;text-transform:uppercase;display:inline-flex;align-items:center;gap:18px}.btn.primary{background:linear-gradient(135deg,#0f98ed,#096fc2);border-color:#20adff}.btn:hover{transform:translateY(-2px)}
.features{position:absolute;z-index:2;left:0;right:0;bottom:0;background:linear-gradient(180deg,transparent,rgba(1,9,17,.96) 25%);padding:95px 0 35px}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr)}.feature{display:grid;grid-template-columns:70px 1fr;gap:18px;padding:0 30px;border-right:1px solid rgba(130,170,200,.35)}.feature:first-child{padding-left:0}.feature:last-child{border:none}.feature svg{width:56px;height:56px;stroke:var(--blue2);fill:none;stroke-width:1.7}.feature h3{margin:0 0 8px;color:var(--blue2);font-size:18px;text-transform:uppercase}.feature p{margin:0;color:#d4dee7;font-size:16px}
section{padding:100px 0}.section-head{max-width:760px;margin-bottom:50px}.section-tag{color:var(--blue2);text-transform:uppercase;font-weight:800;letter-spacing:1.5px}.section-head h2{font-size:46px;margin:10px 0 15px}.section-head p{font-size:19px;color:var(--muted)}.services{background:#06121e}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{padding:34px;background:linear-gradient(145deg,rgba(13,40,61,.82),rgba(4,17,29,.96));border:1px solid var(--line);min-height:240px}.card .num{color:var(--orange);font-weight:900}.card h3{font-size:23px;margin:22px 0 12px}.card p{color:var(--muted)}
.portfolio{background:#020b14}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.project{position:relative;height:310px;overflow:hidden;border:1px solid var(--line);cursor:pointer;background:#07131f}.project img{width:100%;height:100%;object-fit:cover;transition:.5s}.project:hover img{transform:scale(1.06)}.project:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(0,8,16,.94))}.project-meta{position:absolute;z-index:2;left:24px;right:24px;bottom:22px}.project-meta h3{margin:0 0 5px;font-size:22px}.project-meta span{color:var(--blue2);font-size:14px;font-weight:800}.project-actions{display:flex;gap:10px;margin-top:15px}.mini{border:1px solid rgba(54,165,230,.65);padding:8px 11px;background:rgba(3,18,30,.7);font-size:12px;font-weight:800}.mini.disabled{opacity:.55}
.about-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center}.about-copy p{font-size:19px;color:var(--muted)}.stats{display:grid;grid-template-columns:1fr 1fr;gap:18px}.stat{padding:28px;border:1px solid var(--line);background:#071522}.stat strong{display:block;color:var(--blue2);font-size:38px}.contact{background:#06121e}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px}.contact-form{display:grid;gap:14px}.contact-form input,.contact-form textarea{width:100%;padding:16px;background:#03101b;border:1px solid var(--line);color:white}.contact-form textarea{height:150px}.footer{border-top:1px solid var(--line);padding:35px 0;background:#020912}.footer-row{display:flex;justify-content:space-between;align-items:center}.footer-logo{width:180px}.muted{color:var(--muted)}
.modal{position:fixed;z-index:100;inset:0;background:rgba(0,5,10,.94);display:none;align-items:center;justify-content:center;padding:30px}.modal.open{display:flex}.modal-card{width:min(1250px,96vw);height:min(820px,92vh);background:#061421;border:1px solid #238bc9;position:relative;display:grid;grid-template-rows:1fr auto}.modal-stage{min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.modal-stage img{max-width:100%;max-height:100%;object-fit:contain}.modal-bottom{padding:18px 22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px}.modal-close{position:absolute;right:14px;top:12px;z-index:3;width:42px;height:42px;background:#071725;border:1px solid var(--line);color:white;font-size:24px}.model-note{color:var(--muted);font-size:14px}.model-btn{background:#087fcf;color:white;border:1px solid #20adff;padding:12px 18px;font-weight:800}.model-btn[disabled]{opacity:.45;cursor:not-allowed}
@media(max-width:1000px){.navlinks{display:none}.hero{min-height:1050px;background-position:62% center}.hero-inner{width:100%;padding-top:100px}.feature-grid{grid-template-columns:1fr 1fr;gap:30px}.feature{border:none;padding:0}.cards,.project-grid{grid-template-columns:1fr 1fr}.about-grid,.contact-grid{grid-template-columns:1fr}}
@media(max-width:650px){.container{width:min(100% - 32px,1440px)}.topbar{height:74px}.logo{width:174px}.hero{padding-top:74px;min-height:1180px;background-position:60% center}.hero-inner{padding-top:65px}.eyebrow{font-size:15px}.hero h1{font-size:45px}.hero-copy{font-size:18px}.actions{flex-direction:column;align-items:flex-start}.features{padding-top:110px}.feature-grid,.cards,.project-grid,.stats{grid-template-columns:1fr}.feature{grid-template-columns:55px 1fr}.section-head h2{font-size:36px}.footer-row{flex-direction:column;gap:20px}.project{height:260px}}


/* V17 — introdução cinematográfica */
body.intro-active{overflow:hidden}
.site-intro{position:fixed;z-index:9999;inset:0;display:grid;place-items:center;background:#01060c;overflow:hidden;opacity:1;visibility:visible;transition:opacity .9s ease,visibility .9s ease}
.site-intro.is-leaving{opacity:0;visibility:hidden;pointer-events:none}
.intro-grid{position:absolute;inset:-10%;background-image:linear-gradient(rgba(26,143,211,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(26,143,211,.09) 1px,transparent 1px);background-size:76px 76px;transform:perspective(900px) rotateX(62deg) translateY(24%);transform-origin:center;animation:introGrid 5s ease-out both}
.intro-blueprint{position:absolute;inset:0;background:url('blueprint.svg') center/cover no-repeat;opacity:0;filter:drop-shadow(0 0 12px rgba(20,162,239,.26));animation:introBlueprint 4.6s .35s ease both}
.intro-blueprint:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 48%,rgba(12,111,177,.22),transparent 43%),linear-gradient(90deg,#01060c 0%,transparent 25%,transparent 75%,#01060c 100%)}
.intro-content{position:relative;z-index:2;width:min(680px,76vw);text-align:center;transform:translateY(12px)}
.intro-logo{display:block;width:100%;height:auto;opacity:0;transform:scale(.84);filter:blur(8px) drop-shadow(0 0 0 transparent);animation:introLogo 1.55s .45s cubic-bezier(.2,.8,.2,1) forwards}
.intro-content:after{content:"";position:absolute;left:0;right:100%;height:2px;bottom:18%;background:linear-gradient(90deg,#ff8100 0%,#ffa100 36%,#0ba9ff 62%,#087ed2 100%);box-shadow:0 0 10px #ff8a00,0 0 18px rgba(16,155,235,.95);animation:introSweep 1.55s 1.05s cubic-bezier(.25,.8,.25,1) forwards}
.intro-caption{margin-top:26px;color:#9fbbcf;font-size:12px;font-weight:800;letter-spacing:4px;opacity:0;transform:translateY(8px);animation:introCaption .8s 1.85s ease forwards}
.intro-skip{position:absolute;right:28px;bottom:24px;z-index:4;border:0;background:transparent;color:#71889a;font-size:11px;font-weight:800;letter-spacing:2px;cursor:pointer;padding:10px}
.intro-skip:hover{color:#fff}
@keyframes introLogo{0%{opacity:0;transform:scale(.84);filter:blur(8px) drop-shadow(0 0 0 transparent)}65%{opacity:1;filter:blur(0) drop-shadow(0 0 18px rgba(10,156,237,.28))}100%{opacity:1;transform:scale(1);filter:blur(0) drop-shadow(0 0 12px rgba(10,156,237,.18))}}
@keyframes introSweep{to{right:0}}
@keyframes introCaption{to{opacity:1;transform:none}}
@keyframes introBlueprint{0%{opacity:0;transform:scale(1.08)}45%{opacity:.16}100%{opacity:.08;transform:scale(1)}}
@keyframes introGrid{0%{opacity:0;transform:perspective(900px) rotateX(62deg) translateY(35%) scale(1.12)}100%{opacity:1;transform:perspective(900px) rotateX(62deg) translateY(24%) scale(1)}}
@media(max-width:650px){.intro-content{width:86vw}.intro-caption{font-size:9px;letter-spacing:2.2px}.intro-skip{right:14px;bottom:12px}}
@media(prefers-reduced-motion:reduce){.site-intro *{animation-duration:.01ms!important;animation-delay:0ms!important}.site-intro{transition-duration:.15s}}


/* V18 — desenvolvimento das restantes áreas */
.menu-toggle{display:none;width:44px;height:40px;border:1px solid var(--line);background:rgba(4,17,29,.75);padding:9px;cursor:pointer}
.menu-toggle span{display:block;height:2px;background:#dceaf4;margin:5px 0}
.brand{display:flex;align-items:center}
.services-grid{grid-template-columns:repeat(3,1fr)}
.card{transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease}
.card:hover{transform:translateY(-6px);border-color:rgba(25,184,255,.58);box-shadow:0 18px 45px rgba(0,0,0,.22)}
.workflow{background:linear-gradient(180deg,#020b14,#06121e)}
.workflow-grid{display:grid;grid-template-columns:repeat(5,1fr);position:relative}
.workflow-grid:before{content:"";position:absolute;left:7%;right:7%;top:31px;height:1px;background:linear-gradient(90deg,var(--orange),var(--blue2));opacity:.55}
.workflow-step{position:relative;padding:0 22px;text-align:center}
.workflow-step b{position:relative;z-index:2;display:grid;place-items:center;margin:0 auto 24px;width:62px;height:62px;border-radius:50%;background:#061725;border:1px solid var(--blue2);color:var(--blue2);box-shadow:0 0 18px rgba(25,184,255,.18)}
.workflow-step h3{font-size:20px}.workflow-step p{color:var(--muted);font-size:15px}
.center-action{text-align:center;margin-top:42px}
.project-category,.modal-category{display:block;color:var(--blue2);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:1px;margin-bottom:7px}
.about-section{background:#05101b}.about-copy h2{font-size:46px;line-height:1.1}
.check-list{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:12px}.check-list li{color:#d5e2ec;padding-left:28px;position:relative}.check-list li:before{content:"";position:absolute;left:0;top:.58em;width:11px;height:5px;border-left:2px solid var(--orange);border-bottom:2px solid var(--orange);transform:rotate(-45deg)}
.recognition{padding:65px 0;background:linear-gradient(100deg,#081b2b,#03101a);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.recognition-inner{display:flex;align-items:center;justify-content:space-between}.recognition h2{font-size:40px;margin:8px 0}.recognition p{color:var(--muted);margin:0}.award-mark{font-size:82px;font-weight:900;color:transparent;-webkit-text-stroke:1px rgba(25,184,255,.7);text-shadow:0 0 24px rgba(25,184,255,.12)}
.contact-lines{margin-top:34px;display:grid;gap:16px}.contact-lines a,.contact-lines div{display:flex;flex-direction:column;padding:18px;border-left:2px solid var(--blue2);background:rgba(6,23,37,.7)}.contact-lines span{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:1px}.contact-lines strong{font-size:18px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.privacy{font-size:13px;color:var(--muted);display:flex;align-items:flex-start;gap:9px}.privacy input{width:auto;margin-top:4px}
.form-status{padding:13px 15px;border:1px solid var(--line)}.form-status.enviado{border-color:#2a9d73}.form-status.erro{border-color:#c86a54}
.footer{padding:0}.footer-main{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px;padding:55px 0}.footer-main>div{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.footer-main strong{color:var(--blue2);text-transform:uppercase;letter-spacing:1px}.footer-main p,.footer-main span,.footer-main a{color:var(--muted)}.footer-bottom{padding:20px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted);font-size:13px}
.portfolio-page{padding-top:90px}.page-hero{position:relative;overflow:hidden;padding:105px 0 80px;background:linear-gradient(90deg,rgba(1,10,18,.97),rgba(1,10,18,.65)),url('hero-trofa.jpg') center 38%/cover}.page-hero .blueprint{inset:0;opacity:.28}.page-hero .container{position:relative;z-index:2}.page-hero h1{font-size:64px;text-transform:uppercase;margin:10px 0}.page-hero p{max-width:720px;color:#d7e1e9;font-size:19px}
.full-portfolio{padding-top:55px}.portfolio-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}.filter-btn{padding:11px 17px;background:#061522;border:1px solid var(--line);color:#d9e4ec;font-weight:800;cursor:pointer}.filter-btn.active,.filter-btn:hover{background:#0a7dc8;border-color:var(--blue2);color:#fff}
.modal-bottom>div:first-child{max-width:760px}.modal-bottom strong{display:block;font-size:24px}.modal-bottom p{margin:8px 0;color:var(--muted)}.modal-actions{display:flex;gap:10px;flex-shrink:0}.model-btn.secondary{background:#071725}.modal-nav{position:absolute;z-index:4;top:46%;width:48px;height:64px;border:1px solid var(--line);background:rgba(3,14,24,.82);color:#fff;font-size:36px;cursor:pointer}.modal-nav.prev{left:12px}.modal-nav.next{right:12px}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}
.viewer-placeholder{min-height:100vh;display:grid;place-items:center;text-align:center;background:radial-gradient(circle at 50% 20%,#0b2d48,#020811 62%)}.viewer-message{max-width:650px;padding:40px}.viewer-message img{width:300px}.viewer-message p{color:var(--muted);font-size:18px;margin-bottom:30px}

@media(max-width:1100px){
.navlinks{gap:22px}.workflow-grid{grid-template-columns:repeat(3,1fr);gap:35px}.workflow-grid:before{display:none}
.services-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:800px){
.menu-toggle{display:block}.navlinks{position:absolute;display:none;top:74px;left:0;right:0;padding:22px 24px;background:rgba(2,10,18,.98);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:20px}.navlinks.open{display:flex}.navlinks a.active:after{display:none}.langs{margin-left:0}
.workflow-grid{grid-template-columns:1fr 1fr}.services-grid{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr 1fr}.footer-main>div:first-child{grid-column:1/-1}.modal-bottom{align-items:flex-start;flex-direction:column}.modal-actions{width:100%}.modal-actions button{flex:1}.recognition-inner{align-items:flex-start}.award-mark{font-size:58px}
}
@media(max-width:550px){
.workflow-grid{grid-template-columns:1fr}.workflow-step{text-align:left;display:grid;grid-template-columns:60px 1fr;column-gap:16px}.workflow-step b{grid-row:1/3;margin:0}.workflow-step h3{margin-top:4px}.workflow-step p{margin-top:0}.footer-main{grid-template-columns:1fr}.footer-main>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column;gap:6px}.page-hero h1{font-size:42px}.modal-nav{top:38%;width:38px;height:52px}.modal-card{height:94vh}.modal-actions{flex-direction:column}
}


/* V19 — projetos apenas em página dedicada */
.projects-cta{padding:85px 0;background:linear-gradient(180deg,#06121e,#03101a);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.projects-cta-box{display:flex;align-items:center;justify-content:space-between;gap:48px;padding:42px 46px;background:linear-gradient(110deg,rgba(8,30,48,.96),rgba(4,17,29,.96));border:1px solid rgba(25,184,255,.22);box-shadow:0 20px 60px rgba(0,0,0,.18)}
.projects-cta-box h2{font-size:42px;line-height:1.12;margin:10px 0 14px;max-width:850px}
.projects-cta-box p{color:var(--muted);max-width:760px;margin:0}
.projects-cta-box .btn{flex-shrink:0}
@media(max-width:800px){
  .projects-cta-box{flex-direction:column;align-items:flex-start;padding:34px 28px}
  .projects-cta-box h2{font-size:34px}
}
