/* ============================================================
   Globo Serviços Especializados Brastemp DF — landing page
   Mobile-first. Tema: oficina / blueprint escuro.
   ============================================================ */

:root{
  --bg:#0A0F1A; --bg-2:#0E1524; --card:#131C2E; --card-2:#18233A;
  --line:rgba(160,185,230,.14); --line-2:rgba(160,185,230,.26);
  --text:#EAF0FA; --mute:#9AA9C4;
  --ice:#3DD9FF; --amber:#FFB020; --ok:#2EE59D; --bad:#FF5A5A; --wa:#25D366;
  --head:'Space Grotesk',system-ui,-apple-system,'Segoe UI',sans-serif;
  --body:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --hdr:60px; --dock:68px;
  --safe-b:env(safe-area-inset-bottom,0px);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--hdr)}
body{margin:0;background:var(--bg);color:var(--text);font:400 1rem/1.55 var(--body);overflow-x:hidden;padding-bottom:calc(var(--dock) + var(--safe-b))}
img,svg{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3{font-family:var(--head);line-height:1.12;margin:0;letter-spacing:-.01em}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:3px solid var(--amber);outline-offset:3px;border-radius:8px}

.wrap{width:min(100% - 40px,560px);margin-inline:auto}
.center{text-align:center}
.i{width:1.2em;height:1.2em;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ---------- Botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 22px;border-radius:14px;
  font:700 1rem/1 var(--body);text-decoration:none;text-align:center;transition:transform .15s,box-shadow .2s,background .2s;-webkit-tap-highlight-color:transparent}
.btn:active{transform:scale(.97)}
.btn-wa{background:var(--wa);color:#04210F;box-shadow:0 8px 24px rgba(37,211,102,.28)}
.btn-wa:hover{box-shadow:0 10px 30px rgba(37,211,102,.45)}
.btn-ghost{border:1.5px solid var(--line-2);color:var(--text);background:rgba(255,255,255,.04)}
.btn-sm{min-height:46px;padding:0 16px;font-size:.92rem;border-radius:12px}
.btn-lg{min-height:58px;font-size:1.05rem;width:100%}

.kicker{display:inline-flex;align-items:center;gap:10px;font:600 .78rem/1.4 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--ice);margin-bottom:14px}
.dot{width:8px;height:8px;border-radius:50%;background:var(--bad);box-shadow:0 0 0 0 rgba(255,90,90,.6);animation:ping 1.6s infinite}
.sub{color:var(--mute);font-size:1rem;margin-top:10px}
.fine{color:var(--mute);font-size:.82rem;margin-top:14px}
h2{font-size:clamp(1.7rem,7vw,2.4rem)}

/* ---------- Barra de progresso (diagnóstico) ---------- */
.progress{position:fixed;inset:0 0 auto 0;height:3px;z-index:60;background:rgba(255,255,255,.06)}
.progress i{display:block;height:100%;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--bad),var(--amber),var(--ok))}

/* ---------- Header ---------- */
.top{position:fixed;inset:3px 0 auto 0;height:calc(var(--hdr) - 3px);z-index:50;display:flex;align-items:center;gap:10px;padding:0 14px;
  background:rgba(10,15,26,.78);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.logo{display:flex;align-items:center;gap:8px;text-decoration:none;margin-right:auto;font:700 1.15rem/1 var(--head)}
.logo span{display:flex;flex-direction:column;gap:2px}
.logo small{font:500 .58rem/1 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.logo-gear{width:28px;height:28px;color:var(--ice);animation:spin 9s linear infinite}
.top-tel{display:none;align-items:center;gap:8px;text-decoration:none;font-weight:600;font-size:.92rem;color:var(--mute)}
.menu-btn{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;border:1px solid var(--line)}
.menu-btn .i-close{display:none}
.menu-btn[aria-expanded="true"] .i-open{display:none}
.menu-btn[aria-expanded="true"] .i-close{display:block}

.nav{position:fixed;inset:var(--hdr) 0 0 0;z-index:49;display:flex;flex-direction:column;gap:6px;padding:20px 20px calc(24px + var(--safe-b));
  background:rgba(10,15,26,.97);transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity .22s,transform .22s,visibility .22s}
.nav.open{opacity:1;transform:none;visibility:visible}
.nav a:not(.btn){font:700 1.6rem/1 var(--head);padding:16px 4px;border-bottom:1px solid var(--line);text-decoration:none}
.nav .btn{margin-top:18px}

/* ---------- Hero ---------- */
.hero{position:relative;padding:calc(var(--hdr) + 22px) 0 26px;overflow:hidden}
.hero-bg{position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:34px 34px;-webkit-mask-image:radial-gradient(ellipse at 50% 30%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse at 50% 30%,#000 20%,transparent 75%)}
.hero-gear{position:absolute;fill:none;stroke:var(--ice);stroke-width:.5;opacity:.18}
.hero-gear.g1{width:300px;height:300px;right:-110px;top:70px;animation:spin 40s linear infinite}
.hero-gear.g2{width:190px;height:190px;left:-70px;bottom:130px;stroke:var(--amber);animation:spin 28s linear infinite reverse}
.hero .wrap{position:relative}
.hero h1{font-size:clamp(1.9rem,8.4vw,2.9rem);font-weight:700}
.hero h1 b{color:var(--ice);font-weight:700}
.lead{color:var(--mute);font-size:1.08rem;margin-top:16px}
.hero .cta-row{margin-top:24px}
.cta-row{display:flex;flex-direction:column;gap:12px}
.brands-seal{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:20px;font:600 .8rem/1 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.brands-seal i{width:4px;height:4px;border-radius:50%;background:var(--amber)}
.hero-art{width:100%;margin-top:20px;overflow:visible}
.art-lines{stroke:var(--ice)}
.art-drum{transform-box:fill-box;transform-origin:center;animation:spin 6s linear infinite}
.led{fill:var(--bad);animation:blink 1.1s steps(2,jump-none) infinite}
.spark{animation:flick 2.4s infinite}
.spark.s2{animation-delay:1.1s}
.scroll-hint{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:22px;font-size:.85rem;color:var(--mute)}
.scroll-hint .i{animation:bob 1.4s ease-in-out infinite}

.glitch{position:relative;display:inline-block;animation:glitch 4.2s infinite}

/* ---------- Faixa de confiança ---------- */
.trust{border-block:1px solid var(--line);background:var(--bg-2);overflow:hidden}
.marquee-track{display:flex;width:max-content;animation:marquee 34s linear infinite}
.marquee-track span{display:inline-flex;align-items:center;gap:10px;padding:16px 26px;font:600 .88rem/1 var(--body);color:var(--text);white-space:nowrap}
.marquee-track .i{color:var(--amber)}

/* ---------- Blocos ---------- */
.block{padding:44px 0}
.block.alt{background:var(--bg-2);border-block:1px solid var(--line)}
.intro{padding:72px 0 28px}
.wrap-wide{width:min(100% - 40px,1040px)}
.block .wrap>.kicker+h2,.block .wrap-wide>.kicker+h2{max-width:560px}

/* ---------- Cenas pinadas ---------- */
.scene{position:relative;background:radial-gradient(ellipse at 50% 35%,#14213a 0%,var(--bg) 70%)}
.scene-pin{position:relative;height:100svh;min-height:560px;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:10px;
  padding:calc(var(--hdr) + 10px) 20px calc(var(--dock) + var(--safe-b) + 10px);width:min(100%,560px);margin-inline:auto}
.scene-head h2{font-size:clamp(1.3rem,5.6vw,1.8rem)}
.scene-head .kicker{margin-bottom:8px}
.stage{position:relative;min-height:0;display:grid;place-items:center}
.scene-cta{width:100%;min-height:50px}
.scene-cta.hot{animation:ctahot 1.3s ease-in-out infinite}

/* --- Geladeira --- */
.fridge-box{width:100%;height:100%;min-height:0;container-type:size;display:grid;place-items:center}
.fridge{position:relative;height:min(90cqh,calc(100cqw * 1.7));aspect-ratio:3/5.1;perspective:1500px;border-radius:16px;background:#1b2740;box-shadow:0 20px 60px rgba(0,0,0,.5),inset 0 0 0 2px #2b3b5c}
.fridge-in{position:absolute;inset:2.6%;border-radius:10px;overflow:hidden;background:linear-gradient(#e4f6ff,#bfe3f4)}
.zone{position:absolute;left:0;right:0}
.zone-freezer{top:0;height:30%;border-bottom:5px solid #8fb6c9;display:flex;align-items:flex-end;padding:0 6%}
.zone-fridge{top:30%;bottom:0;display:flex;flex-direction:column}
.row{display:flex;align-items:flex-end;justify-content:space-evenly;gap:4%;flex:1;width:100%;padding:0 6%;border-bottom:4px solid #9cc0d2}
.zone-freezer .row{border:0;height:70%;flex:none}
.zone-fridge .row:last-child{border:0}
.it{display:block;flex:none}
.ice{width:24%;height:56%;border-radius:6px;background:linear-gradient(#fff,#cdeaf7);border:2px solid #a7d3e6}
.bottle{width:11%;height:82%;border-radius:8px 8px 3px 3px;background:var(--ice)}
.bottle.b2{background:var(--amber);height:68%}
.carton{width:17%;height:62%;background:linear-gradient(90deg,#fff 70%,#d6e4ef);border-top:8px solid #3b82f6;border-radius:2px}
.jar{width:12%;height:42%;border-radius:4px;background:#e5533d}
.apple{width:14%;aspect-ratio:1;height:auto;border-radius:50%;background:#e5533d;margin-bottom:2%}
.apple.g{background:#6cc04a}
.cheese{width:20%;height:34%;background:#ffc94d;clip-path:polygon(0 100%,100% 100%,100% 20%,0 60%)}
.drawer{width:42%;height:72%;border:3px solid #7fa7ba;border-radius:6px 6px 2px 2px;background:linear-gradient(#8ddc6a,#5db442)}
.dark{position:absolute;inset:0;background:#0a1222;opacity:.94}
.light{position:absolute;inset:0;background:radial-gradient(circle at 50% 12%,rgba(255,255,255,.95),transparent 62%);opacity:0;mix-blend-mode:soft-light}
.door{position:absolute;left:0;width:100%;transform-origin:0 50%;transform-style:preserve-3d;will-change:transform}
.door-top{top:0;height:31%}
.door-bot{top:32.5%;height:67.5%}
.face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:12px}
.front{background:linear-gradient(105deg,#eef3fa 0%,#b3c1d8 48%,#dfe8f4 100%);box-shadow:inset 0 0 0 2px rgba(255,255,255,.5)}
.back{transform:rotateY(180deg);background:linear-gradient(#9fb2cc,#c6d3e6);box-shadow:inset 0 0 0 4px #7f93b2}
.handle{position:absolute;right:8%;width:5%;background:#5b6a85;border-radius:4px;top:20%;height:56%}
.door-top .handle{top:34%;height:46%}
.door-led{position:absolute;left:9%;top:14%;width:9px;height:9px;border-radius:50%;background:var(--bad);animation:blink 1.1s steps(2,jump-none) infinite}
.scene-fridge .stage{grid-template-rows:auto minmax(0,1fr);gap:10px;justify-items:center}
.gauge{display:flex;align-items:center;gap:10px;padding:8px 14px;border-radius:14px;background:var(--card);border:1px solid var(--line-2)}
.g-led{width:10px;height:10px;border-radius:50%;background:var(--bad);box-shadow:0 0 12px currentColor;color:var(--bad)}
.g-temp{font:700 1.4rem/1 var(--head)}
.g-temp b{font-weight:700}
.g-state{min-width:104px;font:600 .72rem/1.2 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--bad)}
.gauge[data-s="warm"] .g-led{background:var(--amber);color:var(--amber)}
.gauge[data-s="warm"] .g-state{color:var(--amber)}
.gauge[data-s="ok"] .g-led{background:var(--ok);color:var(--ok)}
.gauge[data-s="ok"] .g-state{color:var(--ok)}

.defects{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.defects li{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:var(--card);border:1px solid var(--line);font:600 .88rem/1.1 var(--body);transition:border-color .3s,background .3s}
.defects .mk{width:22px;height:22px;border-radius:50%;flex:none;display:grid;place-items:center;font-size:.8rem;font-weight:800;background:rgba(255,90,90,.16);color:var(--bad)}
.defects .mk::before{content:'!'}
.defects li.fixed{border-color:rgba(46,229,157,.45);background:rgba(46,229,157,.08)}
.defects li.fixed .mk{background:rgba(46,229,157,.2);color:var(--ok)}
.defects li.fixed .mk::before{content:'✓'}

/* --- Freezer --- */
.fz{height:100%;width:auto;max-width:100%}
.fz-label{font:600 10.5px/1 var(--body);fill:#cfe0ff;opacity:0}
.fz-label.on{fill:var(--amber)}
.door-led-svg{animation:blink 1.1s steps(2,jump-none) infinite}

/* --- Máquina de lavar --- */
.wm{height:100%;width:auto;max-width:100%;overflow:hidden;border-radius:18px}
.wm-disp{font:700 15px/1 var(--head);fill:var(--bad);letter-spacing:.06em}
.wm-led{animation:blink 1.1s steps(2,jump-none) infinite}
.bub{fill:rgba(255,255,255,.7);opacity:0}
.wm.wet .bub{animation:rise 2.4s ease-in infinite}
.wm.wet .bub.b2{animation-delay:.8s}
.wm.wet .bub.b3{animation-delay:1.5s}
.phases{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.phases li{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 2px;border-radius:12px;background:var(--card);border:1px solid var(--line);font:600 .72rem/1 var(--body);color:var(--mute);transition:all .25s}
.phases b{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font:700 .74rem/1 var(--head);background:rgba(255,255,255,.08)}
.phases li.on{border-color:var(--ice);color:var(--text);background:rgba(61,217,255,.1)}
.phases li.on b{background:var(--ice);color:#04212b}

/* --- Legenda e pontos --- */
.cap{height:140px;overflow:hidden;padding:14px 16px;border-radius:16px;background:var(--card);border:1px solid var(--line)}
.cap h3{font-size:1.05rem;margin-bottom:6px;color:var(--amber)}
.cap p{font-size:.92rem;color:var(--text)}
.cap .fails{margin-top:6px;color:var(--mute);font-size:.82rem}
.cap .fails b{color:var(--bad);font-weight:600}
.dots{display:flex;justify-content:center;gap:8px;margin-top:-2px}
.dots li{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.16);transition:all .25s}
.dots li.on{width:22px;border-radius:6px;background:var(--amber)}

/* ---------- Serviços ---------- */
.cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
.card{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:18px;background:var(--card);border:1px solid var(--line);text-decoration:none;transition:transform .15s,border-color .2s;-webkit-tap-highlight-color:transparent}
.card:active{transform:scale(.97);border-color:var(--wa)}
.card .ic{width:46px;height:46px;color:var(--ice);fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;padding:6px;border-radius:12px;background:rgba(61,217,255,.08)}
.card h3{font-size:1.02rem;margin-top:4px}
.card .fails{color:var(--mute);font-size:.8rem;line-height:1.4}
.card .go{margin-top:auto;padding-top:6px;display:flex;align-items:center;gap:6px;font:700 .82rem/1 var(--body);color:var(--wa)}
.notice{display:flex;align-items:flex-start;gap:12px;margin-top:14px;padding:14px 16px;border-radius:14px;border:1px dashed var(--line-2);color:var(--mute);font-size:.92rem}
.notice .i{color:var(--bad);margin-top:2px}

/* ícones animados dos cards */
.ic .spin{transform-box:fill-box;transform-origin:center;animation:spin 5s linear infinite}
.ic .blink{animation:blink 1.2s steps(2,jump-none) infinite}
.ic .heat{stroke:var(--amber);animation:heat 1.6s ease-in-out infinite}
.ic .drops{animation:fall 1.4s linear infinite}
.ic .pulse{fill:rgba(255,176,32,.0);animation:glowfill 2s ease-in-out infinite}
.ic .spark{animation:flick 1.8s infinite}
.ic .glow{stroke:var(--amber);animation:glow 2s ease-in-out infinite}

/* ---------- Tiles ---------- */
.tile{padding:22px;border-radius:20px;background:var(--card);border:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.tile h3{font-size:1.2rem}
.tile-ic{width:44px;height:44px;flex:none;border-radius:14px;display:grid;place-items:center;background:rgba(255,176,32,.12);color:var(--amber)}
.tile-ic .i{width:22px;height:22px}
.why{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
.tile.sm{flex-direction:row;align-items:center;gap:10px;padding:12px 14px;border-radius:14px}
.tile.sm .i{color:var(--amber);width:22px;height:22px}
.tile.sm h3{font-size:.86rem;line-height:1.25;font-weight:600}
.links{display:grid;gap:10px;margin-top:20px}
.lnk{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:16px;background:var(--card);border:1px solid var(--line);text-decoration:none;-webkit-tap-highlight-color:transparent}
.lnk:active{border-color:var(--wa)}
.lnk .lt{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.lnk b{font:600 1rem/1.2 var(--head)}
.lnk small{color:var(--mute);font-size:.84rem}
.lnk .go-i{color:var(--wa);width:24px;height:24px}

/* ---------- Marcas ---------- */
.brands{padding:40px 0 34px;border-bottom:1px solid var(--line)}
.brand-band{margin-top:22px;overflow:hidden;border-block:1px solid var(--line);background:linear-gradient(90deg,transparent,rgba(61,217,255,.06),transparent)}
.brand-track{display:flex;align-items:center;gap:28px;width:max-content;padding:16px 0;animation:marquee 26s linear infinite}
.brand-track span{font:700 clamp(1.7rem,8vw,2.6rem)/1 var(--head);letter-spacing:-.02em;color:transparent;-webkit-text-stroke:1.5px var(--ice)}
.brand-track span:nth-of-type(3n+2){-webkit-text-stroke-color:var(--amber)}
.brand-track i{width:10px;height:10px;border-radius:50%;background:var(--ok)}

/* ---------- Como funciona ---------- */
.steps{position:relative;display:grid;gap:18px;margin:22px 0 0;padding-left:0}
.steps .track{position:absolute;left:25px;top:28px;bottom:28px;width:3px;border-radius:3px;background:var(--line-2)}
.steps .fill{display:block;width:100%;height:100%;border-radius:3px;background:linear-gradient(var(--bad),var(--amber),var(--ok));transform-origin:50% 0;transform:scaleY(0)}
html:not(.anim) .steps .fill{transform:none}
.step{position:relative;display:flex;gap:18px;align-items:flex-start}
.bubble{position:relative;z-index:1;width:52px;height:52px;flex:none;display:grid;place-items:center;border-radius:50%;background:var(--card-2);border:2px solid var(--line-2);color:var(--mute);transition:all .35s}
.step.is-on .bubble{background:var(--ok);border-color:var(--ok);color:#04210F;box-shadow:0 0 0 8px rgba(46,229,157,.14)}
.step h3{font-size:1.15rem;margin-bottom:4px}
.step p{color:var(--mute)}
.step>div{padding-top:6px}

/* ---------- Onde estamos ---------- */
.where{display:flex;align-items:center;gap:16px;margin-top:18px}
.radar{position:relative;width:110px;flex:none;aspect-ratio:1}
.radar .ring{position:absolute;inset:0;border-radius:50%;border:1.5px solid var(--ice);opacity:0;animation:radar 3.6s ease-out infinite}
.radar .r2{animation-delay:1.2s}
.radar .r3{animation-delay:2.4s}
.radar::before{content:'';position:absolute;inset:0;border-radius:50%;border:1px dashed var(--line-2);background:radial-gradient(circle,rgba(61,217,255,.1),transparent 70%)}
.radar .pin{position:absolute;inset:0;display:grid;place-items:center;color:var(--amber)}
.radar .pin .i{width:34px;height:34px;fill:rgba(255,176,32,.2);animation:bob 1.6s ease-in-out infinite}
.areas{display:flex;flex-wrap:wrap;gap:6px}
.areas li{padding:7px 11px;border-radius:999px;background:var(--card);border:1px solid var(--line-2);font:600 .88rem/1 var(--body)}
.areas li.more{color:var(--mute);border-style:dashed;background:transparent}
.loc{display:grid;gap:12px;margin-top:16px;padding:16px;border-radius:22px;background:var(--card);border:1px solid var(--line)}
.open-badge{display:inline-flex;align-items:center;gap:10px;justify-self:start;padding:9px 14px;border-radius:999px;background:rgba(255,255,255,.06);font:600 .85rem/1 var(--body);color:var(--mute)}
.open-badge i{width:9px;height:9px;border-radius:50%;background:var(--mute)}
.open-badge.is-open{background:rgba(46,229,157,.12);color:var(--ok)}
.open-badge.is-open i{background:var(--ok);animation:ping 1.8s infinite}
.open-badge.is-closed{background:rgba(255,90,90,.12);color:var(--bad)}
.open-badge.is-closed i{background:var(--bad)}
address{display:flex;gap:12px;font-style:normal;color:var(--text)}
address .i{color:var(--amber);margin-top:3px}
.hours-line{color:var(--mute);font-size:.9rem}
.hours-line b{color:var(--text);font-weight:600}
.hours{width:100%;border-collapse:collapse;font-size:.92rem}
.hours th,.hours td{padding:10px 0;border-bottom:1px solid var(--line);text-align:left;font-weight:500}
.hours td{text-align:right;color:var(--mute)}
.hours tr:last-child th,.hours tr:last-child td{border:0}
.map{border-radius:14px;overflow:hidden;border:1px solid var(--line);aspect-ratio:16/9;background:var(--bg-2)}
.map iframe{width:100%;height:100%;border:0;filter:saturate(.85) contrast(.95)}
.loc .cta-row{flex-direction:row}
.loc .cta-row .btn{flex:1;padding:0 12px;white-space:nowrap}

/* ---------- FAQ ---------- */
.faq{margin-top:20px;display:grid;gap:10px}
.faq details{border-radius:16px;background:var(--card);border:1px solid var(--line);overflow:hidden}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;min-height:54px;font:600 1rem/1.3 var(--body)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';flex:none;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:rgba(61,217,255,.12);color:var(--ice);font-size:1.2rem;transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details[open]{border-color:var(--line-2)}
.faq p{padding:0 16px 16px;color:var(--mute)}

/* ---------- Final ---------- */
.final{position:relative;padding:48px 0 52px;text-align:center;background:radial-gradient(ellipse at 50% 0%,rgba(37,211,102,.16),transparent 60%),var(--bg-2);border-top:1px solid var(--line)}
.final-leds{display:flex;justify-content:center;gap:14px;margin-bottom:18px}
.final-leds i{width:14px;height:14px;border-radius:50%;background:var(--ok);box-shadow:0 0 18px var(--ok);animation:pulse-led 1.8s ease-in-out infinite}
.final-leds i:nth-child(2){animation-delay:.25s}
.final-leds i:nth-child(3){animation-delay:.5s}
.final .cta-row{margin-top:22px}

/* ---------- Rodapé ---------- */
.foot{padding:28px 0 20px;border-top:1px solid var(--line);color:var(--mute);font-size:.9rem}
.foot .wrap{display:grid;gap:10px}
.foot-name{display:flex;align-items:center;gap:10px;font:700 1.05rem/1.2 var(--head);color:var(--text)}
.foot-name .i{color:var(--ice)}
.foot a{color:var(--text)}

/* ---------- Dock fixa ---------- */
.dock{position:fixed;left:0;right:0;bottom:0;z-index:55;display:flex;gap:10px;padding:10px 14px calc(10px + var(--safe-b));
  background:rgba(10,15,26,.86);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);transition:transform .35s}
.dock .btn{min-height:48px;padding:0 14px;white-space:nowrap}
.dock .btn-wa{flex:1}
.dock .btn-ghost{padding:0 18px}
.anim .dock{transform:translateY(110%)}
.anim .dock.show{transform:none}

/* ---------- Estado inicial das animações (só com JS + GSAP) ---------- */
.anim .reveal{opacity:0;transform:translateY(34px)}
.anim .hero-in{opacity:0}

/* ---------- Keyframes ---------- */
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes blink{50%{opacity:.15}}
@keyframes ping{70%{box-shadow:0 0 0 10px rgba(255,90,90,0)}100%{box-shadow:0 0 0 0 rgba(255,90,90,0)}}
@keyframes bob{50%{transform:translateY(5px)}}
@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes flick{0%,100%{opacity:0}4%,10%{opacity:1}14%{opacity:0}18%{opacity:1}22%{opacity:0}}
@keyframes glitch{
  0%,90%,100%{transform:none;text-shadow:none}
  92%{transform:translate(-2px,1px);text-shadow:2px 0 var(--bad),-2px 0 var(--ice)}
  94%{transform:translate(2px,-1px);text-shadow:-2px 0 var(--bad),2px 0 var(--ice)}
  96%{transform:translate(-1px,0);text-shadow:1px 0 var(--amber)}
}
@keyframes heat{0%{opacity:0;transform:translateY(4px)}50%{opacity:1}100%{opacity:0;transform:translateY(-4px)}}
@keyframes fall{0%{transform:translateY(0);opacity:1}100%{transform:translateY(12px);opacity:0}}
@keyframes glowfill{50%{fill:rgba(255,176,32,.28)}}
@keyframes glow{50%{stroke:var(--bad)}}
@keyframes rise{0%{transform:translateY(0);opacity:0}20%{opacity:.9}100%{transform:translateY(-70px);opacity:0}}
@keyframes radar{0%{transform:scale(.15);opacity:.9}100%{transform:scale(1);opacity:0}}
@keyframes ctahot{50%{transform:scale(1.03);box-shadow:0 0 0 8px rgba(37,211,102,.18),0 8px 28px rgba(37,211,102,.5)}}
@keyframes pulse-led{50%{opacity:.35}}

/* ---------- Celulares baixos (ex.: 375×667) ---------- */
@media (max-height:720px){
  .scene-pin{gap:8px}
  .scene-head .kicker{display:none}
  .scene-head h2{font-size:1.2rem}
  .cap{height:114px;padding:10px 14px}
  .cap h3{font-size:.98rem;margin-bottom:4px}
  .cap p{font-size:.86rem}
  .defects li{padding:7px 10px;font-size:.82rem}
  .scene-cta{min-height:46px}
  .phases li{padding:6px 2px}
}

/* ---------- Telas maiores ---------- */
@media (min-width:640px){
  .top-tel{display:flex}
  .cta-row{flex-direction:row}
  .btn-lg{width:auto;flex:1}
  .cards{grid-template-columns:repeat(4,1fr)}
  .why{grid-template-columns:repeat(3,1fr)}
}
@media (min-width:900px){
  .menu-btn{display:none}
  .nav{position:static;flex-direction:row;align-items:center;padding:0;background:none;opacity:1;visibility:visible;transform:none;gap:22px;order:2}
  .nav a:not(.btn){font:600 .92rem/1 var(--body);padding:0;border:0;color:var(--mute)}
  .nav .btn{display:none}
  .top{padding-inline:max(24px,calc((100vw - 1040px)/2))}
  .logo{margin-right:0}
  .top-tel{margin-left:auto}
  .top-wa{order:3}
}

/* ---------- Movimento reduzido ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}
  .marquee-track,.brand-track{animation:none}
}
