/* City Bike · fonte do CSS. Edite aqui, nunca em assets/css: o build publica site-<V>.css. */
@font-face{font-family:"Barlow Condensed";src:url('../fonts/barlow-condensed-600-latin.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Manrope;src:url('../fonts/manrope-latin.woff2') format('woff2');font-weight:200 800;font-display:swap}

:root{
  --marca:#17181A;--marca-2:#232428;--marca-rgb:23,24,26;
  --veu:14,15,17;
  --acao:#DFA32C;--acao-txt:#17181A;
  --tinta:#17181A;--tinta-2:#55565B;
  --branco:#fff;--cinza:#F5F3F1;--cinza-2:#ECE9E5;
  --linha:#E6E3DE;--linha-2:#D3CFC9;
  --zap:#25D366;
  --r-btn:10px;--r-card:12px;--r-mid:18px;
  --maxw:1240px;--pad:clamp(20px,5vw,46px);--sec-y:clamp(64px,8vw,116px);--h-topo:80px;
  --ease:cubic-bezier(.22,.7,.25,1);
  --sh-1:0 1px 2px rgba(var(--marca-rgb),.05),0 4px 14px rgba(var(--marca-rgb),.06);
  --sh-2:0 2px 6px rgba(var(--marca-rgb),.07),0 16px 42px rgba(var(--marca-rgb),.13);
  --sh-3:0 8px 22px rgba(var(--marca-rgb),.12),0 38px 90px rgba(var(--marca-rgb),.22);
  --sh-btn:0 2px 4px rgba(var(--marca-rgb),.07),0 16px 30px -14px rgba(var(--marca-rgb),.5);
  --display:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--h-topo) + 16px)}
body{margin:0;background:var(--branco);color:var(--tinta);font:400 16.5px/1.66 Manrope,system-ui,Arial,sans-serif;overflow-x:hidden}
body.trava{overflow:hidden}
[hidden]{display:none!important}
img{max-width:100%;height:auto;display:block}
picture{display:contents}
a{color:inherit}
button{font:inherit;color:inherit}
h1,h2,h3{font-family:var(--display);font-weight:600;letter-spacing:-.005em;line-height:1.02;margin:0;color:var(--tinta)}
h1{font-size:clamp(2.95rem,6.2vw,5.3rem)}
h2{font-size:clamp(2.45rem,4.5vw,3.7rem)}
h3{font-size:clamp(1.5rem,2.1vw,1.85rem);line-height:1.08}
p{margin:0 0 1em}
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad)}
.sec{padding-block:var(--sec-y)}
.sec--cinza{background:var(--cinza)}
.sec--escuro{background:var(--marca);color:#ECEBE8}
.sec--escuro h2,.sec--escuro h3{color:#fff}
.sec--escuro p{color:#C3C2BE}
.pular{position:absolute;left:-9999px;top:0;background:var(--marca);color:#fff;padding:12px 20px;z-index:200}
.pular:focus{left:12px;top:12px}
:focus-visible{outline:3px solid var(--marca);outline-offset:3px;border-radius:4px}
.sec--escuro :focus-visible,.hero :focus-visible,.rod :focus-visible{outline-color:var(--acao)}

/* botões */
.btn{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  min-height:52px;padding:14px 28px;border-radius:var(--r-btn);font-family:Manrope,sans-serif;font-weight:700;font-size:16px;
  text-decoration:none;border:1px solid transparent;cursor:pointer;white-space:nowrap;
  transition:color .34s var(--ease),border-color .34s var(--ease),box-shadow .34s var(--ease),transform .34s var(--ease)}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;transform:translate3d(-101%,0,0);transition:transform .5s var(--ease)}
.btn:hover::before,.btn:focus-visible::before{transform:translate3d(0,0,0)}
.btn:hover,.btn:focus-visible{transform:translateY(-2px);box-shadow:var(--sh-btn)}
.btn:active{transform:none}
.btn svg{width:1.15em;height:1.15em;flex:none}
.btn--p{background:var(--acao);color:var(--acao-txt)}
.btn--p::before{background:var(--marca)}
.btn--p:hover,.btn--p:focus-visible{color:#fff}
.btn--o{color:var(--tinta);border-color:var(--linha-2);background:transparent}
.btn--o::before{background:var(--marca)}
.btn--o:hover,.btn--o:focus-visible{color:#fff;border-color:var(--marca)}
.btn--o.on-dark{color:#fff;border-color:rgba(255,255,255,.4)}
.btn--o.on-dark::before{background:#fff}
.btn--o.on-dark:hover,.btn--o.on-dark:focus-visible{color:var(--marca);border-color:#fff}
.sec--escuro .btn--p::before,.hero .btn--p::before{background:#fff}
.sec--escuro .btn--p:hover,.hero .btn--p:hover,
.sec--escuro .btn--p:focus-visible,.hero .btn--p:focus-visible{color:var(--marca)}
.btn--sm{min-height:44px;padding:10px 20px;font-size:15px}
.btn--g{min-height:58px;padding:17px 34px;font-size:17px}
.lnk{display:inline-flex;align-items:center;gap:.45em;font-weight:700;text-decoration:none;position:relative;color:var(--tinta)}
.lnk::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:0 50%;transition:transform .4s var(--ease)}
.lnk:hover::after,.lnk:focus-visible::after{transform:scaleX(1)}
.lnk svg{width:1em;height:1em;transition:transform .4s var(--ease)}
.lnk:hover svg{transform:translateX(4px)}
.sec--escuro .lnk{color:var(--acao)}
.cx{display:flex;flex-wrap:wrap;gap:12px}
.mt{margin-top:clamp(26px,3vw,40px)}

/* cabeçalho */
.hdr{position:sticky;top:0;z-index:100;background:var(--branco);border-bottom:1px solid var(--linha);transition:box-shadow .3s var(--ease)}
.hdr.rolado{box-shadow:0 2px 18px rgba(var(--marca-rgb),.11)}
.hdr .wrap{display:flex;align-items:center;gap:18px;min-height:var(--h-topo)}
.marca{display:flex;align-items:center;gap:11px;text-decoration:none;flex:none}
.marca img{width:48px;height:48px;border-radius:50%;transition:transform .34s var(--ease);transform-origin:left center}
.hdr.rolado .marca img{transform:scale(.86)}
.marca b{font-family:var(--display);font-weight:600;font-size:26px;letter-spacing:0;line-height:1}
.nav{margin-left:auto;display:flex;align-items:center;gap:24px}
.nav a{position:relative;text-decoration:none;font-weight:600;font-size:15px;padding-block:6px;white-space:nowrap}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--acao);transform:scaleX(0);transform-origin:0 50%;transition:transform .35s var(--ease)}
.nav a:hover::after,.nav a[aria-current=page]::after{transform:scaleX(1)}
.hdr-dir{display:flex;align-items:center;gap:12px}
.hdr-sep{width:1px;height:28px;background:var(--linha)}
.ig{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;border:1px solid var(--linha-2);color:var(--tinta);transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease)}
.ig:hover{background:var(--marca);border-color:var(--marca);color:#fff}
.ig svg{width:19px;height:19px}
.burger{display:none;width:46px;height:46px;border:1px solid var(--linha-2);border-radius:var(--r-btn);background:none;cursor:pointer;padding:0;align-items:center;justify-content:center}
.burger i{display:block;width:19px;height:2px;background:var(--tinta);position:relative;transition:background .2s}
.burger i::before,.burger i::after{content:"";position:absolute;left:0;width:19px;height:2px;background:var(--tinta);transition:transform .3s var(--ease)}
.burger i::before{top:-6px}
.burger i::after{top:6px}
.burger[aria-expanded=true] i{background:transparent}
.burger[aria-expanded=true] i::before{transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded=true] i::after{transform:translateY(-6px) rotate(-45deg)}
.menu-mob{display:none;position:fixed;left:0;right:0;top:var(--h-topo);bottom:0;background:var(--branco);z-index:99;overflow-y:auto;padding:14px var(--pad) 40px}
.menu-mob.aberto{display:block}
.menu-mob a.item{display:flex;align-items:center;min-height:54px;text-decoration:none;font-weight:600;font-size:18px;border-bottom:1px solid var(--linha)}
.menu-mob .acoes{margin-top:22px;display:grid;gap:10px}

/* situação da loja agora */
.status{display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:600;margin:0}
.status i{flex:none;width:10px;height:10px;border-radius:50%;background:#9A9B9F;display:none}
html.js .status i{display:block}
.status[data-aberto="1"] i{background:#3FB970;box-shadow:0 0 0 3px rgba(63,185,112,.22)}
.status[data-aberto="0"] i{background:#E5704D}

/* hero */
.hero{position:relative;display:flex;align-items:flex-end;overflow:hidden;background:var(--marca);color:#fff;
  min-height:clamp(560px,calc(100svh - var(--h-topo)),810px)}
.hero picture{position:absolute;inset:0;display:block}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 50%}
.hero__veu{position:absolute;inset:0;
  background:linear-gradient(to right,rgba(var(--veu),.94) 0%,rgba(var(--veu),.86) 34%,rgba(var(--veu),.56) 62%,rgba(var(--veu),.05) 100%),
             linear-gradient(to top,rgba(var(--veu),.7) 0%,rgba(var(--veu),0) 52%)}
.hero__dentro{position:relative;width:100%;padding-block:clamp(44px,5.6vw,80px)}
.hero h1{color:#fff;max-width:13.5em;text-wrap:balance}
.hero__lead{color:#E2E1DD;font-size:clamp(1.02rem,1.3vw,1.16rem);margin:18px 0 26px;max-width:47ch}
.hero__bts{display:flex;flex-wrap:wrap;gap:12px}
.hero .status{margin-top:22px;color:#E9E8E4}
html.js .hero img{animation:assenta 1.7s var(--ease) both}
html.js .hero h1,html.js .hero__lead,html.js .hero__bts,html.js .hero .status{animation:sobe .85s var(--ease) both}
html.js .hero__lead{animation-delay:.09s}
html.js .hero__bts{animation-delay:.18s}
html.js .hero .status{animation-delay:.27s}
@keyframes assenta{from{transform:scale(1.07)}to{transform:none}}
@keyframes sobe{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}

/* cabeçalho de seção */
.ch{margin-bottom:clamp(26px,3.2vw,44px)}
.ch--linha{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(16px,3vw,56px);align-items:end}
.ch p{color:var(--tinta-2);margin:0;max-width:60ch}
.sec--escuro .ch p{color:#C3C2BE}

/* bicicletas: as quatro categorias */
.hub{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.hub__b{position:relative;isolation:isolate;overflow:hidden;display:block;width:100%;aspect-ratio:16/10;padding:0;border:0;border-radius:var(--r-card);background:var(--marca);color:#fff;text-align:left;cursor:pointer;box-shadow:var(--sh-1);transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.hub__b img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.hub__b::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(var(--veu),.86) 0%,rgba(var(--veu),.28) 48%,rgba(var(--veu),.04) 100%)}
.hub__b span{position:absolute;left:15px;right:12px;bottom:11px;z-index:1;font:600 clamp(1.3rem,2vw,1.75rem)/1.02 var(--display)}
.hub__b:hover{transform:translateY(-4px);box-shadow:var(--sh-2)}
.hub__b:hover img{transform:scale(1.05)}
.hub__b[aria-selected=true]{outline:3px solid var(--acao);outline-offset:3px}
.cat{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(0,1fr);gap:clamp(22px,3.8vw,60px);align-items:center;margin-top:clamp(20px,2.2vw,30px)}
.cat + .cat{margin-top:40px}
html.js .cat:not(.on){display:none}
html.js .cat.on .cat__palco{animation:corta .75s var(--ease) both}
html.js .cat.on .cat__txt{animation:sobe .6s var(--ease) both}
@keyframes corta{from{opacity:.25;clip-path:inset(0 7% 0 7% round 18px)}to{opacity:1;clip-path:inset(0 0 0 0 round 18px)}}
.cat__palco{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;border-radius:var(--r-mid);background:var(--cinza);scrollbar-width:none;overscroll-behavior-x:contain}
.cat__palco::-webkit-scrollbar{display:none}
.cat__palco button{position:relative;flex:0 0 100%;scroll-snap-align:center;border:0;padding:0;background:none;cursor:zoom-in}
.cat__palco img{width:100%;aspect-ratio:5/4;object-fit:cover}
.cat__minis{display:flex;gap:8px;margin-top:10px}
.cat__minis button{flex:none;width:84px;aspect-ratio:5/4;overflow:hidden;padding:0;border:0;border-radius:8px;background:var(--cinza);cursor:pointer;opacity:.62;outline:2px solid transparent;outline-offset:1px;transition:opacity .3s var(--ease),outline-color .3s var(--ease)}
.cat__minis img{width:100%;height:100%;object-fit:cover}
.cat__minis button:hover{opacity:1}
.cat__minis button[aria-current=true]{opacity:1;outline-color:var(--acao)}
.cat__txt p{color:var(--tinta-2);margin:12px 0 18px}
.cat__txt .rotas{margin-top:18px}
.cat__marcas{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.cat__marcas li{font-size:13.5px;font-weight:600;padding:5px 11px;border:1px solid var(--linha-2);border-radius:999px;color:var(--tinta)}

/* peças e acessórios: a parede inteira, sem esticar a foto. O grupo escolhido acende e o resto escurece */
.parede__palco{position:relative;margin:0;overflow:hidden;border-radius:var(--r-mid);background:#BFC6CE;box-shadow:var(--sh-2)}
.parede__vao{overflow:hidden;aspect-ratio:2/1}
.parede__cena{position:relative;width:100%;height:100%}
.parede__cena img{display:block;width:100%;height:100%;object-fit:cover}
.parede__foco{position:absolute;display:none;border-radius:10px;box-shadow:0 0 0 2px var(--acao),0 0 0 2400px rgba(var(--veu),.26);pointer-events:none;transition:left .75s cubic-bezier(.62,.02,.2,1),top .75s cubic-bezier(.62,.02,.2,1),width .75s cubic-bezier(.62,.02,.2,1),height .75s cubic-bezier(.62,.02,.2,1)}
.parede__palco.foco .parede__foco{display:block}
.parede__zona{position:absolute;padding:0;border:0;border-radius:10px;background:transparent;cursor:pointer}
.parede__legenda{position:absolute;right:14px;bottom:14px;max-width:calc(100% - 28px);padding:7px 14px;border-radius:999px;background:rgba(var(--veu),.86);color:#fff;font-size:14.5px;font-weight:600;pointer-events:none}
.parede__lista{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.parede__b{min-height:46px;padding:9px 17px;border:1px solid var(--linha-2);border-radius:999px;background:var(--branco);color:var(--tinta);font:600 15px/1.2 Manrope,sans-serif;white-space:nowrap;cursor:pointer;transition:background .3s var(--ease),border-color .3s var(--ease),color .3s var(--ease)}
.parede__b:hover{border-color:var(--marca)}
.parede__b[aria-pressed=true]{background:var(--marca);border-color:var(--marca);color:#fff}
.marcas{margin:clamp(20px,2.2vw,28px) 0 0;color:var(--tinta-2);font-size:15.5px;max-width:92ch}
.marcas b{color:var(--tinta);font-weight:700}

/* serviços */
.ofi{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(30px,5.4vw,84px);align-items:start}
.ofi__fotos{position:sticky;top:calc(var(--h-topo) + 24px);padding-bottom:9%}
.ofi__fotos img{border-radius:var(--r-mid)}
.ofi__g{width:88%;aspect-ratio:4/5;object-fit:cover}
.ofi__p{position:absolute;right:0;bottom:0;width:46%;aspect-ratio:4/3;object-fit:cover;border:5px solid var(--marca);box-shadow:var(--sh-3)}
.ofi__txt > p{margin:16px 0 24px;max-width:56ch}
.servs{list-style:none;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.17)}
.servs li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:16px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.17);align-items:start}
.servs svg{width:32px;height:32px;color:var(--acao);margin-top:1px}
.servs b{display:block;font:600 1.42rem/1.12 var(--display);color:#fff}
.servs p{margin:4px 0 0;font-size:15px;line-height:1.55}

/* diferenciais */
.dif{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.2fr);gap:clamp(30px,5.4vw,84px);align-items:center}
.dif__fotos{position:relative;margin:0;padding-bottom:15%}
.dif__placa{width:86%;aspect-ratio:1;object-fit:cover;border-radius:var(--r-mid);box-shadow:var(--sh-2)}
.dif__quadro{position:absolute;right:0;bottom:0;width:50%;aspect-ratio:1;object-fit:cover;border-radius:var(--r-card);border:6px solid var(--branco);box-shadow:var(--sh-3)}
.dif__txt > p{color:var(--tinta-2);margin:14px 0 clamp(20px,2.4vw,30px);max-width:56ch}
.difs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.difc{background:var(--branco);border:1px solid var(--linha);border-radius:var(--r-card);padding:20px 20px 18px;box-shadow:var(--sh-1);transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .3s var(--ease),opacity .62s var(--ease)}
.difc h3{font-size:1.5rem}
.difc p{margin:8px 0 0;font-size:15px;line-height:1.55;color:var(--tinta-2)}
html.js .difc.vis:hover{transform:translateY(-5px);box-shadow:var(--sh-2);border-color:var(--linha-2)}

/* fotos da loja */
.gal{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:clamp(104px,11.2vw,150px);grid-auto-flow:dense;gap:10px}
.gal button{position:relative;overflow:hidden;margin:0;padding:0;border:0;border-radius:var(--r-card);background:var(--marca-2);cursor:zoom-in;grid-column:span 4;grid-row:span 2}
.gal img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.gal button:hover img{transform:scale(1.045)}
.gal button:nth-child(1){grid-column:span 5;grid-row:span 3}
.gal button:nth-child(2){grid-column:span 4}
.gal button:nth-child(3){grid-column:span 3;grid-row:span 3}
.gal button:nth-child(4){grid-column:span 4;grid-row:span 3}
.gal button:nth-child(5){grid-column:span 5;grid-row:span 2}
.gal button:nth-child(6){grid-column:span 3;grid-row:span 2}
.gal button:nth-child(7){grid-column:span 6;grid-row:span 2}
.gal button:nth-child(8){grid-column:span 6;grid-row:span 2}

/* como chegar */
.loc{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(0,1fr);gap:clamp(22px,3.6vw,56px);align-items:stretch}
.mapa{position:relative;min-width:0;min-height:400px;overflow:hidden;border:1px solid var(--linha);border-radius:var(--r-mid);background:var(--cinza);box-shadow:var(--sh-2)}
.mapa__link{position:absolute;inset:0;display:block}
.mapa__link img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.mapa__link:hover img{transform:scale(1.02)}
.mapa__fachada{position:absolute;left:14px;bottom:14px;width:clamp(148px,36%,270px);padding:0;border:4px solid var(--branco);border-radius:var(--r-card);background:var(--branco);overflow:hidden;box-shadow:var(--sh-2);cursor:zoom-in;transition:transform .34s var(--ease),box-shadow .34s var(--ease)}
.mapa__fachada:hover,.mapa__fachada:focus-visible{transform:translateY(-3px);box-shadow:var(--sh-3)}
.mapa__fachada img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:8px}
.dados{margin:0;border-top:1px solid var(--linha)}
.dados > div{display:grid;grid-template-columns:minmax(0,104px) minmax(0,1fr);gap:14px;padding:12px 0;border-bottom:1px solid var(--linha)}
.dados dt{font-weight:600;color:var(--tinta-2);font-size:14.5px;margin:0}
.dados dd{margin:0;font-size:15.5px}
.dados a{text-underline-offset:3px}
.horas{list-style:none;margin:0;padding:0}
.horas li{display:flex;justify-content:space-between;gap:12px;padding:1px 0}
.horas li.hoje{font-weight:700}
.loc__ac{margin-top:20px}
.loc__ac .btn{flex:1 1 auto}
.loc .status{margin-bottom:12px;color:var(--tinta)}
.perto{margin:14px 0 0;font-size:14.5px;color:var(--tinta-2)}

/* páginas internas */
.phead{padding-block:clamp(26px,3.4vw,44px) clamp(8px,1.4vw,16px)}
.bc{font-size:14px;color:var(--tinta-2);margin-bottom:16px}
.bc a{text-underline-offset:3px}
.phead p{max-width:62ch;margin:14px 0 0;color:var(--tinta-2)}
.foto-g{width:100%;border-radius:var(--r-mid);aspect-ratio:2/1;object-fit:cover}
.duas{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,3.6vw,56px);align-items:start}
.duas img{border-radius:var(--r-mid);width:100%}
.grade{display:grid;gap:clamp(14px,1.6vw,20px)}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{display:flex;flex-direction:column;background:var(--branco);border:1px solid var(--linha);border-radius:var(--r-card);overflow:hidden;text-decoration:none;transition:transform .4s var(--ease),box-shadow .4s var(--ease);box-shadow:var(--sh-1)}
html.js .card.vis:hover{transform:translateY(-6px);box-shadow:var(--sh-2)}
.card-b{padding:20px;display:flex;flex-direction:column;gap:9px;flex:1}
.card-b h3{font-size:1.55rem}
.card-b p{color:var(--tinta-2);font-size:15px;margin:0}
.card-b .lnk{margin-top:auto;font-size:15px;width:fit-content}
.prosa p{max-width:68ch}
.prosa h2{font-size:clamp(1.8rem,3vw,2.3rem);margin:32px 0 12px}
.prosa ul{max-width:68ch;padding-left:20px}
.prosa li{margin-bottom:8px}
.fonte{font-size:14px;color:var(--tinta-2);border-top:1px solid var(--linha);padding-top:14px;margin-top:30px}
.faq{border-top:1px solid var(--linha)}
.faq__i{border-bottom:1px solid var(--linha)}
.faq__i h3{font:inherit;margin:0}
.faq__b{width:100%;display:flex;justify-content:space-between;align-items:center;gap:18px;background:none;border:none;cursor:pointer;font:600 1.45rem/1.12 var(--display);color:var(--tinta);text-align:left;padding:18px 0;min-height:56px}
.faq__b svg{width:17px;height:17px;flex:none;transition:transform .35s var(--ease)}
.faq__b[aria-expanded=true] svg{transform:rotate(45deg)}
.faq__p{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--ease)}
html:not(.js) .faq__p{grid-template-rows:1fr}
.faq__i.aberto .faq__p{grid-template-rows:1fr}
.faq__p > div{overflow:hidden}
.faq__p p{margin:0 0 18px;max-width:72ch;color:var(--tinta-2)}

/* rodapé */
.rod{background:#0F1012;color:#B9B8B4;padding-block:clamp(46px,5.4vw,72px) 0;font-size:15px}
.rod h2{font:700 15px/1.3 Manrope,sans-serif;letter-spacing:0;color:#fff;margin:0 0 14px}
.rod a{color:#D8D7D3;text-decoration:none}
.rod a:hover{color:var(--acao)}
.rod__g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(22px,3vw,44px)}
.rod ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.rod__fim{margin-top:clamp(32px,4vw,50px);border-top:1px solid rgba(255,255,255,.12);padding-block:20px;display:flex;flex-wrap:wrap;gap:10px 24px;font-size:13.5px;color:#9B9A96}
.rod__fim a{margin-left:auto}

/* rota fixa no celular e WhatsApp flutuante */
.barra{display:none;position:fixed;left:0;right:0;bottom:0;z-index:95;background:var(--branco);border-top:1px solid var(--linha);padding:8px 82px 8px 12px}
.barra .btn{flex:1;min-height:50px;font-size:16px}
.flut{position:fixed;right:24px;bottom:24px;z-index:96;isolation:isolate;width:68px;height:68px;border-radius:50%;background:var(--zap);color:#fff;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 2px 6px rgba(0,0,0,.2),0 12px 28px rgba(0,0,0,.3);transition:transform .3s var(--ease)}
.flut::before,.flut::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:50%;background:var(--zap);animation:onda 2.8s ease-out infinite}
.flut::after{animation-delay:1.4s}
@keyframes onda{from{opacity:.5;transform:scale(1)}to{opacity:0;transform:scale(1.65)}}
.flut:hover,.flut:focus-visible{transform:scale(1.08)}
.flut svg{width:38px;height:38px;flex:none}
.flut__txt{position:absolute;right:calc(100% + 14px);top:50%;padding:9px 15px;border-radius:999px;background:var(--marca);color:#fff;font-size:15px;font-weight:700;white-space:nowrap;box-shadow:var(--sh-2);opacity:0;pointer-events:none;transform:translate3d(8px,-50%,0);transition:opacity .25s var(--ease),transform .3s var(--ease)}
.flut:hover .flut__txt,.flut:focus-visible .flut__txt{opacity:1;transform:translate3d(0,-50%,0)}
body.trava .barra,body.trava .flut{display:none}

/* lightbox */
.lb{border:0;padding:0;background:transparent;max-width:min(1180px,94vw);max-height:92vh;overflow:visible}
.lb::backdrop{background:rgba(var(--veu),.93)}
.lb img{max-width:100%;max-height:82vh;width:auto;object-fit:contain;border-radius:var(--r-card);margin:0 auto}
.lb__x,.lb__n,.lb__a{position:absolute;display:flex;align-items:center;justify-content:center;width:46px;height:46px;border:0;border-radius:50%;background:rgba(255,255,255,.94);color:var(--marca);cursor:pointer}
.lb__x svg,.lb__n svg,.lb__a svg{width:19px;height:19px}
.lb__x{top:8px;right:8px}
.lb__x svg{transform:rotate(45deg)}
.lb__a{left:8px;top:calc(50% - 23px)}
.lb__a svg{transform:rotate(180deg)}
.lb__n{right:8px;top:calc(50% - 23px)}
html.js .lb[open]{animation:surge .3s var(--ease)}
@keyframes surge{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}

/* reveal */
html.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .62s var(--ease),transform .62s var(--ease);transition-delay:var(--d,0ms)}
html.js .reveal.vis{opacity:1;transform:none}

@media (max-width:1120px){
  .nav{gap:18px}
  .nav a{font-size:14.5px}
  .marca b{display:none}
}
@media (max-width:980px){
  .nav,.hdr-sep{display:none}
  .marca b{display:block}
  .burger{display:flex}
  .hdr-dir{margin-left:auto}
  .hdr-dir .btn{display:none}
  .ch--linha{grid-template-columns:minmax(0,1fr);gap:12px;align-items:start}
  .cat{grid-template-columns:minmax(0,1fr)}
  .parede__lista{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;margin-inline:calc(var(--pad) * -1);padding-inline:var(--pad)}
  .parede__lista::-webkit-scrollbar{display:none}
  .parede__lista li{flex:none}
  .parede__vao{aspect-ratio:1;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain}
  .parede__vao::-webkit-scrollbar{display:none}
  .parede__cena{width:200%}
  .parede__legenda{position:static;max-width:none;padding:11px 16px;border-radius:0;background:var(--marca)}
  .ofi{grid-template-columns:minmax(0,1fr)}
  .ofi__fotos{position:relative;top:auto;padding-bottom:0}
  .ofi__g{width:100%;aspect-ratio:4/3;object-position:50% 10%}
  .ofi__p{display:none}
  .dif{grid-template-columns:minmax(0,1fr)}
  .dif__fotos{max-width:560px}
  .loc{grid-template-columns:minmax(0,1fr)}
  .mapa{min-height:0;aspect-ratio:3/2}
  .duas,.g3{grid-template-columns:minmax(0,1fr)}
  .rod__g{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero{min-height:84svh}
  .hero__veu{background:linear-gradient(to top,rgba(var(--veu),.96) 0%,rgba(var(--veu),.9) 42%,rgba(var(--veu),.66) 72%,rgba(var(--veu),.14) 100%)}
  .hero img{object-position:50% 30%}
}
@media (max-width:720px){
  .hero picture{inset:0 0 auto 0;height:54%}
  .hero img{object-position:50% 30%}
  .hero__veu{background:linear-gradient(to top,rgb(var(--veu)) 0%,rgb(var(--veu)) 46%,rgba(var(--veu),.86) 60%,rgba(var(--veu),.5) 70%,rgba(var(--veu),.08) 84%)}
  .hero h1{text-shadow:0 2px 16px rgba(0,0,0,.5)}
  body{padding-bottom:67px}
  .barra{display:flex}
  .flut{right:12px;bottom:6px;width:58px;height:58px}
  .flut svg{width:33px;height:33px}
  .flut__txt{display:none}
  .hub{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .hub__b{aspect-ratio:3/2}
  .difs{grid-template-columns:minmax(0,1fr)}
  .gal{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:42vw;gap:8px}
  .gal button,.gal button:nth-child(n){grid-column:span 1;grid-row:span 1}
  .gal button:nth-child(3n+1){grid-column:span 2;grid-row:span 1}
  .hero__bts .btn{flex:1 1 auto}
  .foto-g{aspect-ratio:3/2}
}
@media (max-width:420px){
  .rod__g{grid-template-columns:minmax(0,1fr)}
  .dados > div{grid-template-columns:minmax(0,1fr);gap:2px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  html.js .reveal{opacity:1;transform:none}
}
