/* v2 · camada visual: fotos, movimento, fluidez */
.brand img.logo{height:30px;width:auto}
footer .logo-w{height:26px;width:auto;margin-bottom:10px}

/* reveal on scroll */
.rv{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.08s}.rv.d2{transition-delay:.16s}.rv.d3{transition-delay:.24s}.rv.d4{transition-delay:.32s}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}.marquee .track{animation:none}}

/* foto padrão */
.ph-img{border-radius:20px;overflow:hidden;position:relative;background:var(--linha)}
.ph-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.ph-img:hover img{transform:scale(1.03)}

/* hero v2 */
.hero2{padding:56px 0 40px}
.hero2 .grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.hero2 h1{margin:18px 0 22px}
.hero2 .sub{font-size:20px;color:var(--grafite80)}
.hero2 .visual{position:relative}
.hero2 .visual .ph-img{aspect-ratio:4/5}
.hero2 .float{position:absolute;left:-48px;bottom:36px;width:300px;padding:16px 18px;background:#fff;border:1px solid var(--linha);border-radius:14px;box-shadow:0 24px 50px -24px rgba(34,38,46,.35)}
.hero2 .float .t{font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--cinza);display:flex;justify-content:space-between}
.hero2 .float .t b{color:var(--verde);font-weight:500}
.hero2 .float .row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--linha);font-size:14px}
.hero2 .float .row:last-child{border-bottom:0;padding-bottom:0}
.hero2 .float .st{font:500 10px/1 var(--mono);padding:5px 7px;border-radius:5px;letter-spacing:.06em}
.hero2 .float .st.ok{background:rgba(47,184,148,.14);color:#1f8a6d}
.hero2 .float .st.wait{background:rgba(74,63,209,.1);color:var(--indigo)}
@media(max-width:900px){.hero2 .grid{grid-template-columns:1fr}.hero2 .visual .ph-img{aspect-ratio:4/3}.hero2 .float{left:16px;bottom:16px;width:260px}}

/* faixa em movimento */
.marquee{overflow:hidden;border-top:1px solid var(--linha);border-bottom:1px solid var(--linha);padding:18px 0;background:#fff}
.marquee .track{display:flex;gap:48px;width:max-content;animation:mq 38s linear infinite}
.marquee span{font:600 22px/1 var(--display);letter-spacing:-.01em;color:var(--grafite);white-space:nowrap;display:flex;align-items:center;gap:48px}
.marquee span::after{content:"";width:8px;height:8px;border-radius:2px;background:var(--indigo)}
.marquee span:nth-child(3n+2)::after{background:var(--azul)}.marquee span:nth-child(3n)::after{background:var(--verde)}
@keyframes mq{to{transform:translateX(-50%)}}

/* tese com mosaico */
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
.mosaic{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:220px 220px;gap:14px}
.mosaic .ph-img:first-child{grid-row:span 2}
@media(max-width:900px){.split{grid-template-columns:1fr}.mosaic{grid-template-rows:180px 180px}}

/* números grandes */
.value2{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.value2 div{background:#fff;border:1px solid var(--linha);border-radius:18px;padding:28px;transition:transform .3s,box-shadow .3s}
.value2 div:hover{transform:translateY(-4px);box-shadow:0 20px 40px -28px rgba(34,38,46,.4)}
.value2 .n{font:500 40px/1 var(--mono);color:var(--linha);display:block;margin-bottom:18px}
.value2 div:hover .n{color:var(--indigo)}
.value2 h3{margin-bottom:8px}
.value2 p{font-size:16px;color:var(--grafite80)}
@media(max-width:900px){.value2{grid-template-columns:1fr}}

/* linha do tempo */
.timeline{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:8px}
.timeline::before{content:"";position:absolute;left:0;right:0;top:11px;height:2px;background:var(--grafite80)}
.timeline .bar{position:absolute;left:0;top:11px;height:2px;width:0;background:var(--verde);transition:width 1.8s cubic-bezier(.2,.7,.2,1)}
.timeline.in .bar{width:100%}
.timeline .step{position:relative;padding-top:44px}
.timeline .step::before{content:"";position:absolute;top:2px;left:0;width:20px;height:20px;border-radius:50%;background:var(--grafite);border:2px solid var(--verde)}
.timeline h3{margin:12px 0 10px;font-size:21px}
.timeline p{font-size:16px;color:#dfe1e6}
@media(max-width:900px){.timeline{grid-template-columns:1fr}.timeline::before,.timeline .bar{left:9px;right:auto;width:2px;height:100%;top:0}.timeline.in .bar{height:100%;width:2px}.timeline .step{padding:0 0 8px 44px}.timeline .step::before{top:0}}

/* serviços com foto */
.svc{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}
.svc .ph-img{aspect-ratio:4/5}
@media(max-width:900px){.svc{grid-template-columns:1fr}.svc .ph-img{aspect-ratio:16/10}}

/* nichos com foto */
.niches2{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.n2{background:#fff;border:1px solid var(--linha);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s}
.n2:hover{transform:translateY(-4px);box-shadow:0 24px 48px -30px rgba(34,38,46,.45)}
.n2 .ph-img{border-radius:0;aspect-ratio:16/10}
.n2 .body{padding:24px;display:flex;flex-direction:column;flex:1}
.n2 .tag{font:500 11px/1 var(--mono);letter-spacing:.12em;color:var(--cinza);text-transform:uppercase}
.n2 h3{font-size:20px;margin:10px 0 10px}
.n2 p{font-size:15px;color:var(--grafite80)}
.n2 .start{margin-top:auto;padding-top:18px;font-size:14px;color:var(--grafite)}
.n2 .start b{display:block;font:500 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--indigo);margin-bottom:6px}
.n2 a.more{margin-top:16px;font-weight:600;font-size:15px;text-decoration:none}
.n2.featured{grid-column:span 2;flex-direction:row}
.n2.featured .ph-img{aspect-ratio:auto;width:48%;min-height:100%}
.n2.featured .tag{color:var(--indigo)}
.n2.open{background:var(--indigo);border-color:var(--indigo);color:#fff}
.n2.open .tag,.n2.open p,.n2.open .start{color:#e4e2fb}
.n2.open h3{color:#fff;font-size:30px}
.n2.open .start b{color:#fff}
.n2.open a.more{color:#fff}
@media(max-width:1000px){.niches2{grid-template-columns:1fr 1fr}.n2.featured{grid-column:span 2}}
@media(max-width:680px){.niches2{grid-template-columns:1fr}.n2.featured{grid-column:auto;flex-direction:column}.n2.featured .ph-img{width:100%;aspect-ratio:16/10}}

/* fundador */
.founder2{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:center}
.founder2 .ph-img{aspect-ratio:1/1;background:#0b0c0a}
.founder2 .sig{margin-top:22px;font:600 18px/1.4 var(--display)}
.founder2 .sig span{display:block;font:400 13px/1.4 var(--mono);color:var(--cinza);margin-top:4px}
@media(max-width:900px){.founder2{grid-template-columns:1fr}.founder2 .ph-img{max-width:420px}}

/* cta final com foto */
.final2{display:grid;grid-template-columns:1fr 1fr;border-radius:24px;overflow:hidden;background:var(--grafite)}
.final2 .ph-img{border-radius:0;min-height:420px}
.final2 .txt{padding:56px;color:#fff;display:flex;flex-direction:column;justify-content:center}
.final2 h2{color:#fff}
.final2 p{margin-top:18px;color:#dfe1e6;font-size:18px}
.final2 .label{color:var(--verde)}
@media(max-width:900px){.final2{grid-template-columns:1fr}.final2 .ph-img{min-height:260px}.final2 .txt{padding:36px 28px}}

/* landing v2 */
.lhero{padding:56px 0 0}
.lhero .narrow{max-width:860px}
.lhero .wide{margin-top:48px}
.lhero .wide .ph-img{aspect-ratio:21/9}
@media(max-width:700px){.lhero .wide .ph-img{aspect-ratio:4/3}}
.letter .figure{margin:48px -80px}
.letter .figure .ph-img{aspect-ratio:16/9}
.letter .figure figcaption{font:400 12px/1.4 var(--mono);color:var(--cinza);margin-top:10px}
@media(max-width:900px){.letter .figure{margin:36px 0}}
.author{display:grid;grid-template-columns:140px 1fr;gap:24px;align-items:center;margin-top:28px}
.author .ph-img{aspect-ratio:1/1;border-radius:50%;background:#0b0c0a}
.author b{font:600 19px/1.3 var(--display)}
.author span{display:block;font:400 13px/1.4 var(--mono);color:var(--cinza);margin-top:4px}
@media(max-width:560px){.author{grid-template-columns:96px 1fr}}
.agents2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}
.agents2 div{border:1px solid var(--linha);border-radius:14px;padding:20px;background:var(--papel);transition:border-color .3s}
.agents2 div:hover{border-color:var(--indigo)}
.agents2 .k{font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--indigo)}
.agents2 b{display:block;font:600 18px/1.3 var(--display);margin:8px 0 6px}
.agents2 span{color:var(--grafite80);font-size:16px}
@media(max-width:640px){.agents2{grid-template-columns:1fr}}
.ba2{display:grid;gap:10px;margin-top:24px}
.ba2 .r{display:grid;grid-template-columns:1fr 28px 1fr;gap:10px;align-items:center}
.ba2 .a,.ba2 .b{padding:14px 16px;border-radius:12px;font-size:16px}
.ba2 .a{background:var(--papel);color:var(--grafite80);text-decoration:line-through;text-decoration-color:rgba(118,124,136,.5)}
.ba2 .b{background:rgba(47,184,148,.1);color:var(--grafite);border:1px solid rgba(47,184,148,.35)}
.ba2 .arr{text-align:center;color:var(--verde);font-family:var(--mono)}
.ba2 .h{font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--cinza)}
@media(max-width:640px){.ba2 .r{grid-template-columns:1fr}.ba2 .arr{transform:rotate(90deg)}}

.marquee{-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.author{grid-template-columns:180px 1fr}.author span{color:var(--grafite80);font-size:14px}
@media(max-width:560px){.author{grid-template-columns:110px 1fr}}
.ph-img img{filter:saturate(.82) contrast(1.04)}
.support{color:var(--grafite80)}
