/* M2 Calçados e Bolsas — estilo (desenho em 1440, convertido para --u por px_para_u.py)
   Preto + creme + dourado da logo; títulos em serifada fina (Cormorant), texto em Jost. */
:root{
  /* UNIDADE PROPORCIONAL — toda medida é N × --u */
  --u:calc(100vw / 1440);
  --preto:#14110e;
  --cafe:#2a211a;
  --cafe-2:#3a2e25;
  --areia:#f1ece5;
  --areia-2:#e8e0d5;
  --creme:#faf7f2;
  --ouro:#c9a14a;
  --ouro-2:#e2c27c;
  --tinta:#26201b;
  --cinza:#7b7068;
  --linha:#e3d9cc;
  --wa:#1fa855;
  --sombra:0 calc(var(--u)*24) calc(var(--u)*48) calc(var(--u)*-30) rgba(20,17,14,.45);
  --ff-tit:"Cormorant Garamond",Georgia,serif;
  --ff:"Jost",system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--ff);font-weight:400;font-size:calc(var(--u)*16);line-height:1.6;color:var(--tinta);background:var(--creme);overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0}
svg{flex:none}
[hidden]{display:none!important}
h1,h2,h3{font-family:var(--ff-tit);font-weight:500;line-height:1.05;color:var(--preto);letter-spacing:-.005em}
h2{font-size:calc(var(--u)*52)}
em{font-style:italic}
.sobretitulo{font-size:calc(var(--u)*12.5);font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--ouro)}
.link{font-size:calc(var(--u)*13);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--tinta);border-bottom:1px solid currentColor;padding-bottom:2px;margin-top:calc(var(--u)*14)}

/* ---------- botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:calc(var(--u)*10);height:calc(var(--u)*52);padding:0 calc(var(--u)*30);font-size:calc(var(--u)*13);font-weight:500;letter-spacing:.16em;text-transform:uppercase;border-radius:0;transition:background .3s,color .3s,border-color .3s,transform .3s;white-space:nowrap}
.btn svg{width:calc(var(--u)*18);height:calc(var(--u)*18);fill:none;stroke:currentColor;stroke-width:1.6}
.btn--claro{background:var(--creme);color:var(--preto)}
.btn--claro:hover{background:var(--ouro);color:var(--preto)}
.btn--linha-clara{border:1px solid rgba(250,247,242,.7);color:var(--creme)}
.btn--linha-clara:hover{background:var(--creme);color:var(--preto)}
.btn--escuro{background:var(--preto);color:var(--creme)}
.btn--escuro:hover{background:var(--ouro);color:var(--preto)}
.btn--linha{border:1px solid var(--preto);color:var(--preto)}
.btn--linha:hover{background:var(--preto);color:var(--creme)}
.btn--wa{background:var(--wa);color:#fff}
.btn--wa:hover{background:#18924a}
.btn--largo{width:100%}

/* ---------- faixa e topo ---------- */
.faixa-topo{background:var(--preto);color:var(--creme);text-align:center;font-size:calc(var(--u)*12);letter-spacing:.2em;text-transform:uppercase;padding:calc(var(--u)*9) calc(var(--u)*20)}
.faixa-topo span{color:var(--ouro);margin:0 calc(var(--u)*10)}
.topo{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:calc(var(--u)*12) calc(var(--u)*56);background:rgba(250,247,242,.94);backdrop-filter:blur(calc(var(--u)*10));-webkit-backdrop-filter:blur(calc(var(--u)*10));border-bottom:1px solid var(--linha);transition:padding .3s,box-shadow .3s}
.topo.rolou{padding-top:calc(var(--u)*6);padding-bottom:calc(var(--u)*6);box-shadow:0 calc(var(--u)*12) calc(var(--u)*30) calc(var(--u)*-26) rgba(0,0,0,.5)}
.topo__nav{display:flex;align-items:center;gap:calc(var(--u)*30);font-size:calc(var(--u)*12.5);font-weight:500;letter-spacing:.16em;text-transform:uppercase}
.topo__nav a,.topo__link{position:relative;padding:calc(var(--u)*6) 0}
.topo__nav a::after,.topo__link::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--ouro);transform:scaleX(0);transition:transform .3s;transform-origin:left}
.topo__nav a:hover::after,.topo__link:hover::after{transform:scaleX(1)}
.topo__logo img{width:calc(var(--u)*118);height:auto;transition:width .3s}
.topo.rolou .topo__logo img{width:calc(var(--u)*92)}
.topo__acoes{display:flex;align-items:center;justify-content:flex-end;gap:calc(var(--u)*6)}
.topo__link{font-size:calc(var(--u)*12.5);font-weight:500;letter-spacing:.16em;text-transform:uppercase;margin-right:calc(var(--u)*16)}
.topo__ic{position:relative;display:grid;place-items:center;width:calc(var(--u)*44);height:calc(var(--u)*44);border-radius:50%;color:var(--preto);transition:background .25s}
.topo__ic:hover{background:var(--areia)}
.topo__ic svg{width:calc(var(--u)*22);height:calc(var(--u)*22);fill:none;stroke:currentColor;stroke-width:1.5}
.badge{position:absolute;top:calc(var(--u)*3);right:2px;min-width:calc(var(--u)*18);height:calc(var(--u)*18);padding:0 calc(var(--u)*5);border-radius:calc(var(--u)*999);background:var(--ouro);color:var(--preto);font-size:calc(var(--u)*11);font-weight:600;display:grid;place-items:center;transform:scale(0);transition:transform .3s}
.badge.tem{transform:scale(1)}
.badge.pula{animation:pula .5s}
@keyframes pula{40%{transform:scale(1.4)}}
.topo__menu{display:none;flex-direction:column;justify-content:center;gap:calc(var(--u)*5);width:calc(var(--u)*44);height:calc(var(--u)*44);padding:0 calc(var(--u)*11)}
.topo__menu span{height:1.5px;background:var(--preto);transition:transform .3s,opacity .3s}

/* ---------- hero ---------- */
.hero{position:relative;height:calc(var(--u)*680);overflow:hidden;background:var(--cafe);color:var(--creme);display:flex;align-items:center}
.hero picture{position:absolute;inset:0}
.hero__img{width:100%;height:100%;object-fit:cover;object-position:70% 50%;animation:zoom 14s ease-out both}
@keyframes zoom{from{transform:scale(1.07)}}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,17,14,.72) 0,rgba(20,17,14,.35) 40%,transparent 62%);pointer-events:none}
.hero__txt{position:relative;z-index:2;max-width:calc(var(--u)*620);margin-left:calc(var(--u)*120)}
.hero h1{font-size:calc(var(--u)*80);color:var(--creme);font-weight:400;margin:calc(var(--u)*18) 0 calc(var(--u)*22);line-height:1}
.hero h1 em{color:var(--ouro-2)}
.hero__lead{font-size:calc(var(--u)*17.5);font-weight:300;color:rgba(250,247,242,.88);max-width:calc(var(--u)*480)}
.hero__btns{display:flex;gap:calc(var(--u)*14);margin-top:calc(var(--u)*36)}

/* ---------- benefícios ---------- */
.beneficios{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;background:var(--preto);color:var(--creme);padding:calc(var(--u)*22) calc(var(--u)*56)}
.beneficios li{display:flex;align-items:center;gap:calc(var(--u)*14);padding:0 calc(var(--u)*26);border-left:1px solid rgba(201,161,74,.25)}
.beneficios li:first-child{border:0}
.beneficios svg{width:calc(var(--u)*32);height:calc(var(--u)*32);fill:none;stroke:var(--ouro);stroke-width:1.4;stroke-linejoin:round}
.beneficios b{display:block;font-size:calc(var(--u)*12.5);font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.beneficios span{font-size:calc(var(--u)*13.5);font-weight:300;color:rgba(250,247,242,.7)}

/* ---------- categorias ---------- */
.cats{padding:calc(var(--u)*56) calc(var(--u)*56) calc(var(--u)*30);background:var(--areia)}
.cats__lista{display:flex;justify-content:center;gap:calc(var(--u)*30)}
.cat{display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*14);width:calc(var(--u)*120);font-size:calc(var(--u)*12);font-weight:500;letter-spacing:.16em;text-transform:uppercase;text-align:center}
.cat__img{width:calc(var(--u)*120);height:calc(var(--u)*120);border-radius:50%;overflow:hidden;background:#efe9e1;border:1px solid var(--linha);transition:transform .35s,box-shadow .35s,border-color .35s}
.cat__img img{width:100%;height:100%;object-fit:cover;transform:scale(1.3)}
.cat:hover .cat__img{transform:translateY(calc(var(--u)*-4));box-shadow:var(--sombra);border-color:var(--ouro)}

/* ---------- banners ---------- */
.banners{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(var(--u)*22);padding:calc(var(--u)*30) calc(var(--u)*56) calc(var(--u)*80);background:var(--areia)}
.banner{position:relative;display:flex;align-items:center;min-height:calc(var(--u)*250);padding:calc(var(--u)*30) 0 calc(var(--u)*30) calc(var(--u)*34);overflow:hidden;transition:transform .35s}
.banner:hover{transform:translateY(calc(var(--u)*-4))}
.banner>div{position:relative;z-index:2;width:56%}
.banner h3{font-size:calc(var(--u)*36);margin:calc(var(--u)*10) 0 calc(var(--u)*10);line-height:1}
.banner p{font-size:calc(var(--u)*14);color:var(--cinza);margin-bottom:calc(var(--u)*16)}
.banner b{font-size:calc(var(--u)*12);font-weight:500;letter-spacing:.16em;text-transform:uppercase}
.banner img{position:absolute;right:calc(var(--u)*-20);bottom:0;top:0;margin:auto;width:58%;height:auto;object-fit:contain;mix-blend-mode:multiply;transition:transform .5s}
.banner:hover img{transform:scale(1.05)}
.banner--claro{background:#e6dfd5}
.banner--escuro{background:var(--cafe);color:var(--creme)}
.banner--escuro h3{color:var(--creme)}
.banner--escuro p{color:rgba(250,247,242,.7)}
.banner--escuro img{mix-blend-mode:normal;border-radius:50%;width:52%;right:calc(var(--u)*-6);aspect-ratio:1;object-fit:cover;height:auto}
.banner--areia{background:#ded3c4}

/* ---------- vitrine ---------- */
.vitrine{padding:calc(var(--u)*90) calc(var(--u)*56) calc(var(--u)*90)}
.vitrine__cabeca{display:flex;justify-content:space-between;align-items:flex-end;gap:calc(var(--u)*40);margin-bottom:calc(var(--u)*28)}
.vitrine__cabeca h2{margin-top:calc(var(--u)*10)}
.busca{display:flex;align-items:center;gap:calc(var(--u)*10);width:calc(var(--u)*380);height:calc(var(--u)*50);padding:0 calc(var(--u)*18);border:1px solid var(--linha);background:#fff}
.busca svg{width:calc(var(--u)*20);height:calc(var(--u)*20);fill:none;stroke:var(--cinza);stroke-width:1.6}
.busca input{flex:1;min-width:0;border:0;outline:0;background:none;font-size:calc(var(--u)*15)}
.filtros{display:flex;justify-content:space-between;align-items:center;gap:calc(var(--u)*20);padding:calc(var(--u)*14) 0;border-top:1px solid var(--linha);border-bottom:1px solid var(--linha);margin-bottom:calc(var(--u)*34)}
.filtros__linha{display:flex;align-items:center;gap:calc(var(--u)*6);flex-wrap:wrap}
.filtro{height:calc(var(--u)*40);padding:0 calc(var(--u)*18);font-size:calc(var(--u)*12.5);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--cinza);border:1px solid transparent;transition:all .25s}
.filtro small{font-size:calc(var(--u)*11);margin-left:calc(var(--u)*4);color:var(--ouro)}
.filtro:hover{color:var(--preto)}
.filtro.ativo{border-color:var(--preto);color:var(--preto)}
.filtros__linha--marcas span{font-size:calc(var(--u)*12.5);letter-spacing:.12em;text-transform:uppercase;color:var(--cinza)}
.filtros__linha--marcas select{width:calc(var(--u)*210);height:calc(var(--u)*40);padding:0 calc(var(--u)*12);border:1px solid var(--linha);background:#fff;font-size:calc(var(--u)*14);outline:0}
.filtros__conta{margin-left:calc(var(--u)*10)}
.grade{display:grid;grid-template-columns:repeat(4,1fr);gap:calc(var(--u)*34) calc(var(--u)*24)}
.card{position:relative;display:flex;flex-direction:column}
.card__foto{position:relative;display:block;width:100%;aspect-ratio:1/1.12;background:#f1ece5;overflow:hidden}
.card__foto img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.card:hover .card__foto img{transform:scale(1.06)}
.card__tag{position:absolute;top:calc(var(--u)*14);left:calc(var(--u)*14);padding:calc(var(--u)*5) calc(var(--u)*10);background:var(--creme);font-size:calc(var(--u)*10.5);font-weight:500;letter-spacing:.16em;text-transform:uppercase}
.card__fav{position:absolute;top:calc(var(--u)*10);right:calc(var(--u)*10);width:calc(var(--u)*38);height:calc(var(--u)*38);border-radius:50%;display:grid;place-items:center;background:rgba(250,247,242,.85);color:var(--preto);transition:background .25s,color .25s}
.card__fav svg{width:calc(var(--u)*19);height:calc(var(--u)*19);fill:none;stroke:currentColor;stroke-width:1.5}
.card__fav.on{color:#b3473a}
.card__fav.on svg{fill:currentColor}
.card__reservar{position:absolute;left:calc(var(--u)*12);right:calc(var(--u)*12);bottom:calc(var(--u)*12);height:calc(var(--u)*44);background:var(--preto);color:var(--creme);font-size:calc(var(--u)*12);font-weight:500;letter-spacing:.16em;text-transform:uppercase;transform:translateY(130%);transition:transform .35s,background .25s}
.card:hover .card__reservar{transform:none}
.card__reservar:hover{background:var(--ouro);color:var(--preto)}
.card__corpo{padding:calc(var(--u)*14) 2px 0;text-align:left}
.card__marca{display:block;font-size:calc(var(--u)*11);font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--ouro);min-height:calc(var(--u)*17)}
.card__nome{font-family:var(--ff-tit);font-size:calc(var(--u)*21);font-weight:500;line-height:1.15;color:var(--preto);text-align:left;display:block}
.card__info{font-size:calc(var(--u)*13);color:var(--cinza);margin-top:calc(var(--u)*4)}
.vazio{grid-column:1/-1;text-align:center;padding:calc(var(--u)*40);color:var(--cinza)}
.vitrine__mais{text-align:center;margin-top:calc(var(--u)*44)}
.vitrine__nota{text-align:center;margin-top:calc(var(--u)*18);font-size:calc(var(--u)*13);color:var(--cinza)}

/* ---------- marcas ---------- */
.marcas{padding:calc(var(--u)*44) 0 calc(var(--u)*46);background:var(--areia);text-align:center;border-top:1px solid var(--linha);border-bottom:1px solid var(--linha)}
.marcas__trilho{overflow:hidden;margin-top:calc(var(--u)*22);-webkit-mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.marcas__lista{display:flex;width:max-content;animation:desliza 40s linear infinite}
.marcas__lista button{padding:0 calc(var(--u)*46);font-family:var(--ff-tit);font-size:calc(var(--u)*32);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--tinta);opacity:.75;white-space:nowrap;transition:opacity .25s,color .25s}
.marcas__lista button:nth-child(3n+2){font-style:italic;text-transform:none;letter-spacing:.01em}
.marcas__lista button:hover{opacity:1;color:var(--ouro)}
.marcas__trilho:hover .marcas__lista{animation-play-state:paused}
@keyframes desliza{to{transform:translateX(-50%)}}

/* ---------- como reservar ---------- */
.reserva{display:grid;grid-template-columns:1fr calc(var(--u)*520);gap:calc(var(--u)*90);align-items:center;padding:calc(var(--u)*110) calc(var(--u)*120)}
.reserva h2{margin:calc(var(--u)*12) 0 calc(var(--u)*34)}
.passos-reserva{list-style:none;counter-reset:p;margin-bottom:calc(var(--u)*38)}
.passos-reserva li{counter-increment:p;display:grid;grid-template-columns:calc(var(--u)*56) 1fr;row-gap:2px;padding:calc(var(--u)*16) 0;border-top:1px solid var(--linha)}
.passos-reserva li::before{content:"0" counter(p);grid-row:span 2;font-family:var(--ff-tit);font-size:calc(var(--u)*34);line-height:1;color:var(--ouro)}
.passos-reserva b{font-weight:500;font-size:calc(var(--u)*15);letter-spacing:.04em}
.passos-reserva span{font-size:calc(var(--u)*15);color:var(--cinza);font-weight:300}
.reserva__img{position:relative}
.reserva__img img{width:100%;aspect-ratio:4/5;object-fit:cover}
.reserva__img::before{content:"";position:absolute;inset:calc(var(--u)*-18) calc(var(--u)*18) calc(var(--u)*18) calc(var(--u)*-18);border:1px solid var(--ouro);z-index:-1}

/* ---------- elas usam ---------- */
.usam{display:grid;grid-template-columns:calc(var(--u)*340) 1fr;gap:calc(var(--u)*56);align-items:center;padding:calc(var(--u)*100) calc(var(--u)*56);background:var(--preto);color:var(--creme)}
.usam h2{color:var(--creme);margin:calc(var(--u)*12) 0 calc(var(--u)*18)}
.usam__txt p{font-weight:300;color:rgba(250,247,242,.75);margin-bottom:calc(var(--u)*30)}
.usam .btn--linha{border-color:var(--creme);color:var(--creme)}
.usam .btn--linha:hover{background:var(--creme);color:var(--preto)}
.usam__grade{display:grid;grid-template-columns:repeat(4,1fr);gap:calc(var(--u)*12)}
.usam__grade a{position:relative;display:block;overflow:hidden;aspect-ratio:3/4}
.usam__grade img{width:100%;height:100%;object-fit:cover;transition:transform .7s,filter .4s}
.usam__grade a:hover img{transform:scale(1.06);filter:brightness(.8)}
.usam__grade a::after{content:"Ver no Instagram";position:absolute;left:0;right:0;bottom:calc(var(--u)*16);text-align:center;font-size:calc(var(--u)*11);letter-spacing:.18em;text-transform:uppercase;opacity:0;transition:opacity .3s}
.usam__grade a:hover::after{opacity:1}

/* ---------- história ---------- */
.historia{display:grid;grid-template-columns:calc(var(--u)*560) 1fr;gap:calc(var(--u)*100);align-items:center;padding:calc(var(--u)*120) calc(var(--u)*120) calc(var(--u)*110);background:var(--areia)}
.historia__fotos{position:relative;height:calc(var(--u)*600)}
.hf1{position:absolute;left:0;top:0;width:calc(var(--u)*360);height:calc(var(--u)*470);object-fit:cover}
.hf2{position:absolute;right:0;bottom:0;width:calc(var(--u)*280);height:calc(var(--u)*360);object-fit:cover;border:calc(var(--u)*10) solid var(--areia)}
.historia__selo{position:absolute;left:calc(var(--u)*300);top:calc(var(--u)*30);width:calc(var(--u)*130);height:calc(var(--u)*130);border-radius:50%;background:var(--preto);color:var(--ouro);display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--ouro);outline:calc(var(--u)*6) solid var(--areia)}
.historia__selo b{font-family:var(--ff-tit);font-size:calc(var(--u)*54);font-weight:500;line-height:.9}
.historia__selo span{font-size:calc(var(--u)*11);letter-spacing:.3em;text-transform:uppercase}
.historia h2{margin:calc(var(--u)*12) 0 calc(var(--u)*26);font-size:calc(var(--u)*56)}
.historia h2 em{color:var(--ouro)}
.historia__txt>p{color:var(--cinza);font-weight:300;font-size:calc(var(--u)*17);margin-bottom:calc(var(--u)*16)}
.historia__txt>p b{color:var(--tinta);font-weight:500}
.historia__nums{display:flex;gap:calc(var(--u)*50);list-style:none;margin-top:calc(var(--u)*34);padding-top:calc(var(--u)*28);border-top:1px solid var(--linha)}
.historia__nums b{display:block;font-family:var(--ff-tit);font-size:calc(var(--u)*46);font-weight:500;line-height:1;color:var(--preto)}
.historia__nums span{font-size:calc(var(--u)*13);letter-spacing:.08em;color:var(--cinza)}

/* ---------- clube ---------- */
.clube{padding:calc(var(--u)*100) calc(var(--u)*120)}
.cabeca{text-align:center;margin-bottom:calc(var(--u)*44)}
.cabeca h2{margin-top:calc(var(--u)*10)}
.clube__grade{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(var(--u)*24)}
.clube article{display:flex;flex-direction:column;align-items:flex-start;padding:calc(var(--u)*38) calc(var(--u)*34);border:1px solid var(--linha);background:#fff;transition:border-color .3s,transform .3s}
.clube article:hover{border-color:var(--ouro);transform:translateY(calc(var(--u)*-4))}
.clube svg{width:calc(var(--u)*44);height:calc(var(--u)*44);fill:none;stroke:var(--ouro);stroke-width:1.3;stroke-linejoin:round;margin-bottom:calc(var(--u)*20)}
.clube h3{font-size:calc(var(--u)*28);margin-bottom:calc(var(--u)*10)}
.clube p{font-size:calc(var(--u)*15);color:var(--cinza);font-weight:300}

/* ---------- visite ---------- */
.visite{display:grid;grid-template-columns:calc(var(--u)*480) 1fr;gap:calc(var(--u)*60);padding:calc(var(--u)*100) calc(var(--u)*120);background:var(--cafe);color:var(--creme)}
.visite h2{color:var(--creme);margin:calc(var(--u)*12) 0 calc(var(--u)*24)}
.visite__end{display:flex;gap:calc(var(--u)*12);font-weight:300;margin-bottom:calc(var(--u)*22)}
.visite__end svg{width:calc(var(--u)*24);height:calc(var(--u)*24);fill:none;stroke:var(--ouro);stroke-width:1.5;margin-top:2px}
.horario{width:100%;border-collapse:collapse;font-size:calc(var(--u)*15);margin-bottom:calc(var(--u)*26)}
.horario th,.horario td{padding:calc(var(--u)*9) calc(var(--u)*12);border-bottom:1px solid rgba(201,161,74,.2);text-align:left;font-weight:300}
.horario td{text-align:right;color:rgba(250,247,242,.75)}
.horario tr.hoje{background:rgba(201,161,74,.16)}
.horario tr.hoje th,.horario tr.hoje td{color:var(--ouro-2);font-weight:500}
.horario tr.hoje th::after{content:" · hoje";font-size:calc(var(--u)*12);font-weight:300}
.visite__contatos{display:flex;gap:calc(var(--u)*30);margin-bottom:calc(var(--u)*30)}
.visite__contatos a{display:flex;align-items:center;gap:calc(var(--u)*12)}
.visite__contatos svg{width:calc(var(--u)*24);height:calc(var(--u)*24);fill:none;stroke:var(--ouro);stroke-width:1.5}
.visite__contatos small{display:block;font-size:calc(var(--u)*11);letter-spacing:.18em;text-transform:uppercase;color:rgba(250,247,242,.6)}
.visite .btn--escuro{background:var(--ouro);color:var(--preto)}
.visite .btn--escuro:hover{background:var(--creme)}
.visite__mapa{position:relative;min-height:calc(var(--u)*520);border:1px solid rgba(201,161,74,.4)}
.visite__mapa iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.35) sepia(.2)}

/* ---------- rodapé ---------- */
.rodape{background:var(--preto);color:rgba(250,247,242,.7);padding:0 calc(var(--u)*56) calc(var(--u)*28)}
.rodape__news{display:flex;justify-content:space-between;align-items:center;gap:calc(var(--u)*40);padding:calc(var(--u)*42) 0;border-bottom:1px solid rgba(201,161,74,.2)}
.rodape__news b{display:block;font-family:var(--ff-tit);font-size:calc(var(--u)*30);font-weight:500;color:var(--creme)}
.rodape__news span{font-size:calc(var(--u)*14);font-weight:300}
.rodape__news form{display:flex;width:calc(var(--u)*520)}
.rodape__news input{flex:1;min-width:0;height:calc(var(--u)*52);padding:0 calc(var(--u)*18);border:1px solid rgba(250,247,242,.3);border-right:0;background:transparent;color:var(--creme);outline:0;font-size:calc(var(--u)*15)}
.rodape__grade{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:calc(var(--u)*50);padding:calc(var(--u)*50) 0}
.rodape__marca img{width:calc(var(--u)*130);margin-bottom:calc(var(--u)*16)}
.rodape__marca p{font-size:calc(var(--u)*14.5);font-weight:300;max-width:calc(var(--u)*300)}
.rodape h4{font-size:calc(var(--u)*12);font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--ouro);margin-bottom:calc(var(--u)*16)}
.rodape a{display:block;font-size:calc(var(--u)*14.5);font-weight:300;padding:calc(var(--u)*4) 0;transition:color .2s}
.rodape a:hover{color:var(--ouro-2)}
.rodape p{font-size:calc(var(--u)*14.5);font-weight:300}
.rodape__base{font-size:calc(var(--u)*12.5)!important;text-align:center;padding-top:calc(var(--u)*24);border-top:1px solid rgba(201,161,74,.2);letter-spacing:.06em}

/* ---------- whatsapp e barra ---------- */
.wa-flutua{position:fixed;right:calc(var(--u)*26);bottom:calc(var(--u)*26);z-index:60;width:calc(var(--u)*60);height:calc(var(--u)*60);border-radius:50%;background:var(--wa);color:#fff;display:grid;place-items:center;box-shadow:0 calc(var(--u)*14) calc(var(--u)*30) calc(var(--u)*-10) rgba(31,168,85,.7);transition:transform .3s}
.wa-flutua svg{width:calc(var(--u)*32);height:calc(var(--u)*32)}
.wa-flutua::before{content:"";position:absolute;inset:0;border-radius:50%;background:var(--wa);animation:pulso 2.4s infinite;z-index:-1}
.wa-flutua:hover{transform:scale(1.08)}
@keyframes pulso{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.7);opacity:0}}
.barra-sacola{position:fixed;left:calc(var(--u)*14);right:calc(var(--u)*14);bottom:calc(var(--u)*14);z-index:61;display:none;justify-content:space-between;align-items:center;height:calc(var(--u)*56);padding:0 calc(var(--u)*20);background:var(--preto);color:var(--creme);font-size:calc(var(--u)*13);letter-spacing:.08em;text-transform:uppercase;box-shadow:0 calc(var(--u)*16) calc(var(--u)*30) calc(var(--u)*-12) rgba(0,0,0,.6)}
.barra-sacola b{color:var(--ouro)}

/* ---------- modal ---------- */
.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:calc(var(--u)*30);background:rgba(20,17,14,.6);backdrop-filter:blur(calc(var(--u)*4));animation:aparece .25s}
@keyframes aparece{from{opacity:0}}
.modal__caixa{position:relative;display:grid;grid-template-columns:calc(var(--u)*520) calc(var(--u)*460);max-height:calc(100vh - calc(var(--u)*60));background:var(--creme);overflow:hidden;box-shadow:0 calc(var(--u)*40) calc(var(--u)*80) calc(var(--u)*-30) rgba(0,0,0,.6);animation:sobe .35s cubic-bezier(.2,.8,.2,1)}
@keyframes sobe{from{transform:translateY(calc(var(--u)*30));opacity:0}}
.fechar{position:absolute;top:calc(var(--u)*14);right:calc(var(--u)*14);z-index:2;width:calc(var(--u)*42);height:calc(var(--u)*42);border-radius:50%;background:var(--areia);display:grid;place-items:center}
.fechar svg{width:calc(var(--u)*20);height:calc(var(--u)*20);fill:none;stroke:currentColor;stroke-width:1.6}
.modal__img{background:#f1ece5}
.modal__img img{width:100%;height:100%;object-fit:cover}
.modal__corpo{display:flex;flex-direction:column;padding:calc(var(--u)*44) calc(var(--u)*40) calc(var(--u)*34);overflow:auto}
.modal__marca{font-size:calc(var(--u)*12);font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--ouro);min-height:calc(var(--u)*18)}
.modal__corpo h3{font-size:calc(var(--u)*38);margin:calc(var(--u)*8) 0 calc(var(--u)*6)}
.modal__tipo{font-size:calc(var(--u)*13);letter-spacing:.08em;color:var(--cinza)}
.modal__corpo>p{font-size:calc(var(--u)*15);font-weight:300;color:var(--cinza);margin:calc(var(--u)*18) 0 calc(var(--u)*6)}
.numeros{border:0;margin:calc(var(--u)*20) 0 calc(var(--u)*6)}
.numeros legend{font-size:calc(var(--u)*12);font-weight:500;letter-spacing:.16em;text-transform:uppercase;margin-bottom:calc(var(--u)*10)}
.numeros div{display:flex;flex-wrap:wrap;gap:calc(var(--u)*8)}
.numeros label input{position:absolute;opacity:0;pointer-events:none}
.numeros label span{display:grid;place-items:center;width:calc(var(--u)*50);height:calc(var(--u)*46);border:1px solid var(--linha);background:#fff;font-size:calc(var(--u)*15);cursor:pointer;transition:all .2s}
.numeros label span:hover{border-color:var(--preto)}
.numeros input:checked+span{background:var(--preto);border-color:var(--preto);color:var(--creme)}
.numeros input:focus-visible+span{outline:2px solid var(--ouro);outline-offset:2px}
.modal__aviso{font-size:calc(var(--u)*12.5)!important;margin:calc(var(--u)*10) 0 0!important}
.modal__pe{display:flex;gap:calc(var(--u)*10);margin-top:auto;padding-top:calc(var(--u)*26)}
.modal__pe .btn{flex:1}
.fav{width:calc(var(--u)*52);height:calc(var(--u)*52);display:grid;place-items:center;border:1px solid var(--preto);transition:color .25s}
.fav svg{width:calc(var(--u)*22);height:calc(var(--u)*22);fill:none;stroke:currentColor;stroke-width:1.5}
.fav.on{color:#b3473a}
.fav.on svg{fill:currentColor}
.modal__corpo .link{align-self:center}

/* ---------- sacola ---------- */
.sacola{position:fixed;inset:0;z-index:90}
.sacola__fundo{position:absolute;inset:0;background:rgba(20,17,14,.5);animation:aparece .25s}
.sacola__painel{position:absolute;top:0;right:0;bottom:0;width:calc(var(--u)*460);display:flex;flex-direction:column;background:var(--creme);animation:entra .35s cubic-bezier(.2,.8,.2,1)}
@keyframes entra{from{transform:translateX(100%)}}
.sacola__topo{display:flex;justify-content:space-between;align-items:center;padding:calc(var(--u)*22) calc(var(--u)*26) calc(var(--u)*10)}
.sacola__topo h3{font-size:calc(var(--u)*32)}
.sacola__topo .fechar{position:static}
.sacola__abas{display:flex;padding:0 calc(var(--u)*26);border-bottom:1px solid var(--linha)}
.sacola__abas button{padding:calc(var(--u)*12) 0;margin-right:calc(var(--u)*26);font-size:calc(var(--u)*12);font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--cinza);border-bottom:1px solid transparent;margin-bottom:-1px}
.sacola__abas button.ativa{color:var(--preto);border-color:var(--preto)}
.sacola__abas small{color:var(--ouro)}
.sacola__itens,.finalizar{flex:1;overflow:auto;padding:calc(var(--u)*8) calc(var(--u)*26) calc(var(--u)*20)}
.item{display:grid;grid-template-columns:calc(var(--u)*76) 1fr auto;gap:calc(var(--u)*14);padding:calc(var(--u)*16) 0;border-bottom:1px solid var(--linha);align-items:center}
.item img{width:calc(var(--u)*76);height:calc(var(--u)*86);object-fit:cover;background:#f1ece5}
.item small{display:block;font-size:calc(var(--u)*11);letter-spacing:.16em;text-transform:uppercase;color:var(--ouro)}
.item b{display:block;font-family:var(--ff-tit);font-size:calc(var(--u)*19);font-weight:500;line-height:1.15}
.item span{font-size:calc(var(--u)*13);color:var(--cinza)}
.item__acoes{display:flex;flex-direction:column;align-items:flex-end;gap:calc(var(--u)*8)}
.item__acoes button{font-size:calc(var(--u)*12);color:var(--cinza);text-decoration:underline}
.item__acoes .item__res{color:var(--preto);text-decoration:none;border:1px solid var(--preto);padding:calc(var(--u)*6) calc(var(--u)*10);font-size:calc(var(--u)*11);letter-spacing:.12em;text-transform:uppercase}
.sacola__vazia{text-align:center;padding:calc(var(--u)*60) calc(var(--u)*10);color:var(--cinza)}
.sacola__vazia img{width:calc(var(--u)*110);margin:0 auto calc(var(--u)*18);opacity:.85}
.sacola__vazia p{margin-bottom:calc(var(--u)*22)}
.sacola__pe{padding:calc(var(--u)*16) calc(var(--u)*26) calc(var(--u)*22);border-top:1px solid var(--linha);background:var(--areia)}
.sacola__voltar{display:block;margin:calc(var(--u)*12) auto 0;font-size:calc(var(--u)*13);color:var(--cinza);text-decoration:underline}
.sacola__nota{font-size:calc(var(--u)*12);color:var(--cinza);text-align:center;margin-top:calc(var(--u)*10)}
.campo{display:flex;flex-direction:column;gap:calc(var(--u)*6);font-size:calc(var(--u)*12);font-weight:500;letter-spacing:.14em;text-transform:uppercase;margin-top:calc(var(--u)*16)}
.campo small{text-transform:none;letter-spacing:0;font-weight:300}
.campo input,.campo select,.campo textarea{width:100%;min-width:0;height:calc(var(--u)*48);padding:0 calc(var(--u)*14);border:1px solid var(--linha);background:#fff;font-size:calc(var(--u)*15);letter-spacing:0;text-transform:none;font-weight:400;outline:0}
.campo textarea{height:auto;padding:calc(var(--u)*12) calc(var(--u)*14);resize:vertical}
.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:var(--preto)}
.seg{display:flex;gap:calc(var(--u)*8)}
.seg label{flex:1}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg span{display:grid;place-items:center;height:calc(var(--u)*46);border:1px solid var(--linha);background:#fff;font-size:calc(var(--u)*12.5);letter-spacing:.1em;cursor:pointer;transition:all .2s}
.seg input:checked+span{background:var(--preto);color:var(--creme);border-color:var(--preto)}

/* ---------- toast ---------- */
.toast{position:fixed;left:50%;bottom:calc(var(--u)*30);z-index:120;transform:translate(-50%,calc(var(--u)*40));opacity:0;padding:calc(var(--u)*14) calc(var(--u)*26);background:var(--preto);color:var(--creme);font-size:calc(var(--u)*13);letter-spacing:.08em;box-shadow:0 calc(var(--u)*14) calc(var(--u)*30) calc(var(--u)*-12) rgba(0,0,0,.5);transition:all .35s;pointer-events:none;white-space:nowrap}
.toast.mostra{transform:translate(-50%,0);opacity:1}

/* ---------- revelar ---------- */
.js [data-rv]{opacity:0;transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:var(--rv-delay,0ms)}
.js [data-rv=up]{transform:translateY(calc(var(--u)*26))}
.js [data-rv=image]{transform:scale(.97)}
.js [data-rv].vis{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .js [data-rv]{opacity:1;transform:none}
}

/* =================== tablet (desenho em 820) =================== */
@media (max-width:999px){
  h2{font-size:calc(var(--u)*44)}
  .topo{padding:calc(var(--u)*10) calc(var(--u)*30);grid-template-columns:1fr auto 1fr}
  .topo__nav a,.topo__link{display:none}
  .topo__menu{display:flex}
  .topo.aberto .topo__nav{position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;padding:calc(var(--u)*6) calc(var(--u)*30) calc(var(--u)*20);background:var(--creme);border-bottom:1px solid var(--linha)}
  .topo.aberto .topo__nav a{display:block;padding:calc(var(--u)*14) 0;border-bottom:1px solid var(--linha);font-size:calc(var(--u)*14)}
  .topo.aberto .topo__menu{align-self:flex-start;margin-left:calc(var(--u)*-11)}
  .topo.aberto .topo__menu span:nth-child(1){transform:translateY(calc(var(--u)*6.5)) rotate(45deg)}
  .topo.aberto .topo__menu span:nth-child(2){opacity:0}
  .topo.aberto .topo__menu span:nth-child(3){transform:translateY(calc(var(--u)*-6.5)) rotate(-45deg)}
  .hero{height:calc(var(--u)*620);align-items:flex-end;padding-bottom:calc(var(--u)*60)}
  .hero::after{background:linear-gradient(0deg,rgba(20,17,14,.85) 0,rgba(20,17,14,.4) 50%,transparent 75%)}
  .hero__txt{margin-left:calc(var(--u)*40)}
  .hero h1{font-size:calc(var(--u)*66)}
  .beneficios{grid-template-columns:repeat(2,1fr);row-gap:calc(var(--u)*20);padding:calc(var(--u)*24) calc(var(--u)*30)}
  .beneficios li:nth-child(3){border:0}
  .cats{padding:calc(var(--u)*44) 0 calc(var(--u)*24)}
  .cats__lista{justify-content:flex-start;overflow-x:auto;padding:calc(var(--u)*4) calc(var(--u)*30) calc(var(--u)*10);scrollbar-width:none}
  .cats__lista::-webkit-scrollbar{display:none}
  .cat{flex:none}
  .banners{grid-template-columns:1fr;padding:calc(var(--u)*24) calc(var(--u)*30) calc(var(--u)*60)}
  .vitrine{padding:calc(var(--u)*70) calc(var(--u)*30)}
  .vitrine__cabeca{flex-direction:column;align-items:stretch;gap:calc(var(--u)*20)}
  .busca{width:100%}
  .filtros{flex-direction:column;align-items:stretch}
  .grade{grid-template-columns:repeat(3,1fr)}
  .reserva{grid-template-columns:1fr;padding:calc(var(--u)*80) calc(var(--u)*40);gap:calc(var(--u)*60)}
  .reserva__img{width:calc(var(--u)*520);margin:0 auto}
  .usam{grid-template-columns:1fr;padding:calc(var(--u)*80) calc(var(--u)*30)}
  .historia{grid-template-columns:1fr;padding:calc(var(--u)*90) calc(var(--u)*40);gap:calc(var(--u)*50)}
  .historia__fotos{width:calc(var(--u)*560);margin:0 auto}
  .clube{padding:calc(var(--u)*80) calc(var(--u)*30)}
  .clube__grade{grid-template-columns:1fr}
  .visite{grid-template-columns:1fr;padding:calc(var(--u)*80) calc(var(--u)*40)}
  .visite__mapa{min-height:calc(var(--u)*420)}
  .rodape{padding:0 calc(var(--u)*30) calc(var(--u)*100)}
  .rodape__news{flex-direction:column;align-items:stretch}
  .rodape__news form{width:100%}
  .rodape__grade{grid-template-columns:1fr 1fr}
  .modal__caixa{grid-template-columns:1fr;width:calc(var(--u)*620);overflow:auto}
  .modal__img img{max-height:calc(var(--u)*420)}
  .modal__corpo{overflow:visible}
}

/* =================== celular (desenho em 390) =================== */
@media (max-width:639px){
  body{font-size:calc(var(--u)*15)}
  h2{font-size:calc(var(--u)*36)}
  .faixa-topo{font-size:calc(var(--u)*10);letter-spacing:.12em;padding:calc(var(--u)*8) calc(var(--u)*10)}
  .faixa-topo span{margin:0 calc(var(--u)*4)}
  .topo{padding:calc(var(--u)*6) calc(var(--u)*10)}
  .topo__logo img{width:calc(var(--u)*82)}
  .topo.rolou .topo__logo img{width:calc(var(--u)*70)}
  .topo__ic{width:calc(var(--u)*40);height:calc(var(--u)*40)}
  .topo__ic svg{width:calc(var(--u)*21);height:calc(var(--u)*21)}
  .topo.aberto .topo__nav{padding:calc(var(--u)*4) calc(var(--u)*18) calc(var(--u)*16)}
  .hero{height:calc(var(--u)*600);padding-bottom:calc(var(--u)*40)}
  .hero__img{object-position:68% 50%}
  .hero__txt{margin:0 calc(var(--u)*18)}
  .hero h1{font-size:calc(var(--u)*46);margin:calc(var(--u)*12) 0 calc(var(--u)*16)}
  .hero__lead{font-size:calc(var(--u)*15)}
  .hero__btns{flex-direction:column;gap:calc(var(--u)*10);margin-top:calc(var(--u)*26)}
  .beneficios{grid-template-columns:1fr 1fr;padding:calc(var(--u)*18) calc(var(--u)*12);column-gap:calc(var(--u)*6)}
  .beneficios li{flex-direction:column;align-items:flex-start;gap:calc(var(--u)*8);padding:0 calc(var(--u)*8);border:0}
  .beneficios svg{width:calc(var(--u)*26);height:calc(var(--u)*26)}
  .beneficios b{font-size:calc(var(--u)*11);letter-spacing:.08em}
  .beneficios span{font-size:calc(var(--u)*12);line-height:1.35}
  .cats{padding:calc(var(--u)*34) 0 calc(var(--u)*16)}
  .cats__lista{gap:calc(var(--u)*16);padding:calc(var(--u)*4) calc(var(--u)*18) calc(var(--u)*10)}
  .cat{width:calc(var(--u)*84);font-size:calc(var(--u)*10.5);gap:calc(var(--u)*10)}
  .cat__img{width:calc(var(--u)*84);height:calc(var(--u)*84)}
  .banners{padding:calc(var(--u)*18) calc(var(--u)*16) calc(var(--u)*50);gap:calc(var(--u)*14)}
  .banner{min-height:calc(var(--u)*200);padding:calc(var(--u)*22) 0 calc(var(--u)*22) calc(var(--u)*22)}
  .banner h3{font-size:calc(var(--u)*30)}
  .banner p{font-size:calc(var(--u)*13)}
  .vitrine{padding:calc(var(--u)*60) calc(var(--u)*16)}
  .busca{height:calc(var(--u)*48)}
  .filtros{gap:calc(var(--u)*12);padding:calc(var(--u)*12) 0}
  .filtros__linha{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 calc(var(--u)*-16);padding:0 calc(var(--u)*16)}
  .filtros__linha::-webkit-scrollbar{display:none}
  .filtro{flex:none;height:calc(var(--u)*38);padding:0 calc(var(--u)*14);font-size:calc(var(--u)*11.5)}
  .filtros__linha--marcas{flex-wrap:wrap;overflow:visible;margin:0;padding:0}
  .filtros__linha--marcas select{flex:1;width:auto}
  .filtros__conta{width:100%;margin:0}
  .grade{grid-template-columns:repeat(2,1fr);gap:calc(var(--u)*24) calc(var(--u)*12)}
  .card__nome{font-size:calc(var(--u)*17.5)}
  .card__info{font-size:calc(var(--u)*12)}
  .card__marca{font-size:calc(var(--u)*10)}
  .card__reservar{transform:none;position:static;width:100%;height:calc(var(--u)*40);margin-top:calc(var(--u)*10);font-size:calc(var(--u)*11)}
  .card__fav{width:calc(var(--u)*34);height:calc(var(--u)*34);top:calc(var(--u)*6);right:calc(var(--u)*6)}
  .card__tag{top:calc(var(--u)*8);left:calc(var(--u)*8);font-size:calc(var(--u)*9.5);padding:calc(var(--u)*4) calc(var(--u)*7)}
  .marcas__lista button{font-size:calc(var(--u)*24);padding:0 calc(var(--u)*26)}
  .reserva{padding:calc(var(--u)*70) calc(var(--u)*18);gap:calc(var(--u)*40)}
  .reserva__img{width:auto;margin:0 calc(var(--u)*10)}
  .passos-reserva li{grid-template-columns:calc(var(--u)*46) 1fr}
  .passos-reserva li::before{font-size:calc(var(--u)*28)}
  .usam{padding:calc(var(--u)*70) calc(var(--u)*16);gap:calc(var(--u)*30)}
  .usam__grade{grid-template-columns:repeat(2,1fr);gap:calc(var(--u)*8)}
  .historia{padding:calc(var(--u)*70) calc(var(--u)*18);gap:calc(var(--u)*36)}
  .historia__fotos{width:100%;height:calc(var(--u)*400)}
  .hf1{width:calc(var(--u)*230);height:calc(var(--u)*300)}
  .hf2{width:calc(var(--u)*180);height:calc(var(--u)*230);border-width:calc(var(--u)*7)}
  .historia__selo{left:calc(var(--u)*180);top:calc(var(--u)*14);width:calc(var(--u)*96);height:calc(var(--u)*96)}
  .historia__selo b{font-size:calc(var(--u)*40)}
  .historia h2{font-size:calc(var(--u)*40)}
  .historia__txt>p{font-size:calc(var(--u)*15.5)}
  .historia__nums{gap:calc(var(--u)*22)}
  .historia__nums b{font-size:calc(var(--u)*34)}
  .historia__nums span{font-size:calc(var(--u)*11.5)}
  .clube{padding:calc(var(--u)*70) calc(var(--u)*16)}
  .clube article{padding:calc(var(--u)*28) calc(var(--u)*24)}
  .visite{padding:calc(var(--u)*70) calc(var(--u)*18);gap:calc(var(--u)*34)}
  .visite__contatos{flex-direction:column;gap:calc(var(--u)*16)}
  .visite__mapa{min-height:calc(var(--u)*320)}
  .rodape{padding:0 calc(var(--u)*18) calc(var(--u)*100)}
  .rodape__news b{font-size:calc(var(--u)*26)}
  .rodape__news form{flex-direction:column;gap:calc(var(--u)*10)}
  .rodape__news input{border-right:1px solid rgba(250,247,242,.3)}
  .rodape__grade{grid-template-columns:1fr;gap:calc(var(--u)*30)}
  .wa-flutua{right:calc(var(--u)*14);bottom:calc(var(--u)*14);width:calc(var(--u)*54);height:calc(var(--u)*54)}
  .wa-flutua svg{width:calc(var(--u)*28);height:calc(var(--u)*28)}
  body.tem-sacola .wa-flutua{bottom:calc(var(--u)*82)}
  .barra-sacola{display:flex}
  .modal{padding:0;align-items:end}
  .modal__caixa{width:100%;max-height:92vh}
  .modal__img img{max-height:calc(var(--u)*300)}
  .modal__corpo{padding:calc(var(--u)*24) calc(var(--u)*18) calc(var(--u)*20)}
  .modal__corpo h3{font-size:calc(var(--u)*30)}
  .numeros label span{width:calc(var(--u)*42);height:calc(var(--u)*42)}
  .sacola__painel{width:100%}
  .sacola__topo{padding:calc(var(--u)*16) calc(var(--u)*18) calc(var(--u)*8)}
  .sacola__abas{padding:0 calc(var(--u)*18)}
  .sacola__itens,.finalizar{padding:calc(var(--u)*6) calc(var(--u)*18) calc(var(--u)*16)}
  .sacola__pe{padding:calc(var(--u)*14) calc(var(--u)*18) calc(var(--u)*18)}
  .toast{bottom:calc(var(--u)*86);font-size:calc(var(--u)*12)}
}

@media (max-width:999px){:root{--u:calc(100vw / 820)}}
@media (max-width:639px){:root{--u:calc(100vw / 390)}}

/* ajustes pós-captura */
.topo{width:100%}
.rodape__marca img,.sacola__vazia img{height:auto}
@media (max-width:639px){.card__reservar{display:none}.hero::after{background:linear-gradient(0deg,rgba(20,17,14,.92) 0,rgba(20,17,14,.55) 55%,rgba(20,17,14,.1) 85%)}}

/* =================== cabeçalho sobre a foto + capa (slider) — mock do Wil 06/10 =================== */
.cab{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .4s,box-shadow .4s}
.cab .faixa-topo{display:flex;justify-content:center;align-items:center;gap:calc(var(--u)*40);height:calc(var(--u)*40);padding:0 calc(var(--u)*20);background:transparent;color:#fff;font-size:calc(var(--u)*11.5);font-weight:500;letter-spacing:.14em;text-transform:uppercase;overflow:hidden;transition:height .35s,opacity .3s}
.cab .faixa-topo p{display:flex;align-items:center;gap:calc(var(--u)*9)}
.cab .faixa-topo svg{width:calc(var(--u)*18);height:calc(var(--u)*18);fill:none;stroke:var(--ouro-2);stroke-width:1.6;stroke-linejoin:round}
.cab .faixa-topo i{width:1px;height:calc(var(--u)*14);background:rgba(255,255,255,.45)}
.cab .topo{position:relative;top:auto;width:auto;margin:0 calc(var(--u)*22);padding:0 calc(var(--u)*30);height:calc(var(--u)*90);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-radius:calc(var(--u)*12);border:1px solid rgba(255,255,255,.2);background:rgba(36,26,19,.32);backdrop-filter:blur(calc(var(--u)*14)) saturate(1.2);-webkit-backdrop-filter:blur(calc(var(--u)*14)) saturate(1.2);box-shadow:0 calc(var(--u)*20) calc(var(--u)*40) calc(var(--u)*-30) rgba(0,0,0,.6);transition:margin .4s,border-radius .4s,background .4s,height .4s,border-color .4s}
.cab .topo__nav{gap:calc(var(--u)*34);font-size:calc(var(--u)*13);letter-spacing:.17em}
.cab .topo__nav a,.cab .topo__link,.cab .topo__ic{color:#fff;transition:color .3s}
.cab .topo__nav a.so-menu{display:none}
.cab .topo__link{font-size:calc(var(--u)*13);letter-spacing:.17em;margin-right:calc(var(--u)*22)}
.cab .topo__acoes{gap:calc(var(--u)*12)}
.cab .topo__ic:hover{background:rgba(255,255,255,.12)}
.cab .topo__ic svg{width:calc(var(--u)*24);height:calc(var(--u)*24)}
.cab .topo__logo img{width:calc(var(--u)*116);filter:drop-shadow(0 2px calc(var(--u)*8) rgba(0,0,0,.35));transition:width .4s,filter .4s}
.cab .topo__menu span{background:#fff}
.cab .badge{top:0;right:-2px}
/* rolou: barra branca de ponta a ponta */
.cab.rolou{background:rgba(250,247,242,.97);box-shadow:0 calc(var(--u)*14) calc(var(--u)*30) calc(var(--u)*-26) rgba(0,0,0,.55)}
.cab.rolou .faixa-topo{height:0;opacity:0}
.cab.rolou .topo{margin:0;border-radius:0;height:calc(var(--u)*72);background:transparent;border-color:transparent;border-bottom:1px solid var(--linha);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;padding:0 calc(var(--u)*56)}
.cab.rolou .topo__nav a,.cab.rolou .topo__link,.cab.rolou .topo__ic{color:var(--preto)}
.cab.rolou .topo__ic:hover{background:var(--areia)}
.cab.rolou .topo__logo img{width:calc(var(--u)*86);filter:none}
.cab.rolou .topo__menu span{background:var(--preto)}

/* capa */
.capa{position:relative;height:calc(var(--u)*810);overflow:hidden;background:#2a1d14;color:#fff}
.capa__slides,.capa__slide{position:absolute;inset:0}
.capa__slide{opacity:0;transition:opacity 1.1s ease}
.capa__slide.ativo{opacity:1}
.capa__slide img{width:100%;height:100%;object-fit:cover;object-position:62% 50%;transform:scale(1.06);transition:transform 8s ease-out}
.capa__slide.ativo img{transform:scale(1)}
.capa::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(26,17,11,.62) 0,rgba(26,17,11,.32) 34%,rgba(26,17,11,0) 56%),linear-gradient(180deg,rgba(26,17,11,.45) 0,rgba(26,17,11,0) 22%);pointer-events:none;z-index:1}
.capa__txt{position:absolute;z-index:2;left:calc(var(--u)*105);top:calc(var(--u)*212);width:calc(var(--u)*600)}
.capa__conteudo{position:absolute;left:0;top:0;width:100%;opacity:0;visibility:hidden;transform:translateY(calc(var(--u)*16));transition:opacity .7s ease,transform .8s cubic-bezier(.2,.7,.2,1),visibility 0s .8s}
.capa__conteudo.ativo{position:relative;opacity:1;visibility:visible;transform:none;transition:opacity .8s ease .25s,transform .9s cubic-bezier(.2,.7,.2,1) .25s,visibility 0s}
.capa .sobretitulo{font-size:calc(var(--u)*14);letter-spacing:.32em;color:var(--ouro-2)}
.capa .sobretitulo span{margin:0 calc(var(--u)*10)}
.capa__traco{display:block;width:calc(var(--u)*42);height:2px;background:var(--ouro);margin:calc(var(--u)*26) 0 calc(var(--u)*28)}
.capa h1,.capa__h{font-family:var(--ff-tit);font-size:calc(var(--u)*74);font-weight:400;line-height:.98;color:#fff;letter-spacing:-.005em}
.capa h1 em,.capa__h em{color:var(--ouro-2);font-style:italic}
.capa__lead{font-size:calc(var(--u)*16.5);font-weight:300;line-height:1.6;color:rgba(255,255,255,.9);max-width:calc(var(--u)*440);margin-top:calc(var(--u)*30)}
.capa__btns{display:flex;gap:calc(var(--u)*20);margin-top:calc(var(--u)*44)}
.capa__btns .btn{height:calc(var(--u)*54);padding:0 calc(var(--u)*28);font-size:calc(var(--u)*13);letter-spacing:.17em;border-radius:calc(var(--u)*3)}
.btn--ouro{background:linear-gradient(180deg,#e9c77f,#d1a754);color:var(--preto)}
.btn--ouro:hover{background:#f1d59a;color:var(--preto)}
.btn--ouro svg{width:calc(var(--u)*20);height:calc(var(--u)*20)}
.capa .btn--linha-clara{border-color:rgba(255,255,255,.75)}
.capa__controles{position:absolute;left:0;top:calc(var(--u)*520);display:flex;align-items:center;gap:calc(var(--u)*100)}
.capa__pager{display:flex;align-items:center;gap:calc(var(--u)*20)}
.capa__pager button{display:flex;align-items:center;gap:calc(var(--u)*16);font-size:calc(var(--u)*14);font-weight:500;letter-spacing:.08em;color:rgba(255,255,255,.55);transition:color .3s}
.capa__pager button.ativo{color:#fff}
.capa__pager i{display:block;width:0;height:2px;background:rgba(255,255,255,.3);position:relative;overflow:hidden;transition:width .5s}
.capa__pager button.ativo i{width:calc(var(--u)*90)}
.capa__pager i::after{content:"";position:absolute;inset:0;background:var(--ouro);transform:scaleX(0);transform-origin:left}
.capa__pager button.ativo i::after{animation:enche var(--tempo,7s) linear forwards}
.capa.pausada .capa__pager button.ativo i::after{animation-play-state:paused}
@keyframes enche{to{transform:scaleX(1)}}
.capa__setas{display:flex;gap:calc(var(--u)*14)}
.capa__setas button{width:calc(var(--u)*44);height:calc(var(--u)*44);border-radius:50%;border:1px solid rgba(233,199,127,.7);display:grid;place-items:center;color:#fff;transition:background .3s,color .3s}
.capa__setas button:hover{background:var(--ouro-2);color:var(--preto)}
.capa__setas svg{width:calc(var(--u)*18);height:calc(var(--u)*18);fill:none;stroke:currentColor;stroke-width:1.6}

/* tablet */
@media (max-width:999px){
  .cab .faixa-topo{gap:calc(var(--u)*20);font-size:calc(var(--u)*10.5)}
  .cab .faixa-topo p:nth-of-type(3),.cab .faixa-topo i:nth-of-type(2){display:none}
  .cab .topo{height:calc(var(--u)*76);padding:0 calc(var(--u)*18);margin:0 calc(var(--u)*16)}
  .cab .topo__nav a,.cab .topo__link{display:none}
  .cab .topo__logo img{width:calc(var(--u)*96)}
  .cab.rolou .topo{padding:0 calc(var(--u)*24);height:calc(var(--u)*66)}
  .cab.rolou .topo__logo img{width:calc(var(--u)*76)}
  .cab.aberto{background:rgba(250,247,242,.98)}
  .cab.aberto .faixa-topo{height:0;opacity:0}
  .cab.aberto .topo{margin:0;border-radius:0;background:transparent;border-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
  .cab.aberto .topo__ic,.cab.aberto .topo__nav a{color:var(--preto)}
  .cab.aberto .topo__menu span{background:var(--preto)}
  .cab.aberto .topo__logo img{filter:none}
  .cab .topo.aberto .topo__nav a{display:block;color:var(--preto)}
  .cab .topo.aberto .topo__nav a.so-menu{display:block}
  .cab .topo.aberto .topo__nav{top:100%;padding:calc(var(--u)*6) calc(var(--u)*24) calc(var(--u)*22)}
  .capa{height:calc(var(--u)*900)}
  .capa__slide img{object-position:72% 50%}
  .capa::after{background:linear-gradient(0deg,rgba(26,17,11,.88) 0,rgba(26,17,11,.55) 42%,rgba(26,17,11,0) 70%),linear-gradient(180deg,rgba(26,17,11,.5) 0,rgba(26,17,11,0) 25%)}
  .capa__txt{left:calc(var(--u)*40);right:calc(var(--u)*40);top:auto;bottom:calc(var(--u)*150);width:auto}
  .capa__controles{top:auto;bottom:calc(var(--u)*-100);gap:calc(var(--u)*60)}
}
/* celular (desenho em 390) */
@media (max-width:639px){
  .cab .faixa-topo{height:calc(var(--u)*32);font-size:calc(var(--u)*9.5);letter-spacing:.1em;gap:0}
  .cab .faixa-topo p:first-child,.cab .faixa-topo i{display:none}
  .cab .faixa-topo svg{width:calc(var(--u)*15);height:calc(var(--u)*15)}
  .cab .topo{height:calc(var(--u)*62);margin:0 calc(var(--u)*10);padding:0 calc(var(--u)*6) 0 calc(var(--u)*4);border-radius:calc(var(--u)*10)}
  .cab .topo__acoes{gap:0}
  .cab .topo__ic{width:calc(var(--u)*38);height:calc(var(--u)*38)}
  .cab .topo__ic svg{width:calc(var(--u)*21);height:calc(var(--u)*21)}
  .cab .topo__logo img{width:calc(var(--u)*74)}
  .cab.rolou .topo{height:calc(var(--u)*58);padding:0 calc(var(--u)*8)}
  .cab.rolou .topo__logo img{width:calc(var(--u)*64)}
  .cab .topo.aberto .topo__nav{padding:calc(var(--u)*4) calc(var(--u)*18) calc(var(--u)*18)}
  .capa{height:calc(var(--u)*720)}
  .capa__slide img{object-position:70% 40%}
  .capa__txt{left:calc(var(--u)*20);right:calc(var(--u)*20);bottom:calc(var(--u)*110)}
  .capa .sobretitulo{font-size:calc(var(--u)*11);letter-spacing:.24em}
  .capa__traco{margin:calc(var(--u)*16) 0 calc(var(--u)*18);width:calc(var(--u)*34)}
  .capa h1,.capa__h{font-size:calc(var(--u)*46)}
  .capa__lead{font-size:calc(var(--u)*14.5);margin-top:calc(var(--u)*18)}
  .capa__btns{flex-direction:column;gap:calc(var(--u)*10);margin-top:calc(var(--u)*24)}
  .capa__btns .btn{height:calc(var(--u)*50)}
  .capa__controles{bottom:calc(var(--u)*-74);justify-content:space-between;width:100%;gap:0}
  .capa__pager{gap:calc(var(--u)*12)}
  .capa__pager button.ativo i{width:calc(var(--u)*50)}
  .capa__setas button{width:calc(var(--u)*40);height:calc(var(--u)*40)}
}
/* capa no celular: foto em cima, texto sobre o escuro embaixo */
@media (max-width:639px){
  .capa{height:calc(var(--u)*860)}
  .capa__slides{bottom:auto;height:calc(var(--u)*430)}
  .capa__slide img{object-position:74% 60%}
  .capa::after{background:linear-gradient(180deg,rgba(26,17,11,.55) 0,rgba(26,17,11,0) calc(var(--u)*130),rgba(26,17,11,0) calc(var(--u)*300),#2a1d14 calc(var(--u)*430))}
  .capa__txt{top:calc(var(--u)*380);bottom:auto}
  .capa__controles{position:relative;bottom:auto;margin-top:calc(var(--u)*30)}
}
/* espaçamentos da capa iguais ao mock */
@media (min-width:1000px){
  .capa__traco{margin:calc(var(--u)*22) 0 calc(var(--u)*24)}
  .capa__lead{margin-top:calc(var(--u)*24)}
  .capa__btns{margin-top:calc(var(--u)*36)}
  .capa__controles{top:calc(var(--u)*500)}
}
/* ===== navbar de vidro no site todo (escolha do Wil 06/10); .escuro = sobre seção escura ===== */
.cab.rolou{background:transparent;box-shadow:none}
.cab.rolou .topo{margin:calc(var(--u)*10) calc(var(--u)*22) 0;border-radius:calc(var(--u)*12);height:calc(var(--u)*72);padding:0 calc(var(--u)*30);background:rgba(250,247,242,.58);border:1px solid rgba(255,255,255,.55);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);box-shadow:0 calc(var(--u)*18) calc(var(--u)*40) calc(var(--u)*-26) rgba(20,17,14,.5)}
@media (max-width:999px){.cab.rolou .topo{margin:calc(var(--u)*8) calc(var(--u)*16) 0;padding:0 calc(var(--u)*18);height:calc(var(--u)*66)}}
@media (max-width:639px){.cab.rolou .topo{margin:calc(var(--u)*8) calc(var(--u)*10) 0;padding:0 calc(var(--u)*6);height:calc(var(--u)*58)}}
.cab.rolou.escuro .topo{background:rgba(36,26,19,.5);border-color:rgba(233,199,127,.28)}
.cab.rolou.escuro .topo__nav a,.cab.rolou.escuro .topo__link,.cab.rolou.escuro .topo__ic{color:#fff}
.cab.rolou.escuro .topo__ic:hover{background:rgba(255,255,255,.12)}
.cab.rolou.escuro .topo__menu span{background:#fff}
.cab.rolou.escuro .topo__logo img{filter:drop-shadow(0 2px 8px rgba(0,0,0,.35))}
.cab .topo{transition:margin .4s,border-radius .4s,background .45s,height .4s,border-color .45s}
