@font-face{font-family:'Archivo';src:url(../fonts/archivo.woff) format('woff');font-weight:400 900;font-stretch:62% 100%;font-display:swap}
@font-face{font-family:'Instrument Serif';src:url(../fonts/instrument-serif-italic.woff) format('woff');font-style:italic;font-weight:400;font-display:swap}

body{margin:0;background:#0A0A0A;font-family:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
html{scroll-behavior:smooth}
#topo{scroll-margin-top:0}
#como,#servicos{scroll-margin-top:64px}
#onde,#faq,#equipe,#avaliacoes,#baixar{scroll-margin-top:72px}
a:hover{opacity:1}

/* tipografia */
.cond{font-family:'Archivo',sans-serif;font-stretch:62%;font-variation-settings:'wdth' 62;font-weight:850;text-transform:uppercase;line-height:.88;letter-spacing:-0.004em}
.serif{font-family:'Instrument Serif',serif;font-style:italic;font-weight:400;text-transform:none;letter-spacing:-0.01em}
.outline{color:transparent;-webkit-text-stroke:1.4px #4A4A46}
.tnum{font-variant-numeric:tabular-nums}
.lab{display:inline-flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:700}
.lab i{width:7px;height:7px;border-radius:50%;background:var(--acc,#FF8A1F);display:inline-block}

/* topo: tudo animado só com transform (leve para o celular) */
.glow{position:absolute;left:0;top:0;width:900px;height:900px;margin:-450px 0 0 -450px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.07),transparent 65%);pointer-events:none;will-change:transform;transform:translate3d(72vw,260px,0)}
.hero.auto .glow{animation:glowRoam 14s ease-in-out infinite}
@keyframes glowRoam{0%,100%{transform:translate3d(72vw,240px,0)}33%{transform:translate3d(56vw,380px,0)}66%{transform:translate3d(84vw,170px,0)}}
.lamp{position:absolute;left:-100%;top:-100%;width:300%;height:300%;pointer-events:none;background:radial-gradient(circle 300px at 50% 50%,rgba(0,0,0,0) 0,rgba(0,0,0,0) 38%,rgba(0,0,0,.55) 70%,rgba(0,0,0,.82) 100%);will-change:transform;transition:transform .12s linear}
.hero.auto .lamp{animation:lampRoam 12s ease-in-out infinite}
@keyframes lampRoam{0%,100%{transform:translate3d(-9.3%,-3.3%,0)}25%{transform:translate3d(-0.7%,-6.7%,0)}50%{transform:translate3d(10%,-2.7%,0)}75%{transform:translate3d(3.3%,0,0)}}
.tilt{will-change:transform;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.hero.auto .tilt{animation:wob 9s ease-in-out infinite}
@keyframes wob{0%,100%{transform:perspective(900px) rotateY(-6deg) rotateX(3deg)}25%{transform:perspective(900px) rotateY(5deg) rotateX(-4deg)}50%{transform:perspective(900px) rotateY(7deg) rotateX(3deg)}75%{transform:perspective(900px) rotateY(-3deg) rotateX(-5deg)}}
.ph{aspect-ratio:1200 / 571}

/* selo */
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes spinr{to{transform:rotate(-360deg)}}
.ring{animation:spin 30s linear infinite;transform-origin:50% 50%;will-change:transform}
.ringr{animation:spinr 18s linear infinite;transform-origin:50% 50%;will-change:transform}
.badge:hover .ring,.badge:active .ring{animation-duration:5s}
.badge:hover .ringr,.badge:active .ringr{animation-duration:3s}
.mono{transition:transform 1s cubic-bezier(.6,-0.2,.2,1.25),filter .5s ease}
.coin{position:absolute;inset:0;display:block;transform-style:preserve-3d;transition:transform 1s cubic-bezier(.6,-0.2,.2,1.25)}
.cface{position:absolute;inset:0;width:100%;height:100%;display:block;border-radius:50%;-webkit-backface-visibility:hidden;backface-visibility:hidden;box-shadow:0 30px 60px -20px rgba(0,0,0,.85)}
.cback{transform:rotateY(180deg)}
.logo{transition:transform .9s cubic-bezier(.6,-0.2,.2,1.25)}
.logo:hover{transform:rotate(360deg)}

/* poste de barbeiro: a faixa desliza com transform */

/* palavra que alterna (só CSS) */
@keyframes words{0%,20%{transform:translate3d(0,0,0)}25%,45%{transform:translate3d(0,-1em,0)}50%,70%{transform:translate3d(0,-2em,0)}75%,95%{transform:translate3d(0,-3em,0)}100%{transform:translate3d(0,-4em,0)}}
.words{display:flex;flex-direction:column;animation:words 9.2s cubic-bezier(.75,0,.2,1) infinite;will-change:transform}
.words span{display:block;height:1em;line-height:1em}

/* botões */
@keyframes stripes{from{background-position:0 0}to{background-position:28.28px 0}}
.btn{background-image:repeating-linear-gradient(-45deg,rgba(0,0,0,.09) 0 10px,transparent 10px 20px);background-size:28.28px 28.28px;transition:transform .2s ease,box-shadow .2s ease}
.btn-d{transition:transform .2s ease}
.btn:active,.btn-d:active{transform:translateY(-2px)}
.arrow{transition:transform .25s ease;display:inline-block}
@keyframes shine{0%{transform:translate3d(-120%,0,0) skewX(-20deg)}60%,100%{transform:translate3d(320%,0,0) skewX(-20deg)}}
.shine{position:absolute;top:0;bottom:0;left:0;width:30%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:shine 3.6s ease-in-out infinite;pointer-events:none;will-change:transform}

/* entrada */
@keyframes rise{from{opacity:0;transform:translate3d(0,36px,0)}to{opacity:1;transform:none}}
@keyframes pop{from{opacity:0;transform:scale(.6) rotate(-30deg)}to{opacity:1;transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}
.rise{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
.pop{animation:pop 1.2s cubic-bezier(.2,.9,.2,1.15) both}
.fade{animation:fade 1.4s ease both}
@keyframes draw{to{stroke-dashoffset:0}}
.draw{stroke-dasharray:420;stroke-dashoffset:420;animation:draw 1.3s cubic-bezier(.6,0,.2,1) 1.1s forwards}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.cue{animation:cue 2.2s ease-in-out infinite}
@keyframes ping{from{transform:scale(1);opacity:.7}to{transform:scale(3);opacity:0}}
.pulse{position:relative}
.pulse::after{content:'';position:absolute;inset:0;border-radius:50%;background:inherit;animation:ping 1.8s ease-out infinite;will-change:transform,opacity}
@keyframes blink{50%{opacity:.2}}
.blink{animation:blink 1s steps(1) infinite}

/* tesoura que corta */
@keyframes snipA{0%,100%{transform:rotate(0)}50%{transform:rotate(-14deg)}}
@keyframes snipB{0%,100%{transform:rotate(0)}50%{transform:rotate(14deg)}}
.snipA{animation:snipA .9s ease-in-out infinite;transform-origin:12px 12px;transform-box:view-box}
.snipB{animation:snipB .9s ease-in-out infinite;transform-origin:12px 12px;transform-box:view-box}

/* faixas */
@keyframes tick{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@keyframes tickr{from{transform:translate3d(-50%,0,0)}to{transform:translate3d(0,0,0)}}
.tick{display:flex;width:max-content;animation:tick 42s linear infinite;will-change:transform}
.tickr{display:flex;width:max-content;animation:tickr 50s linear infinite;will-change:transform}
.bandL,.bandR{will-change:transform}

/* revelar ao rolar (JS) */
.js .rv{opacity:0;transform:translate3d(0,46px,0);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.js .rv.in{opacity:1;transform:none}
.js .zo img{transform:scale(1.16);transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.js .zo.in img{transform:scale(1)}
@keyframes wig{0%{transform:rotate(0)}30%{transform:rotate(-16deg) scale(1.15)}60%{transform:rotate(10deg)}100%{transform:none}}
.rv.in .ic{animation:wig .9s .35s ease both}

/* cartões e linhas */
.card{transition:background .35s ease,color .35s ease}
.card:active{background:var(--acc,#FF8A1F);color:#0A0A0A}
.card:active .muted{color:#2A2A27}
.card:active .num{color:#0A0A0A}
.row{transition:background .25s ease}
.row:active{background:#161616}
.name .go{opacity:0;transform:translateX(-12px);transition:opacity .25s ease,transform .25s ease}
.name .nm{transition:transform .3s ease}
.name:active .go{opacity:1;transform:none}
.exp{transition:border-color .3s ease,background .3s ease}
.exp:active{border-color:var(--acc,#FF8A1F)}
.navl{position:relative;padding:10px 2px}
.navl::after{content:'';position:absolute;left:0;right:0;bottom:4px;height:2px;background:var(--acc,#FF8A1F);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.top{transition:transform .3s ease,background .3s ease}

/* efeitos de passar o mouse só onde existe mouse */
@media (hover:hover){
.btn:hover{animation:stripes .5s linear infinite;transform:translateY(-3px);box-shadow:0 14px 30px -10px var(--acc,#FF8A1F)}
.btn-d:hover{transform:translateY(-3px)}
.btn:hover .arrow,.btn-d:hover .arrow,.row:hover .arrow{transform:translateX(5px)}
.card:hover{background:var(--acc,#FF8A1F);color:#0A0A0A}
.card:hover .muted{color:#2A2A27}
.card:hover .num{color:#0A0A0A}
.row:hover{background:#161616}
.name:hover .go{opacity:1;transform:none}
.name:hover .nm{transform:translateX(10px)}
.exp:hover{border-color:var(--acc,#FF8A1F);background:#121212}
.navl:hover::after{transform:scaleX(1)}
.top:hover{transform:translateY(-4px);background:var(--acc,#FF8A1F);color:#0A0A0A}
.tick:hover,.tickr:hover{animation-play-state:paused}
}


/* ticket da chamada final */
@keyframes float{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-12px,0)}}
.float{animation:float 6s ease-in-out infinite;will-change:transform}
@keyframes stamp{from{opacity:0;transform:scale(2.2) rotate(-12deg)}to{opacity:1;transform:scale(1) rotate(-12deg)}}
.stamp{opacity:0;transform:rotate(-12deg)}
.rv.in .stamp,.nojs .stamp{animation:stamp .55s .7s cubic-bezier(.2,.9,.3,1.3) both}
@keyframes scan{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,40px,0)}}
.scan{animation:scan 2.4s ease-in-out infinite;will-change:transform}


/* barra do celular aparece depois do topo */
.js .mbar{transform:translate3d(0,160%,0);transition:transform .5s cubic-bezier(.2,.8,.2,1);will-change:transform}
.js .mbar.show{transform:none}

/* celular do passo a passo: telas deslizam, dedo toca o botão */
@keyframes slidein{from{opacity:0;transform:translate3d(46px,0,0)}to{opacity:1;transform:none}}
.slidein{animation:slidein .55s cubic-bezier(.2,.8,.2,1) both}
@keyframes finger{0%,48%{opacity:0;transform:translate3d(34px,46px,0) scale(1.25)}58%{opacity:1;transform:translate3d(0,0,0) scale(1.1)}65%{opacity:1;transform:translate3d(0,0,0) scale(.82)}72%{opacity:1;transform:translate3d(0,0,0) scale(1)}88%{opacity:1;transform:translate3d(0,0,0) scale(1)}100%{opacity:0;transform:translate3d(0,0,0) scale(1)}}
@keyframes ripple{0%,64%{opacity:0;transform:scale(.4)}67%{opacity:.9;transform:scale(.6)}92%,100%{opacity:0;transform:scale(2.8)}}
@keyframes press{0%,62%,74%,100%{transform:scale(1)}67%{transform:scale(.94)}}
.tap{position:relative;animation:press 4.2s ease both}
.finger{position:absolute;left:50%;top:50%;width:42px;height:42px;margin:-21px 0 0 -21px;border-radius:50%;background:rgba(255,255,255,.5);border:2px solid #fff;box-shadow:0 6px 18px rgba(0,0,0,.45);pointer-events:none;animation:finger 4.2s ease both;will-change:transform,opacity}
.ripple{position:absolute;left:50%;top:50%;width:42px;height:42px;margin:-21px 0 0 -21px;border-radius:50%;border:2px solid #fff;pointer-events:none;animation:ripple 4.2s ease-out both;will-change:transform,opacity}

@keyframes toast{0%,74%{opacity:0;transform:translate3d(0,-24px,0)}80%,100%{opacity:1;transform:none}}
.toast{animation:toast 4.2s cubic-bezier(.2,.8,.2,1) both;will-change:transform,opacity}

/* equipe: holofote que vai até cada barbeiro */
.lamp2{position:absolute;left:-100%;top:-100%;width:300%;height:300%;pointer-events:none;background:radial-gradient(circle 150px at 50% 50%,rgba(0,0,0,0) 0,rgba(0,0,0,0) 45%,rgba(0,0,0,.6) 72%,rgba(0,0,0,.86) 100%);will-change:transform;transition:transform .9s cubic-bezier(.65,0,.25,1)}
@media (max-width:760px){.lamp2{background:radial-gradient(circle 64px at 50% 50%,rgba(0,0,0,0) 0,rgba(0,0,0,0) 45%,rgba(0,0,0,.6) 72%,rgba(0,0,0,.86) 100%)}}
.btab{transition:background .3s ease,color .3s ease,border-color .3s ease}
.btab img{transition:transform .3s ease}
@media (hover:hover){.btab:hover img{transform:scale(1.12)}}
@keyframes nameIn{from{opacity:0;transform:translate3d(0,14px,0)}to{opacity:1;transform:none}}
.nameIn{animation:nameIn .5s cubic-bezier(.2,.8,.2,1) both}
@keyframes tbar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.tbar{animation:tbar 3.2s linear both;transform-origin:left}

/* equipe */
.barber img{transition:transform .4s cubic-bezier(.2,.9,.2,1.2),box-shadow .3s ease}
.barber .go{opacity:.55;transition:opacity .25s ease}
@media (hover:hover){.barber:hover img{transform:scale(1.06);box-shadow:0 0 0 3px #0A0A0A,0 0 0 5px var(--acc,#FF8A1F)}.barber:hover .go{opacity:1}}
.barber:active img{transform:scale(.97)}

/* mini mapa */
@keyframes walk{to{stroke-dashoffset:-56}}
.walk{animation:walk 1.6s linear infinite}
@keyframes pinpulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(3.4);opacity:0}}
.pinpulse{transform-box:fill-box;transform-origin:center;animation:pinpulse 2s ease-out infinite}
@keyframes pinDrop{0%{transform:translate3d(0,-40px,0);opacity:0}60%{transform:translate3d(0,4px,0);opacity:1}100%{transform:none;opacity:1}}
.rv.in .pindrop{animation:pinDrop .8s .4s cubic-bezier(.2,.9,.3,1.2) both}
.js .pindrop{opacity:0}
.js .rv.in .pindrop{opacity:1}
.map{transition:border-color .3s ease}
@media (hover:hover){.map:hover{border-color:var(--acc,#FF8A1F)}}

/* seletor de idioma */
.lang{display:inline-flex;border:1px solid #2A2A2A;border-radius:999px;padding:3px;gap:2px}
.lang-old-button{all:unset;cursor:pointer;font-size:11px;font-weight:800;letter-spacing:.08em;padding:7px 9px;border-radius:999px;color:#8A8A86;transition:background .2s ease,color .2s ease}
.lang-old-button[aria-pressed="true"]{background:#F4F4F2;color:#0A0A0A}
@media (hover:hover){.lang-old-button:hover{color:#F4F4F2}.lang-old-button[aria-pressed="true"]:hover{color:#0A0A0A}}

/* QR code: só no computador */
.qr{display:none}
@media (min-width:901px) and (hover:hover){.qr{display:flex}}

/* avaliações */
@keyframes revs{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
.revs{display:flex;width:max-content;animation:revs 60s linear infinite;will-change:transform}
@media (hover:hover){.revs:hover{animation-play-state:paused}}
.rcard{transition:border-color .3s ease}
@media (hover:hover){.rcard:hover{border-color:var(--acc,#FF8A1F)}}

/* política de privacidade */
@keyframes sheetIn{from{opacity:0;transform:translate3d(0,24px,0)}to{opacity:1;transform:none}}
.sheet{animation:sheetIn .35s cubic-bezier(.2,.8,.2,1) both}

/* pausa o que está fora da tela */
.off,.off *{animation-play-state:paused !important}

summary{list-style:none;cursor:pointer}
summary::-webkit-details-marker{display:none}
details[open] .plus{transform:rotate(45deg)}
.plus{transition:transform .3s ease;display:inline-block}
@keyframes bar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.bar{animation:bar 4.2s linear forwards;transform-origin:left}

.blur{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.mbar{display:none}
.only-m{display:none}
@media (max-width:900px){.hide-m{display:none !important}}
/* menu do celular */
.menu-btn{display:none}
@media (max-width:900px){.menu-btn{display:inline-flex}}
@keyframes menuIn{from{opacity:0;transform:translate3d(0,-14px,0)}to{opacity:1;transform:none}}
.menu{animation:menuIn .35s cubic-bezier(.2,.8,.2,1) both}
.mlink{transition:color .2s ease}
.mlink:active{color:var(--acc,#FF8A1F)}
@media (max-width:760px){
.mbar{display:flex}
.only-m{display:inline}
.pad-m{padding-bottom:84px}
.hero-row{flex-wrap:wrap !important;padding-top:32px !important;gap:40px !important}
.hero-row .badge{width:min(240px, 58vw) !important}
.lab{letter-spacing:.14em}
.hdr{padding:8px 16px !important}
.hdr-cta{display:none !important}
.hdr-logo{width:36px !important;height:36px !important}
.blur{backdrop-filter:none;-webkit-backdrop-filter:none;background-color:#0A0A0A !important}
.ph{aspect-ratio:4 / 3}
.lamp{background:radial-gradient(circle 170px at 50% 50%,rgba(0,0,0,0) 0,rgba(0,0,0,0) 38%,rgba(0,0,0,.55) 70%,rgba(0,0,0,.82) 100%)}
.glow,.grain{display:none}
}
@media (hover:none){.grain{display:none}}
@media (prefers-reduced-motion: reduce){
.bandL,.bandR{transform:none !important}
}

[hidden]{display:none !important}
:focus-visible{outline:2px solid #D4FF3A !important;outline-offset:3px !important;border-radius:6px}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:#D4FF3A;color:#0A0A0A;font-weight:800;padding:10px 16px;border-radius:999px}
.skip:focus{top:12px}
/* idioma (links) */
.lang a{font-size:11px;font-weight:800;letter-spacing:.08em;padding:7px 9px;border-radius:999px;color:#8A8A86;transition:background .2s ease,color .2s ease}
.lang a[aria-current="page"]{background:#F4F4F2;color:#0A0A0A}
@media (hover:hover){.lang a:hover{color:#F4F4F2}.lang a[aria-current="page"]:hover{color:#0A0A0A}}
/* passo a passo */
.step .snum{color:#A8A8A3}.step .stit{color:#7A7A76}
.step.is-on .snum,.step.is-on .stit{color:#0A0A0A}
.step .stxt{display:none}
.step.is-on .stxt{display:block;animation:rise .5s cubic-bezier(.2,.7,.2,1) both}
.step .sbar{display:none;height:3px;background:#0A0A0A;transform-origin:left}
.step.is-on .sbar{display:block}
.steps .step.is-on .sbar{animation:bar 4.2s linear forwards}
/* abas de serviço */
.ctab{border:1px solid #333;background:transparent;color:#C9C9C4;transition:background .25s ease,color .25s ease}
.ctab[aria-selected="true"]{background:#F4F4F2;color:#0A0A0A;border-color:#F4F4F2}
/* equipe */
.btab{border:1px solid #2A2A2A;background:transparent;color:#C9C9C4}
.btab[aria-selected="true"]{background:#F4F4F2;color:#0A0A0A;border-color:#F4F4F2}
.btab .tbar{display:none;height:2px;background:#0A0A0A}
.team.auto .btab[aria-selected="true"] .tbar{display:block;animation:tbar 3.2s linear both;transform-origin:left}
/* horários */
.hrow{color:#9A9A95;font-weight:500}
.hrow.closed{color:#5E5E5A}
.hrow.today{background:#D4FF3A;color:#0A0A0A;font-weight:800}
/* barra de idioma sugerido */
.suggest{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:10px 16px;background:#D4FF3A;color:#0A0A0A;font-size:14px;font-weight:700}
.suggest a{text-decoration:underline;text-underline-offset:3px}
.suggest button{all:unset;cursor:pointer;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%}
