@font-face{font-family:Manrope;font-style:normal;font-weight:300 600;font-display:swap;src:url(../fonts/manrope-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Manrope;font-style:normal;font-weight:300 600;font-display:swap;src:url(../fonts/manrope-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{
  --branco:#FFFFFF; --vinho:#460822; --magenta:#A41E59; --cinza:#A3929C;
  --fg:var(--vinho); --fg2:rgba(70,8,34,.74); --rot:var(--cinza); --ln:rgba(70,8,34,.14);
  --btn-bg:var(--vinho); --btn-fg:var(--branco); --ponto-bg:var(--branco); --ponto-fg:var(--vinho); --campo:rgba(70,8,34,.03);
}
.escuro{--fg:var(--branco); --fg2:rgba(255,255,255,.8); --rot:rgba(255,255,255,.72); --ln:rgba(255,255,255,.2);
  --btn-bg:var(--branco); --btn-fg:var(--vinho); --ponto-bg:var(--vinho); --ponto-fg:var(--branco); --campo:rgba(255,255,255,.06); color:var(--fg)}
.grad{background:linear-gradient(150deg,var(--vinho) 0%,var(--vinho) 45%,var(--magenta) 140%)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Manrope,Arial,sans-serif;font-weight:300;background:var(--branco);color:var(--fg);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.wrap{width:min(1280px,100% - 64px);margin:0 auto}
.label{font-size:11px;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--rot)}
.label b{font-weight:600;color:var(--fg);margin-right:8px}
h1,h2,h3,summary{color:var(--fg)}
h1,h2{font-weight:300;letter-spacing:-.035em;line-height:1.02}
h2{font-size:clamp(34px,4.6vw,64px)}
p{line-height:1.7;color:var(--fg2);font-size:15.5px}
.btn{display:inline-flex;align-items:center;gap:14px;border:1px solid var(--ln);border-radius:999px;padding:12px 14px 12px 22px;font-size:13px;font-weight:500;letter-spacing:.02em;color:var(--fg);transition:background .3s,border-color .3s}
.btn i{width:28px;height:28px;border-radius:50%;background:var(--btn-bg);display:grid;place-items:center}
.btn i::after{content:"";width:7px;height:7px;border-top:1.5px solid var(--btn-fg);border-right:1.5px solid var(--btn-fg);transform:rotate(45deg) translate(-1px,1px)}
.btn:hover{border-color:var(--fg)}
.btn.solid{background:var(--btn-bg);color:var(--btn-fg);border-color:transparent}
.btn.solid i{background:var(--ponto-bg)}.btn.solid i::after{border-color:var(--ponto-fg)}
.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--magenta);outline-offset:3px}

/* NAV */
nav{position:fixed;inset:0 0 auto;z-index:20;padding:22px 0;transition:background .4s,padding .4s,color .4s}
nav .wrap{display:flex;align-items:center;justify-content:space-between}
.marca{display:flex;align-items:center}
.marca img{height:46px;width:auto;transition:height .4s}
.marca .lv{display:none}
.menu{display:flex;gap:6px;border:1px solid var(--ln);border-radius:999px;padding:5px;background:rgba(70,8,34,.25);backdrop-filter:blur(10px)}
.menu a{font-size:12.5px;padding:8px 16px;border-radius:999px;color:var(--fg2);transition:.25s}
.menu a:hover{background:rgba(255,255,255,.12);color:var(--fg)}
nav.scrolled{--fg:var(--vinho);--fg2:rgba(70,8,34,.74);--ln:rgba(70,8,34,.14);--btn-bg:var(--vinho);--btn-fg:var(--branco);background:rgba(255,255,255,.9);backdrop-filter:blur(14px);padding:12px 0;color:var(--fg);box-shadow:0 1px 0 rgba(70,8,34,.08)}
nav.scrolled .marca img{height:38px}
nav.scrolled .marca .lb{display:none}nav.scrolled .marca .lv{display:block}
nav.scrolled .menu{background:transparent}
nav.scrolled .menu a:hover{background:rgba(70,8,34,.06)}

/* HERO */
.hero{position:relative;height:100svh;min-height:640px;overflow:hidden}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.08);animation:respira 14s ease-out forwards}
@keyframes respira{to{transform:scale(1)}}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,4,10,.35) 0%,rgba(20,4,10,0) 20%,rgba(20,4,10,0) 45%,rgba(40,6,20,.55) 80%,rgba(70,8,34,.75) 100%),linear-gradient(90deg,rgba(20,4,10,.35) 0%,rgba(20,4,10,0) 60%)}
.hero .wrap{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:56px}
.hero-row{display:flex;justify-content:space-between;align-items:flex-end;gap:40px}
.hero h1{font-size:clamp(46px,7.4vw,112px);max-width:900px;margin:18px 0 30px;text-shadow:0 2px 30px rgba(20,4,10,.35)}
.hero aside{max-width:300px;padding-bottom:10px}
.hero aside p{font-size:13.5px;margin-bottom:18px;color:var(--fg);text-shadow:0 1px 12px rgba(20,4,10,.5)}

/* SEÇÕES */
section{padding:130px 0;position:relative}
footer{padding:90px 0 40px}
.intro-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:80px;align-items:start}
.intro-grid h2{margin-top:18px}
.intro-grid p+p{margin-top:16px}
.nums{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ln);margin-top:44px}
.nums div{padding:22px 0 0}
.nums b{display:block;font-weight:300;font-size:40px;letter-spacing:-.03em;color:var(--fg)}
.nums span{font-size:11.5px;letter-spacing:.06em;color:var(--rot)}

/* PROJETOS */
.head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:46px}
.arrows{display:flex;gap:8px}
.arrows button{width:46px;height:46px;border-radius:50%;border:1px solid var(--ln);background:none;color:var(--fg);cursor:pointer;font-size:18px;transition:.25s}
.arrows button:hover{background:var(--vinho);color:var(--branco)}
.trilho{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;scrollbar-width:none}
.trilho::-webkit-scrollbar{display:none}
.card{flex:0 0 min(460px,82vw);scroll-snap-align:start}
.card .foto{aspect-ratio:4/5;overflow:hidden;border-radius:4px}
.card .foto img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.card:hover .foto img{transform:scale(1.05)}
.card .meta{display:flex;justify-content:space-between;padding:16px 0 14px;border-bottom:1px solid var(--ln)}
.card h3{font-weight:400;font-size:18px;letter-spacing:-.01em}
.card small{font-size:11.5px;color:var(--rot);letter-spacing:.06em}

/* FULL BLEED */
.full{position:relative;height:92vh;min-height:520px;overflow:hidden;padding:0}
.full img{position:absolute;inset:0;width:100%;height:118%;object-fit:cover;will-change:transform}
.full::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(40,6,20,.62),rgba(40,6,20,0) 60%)}
.full .wrap{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center}
.full h2{max-width:620px;margin-top:18px}
.full p{max-width:440px;margin-top:22px;color:var(--fg)}

/* NEURO */
.vars{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ln);border-left:1px solid var(--ln);margin-top:56px}
.vars div{border-right:1px solid var(--ln);border-bottom:1px solid var(--ln);padding:30px 26px 34px;min-height:170px;transition:background .3s}
.vars div:hover{background:rgba(255,255,255,.06)}
.vars small{font-size:11px;color:var(--rot);letter-spacing:.08em}
.vars h3{font-weight:400;font-size:22px;margin:30px 0 8px;letter-spacing:-.02em}
.vars p{font-size:13.5px;line-height:1.55}
.neuro-pe{display:grid;grid-template-columns:.8fr 1fr;gap:60px;margin-top:56px;align-items:end}
.neuro-foto{aspect-ratio:4/5;overflow:hidden;border-radius:4px}.neuro-foto img{width:100%;height:100%;object-fit:cover}

/* PROCESSO */
.processo{position:relative;overflow:hidden;background:var(--vinho)}
.processo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.6}
.processo::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(70,8,34,.7),rgba(40,6,20,.35) 40%,rgba(40,6,20,.45) 75%,rgba(70,8,34,.75))}
.processo .wrap{position:relative;z-index:2}
.etapas{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:60px}
.etapa{background:rgba(30,5,15,.38);backdrop-filter:blur(16px);border:1px solid var(--ln);border-radius:6px;padding:28px 24px 30px}
.etapa small{font-size:11px;letter-spacing:.08em;color:var(--rot)}
.etapa h3{font-weight:400;font-size:20px;margin:46px 0 10px;letter-spacing:-.02em}
.etapa p{font-size:13.5px;line-height:1.6}

/* GALERIA */
.galeria{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;margin-top:56px}
.galeria figure{overflow:hidden;border-radius:4px;position:relative}
.galeria img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.galeria figure:hover img{transform:scale(1.04)}
.galeria figcaption{position:absolute;left:14px;bottom:12px;font-size:11.5px;letter-spacing:.06em;color:var(--branco);background:rgba(70,8,34,.6);backdrop-filter:blur(8px);padding:6px 10px;border-radius:999px}
.g1{grid-column:span 7;aspect-ratio:7/5}.g2{grid-column:span 5;aspect-ratio:5/5}.g3{grid-column:span 4;aspect-ratio:4/5}.g4{grid-column:span 4;aspect-ratio:4/5}.g5{grid-column:span 4;aspect-ratio:4/5}.g6{grid-column:span 5;aspect-ratio:5/6}.g7{grid-column:span 7;aspect-ratio:7/6}

/* QUEM SOU */
.quem{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}
.quem .foto{aspect-ratio:4/5;overflow:hidden;border-radius:4px}
.quem .foto img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.quem h2{margin:18px 0 26px}
.quem p+p{margin-top:16px}
.selos{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.selos span{font-size:12px;border:1px solid var(--ln);border-radius:999px;padding:8px 14px;color:var(--fg)}

/* FAQ */
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}
details{border-bottom:1px solid var(--ln);padding:24px 0}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;font-size:18px;font-weight:400;letter-spacing:-.01em}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-weight:300;font-size:24px;line-height:1;color:var(--rot);transition:transform .3s}
details[open] summary::after{transform:rotate(45deg)}
details p{margin-top:14px;max-width:620px}

/* CONTATO */
.contato-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.contato h2{margin:18px 0 22px}
form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
form .full-w{grid-column:1/-1}
label{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--rot);margin-bottom:8px}
input,select{width:100%;background:var(--campo);border:1px solid var(--ln);border-radius:4px;padding:14px;font:inherit;font-size:14.5px;color:var(--fg)}
.aceite{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;color:var(--fg2);line-height:1.5;text-transform:none;letter-spacing:0}
.aceite input{width:auto;margin-top:3px;accent-color:var(--vinho)}
form .btn{border:none;cursor:pointer;justify-self:start}

/* RODAPÉ */
.wordmark{font-weight:500;font-size:clamp(54px,12.4vw,190px);letter-spacing:-.06em;line-height:.85;color:var(--fg);white-space:nowrap}
.foot-row{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;margin-top:40px;font-size:12.5px;color:var(--fg2)}


/* COVERFLOW */
.cf{position:relative;height:min(62vh,600px);perspective:1600px;outline:none;user-select:none;touch-action:pan-y;cursor:grab}
.cf:active{cursor:grabbing}
.cf-item{position:absolute;top:0;left:50%;width:min(420px,70vw);height:100%;margin-left:calc(min(420px,70vw) / -2);transition:transform .9s cubic-bezier(.2,.7,.2,1),opacity .9s,filter .9s;will-change:transform}
.cf-item img{width:100%;height:100%;object-fit:cover;border-radius:4px;box-shadow:0 30px 60px -20px rgba(70,8,34,.45)}
.cf-item figcaption{position:absolute;left:0;right:0;bottom:-54px;display:flex;justify-content:space-between;align-items:baseline;opacity:0;transition:opacity .6s}
.cf-item.ativo figcaption{opacity:1}
.cf-item figcaption b{font-weight:400;font-size:18px;color:var(--fg)}
.cf-item figcaption span{font-size:11.5px;letter-spacing:.06em;color:var(--rot)}
.cf-dots{display:flex;gap:8px;justify-content:center;margin-top:84px}
.cf-dots button{width:26px;height:3px;border:none;border-radius:2px;background:var(--ln);cursor:pointer;transition:background .3s,width .3s}
.cf-dots button.on{background:var(--vinho);width:44px}
/* FAIXA */
.faixa{overflow:hidden;margin:56px calc(50% - 50vw) 0;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.faixa-in{display:flex;gap:14px;width:max-content;animation:desliza 60s linear infinite}
.faixa img{height:260px;width:auto;aspect-ratio:4/3;object-fit:cover;border-radius:4px}
.faixa:hover .faixa-in{animation-play-state:paused}
@keyframes desliza{to{transform:translateX(-50%)}}
/* REVELAR IMAGENS */
.revela{clip-path:inset(12% 0 12% 0);transition:clip-path 1.3s cubic-bezier(.2,.7,.2,1)}
.revela img{transform:scale(1.15);transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}
.revela.on{clip-path:inset(0)}
.revela.on img{transform:scale(1)}
@media (prefers-reduced-motion:reduce){.faixa-in{animation:none}.revela,.revela img{clip-path:none;transform:none;transition:none}.cf-item{transition:none}}

/* REVEAL */
.rv{opacity:0;transform:translateY(28px);transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1)}
.rv.on{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}.hero img{animation:none;transform:none}html{scroll-behavior:auto}}

/* RESPONSIVO */
@media (max-width:900px){
  .cf{height:430px}
  .faixa img{height:170px}
  .wrap{width:calc(100% - 32px)}
  .menu{display:none}
  nav .btn{padding:9px 10px 9px 16px;font-size:12px}
  .hero::after{background:linear-gradient(180deg,rgba(20,4,10,.35) 0%,rgba(20,4,10,.1) 25%,rgba(40,6,20,.5) 55%,rgba(70,8,34,.8) 100%)}
  section{padding:84px 0}
  .hero-row,.head-row{flex-direction:column;align-items:flex-start}
  .intro-grid,.neuro-pe,.quem,.faq-grid,.contato-grid{grid-template-columns:1fr;gap:40px}
  .vars{grid-template-columns:1fr 1fr}.vars div:last-child{grid-column:1/-1}
  .etapas{grid-template-columns:1fr}
  .etapa h3{margin-top:22px}
  .galeria{grid-template-columns:1fr 1fr}
  .galeria figure{grid-column:span 1!important;aspect-ratio:4/5!important}
  .galeria .g1,.galeria .g7{grid-column:span 2!important;aspect-ratio:4/3!important}
  form{grid-template-columns:1fr}
  .nums b{font-size:30px}
}

/* UTILITÁRIOS (antes eram style="" no HTML; a política de segurança bloqueia estilo inline) */
.mt{margin-top:18px}.max880{max-width:880px}.max820{max-width:820px}.centro{text-align:center}
#projetos{padding-top:0}#quem{padding-top:20px}
.neuro-pe p+p{margin-top:16px}
.aceite a{text-decoration:underline;text-underline-offset:3px}
.foot-row a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--ln)}

/* PÁGINAS INTERNAS (privacidade e 404) */
.topo-simples{padding:26px 0;border-bottom:1px solid var(--ln)}
.topo-simples img{height:40px;width:auto}
.pagina{padding:90px 0 110px}
.pagina .wrap{max-width:760px}
.pagina h1{font-size:clamp(38px,5vw,64px);margin:18px 0 34px}
.pagina h2{font-size:22px;font-weight:400;letter-spacing:-.01em;margin:40px 0 12px;line-height:1.3}
.pagina p+p,.pagina ul{margin-top:12px}
.pagina ul{padding-left:20px;color:var(--fg2);line-height:1.8;font-size:15.5px}
.pagina .btn{margin-top:36px}
