/* ===== v3: ajustes do documento (menu mais largo, carrossel, rodapé enxuto, páginas novas) ===== */
:root{--hh:78px;--wrap:1240px}
h1,h2,h3{text-wrap:pretty}
header .wrap{max-width:1500px;padding:0 clamp(20px,3vw,40px)}
.brand img{height:54px}body.tt .brand img{height:56px}
nav{gap:clamp(18px,2.2vw,34px)}

/* carrossel de abertura */
.hero{min-height:clamp(620px,100vh,840px);display:block}
.hero::before{display:none}
.hs{position:absolute;inset:0;display:flex;align-items:center;opacity:0;visibility:hidden;transition:opacity .9s ease,visibility 0s .9s;isolation:isolate}
.hs.on{opacity:1;visibility:visible;transition:opacity .9s ease}
.hs>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;animation:none}
.hs.on>img{animation:kb 14s ease-out both}
.hs::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(6,16,18,.8) 0,rgba(6,16,18,.5) 34%,rgba(6,16,18,0) 64%)}
body.tt .hs::before{background:linear-gradient(90deg,rgba(0,9,8,.82) 0,rgba(0,9,8,.45) 38%,rgba(0,9,8,.05) 70%)}
.hs .wrap{width:100%;padding-top:calc(var(--hh) + 56px);padding-bottom:96px}
.hero h1,.hero h2{font-size:clamp(40px,5.4vw,74px);font-weight:700;letter-spacing:-.035em;line-height:1.04;max-width:820px;text-shadow:0 2px 18px rgba(0,0,0,.35)}
body.tt .hero h1{font-size:clamp(52px,8vw,112px)}
.hs .eyebrow,.hs h1,.hs h2,.hs .lead,.hs .acts{opacity:0;transform:translateY(20px);transition:opacity .7s,transform .7s}
.hs.on .eyebrow{opacity:1;transform:none;transition-delay:.25s}.hs.on h1,.hs.on h2{opacity:1;transform:none;transition-delay:.4s}.hs.on .lead{opacity:1;transform:none;transition-delay:.6s}.hs.on .acts{opacity:1;transform:none;transition-delay:.75s}
.hctl{position:absolute;left:50%;transform:translateX(-50%);bottom:26px;width:100%;max-width:calc(var(--wrap) + var(--pad)*2);padding:0 var(--pad);display:flex;justify-content:space-between;align-items:center;z-index:5}
.hctl .dots{display:flex;gap:10px}.hctl .dots button{width:54px;height:4px;border:0;padding:0;background:rgba(255,255,255,.35);cursor:pointer;position:relative;overflow:hidden;border-radius:4px}
.hctl .dots button::after{content:"";position:absolute;inset:0;background:#fff;transform:scaleX(0);transform-origin:left}
.hctl .dots button.on::after{animation:fill var(--dur,6.5s) linear forwards}
body.hp .hctl .dots button.on::after{animation-play-state:paused}
@keyframes fill{to{transform:scaleX(1)}}
.hctl .arr{display:flex;gap:10px;margin-right:72px}.hctl .arr button{width:44px;height:44px;border:1px solid rgba(255,255,255,.5);background:rgba(6,16,18,.35);color:#fff;border-radius:50%;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(6px);transition:background .15s,color .15s}
.hctl .arr button:hover{background:#fff;color:var(--ink)}
.ph::before{background:linear-gradient(90deg,rgba(6,16,18,.82) 0,rgba(6,16,18,.55) 46%,rgba(6,16,18,.1) 82%)}
.ph-s{padding-bottom:clamp(48px,6vw,80px)}

/* listas com marcador */
.bl{list-style:none;display:grid;gap:8px;margin:14px 0 4px}
.bl li{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--mut);line-height:1.4}
.bl .i{font-size:17px;color:var(--teal);flex:none;margin-top:2px;stroke-width:2}
.band .bl li,.dark .bl li{color:#cfe0e1}.bl.y .i{color:#F4BD11;font-size:20px;stroke-width:1.6}
.cards .card .bl{margin:10px 0 12px}.card .go{margin-top:auto}.card .bd{flex:1}

/* faixa escura */
.band-txt h2{max-width:none;font-size:clamp(26px,3vw,38px)}
.nums b{display:flex;align-items:baseline;gap:6px}.nums .st{font-style:normal;color:#f5b301;font-size:.7em}
.band.tt{background:#000908}.band.tt .tl{width:96px;margin-bottom:18px}.band.tt .eyebrow{color:#F4BD11}
.band.tt .band-txt{max-width:none;padding:clamp(40px,6vw,88px) clamp(24px,4vw,56px) clamp(40px,6vw,88px) max(var(--pad),calc((100vw - var(--wrap))/2))}
.band.tt .band-img::after,.band-img.r::after{background:linear-gradient(270deg,rgba(0,9,8,0) 55%,#000908 100%)}
.band.tt h2{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(34px,4vw,54px);letter-spacing:.004em;line-height:1.02}
.band.tt .acts{margin-top:24px}

/* ofertas */
.head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:32px}
.offs>div{display:grid;gap:14px;justify-items:start}.offs>div a:first-child{width:100%}
.promo{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;background:#e9f7f5;color:var(--teal-d);border:1px solid #bfe6e0;padding:7px 14px;border-radius:999px;margin-bottom:16px}
.ocs{display:grid;grid-template-columns:repeat(2,minmax(0,380px));gap:clamp(24px,5vw,72px);justify-content:center}
.oc{display:grid;gap:12px;justify-items:start}.oc h3{font-size:22px;margin-top:6px}.oc p{color:var(--mut);font-size:15px}
.oc-img{position:relative;display:block;width:100%;aspect-ratio:303/456;border-radius:16px;overflow:hidden;box-shadow:0 14px 40px rgba(11,36,40,.18)}
.oc-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .45s}
.oc-img .b{opacity:0}.oc-img:hover .b,.oc-img:focus-visible .b{opacity:1}
.oc-img::after{content:"Passe o mouse para ver como funciona";position:absolute;left:12px;right:12px;bottom:12px;background:rgba(6,16,18,.78);color:#fff;font-size:12.5px;text-align:center;padding:8px 10px;border-radius:8px;opacity:1;transition:opacity .3s;pointer-events:none}
.oc-img:hover::after{opacity:0}
@media(hover:none){.oc-img::after{content:"Toque para saber mais"}.oc-img:hover .b{opacity:0}}

/* marcas em movimento */
.brands{padding:48px 0 56px;background:#fff;border-top:1px solid var(--line)}
.brands .eyebrow{text-align:center;display:block;margin-bottom:26px;color:var(--mut)}
.marq{overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marq .track{display:flex;width:max-content;animation:marq 38s linear infinite}
.marq:hover .track{animation-play-state:paused}
.marq .track div{width:190px;height:84px;display:grid;place-items:center;flex:none;padding:0 18px}
.marq img{max-height:62px;max-width:150px;object-fit:contain}
@keyframes marq{to{transform:translateX(-50%)}}

/* Instagram e chamada final compacta */
.insta{background:#fff}.insta .wrap{display:grid;grid-template-columns:1fr 1.6fr;gap:clamp(28px,5vw,64px);align-items:center}
.ig-cards{display:grid;gap:12px}
.ig{display:flex;align-items:center;gap:16px;background:var(--light);border:1px solid var(--line);border-radius:var(--r);padding:16px 20px;transition:transform .2s,border-color .2s}
.ig:hover{transform:translateX(4px);border-color:var(--teal)}
.ig>.i{font-size:30px;color:var(--teal);flex:none}.ig b{display:block;font-size:16px}.ig span{font-size:13.5px;color:var(--mut)}.ig em{margin-left:auto;font-style:normal;font-weight:700;color:var(--teal);font-size:14px}
.cta2{background:var(--ink);color:#fff;padding:0}
.cta2 .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding-top:36px;padding-bottom:36px}
.cta2 h2{font-size:clamp(22px,2.4vw,30px)}.cta2 p{color:#b9cccd;font-size:14.5px;margin-top:4px}.cta2 .acts{margin:0}
.cta2 .btn{height:46px;padding:0 22px}

/* rodapé enxuto */
footer{padding:44px 0 22px}
footer .cols{grid-template-columns:1.1fr 1fr 1fr;gap:40px}footer .cols.tt3{grid-template-columns:1.1fr 1.3fr 1fr}
footer .tag{margin-top:12px;font-size:13.5px}
footer .soc{display:flex;gap:10px;margin-top:16px}footer .soc a{width:38px;height:38px;border:1px solid rgba(255,255,255,.2);border-radius:50%;display:grid;place-items:center;font-size:18px}footer .soc a:hover{border-color:var(--teal);color:var(--teal)}
footer h4{margin-bottom:12px}
footer .ci li{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px;line-height:1.4}footer .ci .i{font-size:17px;color:var(--teal);flex:none;margin-top:2px}
footer .copy{margin-top:28px;padding-top:18px}
footer .copy a:hover{color:var(--teal)}

/* serviços */
.list{gap:20px}
.row{padding:26px 28px;gap:20px}
.row h3{font-size:18px}.row p{font-size:15px;line-height:1.6;margin-top:8px}
.row .pic,.row>.i{width:48px;height:48px;font-size:46px}
.row .tag{display:inline-block;margin:6px 0 0;vertical-align:baseline}
.small-note{display:flex;gap:10px;align-items:center;color:var(--mut);font-size:14.5px;margin-top:28px}.small-note .i{font-size:20px;color:var(--teal);flex:none}

/* sobre */
.quotes{display:grid;gap:16px}
.rev.q{background:var(--ink2);border-color:rgba(255,255,255,.1);box-shadow:none;color:#fff}.rev.q .who{color:#9fb6b8}.rev.q .who b{color:#fff}
.dark .split .lead{color:#c9d9da}
.gal{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:230px 230px;gap:14px}
.gal figure{border-radius:var(--r);overflow:hidden;background:var(--light)}.gal .big{grid-column:span 2;grid-row:span 2}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gal figure:hover img{transform:scale(1.04)}

/* contato */
.ccs{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.cc{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;box-shadow:0 6px 20px rgba(11,36,40,.06);transition:transform .2s,border-color .2s}
.cc:hover{transform:translateY(-3px);border-color:var(--teal)}
.cc>.i{font-size:32px;color:var(--teal);flex:none}.cc b{display:block;font-size:16px}.cc span{font-size:13.5px;color:var(--mut);word-break:break-word}.cc em{margin-left:auto;font-style:normal;color:var(--teal);font-weight:700}
.map-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(28px,5vw,64px);align-items:center}
.map-grid.rev-o{grid-template-columns:1.2fr 1fr}
.ci2{list-style:none;margin:20px 0 4px;display:grid;gap:14px}.ci2 li{display:flex;gap:14px;align-items:flex-start;color:var(--mut);line-height:1.5}.ci2 .i{font-size:22px;color:var(--teal);flex:none;margin-top:3px}.ci2 b{color:var(--ink)}
body.tt .ci2 li{color:#b5c0bd}body.tt .ci2 b{color:#fff}
.map{border-radius:var(--r);overflow:hidden;box-shadow:0 8px 28px rgba(11,36,40,.1);min-height:340px;background:var(--light)}
.map iframe{width:100%;height:100%;min-height:380px;border:0;display:block}.map.photo img{width:100%;height:100%;min-height:300px;object-fit:cover}
.navcards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.nc{display:grid;gap:4px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;transition:transform .2s,border-color .2s}.nc:hover{transform:translateY(-3px);border-color:var(--teal)}
.nc .i{font-size:28px;color:var(--teal);margin-bottom:8px}.nc b{font-size:16px}.nc span{font-size:13.5px;color:var(--mut)}

/* blog */
.posts{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.post{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:30px;box-shadow:0 8px 28px rgba(11,36,40,.06);display:grid;gap:10px;align-content:start}
.post .tg{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-d)}.post h3{font-size:22px}.post p{color:var(--mut);font-size:15px}.post .lnk{margin-top:6px}
.ig-follow{display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:space-between;background:var(--light);border:1px solid var(--line);border-radius:var(--r);padding:24px 28px;margin-top:28px}
.ig-follow>.i{font-size:34px;color:var(--teal)}.ig-follow div:nth-child(2){flex:1;min-width:200px}.ig-follow b{display:block;font-size:18px}.ig-follow span{font-size:14px;color:var(--mut)}

@media(max-width:980px){:root{--hh:64px}.brand img{height:42px}}
@media(max-width:900px){
  .hs .wrap{padding-bottom:110px}.hs::before{background:linear-gradient(180deg,rgba(6,16,18,.6),rgba(6,16,18,.5))}
  .hctl .arr{margin-right:70px}
  .insta .wrap,.map-grid,.map-grid.rev-o{grid-template-columns:1fr}
  .ccs,.navcards,.posts{grid-template-columns:1fr 1fr}
  .ocs{grid-template-columns:1fr;max-width:380px;margin:0 auto}
  .gal{grid-template-columns:1fr 1fr;grid-template-rows:200px 150px 150px}.gal .big{grid-column:span 2;grid-row:auto}
  footer .cols,footer .cols.tt3{grid-template-columns:1fr}
  .cta2 .wrap{flex-direction:column;align-items:flex-start}
  .band.tt .band-img.r{height:240px;order:-1}.band.tt .band-txt{padding-left:var(--pad)}
  .band.tt .band-img::after{background:linear-gradient(180deg,rgba(0,9,8,0) 50%,#000908)}
}
@media(max-width:600px){.ccs,.navcards,.posts{grid-template-columns:1fr}.marq .track div{width:150px}}
