/* Benbras: movimento arquitetônico, leitura clara e mídias originais. */
.service-instruction{text-align:center;font-size:.8rem;color:#b0c6d8;margin:24px 0 0}
.service-picker{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;min-width:0}
.service-picker button{display:flex;flex-direction:column;gap:0;padding:0;min-width:0;overflow:hidden;border:1px solid #7dd3fc29;border-radius:14px;background:#0c1d31;color:#d3e4ef;cursor:pointer;text-align:left;transition:border-color .25s,background .25s,box-shadow .25s}
.service-picker img{height:85px;width:100%;object-fit:cover;object-position:center 40%;background:#fff;opacity:.72;transition:opacity .25s}
.service-picker span{padding:12px 10px;font-size:.76rem;font-weight:700;line-height:1.5}
.service-picker button:hover,.service-picker button[aria-pressed=true]{border-color:#81e5f5;background:#15334a;box-shadow:0 0 0 1px #22d3ee30}
.service-picker button[aria-pressed=true] img,.service-picker button:hover img{opacity:1}
.services-carousel{width:56vw;min-width:640px;max-width:860px;margin-inline:auto;outline-offset:12px}
.service-stage{border:1px solid #80d5ee36;border-radius:26px;overflow:hidden;background:#0b1b2b;box-shadow:0 26px 70px #00091666;transition:box-shadow .4s,border-color .4s}
.service-stage:hover,.service-stage:focus-within{border-color:#8de3f780;box-shadow:0 30px 90px #00091688,0 0 40px #22d3ee0f}
.service-slide{display:grid;grid-template-columns:.85fr 1.15fr;min-height:440px;animation:serviceEnter .55s cubic-bezier(.22,1,.36,1) both}
.service-slide[hidden]{display:none!important}
.service-photo{position:relative;overflow:hidden;min-height:100%;background:#fff}
.service-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .9s cubic-bezier(.22,1,.36,1)}
.service-stage:hover .service-photo img{transform:scale(1.045)}
.service-number{position:absolute;top:20px;left:20px;border-radius:100px;padding:8px 12px;background:#07111fe8;color:#d4efff;font-size:.7rem;letter-spacing:.12em;border:1px solid #b7e0f52b}
.service-copy{padding:38px 30px;display:flex;flex-direction:column;justify-content:center;background:#0b1b2b;position:relative}
.service-copy .eyebrow{font-size:.61rem;letter-spacing:.12em;line-height:1.6}
.service-copy .eyebrow::before{width:16px;flex-shrink:0}
.service-copy h3{font-size:clamp(1.65rem,2.3vw,2.4rem);line-height:1.15;letter-spacing:-.04em;margin:18px 0;color:white}
.service-copy p{font-size:.93rem;color:#c6d7e5;line-height:1.8;margin-bottom:26px}
.service-cta{font-size:.78rem;align-self:flex-start;white-space:normal;text-align:center;line-height:1.5;min-height:48px;opacity:.92}
.service-stage:hover .service-cta,.service-stage:focus-within .service-cta{opacity:1;box-shadow:0 8px 30px #22d3ee40}
.service-navigation{display:flex;justify-content:center;align-items:center;gap:22px;margin-top:24px}
.service-arrow{width:46px;height:46px;border:1px solid #85c4e333;border-radius:50%;background:#122338;color:#d8f4ff;font-size:1.2rem;cursor:pointer;transition:background .25s,transform .25s}
.service-arrow:hover{background:#22516b;transform:translateY(-2px)}
.service-dots{display:flex;gap:0;align-items:center}
.service-dots button{width:30px;height:44px;border:0;padding:0;background:transparent;cursor:pointer;display:grid;place-items:center}
.service-dots span{display:block;width:6px;height:6px;background:#536b80;border-radius:10px;transition:width .3s,background .3s}
.service-dots button[aria-pressed=true] span{width:23px;background:#82e8f7}
.service-status{text-align:center;color:#b0c6d8;font-size:.72rem;letter-spacing:.04em;margin:12px 0 0}
@keyframes serviceEnter{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:translateX(0)}}
@media(max-width:900px){.services-carousel{width:100%;min-width:0;max-width:740px}}
@media(max-width:600px){.service-slide{grid-template-columns:1fr;min-height:0}.service-photo{min-height:240px}.service-photo img{object-position:center 40%}.service-copy{padding:28px 24px}.service-copy h3{font-size:1.85rem}.service-cta{width:100%;opacity:1}.service-navigation{gap:12px}.service-dots button{width:27px}.service-stage{border-radius:20px}}
@media(prefers-reduced-motion:reduce){.service-slide{animation:none}.service-photo img{transition:none}}
:root{--ease-premium:cubic-bezier(.22,1,.36,1);--display:'Space Grotesk',Manrope,system-ui,sans-serif}
html{scroll-padding-top:100px}
body{font-feature-settings:'ss01' on;-webkit-font-smoothing:antialiased}
::selection{background:#80e7f5;color:#07111f}
h1,h2,h3,.logo{font-family:var(--display)}
h1{font-weight:600;letter-spacing:-.055em;line-height:1.02}
h2{font-weight:500;letter-spacing:-.045em;line-height:1.1;text-wrap:balance}
h3{font-weight:600;line-height:1.25}
p{line-height:1.75;text-wrap:pretty}
.eyebrow{font-size:.7rem;letter-spacing:.19em;font-weight:800}
.section{padding-block:clamp(72px,8vw,122px)}
.section-head{margin-bottom:clamp(32px,4vw,58px)}
.section-head>div{max-width:760px}
.section-head>p{font-size:.96rem}
header{transition:background .35s,border-color .35s,box-shadow .35s}
header.scrolled{box-shadow:0 16px 40px #01071138}
header::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,#22d3ee,#818cf8,#fb7185);transform:scaleX(var(--reading-progress,0));transform-origin:left;pointer-events:none}
.navlinks>a:not(.btn){position:relative;padding-block:9px;transition:color .25s}
.navlinks>a:not(.btn)::after{content:'';position:absolute;bottom:1px;left:0;width:100%;height:1px;background:#7dd3fc;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease-premium)}
.navlinks>a:not(.btn):hover::after,.navlinks>a:not(.btn):focus-visible::after{transform:scaleX(1)}
.logo-mark{transition:transform .5s var(--ease-premium),box-shadow .5s}
.logo:hover .logo-mark{transform:rotate(-5deg);box-shadow:0 8px 28px #22d3ee45}
/* Efeitos limitados aos fundos sem vídeos e sem fotografias. */
#servicos,#projetos,#processo,#contato{position:relative;isolation:isolate;overflow:hidden}
#servicos::before,#projetos::before,#processo::before,#contato::before{content:'';position:absolute;z-index:-2;pointer-events:none;width:min(76vw,900px);height:720px;top:-200px;right:-200px;background:radial-gradient(ellipse,rgba(41,164,225,.17),rgba(98,86,197,.08) 38%,transparent 68%);animation:architecturalLight 19s ease-in-out infinite alternate}
#projetos::before{right:auto;left:-260px;top:50px;background:radial-gradient(ellipse,#6d5df425,transparent 67%);animation-delay:-7s}
#processo::before{top:-230px;right:-300px;animation-delay:-12s}
#contato::before{top:80px;right:auto;left:-290px;background:radial-gradient(ellipse,#2bcac622,#7962dd17 42%,transparent 68%);animation-delay:-4s}
#servicos::after,#processo::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:-1;background-image:linear-gradient(#91bcd708 1px,transparent 1px),linear-gradient(90deg,#91bcd708 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(transparent,#000 30%,#000 70%,transparent)}
.trust{background:#0c1928;border-block:1px solid #bbdef014}
.trust-item{padding:30px 25px;transition:background .4s}
.trust-item:hover{background:#22d3ee08}
.trust-item strong{font-size:.94rem;letter-spacing:-.01em}
.trust-item span{font-size:.78rem;line-height:1.5}
.card{border-radius:21px;background:linear-gradient(135deg,#112339db,#0a192ccc);padding:32px;box-shadow:0 8px 30px #020a1314;transition:transform .55s var(--ease-premium),border-color .4s,box-shadow .55s}
.card::before{inset:0;background:radial-gradient(380px circle at var(--light-x,50%) var(--light-y,30%),#38bdf825,transparent 65%)!important;transform:none;animation:none!important;opacity:0;transition:opacity .5s;pointer-events:none}
.card:hover::before,.card:focus-within::before{opacity:1}
.card:hover{transform:translateY(-6px);border-color:#7dd3fc4d;box-shadow:0 22px 50px #000b1c66;background:linear-gradient(135deg,#142b44ee,#0c1b2ee6)}
.card>*{position:relative}
.card h3{font-size:1.3rem}
.card p{font-size:.88rem;line-height:1.8;margin-bottom:24px}
.icon{border-radius:14px;transition:transform .6s var(--ease-premium),box-shadow .5s}
.card:hover .icon{transform:translateY(-3px) rotate(-4deg);box-shadow:0 8px 26px #22d3ee1c}
.more,.project-cta{display:inline-flex;align-items:center;transition:color .3s,transform .4s var(--ease-premium)}
.more:hover,.project-cta:hover{color:#bcefff;transform:translateX(4px)}
.plan{background:#0a192cdc}
.plan.featured{border-color:#69d5ed7a;box-shadow:0 0 0 1px #63d2ec12,0 18px 54px #031c2b55}
.tag{font-size:.62rem;letter-spacing:.1em;background:#97e7f5;padding:8px 13px}
.project{border-radius:24px;box-shadow:0 20px 45px #000b1c33;transition:border-color .45s,box-shadow .5s}
.project:hover{border-color:#7dd3fc66;box-shadow:0 24px 64px #000b1c70}
.project-info{transition:transform .65s var(--ease-premium)}
.project:hover .project-info{transform:translateY(-5px)}
.project-info small{font-size:.65rem;letter-spacing:.15em}
.step{padding:32px 26px;transition:background .45s,border-color .45s}
.step:hover{background:#80cfff08;border-color:#7dd3fc66}
.step b{font-family:var(--display);font-size:2.7rem;line-height:1;font-weight:500;color:#a3dfec;letter-spacing:-.055em}
.step::before{box-shadow:0 0 0 5px #22d3ee10,0 0 22px #22d3ee40}
.cta{border-radius:28px}
.btn{transition:transform .45s var(--ease-premium),box-shadow .35s,background .3s}
.btn-primary{box-shadow:0 6px 20px #22d3ee20}
.btn-primary:hover{box-shadow:0 12px 36px #22d3ee42}
.btn:active{transform:scale(.98)}
.btn:disabled{opacity:.65;cursor:wait;transform:none}
.btn:disabled::after{display:none}
.contact-details{margin-top:32px;padding:24px 0 0;border-top:1px solid #b8ddf329}
.contact-details strong{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:#8ab9d7}
.contact-details a{display:inline-block;padding-block:5px;transition:color .3s;text-underline-offset:5px}
.contact-details a:hover{color:#8feafb;text-decoration:underline}
.contact-details p{margin-bottom:17px;font-size:.95rem}
form{background:#0c1b2de6;box-shadow:0 28px 80px #00081540;padding:32px;gap:20px;border-radius:24px}
label{letter-spacing:.015em}
input,select,textarea{background:#081522;border-color:#89b7d224;transition:border-color .3s,box-shadow .3s;min-width:0}
input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px #22d3ee14;border-color:#7adceb}
button:focus-visible,a:focus-visible{outline:2px solid #a0eeff;outline-offset:5px}
.assistant{transition:opacity .3s,transform .5s var(--ease-premium),visibility .3s}
.assistant-btn,.float-wa{transition:transform .4s var(--ease-premium),box-shadow .4s}
.assistant-btn:hover,.float-wa:hover{transform:translateY(-4px);box-shadow:0 15px 40px #00071480}
.reveal{transition:opacity .85s var(--ease-premium),transform .95s var(--ease-premium);transition-delay:var(--entry-delay,0ms)}
.reveal.visible{transition-delay:var(--entry-delay,0ms)}
footer{background:#06101b}
footer p{max-width:460px;line-height:1.8}
.motion-toggle{position:fixed;bottom:20px;left:18px;z-index:55;border:1px solid #9fc7e22b;background:#09182aeb;color:#c5dbea;border-radius:999px;padding:10px 14px;min-height:44px;font:600 .7rem Manrope,system-ui,sans-serif;cursor:pointer;backdrop-filter:blur(12px)}
.motion-toggle:hover{border-color:#7dd3fc80}
@keyframes architecturalLight{from{transform:translate3d(-3%,0,0)}to{transform:translate3d(8%,12%,0)}}
html.motion-paused *,html.motion-paused *::before,html.motion-paused *::after{animation-play-state:paused!important;transition:none!important}
html.motion-paused{scroll-behavior:auto}
html.motion-paused .reveal{opacity:1;transform:none}
@media(max-width:900px){.card{padding:26px}.section-head>p{max-width:600px}.contact-details{margin-top:22px}.hero h1{font-size:clamp(2.65rem,7.8vw,5.4rem)}.project{border-radius:20px}}
@media(max-width:600px){h1,.hero h1{font-size:clamp(2.4rem,11.5vw,3.8rem);letter-spacing:-.045em}h2{font-size:clamp(2rem,8.8vw,3rem)}.card{padding:25px}.card h3{font-size:1.22rem}form{padding:23px;gap:16px}.section{padding-block:74px}.motion-toggle{left:10px;bottom:16px;padding:8px 11px;font-size:.64rem;max-width:130px}.contact-details p{font-size:.86rem}.contact-details a{overflow-wrap:anywhere}.section-head{gap:16px}.step b{font-size:2.3rem}.step{padding:28px 20px}footer{padding-bottom:90px}#servicos::before,#projetos::before,#processo::before,#contato::before{animation:none;height:480px;width:110vw;right:-50vw;opacity:.6}#servicos::after,#processo::after{background-size:52px 52px}.btn::after{animation:none;display:none}}
@media(hover:none){.card:hover,.project:hover .project-info,.assistant-btn:hover,.float-wa:hover{transform:none}.card::before{display:none}}
/* Todos os serviços ficam disponíveis; apenas um detalhe ocupa a primeira linha. */
.services-carousel{width:100%;max-width:none;min-width:0}
.service-stage{width:min(100%,760px);margin-inline:auto}
.service-navigation{display:grid;grid-template-columns:46px minmax(0,1fr) 46px;gap:16px;margin-top:16px;align-items:center}
@media(max-width:1000px){.service-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.service-picker img{height:75px}}
@media(max-width:600px){.service-navigation{grid-template-columns:1fr 1fr;gap:12px}.service-picker{grid-column:1/-1;grid-row:1;grid-template-columns:repeat(2,minmax(0,1fr))}.service-navigation>.service-arrow{justify-self:center}.service-picker span{font-size:.8rem}.service-instruction{font-size:.75rem}.service-picker img{height:82px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
