
:root{--g1:#ff9a3d;--g3:#c24a00;--o:#ff6a00;--o2:#ff8a1f;--bg:#141414;--card:#1f1f1f;--ln:rgba(255,255,255,.09);--mute:#b5b5b5}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth;scroll-padding-top:84px}
body{background:var(--bg);color:#fafafa;font:400 16px/1.6 Manrope,system-ui,sans-serif;text-align:center;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}img,video{display:block;max-width:100%}
.d{font-family:var(--fd,"Dela Gothic One"),Impact,sans-serif;font-weight:400;text-transform:uppercase}
.jp{font-family:"Noto Sans JP",sans-serif;font-weight:700}
.w{max-width:1100px;margin:auto;padding:0 18px}
.top{position:sticky;top:0;z-index:50;background:rgba(20,20,20,.88);backdrop-filter:blur(10px);padding-top:env(safe-area-inset-top,0)}
.nb{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand{display:flex;align-items:center;gap:10px;font-size:14px;letter-spacing:.03em}
.brand img{width:40px;height:40px;border-radius:50%;border:2px solid var(--o)}
.links{display:none;gap:26px;font-size:14px;color:var(--mute)}.links a:hover{color:#fff}
@media(min-width:860px){.links{display:flex}}
.pill{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border-radius:var(--rb,99px);font-weight:800;font-size:15px;border:1.5px solid rgba(255,255,255,.4);transition:transform .2s,background .2s;cursor:pointer;text-align:center}
.pill:hover{transform:translateY(-2px)}.pill.sm{min-height:42px;padding:0 20px;font-size:14px}
.pill.k{background:#141414;border-color:#141414;color:#fff}.pill.or{background:var(--o);border-color:var(--o);color:#140a04}
.pill.k:hover{background:#000}.pill.ol:hover{background:rgba(255,255,255,.15)}
.hero{margin-top:6px;border-radius:var(--rh,30px);background:radial-gradient(120% 120% at 85% 5%,var(--g1),var(--o) 45%,var(--g3));padding:48px 20px 0;overflow:hidden;position:relative;display:grid;gap:28px;align-items:center}
.hero:before{content:"寿司";position:absolute;right:-10px;top:-34px;font:400 200px/1 "Dela Gothic One","Noto Sans JP";color:rgba(0,0,0,.09);pointer-events:none}
.tag{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;position:relative}
.tag span{border:1px solid rgba(255,255,255,.6);border-radius:99px;padding:3px 14px;font-size:13px;font-weight:700}
.hero h1{font-size:clamp(26px,6.4vw,50px);text-wrap:balance;line-height:1.06;margin:16px 0 0;text-shadow:0 4px 0 rgba(0,0,0,.13);position:relative}
.hero p.l{color:#fff3e8;max-width:44ch;margin:14px auto 0;position:relative}
.cta{display:grid;gap:10px;margin:22px auto 0;max-width:340px;position:relative}
.st{display:inline-flex;align-items:center;gap:8px;justify-self:center;font-size:14px;font-weight:700;color:#fff3e8}.st i{width:9px;height:9px;border-radius:50%;background:#140a04}.st.on i{background:#fff}
.plate{width:min(82vw,400px);aspect-ratio:1;border-radius:50%;object-fit:cover;margin:0 auto -70px;border:7px solid rgba(255,255,255,.92);box-shadow:0 30px 60px -20px rgba(0,0,0,.6)}
@media(min-width:860px){.hero{grid-template-columns:1.1fr .9fr;padding:60px 48px 0;gap:40px}.plate{width:min(100%,440px);margin-bottom:-90px}}
.sec{padding:76px 0 0}.kk{color:var(--o);font-size:14px;letter-spacing:.3em;margin-bottom:6px}
h2.d{font-size:clamp(20px,4.4vw,30px);line-height:1.1;margin-bottom:26px}h2.d b{color:var(--o);font-weight:400}
.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.card{background:var(--card);border:1px solid var(--ln);border-radius:var(--rc,24px);padding:12px;display:flex;flex-direction:column;gap:10px}
.card img{border-radius:16px;aspect-ratio:4/3;object-fit:cover;width:100%}.card h3{font-size:18px}.card p{color:var(--mute);font-size:14px}.pr{color:var(--o2);font-weight:800;font-size:20px}
.card .pill{margin:auto auto 6px}
.why{border-radius:30px;background:radial-gradient(110% 120% at 90% 0%,var(--g1),var(--o) 50%,var(--g3));padding:34px 20px;display:grid;gap:24px;align-items:center;overflow:hidden}
.why ul{list-style:none;padding:0;display:grid;gap:10px;justify-items:center}
.why li{border:1px solid rgba(255,255,255,.6);border-radius:99px;padding:9px 18px;font-size:14px;font-weight:700;background:rgba(0,0,0,.08)}
.why img{width:min(80vw,340px);aspect-ratio:1;object-fit:cover;border-radius:50%;margin:auto;border:6px solid rgba(255,255,255,.9);box-shadow:0 24px 50px -18px rgba(0,0,0,.6)}
@media(min-width:860px){.why{grid-template-columns:1fr 1fr;padding:44px}}
.gcard{gap:14px;padding:22px 16px;align-items:center}.gcard h3{font-size:16px}
.gl{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.gl button{border:0;padding:0;border-radius:20px;overflow:hidden;aspect-ratio:1;cursor:zoom-in;background:none}.gl button:first-child{grid-column:span 2;aspect-ratio:16/10}
.gl img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gl button:hover img{transform:scale(1.05)}
@media(min-width:860px){.gl{grid-template-columns:repeat(4,1fr)}.gl button:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}}
.reel{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;margin-top:12px;padding-bottom:8px}
.reel video{flex:0 0 min(46vw,200px);aspect-ratio:9/16;object-fit:cover;border-radius:20px;scroll-snap-align:start;background:var(--card)}
.box{background:var(--card);border:1px solid var(--ln);border-radius:30px;padding:34px 18px;display:grid;gap:18px;justify-items:center}
.hrs{list-style:none;padding:0;display:grid;gap:4px;font-size:14px;color:var(--mute)}.hrs li.t{color:#fff;font-weight:800}
.row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
footer{padding:44px 0 calc(34px + env(safe-area-inset-bottom,0));color:var(--mute);font-size:13px}
.lb{position:fixed;inset:0;background:rgba(0,0,0,.95);z-index:90;display:none;place-items:center;padding:16px}.lb.on{display:grid}.lb img{max-height:88vh;border-radius:10px;object-fit:contain}
.lb button{position:absolute;top:14px;right:14px;width:48px;height:48px;border-radius:50%;border:0;background:var(--o);font-size:22px;cursor:pointer}
a:focus-visible,button:focus-visible{outline:3px solid var(--o2);outline-offset:3px}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.hrs li{display:flex;gap:14px;justify-content:center}.hrs small{color:var(--o2);margin-left:8px}
.lb .nv{top:50%;right:auto;left:10px;transform:translateY(-50%);font-size:32px;line-height:1;padding:0}.lb .nv.r{left:auto;right:10px}
.more{margin-top:12px}.pill.full{width:100%;max-width:340px}
/* páginas de campanha e de entrada */
.camp{max-width:30rem;margin:10px auto;border-radius:30px;background:radial-gradient(120% 120% at 85% 0,var(--g1),var(--o) 45%,var(--g3));padding:calc(22px + env(safe-area-inset-top,0px)) 20px calc(26px + env(safe-area-inset-bottom,0px));position:relative;overflow:hidden}
.camp:before{content:"寿司";position:absolute;right:-8px;top:-26px;font:400 170px/1 "Dela Gothic One","Noto Sans JP";color:rgba(0,0,0,.09);pointer-events:none}
.camp>*{position:relative}
.ch{display:flex;align-items:center;justify-content:center;gap:10px;font:400 14px "Dela Gothic One","Noto Sans JP",sans-serif;text-transform:uppercase}
.ch .logo{width:44px;height:44px;border-radius:50%;border:2px solid #fff}
.ct{margin:20px 0 10px;line-height:1.05;text-transform:uppercase}
.ct small{display:block;font:800 16px Manrope,sans-serif;letter-spacing:.22em;margin-bottom:6px;color:#fff3e8}
.ct span{font:400 clamp(30px,9.5vw,50px)/1.05 "Dela Gothic One","Noto Sans JP",Impact,sans-serif;text-shadow:0 4px 0 rgba(0,0,0,.13);word-break:break-word}
.camp .lead{color:#fff3e8;margin:0 0 18px}
.vid{position:relative;width:min(100%,calc(62svh * .5625));aspect-ratio:9/16;margin:0 auto 18px;border-radius:22px;overflow:hidden;border:4px solid rgba(255,255,255,.92);background:#000;box-shadow:0 24px 50px -20px rgba(0,0,0,.6)}
.vid video{width:100%;height:100%;object-fit:cover}
.snd{position:absolute;right:10px;bottom:10px;border:0;border-radius:99px;padding:10px 14px;background:rgba(20,20,20,.8);color:#fff;font:700 13px Manrope,sans-serif;cursor:pointer}
.ctas{display:grid;gap:10px}
.main,.wa{display:flex;align-items:center;justify-content:center;position:relative;min-height:56px;padding:0 54px;border-radius:99px;font-weight:800;font-size:16px;text-align:center;transition:transform .2s,background .2s}
.main:hover,.wa:hover{transform:translateY(-2px)}
.main{background:#141414;color:#fff;border:1.5px solid #141414}
.main b{position:absolute;right:11px;top:50%;transform:translateY(-50%);width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.15)}
.main.alt,.wa{background:none;border:1.5px solid rgba(255,255,255,.75);color:#fff}
.main.alt:hover,.wa:hover{background:rgba(255,255,255,.16)}
.main.alt.city{background:#141414;border-color:#141414;min-height:62px;font-size:17px}.main.alt.city:hover{background:#fff;color:#141414}
.cities{display:grid;gap:10px;margin-top:20px}
.cp[hidden],#escolha[hidden]{display:none}
.back{display:block;margin:16px auto 0;padding:10px 16px;background:none;border:0;color:#fff3e8;font:700 14px Manrope,sans-serif;text-decoration:underline;cursor:pointer}
.cf{margin-top:22px;font-size:13px;color:#fff3e8;line-height:1.8}.cf a{text-decoration:underline}
.logo{border-radius:50%}
/* grupos primeiro, dicas e contraste */
.dica{font-size:12.5px;color:#140a04;margin:-4px 0 4px;font-weight:600}
.ben{display:inline-block;margin:0 auto 14px;padding:6px 14px;border:1px solid rgba(20,10,4,.5);border-radius:99px;font-size:14px;font-weight:800;color:#140a04}
.apos{background:#141414;border-radius:20px;padding:16px;margin-top:14px;display:grid;gap:10px;text-align:center;box-shadow:0 18px 40px -16px rgba(0,0,0,.6)}
.apos[hidden]{display:none}.apos b{font-size:16px}.apos span{color:#d6d6d6;font-size:14px}
.apos .main{background:var(--o);border-color:var(--o);color:#140a04}
.hero p.l,.camp .lead,.cf,.ct small,.back,.st{color:#140a04}
.tag span{border-color:rgba(20,10,4,.5)}.st i{background:#140a04}.st.on i{background:#fff}
.hero .pill.ol,.camp .main.alt,.camp .wa{border-color:#141414;color:#141414;background:none}
.hero .pill.ol:hover,.camp .main.alt:hover,.camp .wa:hover{background:#141414;color:#fff}
.camp .main.alt b{background:rgba(20,20,20,.12)}.camp .main.alt:hover b{background:rgba(255,255,255,.18)}
.camp .main.alt.city{background:#141414;border-color:#141414;color:#fff}.camp .main.alt.city:hover{background:#fff;color:#141414;border-color:#fff}
/* landing /promocoes */
.lph{font-size:clamp(28px,6.6vw,54px)!important}
.step{align-items:center;padding:22px 16px;gap:6px}.step b{font-size:46px;line-height:1;color:var(--o)}.step h3{font-size:18px}
.faq{background:var(--card);border:1px solid var(--ln);border-radius:18px;padding:0 18px;margin:0 0 10px}
.faq summary{cursor:pointer;padding:16px 0;font-weight:800;list-style:none}.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:" +";color:var(--o)}.faq[open] summary::after{content:" –"}.faq p{color:var(--mute);padding:0 0 16px}
.gl div{border-radius:20px;overflow:hidden;aspect-ratio:1}.gl div:first-child{grid-column:span 2;aspect-ratio:16/10}
@media(min-width:860px){.gl div:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}}
.main.alt.city.sel{background:#fff;color:#141414;border-color:#fff}
.sbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;gap:8px;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(20,20,20,.95);backdrop-filter:blur(8px);border-top:1px solid var(--ln)}
.sbar .pill{flex:1;min-height:46px;padding:0 10px;font-size:14px}
@media(max-width:859px){.sbar.on{display:flex}body.lp{padding-bottom:74px}}

/* ===== v4 ===== */
body{background:var(--bg)}h1,h2,h3,p{text-wrap:balance;overflow-wrap:break-word}
.hero p.l{text-wrap:pretty}.plate{display:block}.plate img{width:100%;height:100%;aspect-ratio:1;object-fit:cover;border-radius:50%;border:7px solid rgba(255,255,255,.92);box-shadow:0 30px 60px -20px rgba(0,0,0,.6)}
.plate{border:0;box-shadow:none;border-radius:0;aspect-ratio:1;width:min(78vw,380px);margin:0 auto -60px}
.pill{min-height:48px;line-height:1.2}.cta .pill{width:100%}
.st{padding:8px 14px;border-radius:var(--rb,99px);background:rgba(0,0,0,.22);min-height:38px}.st.on i{background:#3ddc84}
.sec{padding:60px 0 0}.sec .grid{justify-items:stretch}
.card{position:relative;align-items:center;text-align:center;padding:14px 14px 16px}
.card img{aspect-ratio:4/3;width:100%;object-fit:cover;border-radius:calc(var(--rc,24px)*.6)}
.card h3{font-size:17px;line-height:1.25}.card .wh{color:var(--mute);font-size:12.5px}
.pr s{color:var(--mute);font-weight:600;font-size:.7em;margin-right:6px}
.tagc{position:absolute;top:-1px;right:-1px;z-index:2;background:var(--o);color:#140a04;font-size:12px;font-weight:800;padding:4px 12px;border-radius:0 var(--rc,24px) 0 12px}
.fl{position:relative;background:linear-gradient(160deg,var(--g1),var(--g3));border:2px solid var(--o);border-radius:var(--rc,24px);padding:16px;display:flex;flex-direction:column;align-items:center;gap:10px;box-shadow:0 0 0 4px rgba(255,106,0,.18)}
.fl img{border-radius:calc(var(--rc,24px)*.6);width:100%;aspect-ratio:4/3;object-fit:cover}
.flb{font-weight:800;font-size:13px;background:#140a04;color:#fff;padding:5px 14px;border-radius:var(--rb,99px)}
.cd{font-weight:700}.cdt{font-variant-numeric:tabular-nums;font-size:1.35em}
.pill.k2{background:#140a04;border-color:#140a04;color:#fff}.fg{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.vz{max-width:560px;margin:auto}
.bnr{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px}
.bn{flex:0 0 min(86%,520px);scroll-snap-align:center;background:var(--card);border-radius:var(--rc,24px);overflow:hidden;display:flex;flex-direction:column}
.bn img{width:100%;aspect-ratio:16/9;object-fit:cover}.bn .bt{padding:14px 14px 18px;display:grid;gap:8px;justify-items:center}.bn h3{font-size:18px}.bn p{color:var(--mute);font-size:14px}
.ck{position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:80;background:#000e;border:1px solid var(--o);border-radius:14px;padding:12px;display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:center;font-size:14px}
.ck[hidden]{display:none}.ck button{min-height:44px;padding:0 16px;border-radius:99px;border:1px solid var(--o);background:none;color:#fff;font-weight:700;cursor:pointer}.ck #cka{background:var(--o);color:#140a04}
.gl,.reel{contain:layout}
@media(max-width:480px){.w{padding:0 14px}.pill{font-size:15px}}
/* Visual 2: referência escura, cantos retos, cards cinza com etiqueta laranja */
.t-escuro .hero{background:linear-gradient(180deg,#17110f,#0b090c);border-top:1px solid var(--o);border-bottom:1px solid var(--o)}
.t-escuro .hero:before{color:rgba(255,106,0,.07)}.t-escuro .tag span{border-color:var(--o);color:var(--o)}
.t-escuro .pill.k{background:var(--o);border-color:var(--o);color:#140a04}
.t-escuro .pill.or{background:var(--o)}.t-escuro .plate img{border:0;border-radius:0}
.t-escuro .card{padding:22px 14px 18px;border:0}.t-escuro .card img{border-radius:0;aspect-ratio:1;object-fit:contain;max-width:220px}
.t-escuro .card .pill{background:#201d1f;border-color:#201d1f;color:#fff}.t-escuro .card .pill:hover{background:var(--o);color:#140a04}
.t-escuro .tagc{top:-16px;border-radius:0;padding:5px 14px}
.t-escuro .why{background:linear-gradient(180deg,#17110f,#0b090c);border:1px solid var(--o)}.t-escuro .why img{border-radius:0;border-color:var(--o)}
.t-escuro .why li{border-radius:0;border-color:var(--o)}.t-escuro .why .kk{color:var(--o)!important}.t-escuro .why h2 b{color:var(--o)!important}
.t-escuro .gl button,.t-escuro .reel video,.t-escuro .box,.t-escuro .bn{border-radius:0}.t-escuro .sec{padding-top:56px}
.t-escuro h2.d{letter-spacing:.04em;padding-bottom:10px;border-bottom:1px solid rgba(242,106,0,.45);display:inline-block;padding-inline:18px}

/* Acabamento responsivo v4.1: hierarquia, leitura e toque */
:root{scroll-padding-top:84px}
.sec h2,.hero h1,.why h2{text-align:center;text-wrap:balance}
.sec h2{max-width:100%;font-size:clamp(20px,3.6vw,30px);line-height:1.2}
.hero{gap:clamp(18px,4vw,42px)}
.hero .l{max-width:42ch;margin-inline:auto}
.grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,235px),1fr));gap:clamp(20px,3vw,32px)}
.card{min-width:0;gap:10px;height:auto;min-height:0}
.card p,.bn p,.why li{line-height:1.55}
.card .pill,.bn .pill{max-width:100%;white-space:normal;text-align:center}
.bnr{align-items:stretch;scrollbar-width:thin}
.bn{min-width:0;height:auto;align-self:stretch}
.bn img{aspect-ratio:16/9;object-fit:cover}
.sec,.hero{scroll-margin-top:84px}
@media(max-width:600px){
 .w{width:min(100% - 28px,1100px)}
 .hero{padding-top:28px;padding-bottom:26px;text-align:center}
 .hero h1{font-size:clamp(25px,7vw,36px);line-height:1.12}
 .hero .cta{align-items:stretch;width:100%;max-width:420px;margin-inline:auto}
 .hero .cta .pill{width:100%;min-height:50px}
 .plate{width:min(72vw,300px);margin:0 auto}
 .sec{padding-top:42px}
 .grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:26px 14px}
 .card{padding:14px 12px 18px}
 .card h3{font-size:17px}
 .bnr{margin-inline:-2px;padding:0 2px 10px}
 .bn{flex-basis:min(88%,380px)}
 .why{gap:20px}
 .ck{font-size:13px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
