/* Layout: noite de festa — um túnel de luz infinito abre a página; seções alternam lado a lado; uma única cor de luz âmbar */
:root{
  --bg:#000000;
  --bg-2:#0e0c08;
  --bg-3:#1a1710;
  --ink:#f6efe0;
  --ink-2:#b8ad97;
  --lumi:#e3ad4b;
  --lumi-ink:#140e03;
  --display:"Jost", "Century Gothic", system-ui, sans-serif;
  --text:"Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;
  --gut:max(20px, env(safe-area-inset-left, 0px));
  --gut-r:max(20px, env(safe-area-inset-right, 0px));
  --ease-out:cubic-bezier(0.23, 1, 0.32, 1);
  --ease-in-out:cubic-bezier(0.77, 0, 0.175, 1);
  interpolate-size:allow-keywords;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font:400 17px/1.55 var(--text);margin:0;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--bg)}
a{color:inherit}
img{max-width:100%;display:block}
h1,h2,h3{font-family:var(--display);font-weight:500;letter-spacing:-.02em;line-height:.98;margin:0;text-wrap:balance}
p{margin:0}
.wrap{max-width:1240px;margin:0 auto;padding-left:var(--gut);padding-right:var(--gut-r)}
:focus-visible{outline:3px solid var(--lumi);outline-offset:3px}

/* nav */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--bg)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:14px}
.logo{display:block;line-height:0}.logo img{width:56px;height:56px}
.flogo{width:clamp(180px,22vw,260px);height:auto}
.logo span{color:var(--lumi)}
.nav ul{display:flex;gap:28px;list-style:none;margin:0;padding:0}
.nav ul a{text-decoration:none;color:var(--ink-2);font-weight:500}
.nav ul a:hover{color:var(--ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;background:var(--lumi);color:var(--lumi-ink);font:600 17px/1 var(--text);text-decoration:none;border:0;cursor:pointer;transition:transform .16s var(--ease-out), background-color .2s ease}
.btn:hover{background:#f2c46f}
.btn:active{transform:scale(.97)}
.btn svg{transition:transform .2s var(--ease-out)}
.btn.ghost{background:var(--bg-3);color:var(--ink)}
.btn.ghost:hover{background:#262116}
.btn svg{width:20px;height:20px;flex:none}
.nav .btn{min-height:44px;padding:0 20px;font-size:15px}

/* hero */
.hero{padding-block:48px 120px}
.hero .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.hero h1{font-size:clamp(56px,8.6vw,132px)}
.hero h1 .deg{color:var(--lumi)}
.hero .lead{font-size:clamp(18px,1.6vw,22px);color:var(--ink);max-width:30ch;margin-top:32px}
.hero .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.stars{display:flex;align-items:center;gap:12px;margin-top:36px;color:var(--ink-2);font-size:15px}
.stars b{font-family:var(--display);font-size:30px;color:var(--ink);letter-spacing:-.03em}
.stars i{color:var(--lumi);font-style:normal;letter-spacing:2px;font-size:18px}

/* túnel infinity desenhado */
.tunnel{position:relative;aspect-ratio:1;max-width:100%;background:#000;overflow:hidden;border-radius:4px}
.tunnel .person{position:absolute;left:50%;bottom:0;width:22%;transform:translateX(-50%)}
.tunnel figcaption{position:absolute;left:16px;bottom:14px;right:16px;font-size:13px;color:var(--ink-2);text-align:left}

/* seção genérica */
section{scroll-margin-top:80px}
.sec{padding-block:120px}
.sec h2{font-size:clamp(42px,6vw,84px)}
.sec .intro{font-size:clamp(18px,1.5vw,21px);max-width:44ch;margin-top:24px}

/* equipamentos */
.equip{background:var(--bg-2)}
.items{display:grid;gap:96px;margin-top:80px}
.item{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.item:nth-child(even) .pic{order:2}
.item h3{font-size:clamp(34px,4.2vw,58px)}
.item p{margin-top:20px;max-width:46ch}
.item ul{margin:20px 0 0;padding-left:20px;color:var(--ink)}
.item li{margin-top:6px}
.item .btn{margin-top:28px}
.pic{aspect-ratio:4/3;background:var(--bg-3);display:grid;place-items:center;position:relative;overflow:hidden;border-radius:4px}
.pic svg{width:72%;height:auto}
.pic .ph{position:absolute;left:14px;bottom:12px;font-size:12px;color:var(--ink-2)}
.extra{margin-top:96px;background:var(--lumi);color:var(--lumi-ink);padding:48px clamp(24px,5vw,64px);display:grid;grid-template-columns:1.2fr 1fr;gap:32px;align-items:center;border-radius:4px}
.extra h3{font-size:clamp(32px,4vw,52px)}
.extra p{font-size:18px}
.extra .btn{background:var(--lumi-ink);color:var(--ink);margin-top:20px}

/* montador (live) */
.montar .wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:start}
.form{background:var(--bg-2);padding:clamp(24px,4vw,44px);border-radius:4px;display:grid;gap:28px}
.form fieldset{border:0;margin:0;padding:0;min-width:0}
.form legend,.form label.lbl{font-weight:600;margin-bottom:12px;display:block;padding:0}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips input{position:absolute;opacity:0;pointer-events:none}
.chips label{display:inline-flex;align-items:center;min-height:46px;padding:0 18px;border-radius:999px;background:var(--bg-3);cursor:pointer;font-weight:500;transition:background-color .16s, color .16s, transform .12s}
.chips label:active{transform:scale(.96)}
.chips input:checked + label{background:var(--lumi);color:var(--lumi-ink)}
.chips input:focus-visible + label{outline:3px solid var(--lumi);outline-offset:2px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form input[type=date],.form input[type=text],.form select{width:100%;min-height:50px;padding:0 14px;background:var(--bg-3);color:var(--ink);border:0;border-radius:4px;font:500 16px var(--text)}
.preview{background:#000;padding:20px;border-radius:4px;font-size:15px;color:var(--ink-2);white-space:pre-wrap;min-height:120px}
.preview b{color:var(--ink);font-weight:600}
.num{font-size:15px;color:var(--ink-2)}
.num strong{color:var(--ink);-webkit-user-select:all;user-select:all}

/* como funciona */
.steps{list-style:none;margin:64px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.steps li h3{font-size:30px;letter-spacing:-.03em}
.steps li p{margin-top:12px;max-width:34ch}
.steps .dot{width:44px;height:44px;border-radius:50%;background:var(--lumi);margin-bottom:24px}
.steps li:nth-child(2) .dot{background:transparent;box-shadow:inset 0 0 0 6px var(--lumi)}
.steps li:nth-child(3) .dot{background:transparent;box-shadow:inset 0 0 0 6px var(--lumi);position:relative}
.steps li:nth-child(3) .dot::after{content:"";position:absolute;inset:14px;border-radius:50%;background:var(--lumi)}

/* avaliações */
.reviews{background:var(--bg-2)}
.reviews .wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start}
.big5{font-family:var(--display);font-weight:400;font-size:clamp(120px,16vw,220px);letter-spacing:-.06em;line-height:.85;color:var(--lumi)}
.reviews .meta{margin-top:16px;font-size:18px}
.quotes{display:grid;gap:40px}
.quotes blockquote{margin:0;font-family:var(--display);font-weight:500;font-size:clamp(24px,2.6vw,34px);line-height:1.15;letter-spacing:-.02em}
.quotes cite{display:block;margin-top:10px;font:400 15px var(--text);color:var(--ink-2);font-style:normal}
.quotes .more{margin-top:8px}

/* faq */
.faq .wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px}
details{background:var(--bg-2);border-radius:4px;margin-bottom:10px}
summary{cursor:pointer;list-style:none;padding:22px 24px;font-weight:600;font-size:19px;display:flex;justify-content:space-between;gap:16px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--lumi);font-size:26px;line-height:1;transition:transform .2s}
details[open] summary::after{transform:rotate(45deg)}
details p{padding:0 24px 24px;max-width:60ch}

/* local + cta */
.local{background:var(--lumi);color:var(--lumi-ink)}
.local .wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:end}
.local h2{font-size:clamp(46px,7vw,104px)}
.local address{font-style:normal;font-size:20px;line-height:1.5}
.local .btn{background:var(--lumi-ink);color:var(--ink)}
.local .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.local .btn.ghost{background:transparent;color:var(--lumi-ink);box-shadow:inset 0 0 0 2px var(--lumi-ink)}

footer{padding-block:72px 120px}
footer .name{font-family:var(--display);font-weight:800;font-size:clamp(72px,17vw,250px);letter-spacing:-.06em;line-height:.8}
footer .name span{color:var(--lumi)}
footer .cols{display:flex;flex-wrap:wrap;gap:24px 48px;margin-top:40px;color:var(--ink-2);font-size:15px}
footer .cols a{text-decoration:none}
footer .cols a:hover{color:var(--ink)}

.wa{position:fixed;right:calc(18px + env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:30;width:60px;height:60px;border-radius:50%;background:#25d366;display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.4);transition:transform .16s}

.wa svg{width:30px;height:30px}

/* entrada */

@media (max-width:900px){
  .nav ul{display:none}
  .hero{padding-block:24px 80px}
  .hero .wrap,.item,.extra,.montar .wrap,.reviews .wrap,.faq .wrap,.local .wrap{grid-template-columns:1fr;gap:36px}
  .item:nth-child(even) .pic{order:0}
  .items{gap:72px;margin-top:48px}
  .sec{padding-block:80px}
  .steps{grid-template-columns:1fr;gap:36px}
  .row2{grid-template-columns:1fr}
}
@media (max-width:480px){
  .nav .btn span{display:none}
  .hero .ctas .btn{width:100%}
}

/* ===== páginas de equipamento ===== */
.crumbs{font-size:14px;color:var(--ink-2);padding-block:8px 0}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--ink)}
.eq-hero{padding-block:40px 96px}
.eq-hero .wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center}
.eq-hero h1{font-size:clamp(44px,6.4vw,96px)}
.eq-hero .lead{font-size:clamp(18px,1.6vw,22px);max-width:34ch;margin-top:28px}
.eq-hero .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.eq-body{background:var(--bg-2);padding-block:96px}
.eq-body .wrap{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:64px;align-items:start}
.artigo{max-width:68ch;min-width:0}
.artigo h2{font-size:clamp(32px,3.6vw,48px);margin-top:64px}
.artigo h2:first-child{margin-top:0}
.artigo h3{font-size:clamp(24px,2.4vw,30px);margin-top:40px}
.artigo p,.artigo ul,.artigo ol{margin-top:18px}
.artigo li{margin-top:8px}
.artigo img{margin-top:28px;border-radius:4px}
.slot{background:var(--bg-3);padding:22px 24px;border-radius:4px;margin-top:18px;color:var(--ink-2)}
.slot b{color:var(--lumi);font-weight:600}
.aside{position:sticky;top:calc(96px + env(safe-area-inset-top,0px));background:var(--bg);padding:32px;border-radius:4px;display:grid;gap:16px}
.aside h2{font-size:30px}
.aside p{color:var(--ink-2);font-size:16px}
.aside .btn{width:100%}
.aside .tel{font-size:15px;color:var(--ink-2)}
.aside .tel strong{color:var(--ink);-webkit-user-select:all;user-select:all}
.outros{padding-block:120px}
.outros h2{font-size:clamp(38px,5vw,68px)}
.outros-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px}
.outro{display:grid;gap:18px;text-decoration:none;background:var(--bg-2);padding:24px;border-radius:4px;transition:background-color .16s, transform .16s}
.outro:hover{background:var(--bg-3)}
.outro .pic{aspect-ratio:16/10}
.outro h3{font-size:28px}
.outro span{color:var(--lumi);font-weight:600}
.more-link{display:inline-block;margin-top:18px;margin-left:18px;color:var(--lumi);font-weight:600;text-decoration:none}

@media (max-width:900px){
  .eq-hero .wrap,.eq-body .wrap{grid-template-columns:1fr;gap:40px}
  .aside{position:static}
  .outros-grid{grid-template-columns:1fr}
  .eq-hero{padding-block:16px 72px}
  .eq-body,.outros{padding-block:72px}
  .more-link{margin-left:0;display:block}
}

/* ===== movimento ===== */
.nav{transition:transform .35s var(--ease-out), background-color .3s ease}
.nav.hide{transform:translateY(calc(-100% - env(safe-area-inset-top,0px)))}
.nav.solid{background:rgba(0,0,0,.92)}
.progress{position:fixed;left:0;right:0;top:env(safe-area-inset-top,0px);height:2px;background:var(--lumi);transform-origin:0 50%;transform:scaleX(0);z-index:40;pointer-events:none}

/* título palavra por palavra */
h1.split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
h1.split .w>span{display:inline-block;transform:translateY(105%);animation:wordUp .9s var(--ease-out) both;animation-delay:calc(var(--wi) * 70ms + 80ms)}
@keyframes wordUp{to{transform:none}}
.deg{display:inline-block;font-variant-numeric:tabular-nums}
.hero .copy>:not(h1),.eq-hero .copy>:not(h1){animation:fadeUp .8s var(--ease-out) both;animation-delay:.45s}
.hero .copy>.stars{animation-delay:.6s}
.eq-hero .crumbs{animation-delay:0s!important}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* túnel infinity: molduras viajando para o fundo */
.tunnel{perspective:900px;animation:tunnelIn 1.2s var(--ease-out) both}
@keyframes tunnelIn{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
.tunnel-in{position:absolute;inset:0;transform-style:preserve-3d;will-change:transform}
.tunnel .frame{position:absolute;inset:8%;border:3px solid var(--lumi);border-radius:2px;
  box-shadow:0 0 22px rgba(227,173,75,.5), inset 0 0 22px rgba(227,173,75,.3);
  opacity:0;will-change:transform,opacity;animation:frameIn 7s linear infinite;animation-delay:var(--d);animation-play-state:paused}
.tunnel.play .frame{animation-play-state:running}
@keyframes frameIn{
  0%{transform:scale(1.25);opacity:0}
  8%{opacity:1}
  25%{transform:scale(.62)}
  50%{transform:scale(.33);opacity:.85}
  75%{transform:scale(.16);opacity:.45}
  100%{transform:scale(.06);opacity:0}}
.tunnel .core{position:absolute;left:50%;top:50%;width:6%;aspect-ratio:1;margin:-3% 0 0 -3%;border-radius:50%;background:var(--lumi);box-shadow:0 0 40px 14px rgba(227,173,75,.45)}

/* ilustrações vivas */
.pic svg{transition:transform 1.1s var(--ease-out)}
.pic svg *{animation-play-state:paused}
.pic.play svg *{animation-play-state:running}
.arm{transform-box:view-box;transform-origin:100px 100px;animation:orbit 2.8s var(--ease-in-out) infinite alternate}
@keyframes orbit{from{transform:scaleX(1)}to{transform:scaleX(-1)}}
.tf{animation:tf 2.4s ease-in-out infinite;animation-delay:calc(var(--k) * .2s)}
@keyframes tf{0%,100%{opacity:.2}25%{opacity:1}}
.flashfx{animation:flash 3.6s linear infinite}
@keyframes flash{0%,86%,100%{opacity:0}88%{opacity:.6}}
.screen{animation:screen 3s ease-in-out infinite alternate}
@keyframes screen{from{opacity:.75}to{opacity:1}}

/* entradas ao rolar */
.js .rv{transition:opacity .8s var(--ease-out), transform .8s var(--ease-out), clip-path 1s var(--ease-out)}
.js .rv.wait{opacity:0;transform:translateY(28px)}
.js .pic.rv.wait{transform:none;clip-path:inset(10% 10% 10% 10%)}
.js .pic.rv.wait svg{transform:scale(1.12)}
.js .pic.rv{clip-path:inset(0 0 0 0)}
.js .extra.rv.wait{transform:scale(.97)}

/* FAQ abre suave (navegadores que suportam) */
details::details-content{block-size:0;overflow:hidden;transition:block-size .35s var(--ease-out), content-visibility .35s allow-discrete}
details[open]::details-content{block-size:auto}
summary::after{transition:transform .25s var(--ease-out)}
.steps .dot{transition:transform .6s var(--ease-out)}
.js .steps li.wait .dot{transform:scale(.4)}

/* hover só em mouse */
@media (hover:hover) and (pointer:fine){
  .btn:hover svg{transform:translateX(2px) rotate(-8deg)}
  .wa:hover{transform:scale(1.06)}
  .outro:hover{transform:translateY(-4px)}
  .outro:hover .pic svg{transform:scale(1.05)}
  .more-link:hover{text-decoration:underline}
  .item .pic:hover svg{transform:scale(1.04)}
  .chips label:hover{background:#262116}
}

/* movimento reduzido: só opacidade, nada se desloca */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important}
  h1.split .w>span{transform:none}
  .nav.hide{transform:none}
  .js .rv,.js .rv.wait,.js .pic.rv.wait,.js .pic.rv.wait svg{transform:none;clip-path:none;transition:opacity .4s ease}
  .tunnel .frame{opacity:var(--ro);transform:scale(var(--rs))}
}

/* ===== conteúdo do artigo ===== */
.porque .wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:start}
.porque h2{font-size:clamp(42px,6vw,84px)}
.statement{font-family:var(--display);font-weight:400;font-size:clamp(22px,2.2vw,32px);line-height:1.25;margin-top:32px;max-width:28ch;color:var(--lumi)}
.porque-txt{display:grid;gap:20px;padding-top:8px}
.tabela{margin-top:56px;overflow-x:auto;background:var(--bg-2);border-radius:4px}
.tabela table{width:100%;border-collapse:collapse;min-width:640px;font-size:16px}
.tabela th,.tabela td{text-align:left;padding:18px 22px;vertical-align:top}
.tabela thead th{color:var(--ink-2);font-weight:500;font-size:14px;background:var(--bg-3)}
.tabela tbody tr+tr{border-top:1px solid var(--bg-3)}
.tabela tbody th{font-family:var(--display);font-weight:500;font-size:20px;white-space:nowrap}
.tabela tbody th a{text-decoration:none;color:var(--lumi)}
.tabela tbody tr{transition:background-color .2s ease}
.combos-h{font-size:clamp(28px,3vw,40px);margin-top:88px}
.combos{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-top:28px}
.combo{background:var(--bg-2);padding:28px;border-radius:4px}
.combo h3{font-size:24px;color:var(--lumi)}
.combo p{margin-top:12px}
.escolher .combo{background:var(--bg-2)}
.antes{background:var(--bg-2)}
.antes .wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:start}
.check{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.check li{background:var(--bg);padding:18px 22px 18px 58px;border-radius:4px;position:relative;font-weight:500}
.check li::before{content:"";position:absolute;left:22px;top:50%;width:18px;height:18px;margin-top:-9px;border-radius:50%;box-shadow:inset 0 0 0 5px var(--lumi)}
.antes + .reviews{background:var(--bg)}
.resumo{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:0 0 64px;background:var(--bg-3);border-radius:4px;overflow:hidden}
.resumo div{background:var(--bg);padding:20px}
.resumo dt{font-size:14px;color:var(--ink-2)}
.resumo dd{margin:6px 0 0;font-weight:600}
.artigo .passos{padding-left:0;list-style:none;counter-reset:p;display:grid;gap:10px}
.artigo .passos li{counter-increment:p;background:var(--bg);padding:16px 20px 16px 60px;border-radius:4px;position:relative;margin:0}
.artigo .passos li::before{content:counter(p);position:absolute;left:18px;top:14px;width:28px;height:28px;border-radius:50%;background:var(--lumi);color:var(--lumi-ink);font-weight:600;font-size:15px;display:grid;place-items:center}
.artigo .combos{margin-top:24px}
.artigo .combo{background:var(--bg)}
.faqlist{margin-top:24px}
.faqlist details{background:var(--bg)}
@media (hover:hover) and (pointer:fine){ .tabela tbody tr:hover{background:var(--bg-3)} }
@media (max-width:900px){
  .porque .wrap,.antes .wrap{grid-template-columns:1fr;gap:36px}
  .resumo{grid-template-columns:1fr}
}

/* ===== fotos e vídeos reais ===== */
.media{position:relative;margin:0;overflow:hidden;border-radius:4px;background:var(--bg-3);aspect-ratio:4/5;max-width:100%}
.media img,.media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.media figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 16px 14px;font-size:14px;color:#f6efe0;background:linear-gradient(transparent,rgba(0,0,0,.72))}
.hero-media{aspect-ratio:4/5;width:100%;max-width:520px;justify-self:end;animation:tunnelIn 1.2s var(--ease-out) both}
.hero-media video{transform:scale(1.02)}
.item .media{aspect-ratio:4/5;max-height:640px;width:100%;max-width:520px;justify-self:center}
.item .tunnel{aspect-ratio:4/5;max-height:640px;width:100%;max-width:520px;justify-self:center}
.eq-media{aspect-ratio:4/5;width:100%;max-width:500px;justify-self:end}
.outro .media,.outro .tunnel{aspect-ratio:16/11;max-width:none}
.media img{transition:transform 1.1s var(--ease-out)}
.art-fig{margin-top:28px;aspect-ratio:4/5;max-width:440px}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}
.duo .media{aspect-ratio:3/4}
.galeria .gal-head{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end}
.galeria .gal-head .intro{margin-top:0}
.grid-gal{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:56px}
.g{position:relative;margin:0;overflow:hidden;border-radius:4px;background:var(--bg-3);aspect-ratio:4/5}
.g:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
.g img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease-out)}
.g figcaption{position:absolute;left:12px;bottom:12px;background:rgba(0,0,0,.72);color:var(--lumi);font-size:13px;font-weight:600;padding:6px 12px;border-radius:999px}
.js .g.rv.wait{transform:none;opacity:0;clip-path:inset(12% 12% 12% 12%)}
.js .g.rv{clip-path:inset(0 0 0 0)}
.js .media.rv.wait{transform:none;clip-path:inset(10% 10% 10% 10%)}
.js .media.rv.wait img{transform:scale(1.12)}
.js .media.rv{clip-path:inset(0 0 0 0)}
@media (hover:hover) and (pointer:fine){
  .g:hover img,.item .media:hover img,.outro:hover .media img{transform:scale(1.05)}
}
@media (max-width:900px){
  .hero-media,.eq-media{justify-self:stretch;max-width:none;aspect-ratio:4/5;max-height:72vh}
  .item .media,.item .tunnel{max-width:none}
  .grid-gal{grid-template-columns:1fr 1fr}
  .galeria .gal-head{grid-template-columns:1fr;gap:20px}
}
@media (prefers-reduced-motion:reduce){
  .js .g.rv.wait,.js .media.rv.wait,.js .media.rv.wait img{clip-path:none;transform:none}
}

/* ===== valores, entrega na hora, vídeos ===== */
.g video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.tag{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px;border-radius:999px;font-size:15px;font-weight:500}
.tag-out{box-shadow:inset 0 0 0 1.5px var(--lumi);color:var(--lumi)}
.tag-price{background:var(--lumi);color:var(--lumi-ink)}
.tag-price strong{font-weight:700}
.hero-note{margin-top:18px;font-size:15px;color:var(--ink-2);max-width:40ch}
.extra-price{margin-top:12px;font-size:18px}
.extra-price strong{font-size:24px}
.nahora .nh-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:56px}
.nh{background:var(--bg-2);padding:clamp(28px,4vw,48px);border-radius:4px;display:grid;gap:14px;align-content:start}
.nh-big{font-family:var(--display);font-weight:500;font-size:clamp(48px,6vw,88px);line-height:.95;letter-spacing:-.03em;color:var(--lumi)}
.nh-quem{font-weight:600;font-size:19px}
.nh-quem a{text-decoration:none;color:var(--ink)}
.valores .wrap{display:grid;grid-template-columns:1.3fr 1fr;gap:56px;align-items:start}
.v-list{list-style:none;margin:40px 0 0;padding:0;display:grid;gap:8px}
.v-list li{display:flex;justify-content:space-between;align-items:center;gap:20px;background:var(--bg-2);padding:18px 22px;border-radius:4px}
.v-nome{display:grid;gap:4px;font-family:var(--display);font-size:24px;font-weight:500;min-width:0}
.v-nome a{text-decoration:none;color:var(--ink)}
.v-nome span{font-family:var(--text);font-size:15px;font-weight:400;color:var(--ink-2)}
.v-preco{text-align:right;font-family:var(--display);font-weight:500;font-size:clamp(24px,2.4vw,32px);color:var(--lumi);white-space:nowrap;font-variant-numeric:tabular-nums}
.v-preco small{display:block;font-family:var(--text);font-size:13px;color:var(--ink-2);font-weight:400}
.pay{background:var(--lumi);color:var(--lumi-ink);padding:clamp(28px,4vw,44px);border-radius:4px;display:grid;gap:16px;position:sticky;top:calc(96px + env(safe-area-inset-top,0px))}
.pay h3{font-size:22px;font-weight:500}
.pay-big{font-family:var(--display);font-weight:500;font-size:clamp(30px,3.2vw,44px);line-height:1.02;letter-spacing:-.02em}
.pay .btn{background:var(--lumi-ink);color:var(--ink);justify-self:start;margin-top:8px}
.total{background:var(--bg-3);border-radius:4px;padding:18px 20px;display:grid;gap:4px}
.total span{font-size:14px;color:var(--ink-2)}
.total strong{font-family:var(--display);font-weight:500;font-size:34px;color:var(--lumi);font-variant-numeric:tabular-nums}
.total small{font-size:13px;color:var(--ink-2)}
.aside-price{font-family:var(--display);font-weight:500;font-size:40px;color:var(--lumi);line-height:1}
.aside-price small{display:block;font-family:var(--text);font-size:13px;color:var(--ink-2);margin-bottom:6px}
.aside-pay{font-size:15px;color:var(--ink)!important;background:var(--bg-2);padding:14px 16px;border-radius:4px}
@media (max-width:900px){
  .nahora .nh-grid,.valores .wrap{grid-template-columns:1fr}
  .pay{position:static}
  .v-nome{font-size:20px}
}

/* ===== feedbacks reais ===== */
.feedbacks{background:var(--bg-2)}
.fb-h{font-size:clamp(38px,5vw,68px)}
.fb-grid{display:grid;grid-template-columns:repeat(2,minmax(0,300px)) minmax(0,1fr);gap:16px;margin-top:48px;align-items:start}
.fb-video{margin:0;display:grid;gap:12px}
.fb-frame{position:relative;aspect-ratio:9/16;border-radius:4px;overflow:hidden;background:var(--bg-3)}
.fb-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fb-play{position:absolute;inset:0;border:0;padding:0;background:transparent;cursor:pointer;display:grid;place-items:center;color:var(--lumi-ink)}
.fb-play svg{width:68px;height:68px;padding:18px;border-radius:50%;background:var(--lumi);box-shadow:0 8px 30px rgba(0,0,0,.45);transition:transform .18s var(--ease-out)}
.fb-play:active svg{transform:scale(.94)}
.fb-video figcaption{font-family:var(--display);font-size:20px;line-height:1.15;color:var(--ink)}
.fb-video figcaption span{display:block;margin-top:6px;font-family:var(--text);font-size:13px;color:var(--lumi)}
.fb-video.on .fb-play{display:none}
.fb-audio{background:var(--bg);border-radius:4px;padding:28px;display:grid;gap:14px;align-content:start}
.fb-tag{font-size:13px;color:var(--lumi);font-weight:600}
.fb-player{display:flex;align-items:center;gap:16px}
.fb-ap{flex:none;width:56px;height:56px;border-radius:50%;border:0;background:var(--lumi);color:var(--lumi-ink);cursor:pointer;display:grid;place-items:center;transition:transform .16s var(--ease-out)}
.fb-ap:active{transform:scale(.94)}
.fb-ap svg{width:26px;height:26px}
.fb-wave{flex:1;display:flex;align-items:center;gap:2px;height:44px;min-width:0;cursor:pointer}
.fb-wave i{flex:1;height:var(--h);min-height:3px;border-radius:2px;background:var(--bg-3);transition:background-color .2s}
.fb-wave i.done{background:var(--lumi)}
.fb-time{font-size:14px;color:var(--ink-2);font-variant-numeric:tabular-nums}
.fb-audio blockquote{margin:10px 0 0;font-family:var(--display);font-size:21px;line-height:1.2}
.fb-link{color:var(--lumi);text-decoration:none;font-weight:600}
@media (hover:hover) and (pointer:fine){ .fb-play:hover svg{transform:scale(1.06)} .fb-link:hover{text-decoration:underline} }
@media (max-width:900px){
  .fb-grid{grid-template-columns:1fr 1fr}
  .fb-audio{grid-column:1/-1}
  .fb-video figcaption{font-size:16px}
}

/* ===== revisão ===== */
.tunnel{margin:0}
.eq-hero h1{font-size:clamp(36px,4.2vw,68px)}
.h1-city{display:block;font-size:.42em;letter-spacing:-.01em;line-height:1.1;margin-top:.25em;color:var(--ink-2)}
.faq h2,.porque h2{font-size:clamp(40px,4.6vw,68px)}
.outros h2{font-size:clamp(34px,4.4vw,64px)}
.eq-media.tunnel{max-width:100%}
@media (max-width:900px){
  .eq-hero .wrap,.hero .wrap{grid-template-columns:minmax(0,1fr)}
  .eq-media.tunnel{max-width:100%;width:100%;justify-self:stretch}
}

/* desempenho dos vídeos: a entrada das molduras com vídeo usa só opacidade (recorte animado por cima de vídeo tocando trava a rolagem) */
.js .g.rv,.js .media.rv,.js .g.rv.wait,.js .media.rv.wait{clip-path:none;transform:none}
.js .g.rv,.js .media.rv{transition:opacity .7s var(--ease-out)}
.g,.media{contain:paint}
.g video,.media video{background:var(--bg-3)}
/* botão de play quando o aparelho não deixa o vídeo tocar sozinho */
.vplay{position:absolute;inset:0;margin:auto;width:72px;height:72px;border:0;border-radius:50%;background:var(--lumi);color:#000;display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 30px rgba(0,0,0,.45);z-index:2}
.vplay svg{width:30px;height:30px;margin-left:4px}
.g img,.media img{object-fit:cover}
.g .vplay{width:52px;height:52px}.g .vplay svg{width:22px;height:22px}
/* áreas de toque confortáveis no celular (mín. ~44px) */
.more-link{display:inline-flex;align-items:center;min-height:44px}
.v-nome a{display:inline-block;padding:6px 0}
footer .cols a{display:inline-flex;align-items:center;min-height:44px}

/* ===== revisão de usabilidade (out/2026) ===== */
/* depoimento curto no topo */
.hero-quote{margin:18px 0 0;padding-left:14px;border-left:2px solid var(--lumi);font-size:16px;line-height:1.4;color:var(--ink);max-width:40ch}
.hero-quote cite{display:block;margin-top:4px;font-size:13px;font-style:normal;color:var(--ink-2)}
/* avaliações + depoimentos na mesma seção */
.reviews .wrap.fb{display:block;margin-top:96px}
.reviews .fb-h{font-size:clamp(30px,3.6vw,52px)}
/* valores + orçamento */
.pay-note{margin-top:24px;padding:16px 18px;border-radius:4px;background:var(--bg-3);font-size:16px;max-width:44ch}
.pay-note strong{color:var(--lumi)}
.montar .num{margin-top:20px}
.chips label small{margin-left:8px;font-size:13px;font-weight:600;opacity:.75}
.swipe-hint{display:none}

@media (max-width:900px){
  /* menu: atalhos que deslizam para o lado, na mesma linha da logo */
  .nav .wrap{flex-wrap:nowrap;gap:10px;padding-block:8px}
  .nav .logo img{width:44px;height:44px}
  .nav nav{flex:1;min-width:0;-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}
  .nav ul{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:4px 24px 4px 0;scroll-snap-type:x proximity}
  .nav ul::-webkit-scrollbar{display:none}
  .nav ul a{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:999px;background:var(--bg-3);color:var(--ink);font-size:14px;white-space:nowrap}
  .nav .btn{display:none}

  /* topo: o vídeo aparece primeiro */
  .hero{padding-block:12px 64px}
  .hero .wrap{gap:24px}
  .hero-media{order:-1;aspect-ratio:auto;height:min(46vh,420px);max-height:none}
  .hero h1{font-size:clamp(48px,14vw,64px)}
  .hero .lead{margin-top:18px}
  .hero .ctas{margin-top:24px}

  /* equipamentos: carrossel que desliza */
  .swipe-hint{display:block;margin-top:14px;font-size:14px;color:var(--lumi);font-weight:600}
  .items{display:flex;gap:12px;margin:20px calc(var(--gut) * -1) 0;padding:0 var(--gut) 12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:var(--gut);scrollbar-width:none;overscroll-behavior-x:contain}
  .items::-webkit-scrollbar{display:none}
  .item{flex:0 0 84%;scroll-snap-align:start;display:flex;flex-direction:column;gap:0;background:var(--bg);border-radius:6px;overflow:hidden}
  .item .media,.item .tunnel{aspect-ratio:1/1;max-height:none;border-radius:0}
  .item>div{padding:18px 16px 20px}
  .item h3{font-size:30px}
  .item p{margin-top:10px;font-size:15px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .item .tags{margin-top:12px}
  .item .btn{margin-top:16px;width:100%;justify-content:center}
  .items .rv,.items .rv.wait{opacity:1!important;transform:none!important;clip-path:none!important}
  .extra{margin-top:40px}

  /* galeria mais curta no celular */
  .grid-gal .g:nth-child(n+7){display:none}

  /* barra de WhatsApp embaixo, no lugar dos dois botões */
  .wa{left:calc(12px + env(safe-area-inset-left,0px));right:calc(12px + env(safe-area-inset-right,0px));bottom:calc(10px + env(safe-area-inset-bottom,0px));width:auto;height:54px;border-radius:999px;display:flex;gap:10px;justify-content:center;align-items:center;color:#fff;font-weight:600;font-size:16px;text-decoration:none;transform:translateY(calc(100% + 24px));transition:transform .35s var(--ease-out)}
  .wa svg{width:24px;height:24px}
  .wa-on .wa{transform:none}
  body{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
  .reviews .wrap.fb{margin-top:64px}
}
.wa .wa-txt{display:none}
@media (max-width:900px){ .wa .wa-txt{display:inline} }
@media (prefers-reduced-motion:reduce){ .wa{transition:none} }
@media (max-width:900px){ footer .flogo{width:110px;height:110px} }

/* equipamentos em grade no computador: os 4 lado a lado, numa tela */
@media (min-width:901px){
  .items{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:56px}
  .item{display:flex;flex-direction:column;gap:0;background:var(--bg);border-radius:6px;overflow:hidden}
  .item:nth-child(even) .pic{order:0}
  .item .media,.item .tunnel{aspect-ratio:4/5;max-height:none;max-width:none;width:100%;border-radius:0}
  .item>div{padding:20px 20px 22px;display:flex;flex-direction:column;flex:1}
  .item h3{font-size:clamp(24px,2vw,30px)}
  .item p{margin-top:10px;font-size:15px;max-width:none}
  .item .tags{margin:14px 0 20px}
  .item .btn{margin-top:auto;width:100%;justify-content:center}
  .item .more-link{align-self:flex-start}
  .extra{margin-top:56px}
}
@media (min-width:901px) and (max-width:1120px){ .items{grid-template-columns:repeat(2,minmax(0,1fr))} }

/* rodapé completo */
footer .fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px}
footer .flogo{width:120px;height:120px}
.fbrand p{margin-top:16px;color:var(--ink-2);font-size:15px;max-width:34ch}
.fcol{display:flex;flex-direction:column}
.fcol h2{font-family:var(--text);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--lumi);margin:0 0 6px;font-weight:600}
.fcol a,.fcol span{color:var(--ink-2);text-decoration:none;font-size:15px;min-height:40px;display:flex;align-items:center}
.fcol a:hover{color:var(--ink)}
.fcopy{margin-top:40px;padding-top:24px;border-top:1px solid var(--bg-3);font-size:13px;color:var(--ink-2)}
@media (max-width:900px){
  footer{padding-block:48px 32px}
  footer .fgrid{grid-template-columns:1fr 1fr;gap:28px 20px}
  .fbrand{grid-column:1/-1}
  footer .flogo{width:96px;height:96px}
}
.item .more-link{margin-left:0;margin-top:6px}

/* páginas de equipamento: "Combine com" compacto no celular */
@media (max-width:900px){
  .outros{padding-block:56px}
  .outros-grid{display:flex;gap:12px;margin:28px calc(var(--gut) * -1) 0;padding:0 var(--gut) 8px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:var(--gut);scrollbar-width:none;overscroll-behavior-x:contain}
  .outros-grid::-webkit-scrollbar{display:none}
  .outro{flex:0 0 58%;scroll-snap-align:start;padding:10px 10px 14px;gap:10px}
  .outro .media,.outro .tunnel{aspect-ratio:4/3}
  .outro h3{font-size:20px}
  .outro span{font-size:14px}
  .wa .wa-price{font-weight:500;opacity:.9}
}
.wa .wa-price{display:none}
@media (max-width:900px){ .wa .wa-price{display:inline} }
/* item do menu da seção atual */
.nav ul a.on{color:var(--lumi)}
@media (max-width:900px){ .nav ul a.on{background:var(--lumi);color:var(--lumi-ink)} }

/* ===== compatibilidade Safari / iPhone ===== */
/* toque sem o flash cinza do iOS e sem atraso de duplo toque */
a,button,label,summary,.chips label{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
/* campos do formulário com o visual do site (o iOS aplica o próprio estilo) */
.form select,.form input[type=date],.form input[type=text]{-webkit-appearance:none;appearance:none;line-height:50px}
.form select{padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%23e3ad4b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:20px}
.form input[type=date]{display:block;min-width:0}
.form input[type=date]::-webkit-date-and-time-value{text-align:left}
.form input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.75) sepia(1) saturate(3) hue-rotate(5deg)}
/* iOS 14 e anteriores não têm aspect-ratio: sem isto os quadros de vídeo ficariam com altura zero */
@supports not (aspect-ratio:1/1){
  .media,.g,.tunnel,.fb-frame{position:relative;height:auto!important}
  .media::before,.g::before,.tunnel::before{content:"";display:block;padding-top:125%}
  .fb-frame::before{content:"";display:block;padding-top:177.78%}
  .item .media::before,.item .tunnel::before{padding-top:125%}
  .hero-media::before{padding-top:110%}
}
/* telas pequenas (iPhone SE): botões e etiquetas sem quebrar no meio */
.chips label{white-space:nowrap}
@media (max-width:900px){
  .item .tag{font-size:13px;min-height:32px;padding:0 12px;white-space:nowrap}
}
@media (max-width:380px){
  .chips label{padding:0 14px;font-size:15px}
  .chips label small{margin-left:6px}
}
/* páginas de equipamento no celular: o vídeo (ou o túnel animado) vem antes do texto */
@media (max-width:900px){
  .eq-hero .wrap{gap:22px}
  .eq-media{order:-1;aspect-ratio:auto;height:min(44vh,400px);max-height:none}
  .eq-media.tunnel{aspect-ratio:auto;height:min(44vh,400px)}
}
/* capa: imagens animadas no lugar dos vídeos (tocam em qualquer celular, sem regra de autoplay) */
.media picture,.g picture{position:absolute;inset:0;display:block}
.media picture img,.media img.anim,.g img.anim{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
