/* A Cadeira — home pública da barbearia, fluxo de agendamento e comanda (/r/<token>).
   Tokens vêm de tokens.css (não redefinir). --brasa pode ser sobrescrita pelo JS com a cor do dono. */
:root{--brasa-rgb:238,108,59;--sheet:#131c30;--ticket-bg:#131c30}
[hidden]{display:none!important}
a{color:inherit}
h1,h2,h3,h4,p,ul,ol,figure,blockquote,dl,dd{margin:0;padding:0}
ul,ol{list-style:none}
button,input,textarea{font:inherit;color:inherit}
button{-webkit-tap-highlight-color:transparent}
.wrap{width:min(100% - 2.5rem,72rem);margin-inline:auto}
.skip{position:absolute;left:1rem;top:-5rem;z-index:99;background:var(--toalha);color:var(--tinta);padding:.7rem 1rem;font-weight:700}
.skip:focus{top:1rem}
.ico{width:1.15em;height:1.15em;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.sk{display:block;border-radius:4px;background:linear-gradient(90deg,rgba(236,231,221,.07),rgba(236,231,221,.18),rgba(236,231,221,.07)) 0 0/200% 100%}

/* carregando / 404 */
.boot{position:fixed;inset:0;z-index:90;display:grid;place-content:center;justify-items:center;gap:1.4rem;background:radial-gradient(90% 60% at 50% 15%,rgba(242,178,92,.13),transparent 65%),var(--noite);transition:opacity .35s var(--ease),visibility 0s .35s}
.boot.is-done{opacity:0;visibility:hidden}
.boot .pole{min-height:8.5rem}
.boot .plaque{margin:26px 0 0}
.boot__sk{display:grid;gap:.6rem;width:min(70vw,17rem)}
.boot__sk i{height:2rem}
.boot__sk i+i{height:.7rem;width:78%}
.boot__sk i+i+i{width:52%}
.gone{min-height:100vh;min-height:100svh;display:grid;align-items:center;padding:4rem 0;background:radial-gradient(110% 60% at 75% 0%,rgba(242,178,92,.13),transparent 62%),linear-gradient(180deg,#111a2d,var(--noite) 55%,#0a0f1b)}
.gone__in{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.4rem;align-items:start}
.gone .plaque{margin:26px 0 2rem}
.gone .pole{min-height:13rem}
.gone .h2{max-width:34rem}
.notice{padding:.65rem 1rem;background:var(--ambar);color:var(--tinta);text-align:center;font-weight:700;font-size:.92rem}

/* verga da porta */
.lintel{position:sticky;top:0;z-index:40;background:rgba(10,13,22,.94);border-bottom:1px solid var(--linha);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.lintel__in{display:flex;align-items:center;gap:1rem;min-height:3.5rem}
.brand{display:flex;align-items:center;gap:.65rem;min-width:0;text-decoration:none}
.brand span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.status{margin-left:auto;display:flex;align-items:center;gap:.5rem;white-space:nowrap;font-size:.8rem;color:var(--texto-2)}
.status::before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:rgba(236,231,221,.35)}
.status.is-open{color:var(--porcelana)}
.status.is-open::before{background:var(--ambar)}
[data-status]:empty,[data-status-short]:empty{display:none}
.nav{display:none}
.lintel .btn{display:none}

/* polo */
.pole{display:flex;flex-direction:column;align-items:center;width:30px;min-height:10rem;flex:none}
.pole::before{content:"";width:24px;height:24px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#efe7d4 50%,#b9ae96);box-shadow:0 0 26px rgba(255,236,200,.5),inset 0 -3px 5px rgba(120,90,40,.35)}
.pole i{flex:1;width:22px;border-block:8px solid #b9bdc4;border-image:linear-gradient(90deg,#5f646d,#f3f4f6 34%,#9aa0a9 58%,#3d424b) 1;background:linear-gradient(90deg,rgba(0,0,0,.45),rgba(255,255,255,.5) 30%,rgba(255,255,255,0) 56%,rgba(0,0,0,.5)),linear-gradient(135deg,var(--polo-r) 0 12.5%,#f4f0e6 0 25%,var(--polo-b) 0 37.5%,#f4f0e6 0 50%,var(--polo-r) 0 62.5%,#f4f0e6 0 75%,var(--polo-b) 0 87.5%,#f4f0e6 0);background-size:100% 100%,40px 40px;box-shadow:0 12px 26px rgba(0,0,0,.55)}
.pole::after{content:"";width:13px;height:10px;border-radius:0 0 8px 8px;background:linear-gradient(90deg,#5f646d,#d9dce0 40%,#4a4f57)}
.pole--mini{width:10px;min-height:0;height:26px}
.pole--mini::before,.pole--mini::after{display:none}
.pole--mini i{width:10px;border-block-width:3px;background-size:100% 100%,20px 20px;box-shadow:none}

/* hero */
.hero{position:relative;overflow:hidden;overflow:clip;padding-bottom:3.5rem;background:radial-gradient(110% 60% at 75% 0%,rgba(242,178,92,.13),transparent 62%),linear-gradient(180deg,#111a2d 0%,var(--noite) 55%,#0a0f1b 100%)}
.plaque{position:relative;z-index:2;display:block;width:fit-content;max-width:min(100%,21.5rem);margin:26px auto 0;padding:.72rem 1rem;background:linear-gradient(175deg,#fffdf6,var(--toalha) 60%,#ebe4d4);color:var(--tinta);font-size:.8125rem;line-height:1.35;text-align:center;text-decoration:none;border-radius:2px;box-shadow:var(--sombra),inset 0 0 0 4px var(--toalha),inset 0 0 0 5px rgba(16,21,31,.5);transform-origin:50% -26px;transform:rotate(-1.2deg)}
.plaque::before{content:"";position:absolute;left:50%;top:-18px;width:36px;height:36px;margin-left:-18px;border-left:1px solid rgba(236,231,221,.6);border-top:1px solid rgba(236,231,221,.6);transform:rotate(45deg)}
.plaque::after{content:"";position:absolute;left:50%;top:-29px;width:7px;height:7px;margin-left:-3.5px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffe2ad,var(--ambar) 55%,#9c6a25)}
.plaque strong{font-stretch:78%;letter-spacing:.14em;text-transform:uppercase;font-weight:800}
.hero__in{display:grid;gap:3rem}
.hero__copy{min-width:0}
.head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.1rem;margin-top:2.4rem}
.head>div{min-width:0}
.eyebrow{color:var(--ambar);margin-bottom:.9rem}
.name{font:400 clamp(2.9rem,13.5vw,6.4rem)/.9 var(--disp);letter-spacing:-.012em;font-kerning:normal;overflow-wrap:break-word;text-shadow:0 2px 0 rgba(0,0,0,.35)}
.js .name{overflow-wrap:normal;word-break:keep-all;hyphens:none}
.name .w{display:inline-block;white-space:nowrap}
.script{display:block;width:fit-content;font-family:var(--script);font-size:.74em;line-height:1.05;letter-spacing:0;color:var(--brasa);transform:rotate(-4deg);transform-origin:0 100%;margin:.12em 0 .05em .06em;padding-right:.15em;white-space:nowrap;text-shadow:0 0 22px rgba(var(--brasa-rgb),.55),0 0 6px rgba(var(--brasa-rgb),.45),0 0 1px rgba(255,214,180,.9)}
.tagline{margin-top:1rem;font:400 clamp(1.3rem,5vw,1.7rem)/1.12 var(--disp);color:var(--ambar);text-wrap:balance}
.sub{margin-top:.9rem;font-size:1.12rem;color:rgba(236,231,221,.86);max-width:28rem}
.rating{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .6rem;margin-top:1.1rem;font-size:.98rem;color:rgba(236,231,221,.86)}
.rating b{font:400 1.5rem/1 var(--disp);color:var(--porcelana)}
.stars{--n:5;font-size:1.05rem;letter-spacing:.12em;background:linear-gradient(var(--brasa),var(--brasa)) 0 0/calc(var(--n)/5*100%) 100% no-repeat,linear-gradient(rgba(236,231,221,.28),rgba(236,231,221,.28));-webkit-background-clip:text;background-clip:text;color:transparent}
.cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.75rem}
.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:3.3rem;padding:.85rem 1.35rem;border:0;cursor:pointer;font:700 .92rem/1.1 var(--sans);font-stretch:80%;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;text-align:center;border-radius:var(--r1);background:var(--brasa);color:var(--tinta);box-shadow:0 10px 22px -12px rgba(var(--brasa-rgb),.8);translate:var(--mx,0) var(--my,0)}
.btn::before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 36%,rgba(255,255,255,.5) 50%,transparent 64%);translate:-110% 0;pointer-events:none}
.btn::after{content:"";position:absolute;inset:4px;border:1px solid currentColor;opacity:.4;border-radius:1px;pointer-events:none}
.btn:active{transform:translateY(1px) scale(.985)}
.btn:disabled{opacity:.6;cursor:progress}
.btn--ghost{background:transparent;color:var(--porcelana);box-shadow:inset 0 0 0 1px rgba(236,231,221,.6)}
.btn--ghost::after{display:none}
.btn--block{width:100%}
.btn--danger{color:#ffb4b6;box-shadow:inset 0 0 0 1px rgba(255,155,158,.7)}
.btn--hot{background:#ff8a8d;color:var(--tinta);box-shadow:none}
.cta .btn{flex:1 1 14rem}
@media (hover:hover){
  .btn:hover{background:var(--ambar)}
  .btn--ghost:hover{background:var(--porcelana);color:var(--tinta)}
  .btn--hot:hover{background:#ffb4b6}
  .sec--light .btn--ghost:hover,.sec--light .btn:not(.btn--ghost):hover{background:var(--tinta);color:var(--porcelana)}
  .nav a:hover{color:var(--porcelana);border-color:var(--brasa)}
}
.is-closed .cta [data-wa]{display:none}

/* espelho */
.mirror{position:relative;width:min(100%,30rem);margin:1rem auto 0}
.sconce{position:absolute;z-index:3;left:50%;top:-14px;width:40%;height:11px;transform:translateX(-50%);border-radius:7px 7px 2px 2px;background:linear-gradient(#fbdca6,#c98a3a 55%,#8f5a1f);box-shadow:0 1px 0 rgba(255,255,255,.5) inset,0 3px 6px rgba(0,0,0,.5)}
.sconce::before{content:"";position:absolute;left:50%;top:-12px;width:3px;height:12px;margin-left:-1.5px;background:#b0742c}
.sconce::after{content:"";position:absolute;left:-35%;right:-35%;top:70%;height:110px;pointer-events:none;background:radial-gradient(50% 100% at 50% 0,rgba(255,206,130,.6),rgba(242,178,92,.16) 45%,transparent 72%)}
.mirror__frame{padding:10px;border-radius:50% 50% 5px 5px/20% 20% 5px 5px;background:repeating-linear-gradient(97deg,rgba(0,0,0,.16) 0 1px,transparent 1px 5px,rgba(255,220,170,.06) 5px 6px,transparent 6px 13px),linear-gradient(160deg,#ad6030,#5d3016 45%,#93502a 70%,#4a2611);box-shadow:0 30px 60px rgba(0,0,0,.55),0 0 0 1px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,214,150,.4),inset 0 -2px 0 rgba(0,0,0,.45)}
.mirror__glass{position:relative;aspect-ratio:1/1.1;min-height:14rem;overflow:hidden;overflow:clip;border-radius:50% 50% 2px 2px/19% 19% 2px 2px;background:linear-gradient(115deg,#18253d 0%,#26364f 38%,#3b4f6e 50%,#22324c 62%,#141c2e 100%)}
.mirror__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mirror__glass::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:inherit;background:radial-gradient(80% 46% at 50% 0,rgba(255,214,150,.42),transparent 70%);box-shadow:inset 0 0 0 1px rgba(0,0,0,.7),inset 0 0 0 3px rgba(255,255,255,.1),inset 0 -30px 50px -20px rgba(8,12,22,.55)}
.mirror__glass::after{content:"";position:absolute;inset:-10% -60%;z-index:2;pointer-events:none;background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.28) 49%,rgba(255,255,255,.06) 53%,transparent 58%);transform:translateX(-70%)}
.mirror__mono{position:absolute;inset:0;display:none;place-content:center;justify-items:center;gap:.5rem;padding:16% 10% 8%;text-align:center}
.no-hero .mirror__mono{display:grid}
.mono__s{font-family:var(--script);font-size:clamp(1.4rem,6vw,1.9rem);line-height:1;color:var(--brasa);transform:rotate(-4deg);text-shadow:0 0 22px rgba(var(--brasa-rgb),.55),0 0 6px rgba(var(--brasa-rgb),.45)}
.mono__l{font:400 clamp(5.5rem,34vw,10rem)/.86 var(--disp);background:linear-gradient(170deg,#ffe9c4,var(--ambar) 38%,var(--caramelo) 72%,#7c411d);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 0 rgba(0,0,0,.4))}
.mono__l img{width:min(52vw,12rem);aspect-ratio:1;object-fit:contain;filter:none}
.mono__t{color:var(--texto-2);max-width:16rem}
.mono__t:empty{display:none}
.shelf{display:block;height:12px;margin:10px -4% 0;border-radius:1px;background:radial-gradient(circle at 20% 40%,rgba(255,255,255,.14) 0 1px,transparent 1.5px) 0 0/9px 7px,radial-gradient(circle at 70% 60%,rgba(255,255,255,.1) 0 1px,transparent 1.5px) 0 0/13px 11px,linear-gradient(#3a3d43,#1d1f23);box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 14px 22px rgba(0,0,0,.5)}

/* ladrilho */
.checker{position:relative;height:56px;overflow:hidden;overflow:clip;background:conic-gradient(var(--couro) 25%,var(--porcelana) 0 50%,var(--couro) 0 75%,var(--porcelana) 0) 0 0/28px 28px}
.checker::after{content:"";position:absolute;inset:0 -30%;background:linear-gradient(100deg,transparent 40%,rgba(255,255,255,.36) 50%,transparent 60%),linear-gradient(rgba(10,15,27,.55),transparent 55%)}

/* seções */
.sec{padding:4.5rem 0;scroll-margin-top:3.5rem}
.sec--light{--focus:var(--noite);background-color:var(--porcelana);color:var(--tinta);background-image:linear-gradient(rgba(16,21,31,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(16,21,31,.055) 1px,transparent 1px),radial-gradient(120% 60% at 20% 0,rgba(255,255,255,.7),transparent 60%);background-size:128px 128px,128px 128px,auto}
.sec--light .btn--ghost{color:var(--tinta);box-shadow:inset 0 0 0 1px var(--tinta)}
.sec--night{background:radial-gradient(90% 50% at 82% 0,rgba(242,178,92,.1),transparent 60%),linear-gradient(180deg,var(--noite2),var(--noite))}
.kicker{display:flex;align-items:center;gap:.7rem;color:var(--corten)}
.kicker::before{content:"";width:22px;height:12px;flex:none;background:linear-gradient(var(--polo-r) 0 3px,transparent 0 4.5px,var(--polo-b) 0 7.5px,transparent 0 9px,var(--polo-r) 0 12px);transform:skewX(-24deg)}
.sec--dark .kicker,.sec--night .kicker,.chair .kicker{color:var(--ambar)}
.h2{font:400 clamp(2.3rem,9vw,3.9rem)/.98 var(--disp);margin-top:.7rem;letter-spacing:-.008em;text-wrap:balance}
.lead{margin-top:.9rem;max-width:34rem;opacity:.86}

/* serviços: etiquetas de preço */
.menu{display:grid;gap:.9rem;margin-top:2.25rem}
.menu li{filter:drop-shadow(0 12px 12px rgba(16,21,31,.3))}
.tagp{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:1rem;align-items:center;width:100%;min-height:4.9rem;padding:.95rem 1.1rem .95rem 2.9rem;border:0;text-align:left;cursor:pointer;color:var(--tinta);background:linear-gradient(175deg,#fffdf6,var(--toalha) 60%,#ebe4d4);clip-path:polygon(1.15rem 0,100% 0,100% 100%,1.15rem 100%,0 calc(100% - 1.15rem),0 1.15rem)}
.tagp::before{content:"";position:absolute;left:.95rem;top:50%;width:.8rem;height:.8rem;margin-top:-.4rem;border-radius:50%;background:radial-gradient(circle,#10151f 0 38%,#c98a3a 42% 64%,#8f5a1f 68%)}
.tagp::after{content:"";position:absolute;inset:5px 5px 5px 2.25rem;border:1px dashed rgba(16,21,31,.24);pointer-events:none}
.tagp:focus-visible{outline:none}
.tagp:focus-visible::after{border:3px solid var(--corten)}
.tagp--static{cursor:default}
.tagp__n{grid-column:1;grid-row:1;font:400 1.45rem/1.05 var(--disp);overflow-wrap:anywhere}
.tagp__m{grid-column:1;grid-row:2;margin-top:.28rem;font-size:.86rem;line-height:1.35;color:rgba(16,21,31,.74)}
.tagp__p{grid-column:2;grid-row:1/span 2;display:grid;justify-items:end;gap:.15rem;white-space:nowrap}
.tagp__p small{font:700 .62rem/1 var(--sans);font-stretch:78%;letter-spacing:.14em;text-transform:uppercase;color:var(--corten)}
.tagp__p b{font:400 1.5rem/1 var(--disp)}
.crew{margin-top:3rem}
.crew__list{display:flex;gap:.8rem;overflow-x:auto;margin:1.1rem -1.25rem 0;padding:.3rem 1.25rem 1rem;scroll-snap-type:x proximity;scrollbar-width:none}
.crew__list::-webkit-scrollbar,.days::-webkit-scrollbar{display:none}
.crew__list li{flex:none;width:8.8rem;scroll-snap-align:start}
.pro{display:grid;justify-items:center;align-content:start;gap:.45rem;width:100%;min-height:8.4rem;padding:1rem .6rem .9rem;border:1px solid rgba(16,21,31,.24);border-radius:4px;background:rgba(255,255,255,.55);color:inherit;text-align:center;cursor:pointer}
div.pro{cursor:default}
.pro b{font:400 1.2rem/1.1 var(--disp);overflow-wrap:anywhere}
.pro small{font-size:.8rem;line-height:1.25;opacity:.78}
.ava{display:grid;place-items:center;width:4.2rem;height:4.2rem;overflow:hidden;border-radius:50%;font:400 1.7rem/1 var(--disp);color:var(--toalha);background:linear-gradient(160deg,var(--salao),var(--noite));box-shadow:0 0 0 2px var(--toalha),0 0 0 4px var(--caramelo)}
.ava img{width:100%;height:100%;object-fit:cover}
.ava .ico{width:1.7rem;height:1.7rem}

/* galeria: a foto sempre preenche um .shot com altura real */
.shots{counter-reset:shot;display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:2.25rem}
.shot{counter-increment:shot;position:relative;aspect-ratio:3/4;min-height:11rem;overflow:hidden;overflow:clip;background:var(--salao);box-shadow:0 0 0 1px rgba(236,231,221,.2),0 22px 34px -20px #000}
.shot:nth-child(3n+1),.shot:last-child:nth-child(3n+2){grid-column:1/-1;aspect-ratio:4/3}
.shot a{position:absolute;inset:0;display:block}
.shot a:focus-visible{outline-offset:-5px;outline-color:var(--ambar)}
.shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.shot a::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(70% 60% at 28% 18%,rgba(255,226,170,.3),transparent 70%);opacity:0}
.shot::after{content:"Foto " counter(shot,decimal-leading-zero);position:absolute;z-index:3;left:0;bottom:0;padding:.4rem .65rem;background:var(--toalha);color:var(--tinta);font:700 .68rem/1 var(--sans);font-stretch:78%;letter-spacing:.16em;text-transform:uppercase;pointer-events:none}

/* couro + toalhas */
.sec--leather{position:relative;overflow:hidden;overflow:clip;background:radial-gradient(circle at 50% 42%,#40434d 0 1.4px,#050608 2.4px 4px,transparent 5.5px) 0 0/56px 56px,radial-gradient(circle at 50% 42%,#40434d 0 1.4px,#050608 2.4px 4px,transparent 5.5px) 28px 28px/56px 56px,radial-gradient(closest-side,rgba(255,255,255,.045),transparent) 28px 0/56px 56px,radial-gradient(closest-side,rgba(255,255,255,.045),transparent) 0 28px/56px 56px,linear-gradient(45deg,transparent 48.4%,rgba(0,0,0,.8) 49.3% 50.5%,rgba(255,255,255,.05) 51.4%,transparent 52.4%) 0 0/56px 56px,linear-gradient(-45deg,transparent 48.4%,rgba(0,0,0,.8) 49.3% 50.5%,rgba(255,255,255,.05) 51.4%,transparent 52.4%) 0 0/56px 56px,radial-gradient(120% 80% at 50% 0,#1c1e25,var(--couro) 70%)}
.sec--leather::before{content:"";position:absolute;inset:-20% 0;pointer-events:none;background:radial-gradient(46% 26% at 62% 50%,rgba(242,178,92,.13),transparent 70%)}
.sec--leather>.wrap{position:relative}
.score{display:flex;align-items:center;gap:1.1rem;margin-top:2rem}
.score__n{font:400 clamp(4.6rem,22vw,8rem)/.8 var(--disp);color:var(--porcelana);text-shadow:0 3px 0 rgba(0,0,0,.6)}
.score__t{display:grid;gap:.3rem;font-size:.95rem;color:rgba(236,231,221,.82)}
.score .stars{font-size:1.4rem}
.towels{display:grid;gap:2rem;margin-top:2.5rem;perspective:900px}
.towel{position:relative;padding:1.7rem 1.4rem 3.3rem;background-color:var(--toalha);background-image:radial-gradient(rgba(16,21,31,.08) .6px,transparent 1px),repeating-linear-gradient(0deg,rgba(16,21,31,.035) 0 1px,transparent 1px 4px),linear-gradient(100deg,rgba(255,255,255,.8),transparent 28% 72%,rgba(16,21,31,.07));background-size:5px 5px,auto,auto;color:var(--tinta);border-radius:3px 3px 1px 1px;box-shadow:inset 0 1px 0 #fff,inset 0 -18px 24px -18px rgba(16,21,31,.18),0 28px 44px -10px rgba(0,0,0,.75),0 3px 6px rgba(0,0,0,.5);rotate:-1deg;transform-origin:50% 0}
.towel:nth-child(2n){rotate:.9deg}
.towel::before{content:"";position:absolute;left:2px;right:2px;top:100%;height:9px;background:repeating-linear-gradient(90deg,var(--toalha) 0 2px,transparent 2px 4px);opacity:.92}
.towel::after{content:"";position:absolute;left:0;right:0;bottom:.9rem;height:14px;background:linear-gradient(var(--polo-b) 0 3px,transparent 0 6px,var(--polo-b) 0 8px,transparent 0 11px,var(--polo-b) 0 14px);opacity:.92}
.towel blockquote p{font:400 clamp(1.45rem,5.6vw,1.9rem)/1.16 var(--disp);text-wrap:pretty}
.towel__by{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .7rem;margin-top:1rem;color:var(--corten)}
.towel__by .stars{font-size:.85rem;background:linear-gradient(var(--corten),var(--corten)) 0 0/calc(var(--n)/5*100%) 100% no-repeat,linear-gradient(rgba(16,21,31,.2),rgba(16,21,31,.2));-webkit-background-clip:text;background-clip:text}

/* horários (vidro da porta) + endereço */
.duo{display:grid;gap:3.5rem}
.door{position:relative;overflow:hidden;overflow:clip;margin-top:1.75rem;padding:1.7rem 1.35rem 1.4rem;background:linear-gradient(160deg,#1b2742,var(--noite) 70%);color:var(--porcelana);border-radius:3px;box-shadow:inset 0 0 0 5px #0a101c,inset 0 0 0 6px rgba(236,231,221,.36),inset 0 0 0 7px rgba(0,0,0,.5),0 26px 40px -22px rgba(16,21,31,.7);--focus:var(--ambar)}
.door::after{content:"";position:absolute;inset:-20% -60%;pointer-events:none;background:linear-gradient(105deg,transparent 43%,rgba(255,255,255,.11) 47%,rgba(255,255,255,.03) 52%,transparent 56%)}
.door>*{position:relative;z-index:1}
.door__status{display:flex;align-items:baseline;gap:.65rem;font:400 1.55rem/1.15 var(--disp);margin-bottom:1rem}
.door__status::before{content:"";flex:none;width:.6rem;height:.6rem;border-radius:50%;background:rgba(236,231,221,.35);transform:translateY(-.12em)}
.door__status.is-open{color:var(--ambar)}
.door__status.is-open::before{background:var(--ambar)}
.door__list li{position:relative;z-index:0;display:flex;align-items:baseline;gap:.7rem;padding:.6rem 0;font-size:1.02rem}
.door__list li::before{content:"";order:1;flex:1;min-width:1rem;border-bottom:1px dotted rgba(236,231,221,.4);transform:translateY(-.28em)}
.door__list .d{order:0;display:flex;align-items:center;gap:.5rem}
.door__list .h{order:2;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:0 .6rem;max-width:64%;font-variant-numeric:tabular-nums;font-weight:600}
.door__list .h span{white-space:nowrap}
.door__list .is-off .h{font-weight:400;color:var(--texto-3)}
.door__list .is-today{color:var(--ambar)}
.door__list .is-today .d,.door__list .is-today .h{font-weight:800}
.door__list .is-today::after{content:"";position:absolute;z-index:-1;inset:0 -.55rem;border-radius:2px;background:linear-gradient(90deg,rgba(242,178,92,.17),rgba(242,178,92,.04));box-shadow:inset 2px 0 0 var(--ambar);transform-origin:0 50%}
.tag{padding:.2rem .4rem;background:var(--ambar);color:var(--tinta);font:800 .62rem/1 var(--sans);font-stretch:78%;letter-spacing:.14em;text-transform:uppercase;border-radius:1px}
.now{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:rgba(236,231,221,.16)}
.now::before{content:"";position:absolute;inset:0;background:var(--ambar);transform-origin:0 50%;transform:scaleX(var(--p,0))}
.now::after{content:"";position:absolute;top:50%;left:calc(var(--p,0)*100%);width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:var(--ambar);box-shadow:0 0 0 3px rgba(242,178,92,.25)}
.door__note{margin-top:1rem;font-size:.82rem;color:rgba(236,231,221,.72)}
.no-hours .hours{display:none}
.addr{font:400 clamp(1.3rem,4.6vw,1.6rem)/1.25 var(--disp);margin-top:1.4rem;max-width:26rem;text-wrap:pretty}
.rows{margin-top:1.4rem;border-top:1px solid rgba(16,21,31,.25)}
.rows:empty{display:none}
.rows li{display:grid;grid-template-columns:6.5rem minmax(0,1fr);gap:.75rem;align-items:baseline;padding:.8rem 0;border-bottom:1px solid rgba(16,21,31,.25)}
.rows .k{color:var(--corten);font:700 .74rem/1.3 var(--sans);font-stretch:78%;letter-spacing:.16em;text-transform:uppercase}
.rows .v{font-weight:600;overflow-wrap:anywhere}
.rows a.v{text-decoration-thickness:1px;text-underline-offset:.2em}
.mapframe{margin-top:1.75rem;padding:6px;background:var(--tinta);border-radius:3px;box-shadow:0 24px 36px -22px rgba(16,21,31,.7)}
.mapframe iframe{display:block;width:100%;height:19rem;border:0;filter:grayscale(.35) contrast(1.05)}

/* a cadeira */
.chair{position:relative;overflow:hidden;overflow:clip;padding:5rem 0 1.4rem;background:radial-gradient(70% 60% at 70% 55%,rgba(242,178,92,.1),transparent 65%),linear-gradient(180deg,var(--noite2),var(--noite) 70%,#0a0f1b)}
.chair__floor{position:absolute;inset:auto 0 0 0;height:6.5rem;overflow:hidden;perspective:420px;pointer-events:none;-webkit-mask-image:linear-gradient(transparent,#000 60%);mask-image:linear-gradient(transparent,#000 60%)}
.chair__floor::before{content:"";position:absolute;left:-50%;right:-50%;top:0;height:320%;transform-origin:50% 0;transform:rotateX(68deg);background:conic-gradient(#0b0d13 25%,#d6d0c4 0 50%,#0b0d13 0 75%,#d6d0c4 0) 50% 0/64px 64px;opacity:.55}
.chair__floor::after{content:"";position:absolute;inset:0;background:radial-gradient(50% 120% at 68% 100%,rgba(242,178,92,.3),transparent 70%),linear-gradient(transparent,rgba(10,11,15,.6))}
.chair__in{position:relative;display:grid;gap:1rem}
.chair__copy{min-width:0}
.chair .h2{font-size:clamp(3rem,13vw,5.6rem);line-height:.92}
.chair .h2 .ln{display:block;overflow:hidden;overflow:clip;padding-bottom:.06em}
.chair .h2 .ln>span{display:block}
.chair .lead{max-width:24rem}
.chair__art{position:relative;width:min(80vw,21rem);margin:1.5rem auto 0;pointer-events:none}
.chair__art::before{content:"";position:absolute;inset:8% -18% 4%;background:radial-gradient(closest-side,rgba(242,178,92,.2),rgba(38,54,79,.25) 55%,transparent 75%)}
.chair__svg{position:relative;display:block;width:100%;height:auto;overflow:visible}
.c-up,.c-pump,.c-sheen{transform-box:fill-box}
.c-pump{transform-origin:0 0}

/* rodapé */
.foot{background:var(--couro);padding:2.75rem 0 7rem;font-size:.9rem;color:rgba(236,231,221,.76)}
.foot__name{font:400 1.5rem/1.1 var(--disp);color:var(--porcelana)}
.foot p+p{margin-top:.6rem}
.plaque--foot{margin:3.4rem 0 0 1rem}
.orn{display:flex;align-items:center;gap:.9rem;margin-bottom:1.75rem;color:rgba(236,231,221,.45)}
.orn::before,.orn::after{content:"";flex:1;height:1px;background:currentColor}
.orn .ico{width:1.3rem;height:1.3rem;transform:rotate(-90deg)}

/* barra fixa mobile */
.fab{position:fixed;left:0;right:0;bottom:0;z-index:35;display:flex;gap:.5rem;padding:.6rem .75rem calc(.6rem + env(safe-area-inset-bottom));background:rgba(10,11,15,.96);border-top:1px solid rgba(236,231,221,.2)}
.fab .btn{flex:1;min-height:3rem;padding:.6rem .8rem;font-size:.85rem;translate:none}
.fab .fab__w{flex:0 0 3.25rem;padding:0}
.fab__w .ico{width:1.4rem;height:1.4rem}
.no-fab .fab{display:none}

/* lightbox */
.lb{padding:0;border:0;background:transparent;max-width:min(94vw,70rem);max-height:92vh;overflow:visible}
.lb::backdrop{background:rgba(6,8,14,.9)}
.lb img{width:auto;max-width:100%;max-height:86vh;margin:auto;box-shadow:0 0 0 6px var(--toalha),0 30px 80px rgba(0,0,0,.6)}
.lb__x{position:absolute;right:-.25rem;top:-3.2rem;width:2.75rem;height:2.75rem;border:1px solid rgba(236,231,221,.6);background:var(--couro);color:var(--porcelana);font:400 1.5rem/1 var(--sans);cursor:pointer;border-radius:2px}

/* blocos ausentes */
.no-services #servicos,.no-services .nav [href="#servicos"]{display:none}
.no-gallery #salao,.no-gallery .nav [href="#salao"]{display:none}
.no-reviews .towels{display:none}
.no-reviews.no-rating #avaliacoes,.no-reviews.no-rating .nav [href="#avaliacoes"],.no-reviews #avaliacoes:not(:has(.score:not([hidden]))){display:none}
.no-hours .nav [href="#horarios"]{display:none}
.no-address .nav [href="#endereco"]{display:none}

/* ===== agendamento: folha (celular) / painel lateral (desktop) ===== */
html.bk-open{overflow:hidden}
.bk{--from:0 100%;position:fixed;inset:auto 0 0 0;width:100%;max-width:none;height:92vh;height:min(92dvh,48rem);max-height:none;margin:0;padding:0;border:0;background:transparent;color:var(--porcelana);overflow:visible}
.bk::backdrop{background:rgba(6,8,14,.74);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.bk__panel{display:flex;flex-direction:column;height:100%;overflow:hidden;border-radius:16px 16px 0 0;background:radial-gradient(120% 40% at 80% 0,rgba(242,178,92,.1),transparent 60%),linear-gradient(180deg,#18233c,var(--sheet) 34%);box-shadow:0 -1px 0 rgba(236,231,221,.28),0 -30px 60px rgba(0,0,0,.6)}
.bk__grab{flex:none;width:2.6rem;height:4px;margin:.5rem auto 0;border-radius:2px;background:var(--linha-forte)}
.bk__top{flex:none;display:flex;align-items:center;gap:.5rem;padding:.45rem .75rem .6rem}
.bk__ic{flex:none;display:grid;place-items:center;width:2.75rem;height:2.75rem;border:1px solid var(--linha);border-radius:50%;background:transparent;cursor:pointer}
.bk__ic .ico{width:1.25rem;height:1.25rem}
.bk__ic[hidden]{display:block!important;visibility:hidden}
.bk__ttl{flex:1;min-width:0;text-align:center}
.bk__ttl h2{font:400 1.4rem/1.1 var(--disp)}
.bk__step{color:var(--ambar);font-size:.68rem;margin-bottom:.2rem}
.bk__prog{flex:none;height:6px;margin:0 1rem;overflow:hidden;border-radius:3px;background:rgba(236,231,221,.13)}
.bk__prog i{display:block;height:100%;width:calc(var(--p,.2)*100%);border-radius:3px;background:repeating-linear-gradient(115deg,var(--polo-r) 0 8px,#f4f0e6 0 12px,var(--polo-b) 0 20px,#f4f0e6 0 24px)}
.bk__chips{flex:none;display:flex;flex-wrap:wrap;gap:.4rem;padding:.7rem 1rem 0}
.chip{display:inline-flex;align-items:center;gap:.4rem;min-height:2.75rem;max-width:100%;padding:.3rem .8rem;border:1px solid var(--linha);border-radius:99px;background:rgba(236,231,221,.06);font-size:.84rem;font-weight:600;cursor:pointer}
.chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chip .ico{width:.9rem;height:.9rem;color:var(--ambar)}
.bk__body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:1.1rem 1rem calc(1.4rem + env(safe-area-inset-bottom))}
.bk__q{font:400 1.8rem/1.05 var(--disp);margin-bottom:1rem}
.bk__q:focus{outline:none}
.bk__hint{margin:-.4rem 0 1rem;font-size:.92rem;color:var(--texto-2)}
.bk__note{display:flex;gap:.6rem;align-items:flex-start;margin-bottom:1rem;padding:.75rem .85rem;border-radius:4px;background:rgba(242,178,92,.14);box-shadow:inset 3px 0 0 var(--ambar);font-size:.94rem;font-weight:600}
.bk__note .ico{margin-top:.15rem;color:var(--ambar)}
.link{padding:.5rem 0;min-height:2.75rem;border:0;background:none;color:var(--ambar);font-weight:700;text-decoration:underline;text-underline-offset:.2em;cursor:pointer}
.bk .menu{margin-top:0;gap:.75rem}
.bk .menu li{filter:drop-shadow(0 10px 12px rgba(0,0,0,.45))}
.pros{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.bk .pro{border-color:var(--linha);background:rgba(236,231,221,.05)}
.pro--any{grid-column:1/-1;grid-template-columns:auto minmax(0,1fr);justify-items:start;align-items:center;column-gap:.9rem;row-gap:.1rem;min-height:0;text-align:left}
.pro--any .ava{grid-row:1/span 2;box-shadow:0 0 0 2px var(--toalha),0 0 0 4px var(--brasa)}
.pro--any b{align-self:end}
.pro--any small{align-self:start}
.days{display:flex;gap:.5rem;overflow-x:auto;margin:0 -1rem;padding:.25rem 1rem .9rem;scroll-snap-type:x proximity;scrollbar-width:none}
.day{flex:none;scroll-snap-align:center;display:grid;justify-items:center;align-content:center;gap:.2rem;width:4.2rem;min-height:5.5rem;padding:.3rem;border:1px solid var(--linha);border-radius:6px;background:rgba(236,231,221,.05);cursor:pointer}
.day__w{font:700 .66rem/1 var(--sans);font-stretch:78%;letter-spacing:.12em;text-transform:uppercase;color:var(--ambar)}
.day__d{font:400 1.75rem/1 var(--disp)}
.day__m{font-size:.7rem;line-height:1;color:var(--texto-3)}
.day[aria-pressed="true"]{background:var(--toalha);border-color:var(--toalha);color:var(--tinta)}
.day[aria-pressed="true"] .day__w{color:var(--corten)}
.day[aria-pressed="true"] .day__m{color:rgba(16,21,31,.7)}
.day:disabled{opacity:.4;cursor:not-allowed}
.day--more{width:auto;padding:0 1rem;font-weight:700;font-size:.82rem;line-height:1.25;color:var(--ambar)}
.day.sk{border:0;cursor:default}
.slots h4{display:flex;align-items:center;gap:.6rem;margin:1.1rem 0 .65rem;color:var(--ambar)}
.slots h4::after{content:"";flex:1;height:1px;background:var(--linha)}
.slots__g{display:grid;grid-template-columns:repeat(auto-fill,minmax(4.7rem,1fr));gap:.5rem}
.slot{min-height:3rem;border:1px solid var(--linha-forte);border-radius:4px;background:rgba(236,231,221,.04);font:600 1.02rem/1 var(--sans);font-variant-numeric:tabular-nums;cursor:pointer}
.slot.sk{border:0;cursor:default}
.empty{display:grid;justify-items:start;gap:.9rem;margin-top:.6rem;padding:1.2rem 1.1rem;border:1px dashed var(--linha-forte);border-radius:6px}
.empty p{font:400 1.3rem/1.2 var(--disp)}
@media (hover:hover){
  .slot:not(.sk):hover,.day:not(:disabled):not(.sk):hover{background:var(--toalha);border-color:var(--toalha);color:var(--tinta)}
  .day:not(:disabled):hover .day__w{color:var(--corten)}
  .day:not(:disabled):hover .day__m{color:rgba(16,21,31,.7)}
  .bk .pro:hover{border-color:var(--ambar);background:rgba(242,178,92,.1)}
  .crew .pro:hover{background:#fff;border-color:var(--tinta)}
  .chip:hover,.bk__ic:hover{border-color:var(--ambar)}
}
.sum{display:grid;gap:.4rem;padding:1rem 1.1rem;border-radius:4px;background:linear-gradient(175deg,#fffdf6,var(--toalha) 60%,#ebe4d4);color:var(--tinta)}
.sum__t{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;font:400 1.45rem/1.1 var(--disp)}
.sum__t b{font-weight:400;white-space:nowrap}
.sum__m{display:flex;align-items:center;gap:.5rem;font-size:.95rem;font-weight:600}
.sum__m .ico{color:var(--corten)}
.fld{display:grid;gap:.4rem;margin-top:1rem}
.fld .label{color:var(--texto-2)}
.fld input,.fld textarea{width:100%;min-height:3.25rem;padding:.8rem .9rem;border:1px solid var(--linha-forte);border-radius:4px;background:rgba(236,231,221,.06);font:500 1.0625rem/1.3 var(--sans);color:var(--porcelana)}
.fld textarea{min-height:5rem;resize:vertical}
.fld input::placeholder{color:var(--texto-3)}
.fld input:focus-visible,.fld textarea:focus-visible{outline:3px solid var(--focus);outline-offset:1px;border-color:transparent}
.fld [aria-invalid="true"]{border-color:#ff9b9e}
.fld__e{font-size:.86rem;font-weight:600;color:#ffb4b6}
.fld__e:empty{display:none}
.obs{margin-top:.9rem}
.obs summary{display:inline-flex;align-items:center;min-height:2.75rem;color:var(--ambar);font-weight:700;cursor:pointer}
.obs .fld{margin-top:.2rem}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.bk__err{display:flex;gap:.6rem;align-items:flex-start;margin-top:1rem;padding:.75rem .85rem;border-radius:4px;background:rgba(229,72,77,.16);box-shadow:inset 3px 0 0 var(--erro);font-size:.94rem;font-weight:600}
.bk__fine{margin-top:.9rem;font-size:.82rem;color:var(--texto-3)}
.bk__fine a{color:var(--texto-2)}
.bk__go{position:sticky;bottom:0;margin-top:1.2rem;padding:.6rem 0 0;background:linear-gradient(transparent,var(--sheet) 30%)}
.btn.is-busy::before{background:linear-gradient(105deg,transparent 36%,rgba(255,255,255,.6) 50%,transparent 64%)}

/* sucesso */
.done{display:grid;justify-items:center;text-align:center}
.snip{width:min(60%,13rem);height:auto;overflow:visible}
.snip__a,.snip__b{transform-box:view-box;transform-origin:120px 52px}
.snip__l,.snip__r{transform-box:fill-box}
.snip__l{transform-origin:0 50%}
.snip__r{transform-origin:100% 50%}
.done__neon{margin-top:.2rem;font:400 3.2rem/1 var(--script);color:var(--brasa);transform:rotate(-4deg);text-shadow:0 0 22px rgba(var(--brasa-rgb),.55),0 0 6px rgba(var(--brasa-rgb),.45),0 0 1px rgba(255,214,180,.9)}
.done .bk__q{margin:.9rem 0 .3rem;font-size:1.5rem}
.done__p{max-width:22rem;font-size:.95rem;color:var(--texto-2)}
.done .ticket{width:100%;margin-top:1.3rem;text-align:left}
.done__acts,.rv__acts{display:grid;gap:.6rem;width:100%;margin-top:1.3rem}

/* comanda */
.ticket{position:relative;color:var(--tinta);filter:drop-shadow(0 18px 22px rgba(0,0,0,.5))}
.ticket__head,.ticket__body{position:relative;padding:1.2rem 1.25rem;background:linear-gradient(175deg,#fffdf6,var(--toalha) 60%,#ebe4d4)}
.ticket__head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.2rem 1rem;border-radius:4px 4px 0 0;color:var(--corten)}
.ticket__code{grid-column:1;font:400 2.5rem/1 var(--disp);letter-spacing:.08em;color:var(--tinta)}
.stamp{grid-column:2;grid-row:1/span 2;padding:.4rem .6rem;border:2px solid currentColor;border-radius:3px;font:800 .7rem/1.1 var(--sans);font-stretch:78%;letter-spacing:.14em;text-transform:uppercase;text-align:center;max-width:8.5rem;rotate:-6deg}
.stamp--ok{color:#1d6b47}
.stamp--wait{color:var(--corten)}
.stamp--off{color:#a3272c}
.ticket__body{display:grid;grid-template-columns:4.8rem minmax(0,1fr);gap:.65rem .8rem;margin:0;border-top:2px dashed rgba(16,21,31,.3);border-radius:0 0 4px 4px}
.ticket__body::before,.ticket__body::after{content:"";position:absolute;top:-9px;width:16px;height:16px;border-radius:50%;background:var(--ticket-bg)}
.ticket__body::before{left:-8px}
.ticket__body::after{right:-8px}
.ticket dt{padding-top:.2rem;color:var(--corten);font:700 .68rem/1.3 var(--sans);font-stretch:78%;letter-spacing:.16em;text-transform:uppercase}
.ticket dd{font-weight:600;overflow-wrap:anywhere}
.ticket__time{font:400 1.9rem/1.1 var(--disp)}

/* página /r/<token> */
.rv{--ticket-bg:#101829;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;background:radial-gradient(100% 46% at 50% 0,rgba(242,178,92,.13),transparent 65%),linear-gradient(180deg,#111a2d,var(--noite) 60%,#0a0f1b)}
.rv__top{display:flex;justify-content:center;padding:1.1rem 1rem;border-bottom:1px solid var(--linha)}
.rv__main{flex:1;width:min(100% - 2rem,27rem);margin:0 auto;padding:2rem 0 3rem}
.rv__h{font:400 clamp(2rem,9vw,2.7rem)/1 var(--disp);margin-bottom:.5rem;text-wrap:balance}
.rv__p{margin-bottom:1.5rem;color:var(--texto-2)}
.rv__note{margin-top:1.1rem;font-size:.9rem;color:var(--texto-2)}
.rv__load{display:grid;gap:.7rem}
.rv__load i{height:5.5rem}
.rv__load i+i{height:11rem}
.rv__foot{padding:1.5rem 1rem calc(1.5rem + env(safe-area-inset-bottom));text-align:center;font-size:.82rem;color:var(--texto-3)}
.ask{width:min(100% - 2rem,26rem);padding:0;border:0;border-radius:8px;background:var(--sheet);color:var(--porcelana);box-shadow:var(--sombra)}
.ask::backdrop{background:rgba(6,8,14,.78)}
.ask__in{padding:1.4rem 1.25rem}
.ask h2{font:400 1.7rem/1.1 var(--disp)}
.ask p{margin-top:.6rem;color:var(--texto-2)}
.ask__acts{display:grid;gap:.6rem;margin-top:1.3rem}

@media (min-width:40rem){
  .towels{grid-template-columns:1fr 1fr;gap:2.25rem}
  .shots{gap:1rem}
  .menu{grid-template-columns:1fr 1fr;gap:1.1rem 1.4rem}
  .bk .menu{grid-template-columns:1fr}
  .ask__acts{grid-template-columns:1fr 1fr}
}
@media (min-width:60rem){
  body{font-size:1.125rem}
  .nav{display:flex;gap:1.6rem;margin-left:2.5rem}
  .nav a{text-decoration:none;color:rgba(236,231,221,.8);padding:.4rem 0;border-bottom:1px solid transparent;transition:color .25s,border-color .25s}
  .lintel .btn{display:inline-flex;min-height:2.75rem;padding:.5rem 1rem;font-size:.8rem;margin-left:1.25rem;box-shadow:none}
  .lintel .btn::after{display:none}
  .lintel__in{min-height:4rem}
  .plaque{margin:30px 6% 0 auto}
  .gone .plaque,.boot .plaque{margin-left:0}
  .plaque--foot{margin:3.4rem 0 0 1rem}
  .hero{padding-bottom:5rem}
  .hero__in{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:4rem;align-items:center;margin-top:-1.5rem}
  .head{margin-top:0;gap:1.6rem}
  .cta .btn{flex:0 1 auto}
  .mirror{margin-top:2.5rem}
  .mono__l{font-size:10rem}
  .sec{padding:7rem 0;scroll-margin-top:4rem}
  .crew__list{flex-wrap:wrap;overflow:visible;margin-inline:0;padding-inline:0}
  .shots{grid-template-columns:repeat(12,1fr);grid-auto-rows:clamp(15rem,27vw,24rem)}
  .shot,.shot:nth-child(3n+1),.shot:last-child:nth-child(3n+2){grid-column:span 4;aspect-ratio:auto;min-height:0}
  .shot:nth-child(5n+1){grid-column:span 7}
  .shot:nth-child(5n+2){grid-column:span 5}
  .shot:last-child:nth-child(5n+4){grid-column:span 8}
  .shot:last-child:nth-child(5n+3),.shot:last-child:nth-child(5n+1){grid-column:span 12}
  .rev{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:4rem;align-items:start}
  .towels{margin-top:.5rem}
  .no-reviews .rev{display:block}
  .duo{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:5rem}
  .no-hours .duo{grid-template-columns:1fr}
  .mapframe iframe{height:22rem}
  .chair{padding:7rem 0 1.6rem}
  .chair__floor{height:8.5rem}
  .chair__in{grid-template-columns:minmax(0,1fr) minmax(0,25rem);gap:3rem;align-items:end}
  .chair__copy{align-self:center;padding-bottom:5rem}
  .chair__art{width:100%;margin:0}
  .foot{padding-bottom:3rem}
  .fab{display:none}
  .bk{--from:100% 0;inset:0 0 0 auto;width:30rem;height:100vh;height:100dvh}
  .bk__panel{border-radius:0;box-shadow:-1px 0 0 rgba(236,231,221,.28),-30px 0 60px rgba(0,0,0,.6)}
  .bk__grab{display:none}
  .bk__top{padding-top:1rem}
  .bk__body{padding:1.4rem 1.5rem 2rem}
  .bk__prog{margin-inline:1.5rem}
  .bk__chips{padding-inline:1.5rem}
  .days{margin-inline:-1.5rem;padding-inline:1.5rem}
}

/* ---------- movimento (só para quem aceita) ---------- */
@media (prefers-reduced-motion:no-preference){
  html{scroll-behavior:smooth}
  @keyframes pole{to{background-position:0 0,0 40px}}
  @keyframes pole-s{to{background-position:0 0,0 20px}}
  @keyframes pole-up{from{clip-path:inset(100% -30px -30px -30px)}to{clip-path:inset(-30px)}}
  @keyframes swing{0%{transform:rotate(-6deg)}30%{transform:rotate(3.5deg)}55%{transform:rotate(-2.4deg)}78%{transform:rotate(.6deg)}100%{transform:rotate(-1.2deg)}}
  @keyframes rise{from{opacity:0;transform:translateY(16px)}}
  @keyframes word{from{clip-path:inset(0 0 100% 0);transform:translateY(.42em)}to{clip-path:inset(-.3em);transform:none}}
  @keyframes neon{0%,14%{opacity:.16}16%{opacity:1}21%{opacity:.3}25%{opacity:1}33%{opacity:.62}37%,100%{opacity:1}}
  @keyframes neon-idle{0%,52%,53.4%,54.8%,100%{opacity:1}52.6%{opacity:.76}54%{opacity:.88}}
  @keyframes lamp-on{0%{opacity:0}10%{opacity:.85}14%{opacity:.15}24%{opacity:1}30%{opacity:.55}40%,100%{opacity:1}}
  @keyframes filament{0%,4%,41%,43.5%,78%,100%{opacity:1}3%{opacity:.86}42%{opacity:.9}77%{opacity:.94}}
  @keyframes breathe{from{opacity:1}to{opacity:.7}}
  @keyframes defog{from{filter:blur(10px) brightness(1.3) saturate(.45);transform:scale(1.06)}to{filter:none;transform:none}}
  @keyframes glare{to{transform:translateX(70%)}}
  @keyframes pulse{0%{box-shadow:0 0 0 0 rgba(242,178,92,.6)}70%,100%{box-shadow:0 0 0 7px rgba(242,178,92,0)}}
  @keyframes towel{0%{opacity:0;transform:translateY(-30px) rotateX(40deg) scale(1.04)}55%{opacity:1;transform:translateY(2px) rotateX(-4deg)}100%{opacity:1;transform:none}}
  @keyframes fade{from{opacity:0}}
  @keyframes lb{from{opacity:0;transform:scale(.96)}}
  @keyframes c-settle{0%{transform:translateY(-18px)}62%{transform:translateY(1.5px)}100%{transform:none}}
  @keyframes c-pump{0%{transform:rotate(-9deg)}36%{transform:rotate(5deg)}100%{transform:none}}
  @keyframes c-sheen{to{transform:translateX(640px)}}
  @keyframes sk{to{background-position:-200% 0}}
  @keyframes strop{to{background-position:26.48px 0}}
  @keyframes razor{from{translate:-110% 0}to{translate:110% 0}}
  @keyframes sheet{from{translate:var(--from)}}
  @keyframes view-in{from{opacity:0;transform:translateX(26px)}}
  @keyframes view-back{from{opacity:0;transform:translateX(-26px)}}
  @keyframes pop{from{opacity:0;transform:translateY(10px) scale(.97)}}
  @keyframes tag-in{from{opacity:0;transform:translateX(-18px) rotate(-4deg)}}
  @keyframes snip-a{0%,52%{rotate:17deg}26%,76%{rotate:0deg}100%{rotate:6deg}}
  @keyframes snip-b{0%,52%{rotate:-17deg}26%,76%{rotate:0deg}100%{rotate:-6deg}}
  @keyframes drop-l{0%,26%{transform:none}100%{transform:translate(-6px,8px) rotate(-7deg)}}
  @keyframes drop-r{0%,26%{transform:none}100%{transform:translate(6px,8px) rotate(7deg)}}
  @keyframes stamp{0%{opacity:0;scale:1.7}60%{opacity:1;scale:.94}100%{scale:1}}

  .sk{animation:sk 1.3s linear infinite}
  .pole i{animation:pole 2.8s linear infinite}
  .pole--mini i{animation-name:pole-s}
  .hero .pole,.gone .pole{animation:pole-up .9s var(--ease) .25s backwards}
  .plaque{animation:swing 2.4s var(--ease) .15s both}
  .js .plaque--foot[data-reveal]{opacity:1;transform:rotate(-1.2deg);transition:none}
  .js .plaque--foot:not(.in){animation:none}
  .hero .eyebrow{animation:rise .8s var(--ease) .35s backwards}
  .js .name:not(.is-split){visibility:hidden}
  .name .w{animation:word .9s var(--ease) calc(.45s + var(--i,0)*.09s) backwards}
  .script{animation:neon 1.4s linear calc(.75s + var(--i,2)*.09s) backwards,neon-idle 9s linear 4s infinite}
  .hero .tagline{animation:rise .8s var(--ease) .95s backwards}
  .hero .sub{animation:rise .8s var(--ease) 1.05s backwards}
  .hero .rating{animation:rise .8s var(--ease) 1.15s backwards}
  .hero .cta{animation:rise .8s var(--ease) 1.25s backwards}
  .mirror{animation:rise 1s var(--ease) .3s backwards}
  .mirror__img{animation:defog 2s var(--ease) .5s both}
  .mirror__mono{animation:defog 2s var(--ease) .5s both}
  .mono__s{animation:neon 1.4s linear 1.5s backwards,neon-idle 9s linear 5s infinite}
  .sconce::after{animation:lamp-on 1s linear 1.1s backwards,filament 9s linear 3s infinite}
  .mirror__glass::before{animation:lamp-on 1s linear 1.1s backwards,breathe 7s ease-in-out 2.4s infinite alternate}
  .mirror__glass::after{animation:glare 1.9s var(--ease) 1.7s both}
  .status.is-open::before,.door__status.is-open::before,.now::after{animation:pulse 2.6s ease-out infinite}

  .btn{transition:background .3s,color .3s,translate .35s var(--ease),transform .25s var(--ease),box-shadow .3s}
  .btn.is-busy::before{animation:razor 1s linear infinite}
  .shot img{transition:transform 2.4s var(--ease)}
  .shot a::after{transition:opacity .8s}
  .tagp,.pro,.slot,.day,.chip{transition:transform .35s var(--ease),background .25s,color .25s,border-color .25s}
  .slot:active,.day:active,.pro:active,.tagp:active{transform:scale(.97)}
  @media (hover:hover){
    .btn:hover::before{translate:110% 0;transition:translate .8s var(--ease)}
    .btn:hover .ico{transform:rotate(-12deg);transition:transform .4s var(--ease)}
    .shot a:hover img{transform:scale(1.06)}
    .shot a:hover::after{opacity:1}
    button.tagp:hover{transform:rotate(-1deg) translateX(4px)}
    .chair:has(.btn:hover) .c-up{translate:0 -7px}
    .chair:has(.btn:hover) .c-pump{rotate:4deg}
  }

  .js [data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
  .js [data-reveal].in{opacity:1;transform:none}
  .js .menu[data-reveal]{opacity:1;transform:none;transition:none}
  .js .menu[data-reveal]:not(.in) li{opacity:0}
  .js .menu[data-reveal].in li{transform-origin:0 50%;animation:tag-in .75s var(--ease-out) calc(var(--i,0)*70ms) backwards}
  .js .towel[data-reveal]{transform:none;transition:none}
  .js .towel.in{animation:towel 1.15s cubic-bezier(.2,.8,.2,1) backwards}
  .js .towel.in:nth-child(2n){animation-delay:.14s}
  .stars{transition:background-size 1.3s var(--ease) .25s}
  .js .score:not(.in) .stars{background-size:0 100%,100% 100%}
  .door__list .is-today::after,.now::before{transition:transform 1s var(--ease) .35s}
  .js .hours:not(.in) .is-today::after,.js .hours:not(.in) .now::before{transform:scaleX(0)}
  .tag{transition:opacity .5s .8s,transform .5s var(--ease) .8s}
  .js .hours:not(.in) .tag{opacity:0;transform:scale(.7)}
  .lb[open],.ask[open]{animation:lb .45s var(--ease)}
  .lb[open]::backdrop,.ask[open]::backdrop,.bk[open]::backdrop{animation:fade .4s}
  .fab{transition:transform .45s var(--ease)}
  .js .fab{transform:translateY(110%)}
  .js .fab.show{transform:none}

  /* folha de agendamento */
  .bk[open] .bk__panel{animation:sheet .55s var(--ease-out)}
  .bk.is-closing .bk__panel{translate:var(--from);transition:translate .26s ease-in}
  .bk.is-closing::backdrop{opacity:0;transition:opacity .26s}
  .bk__prog i{background-size:26.48px 100%;transition:width .6s var(--ease-out);animation:strop 1.1s linear infinite}
  .bk__view{animation:view-in .45s var(--ease-out)}
  .bk__view[data-dir="back"]{animation-name:view-back}
  .bk__view .menu li,.bk__view .pros li,.slots__g .slot:not(.sk){animation:pop .45s var(--ease-out) calc(var(--i,0)*35ms + 80ms) backwards}
  .chip{animation:pop .35s var(--ease-out) backwards}
  .snip__a{animation:snip-a 1.3s var(--ease) .25s both}
  .snip__b{animation:snip-b 1.3s var(--ease) .25s both}
  .snip__l{animation:drop-l 1.3s var(--ease) .25s both}
  .snip__r{animation:drop-r 1.3s var(--ease) .25s both}
  .done__neon{animation:neon 1.4s linear .7s backwards,neon-idle 9s linear 4s infinite}
  .done .ticket,.rv .ticket{animation:rise .8s var(--ease) .9s backwards}
  .rv .ticket{animation-delay:.15s}
  .done .stamp{animation:stamp .5s var(--ease-spring) 1.6s backwards}
  .rv .stamp{animation:stamp .5s var(--ease-spring) .8s backwards}
  .done__acts{animation:rise .8s var(--ease) 1.15s backwards}

  .chair .h2 .ln>span{transition:translate 1s var(--ease) .1s}
  .chair .h2 .ln+.ln>span{transition-delay:.22s}
  .js .chair__copy:not(.in) .ln>span{translate:0 105%}
  .c-up,.c-pump{transition:translate .7s cubic-bezier(.3,.8,.3,1),rotate .7s cubic-bezier(.3,.8,.3,1)}
  .chair__art::before{transition:opacity 1.2s ease .6s}
  .js .chair:not(.in) .c-up{transform:translateY(-18px)}
  .js .chair:not(.in) .c-pump{transform:rotate(-9deg)}
  .js .chair:not(.in) :is(.c-cone,.c-glow,.c-lit){opacity:0}
  .js .chair:not(.in) .chair__art::before{opacity:.25}
  .js .chair.in .c-up{animation:c-settle 1.5s cubic-bezier(.3,.9,.3,1) var(--cd,0s) backwards}
  .js .chair.in .c-pump{animation:c-pump 1.5s cubic-bezier(.3,.9,.3,1) var(--cd,0s) backwards}
  .js .chair.in :is(.c-cone,.c-glow){animation:lamp-on 1s linear calc(var(--cd,0s) + .55s) backwards,filament 8s linear 3s infinite}
  .js .chair.in .c-lit{animation:fade 1s ease calc(var(--cd,0s) + 1.1s) backwards}
  .js .chair.in .c-sheen{animation:c-sheen 1.9s cubic-bezier(.4,0,.2,1) calc(var(--cd,0s) + 1.4s) both}

  /* corte de lâmina: película escura que sai de cima da foto (a foto nunca é recortada) */
  .js .cut::before{content:"";position:absolute;z-index:2;inset:0;pointer-events:none;background:linear-gradient(90deg,var(--ambar) 0 2px,rgba(14,21,36,.64) 2px)}

  @supports (animation-timeline:view()){
    @keyframes prog{to{scale:1 1}}
    @keyframes drift{to{translate:0 4%}}
    @keyframes sheen{from{translate:-15% 0}to{translate:15% 0}}
    @keyframes cut{to{translate:102% 0}}
    @keyframes develop{from{scale:1.16}to{scale:1}}
    @keyframes glow-y{from{translate:0 -22%}to{translate:0 22%}}
    @keyframes pane{from{translate:-60% 0}to{translate:60% 0}}
    @keyframes chair-in{from{translate:18% 0}to{translate:0 0}}
    .lintel::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:repeating-linear-gradient(90deg,var(--polo-r) 0 14px,#f4f0e6 0 20px,var(--polo-b) 0 34px,#f4f0e6 0 40px);transform-origin:0 50%;scale:0 1;animation:prog linear both;animation-timeline:scroll(root)}
    .mirror__img{scale:1.1;animation:defog 2s var(--ease) .5s both,drift linear both;animation-timeline:auto,view();animation-range:normal,exit 0% exit 100%}
    .checker::after{animation:sheen linear both;animation-timeline:view();animation-range:cover}
    .shot{view-timeline:--shot block}
    .js .cut::before{animation:cut linear both;animation-timeline:--shot;animation-range:entry 20% cover 38%}
    .js .cut:nth-child(2n)::before{animation-range:entry 45% cover 46%}
    .cut img{animation:develop linear both;animation-timeline:--shot;animation-range:entry 0% cover 50%}
    .sec--leather::before{animation:glow-y linear both;animation-timeline:view();animation-range:cover}
    .door::after{animation:pane linear both;animation-timeline:view();animation-range:cover}
    .chair__art{animation:chair-in linear both;animation-timeline:view();animation-range:entry 0% entry 95%}
  }
  @supports not (animation-timeline:view()){
    .js .cut::before{transition:translate 1.1s cubic-bezier(.7,0,.2,1) var(--d,0s)}
    .js .cut.in::before{translate:102% 0}
    .js .cut img{scale:1.14;transition:scale 1.8s var(--ease) var(--d,0s),transform 2.4s var(--ease)}
    .js .cut.in img{scale:1}
    .cut:nth-child(2n){--d:.14s}
    .door::after{transition:translate 2.2s var(--ease) .3s;translate:-40% 0}
    .hours.in .door::after{translate:30% 0}
    .js .chair__art{translate:14% 0;transition:translate 1.2s var(--ease)}
    .js .chair.in .chair__art{translate:0 0}
    .chair{--cd:.5s}
  }
}
