body{margin:0;background:#0a0a0b}
:root{--n950:#0a0a0b;--n900:#121214;--n850:#17171a;--n800:#1c1c20;--n700:#2a2a30;--line:#3a3a42;--b400:#a6a6b0;--b300:#c8c8d0;--b200:#e2e2e6;--mars:#C4401F;--mars2:#E8643F;--dust:#E8A07A;--amber:#F2B33D;--tx:#ececf0;--mut:#a8a8b0;--dim:#8a8a93}
a{color:#c8c8d0}a:hover{color:#e2e2e6}
.h2{font-family:'IBM Plex Sans',system-ui,sans-serif;color:#ececf0;background-color:#0a0a0b;background-image:radial-gradient(1px 1px at 12% 18%,rgba(255,255,255,.55) 50%,transparent 51%),radial-gradient(1px 1px at 63% 42%,rgba(226,226,230,.45) 50%,transparent 51%),radial-gradient(1.5px 1.5px at 82% 77%,rgba(255,255,255,.5) 50%,transparent 51%),radial-gradient(1px 1px at 33% 88%,rgba(255,230,210,.4) 50%,transparent 51%),radial-gradient(1px 1px at 91% 9%,rgba(255,255,255,.4) 50%,transparent 51%);background-size:420px 420px,530px 530px,710px 710px,380px 380px,610px 610px;overflow-x:hidden;-webkit-font-smoothing:antialiased}
.h2 *{box-sizing:border-box}
.mono{font-family:'JetBrains Mono',ui-monospace,monospace}
.disp{font-family:'Chakra Petch','Space Grotesk',system-ui,sans-serif}
.wrap{max-width:1240px;margin:0 auto;padding:0 32px}
.eyebrow{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#c8c8d0;display:flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:22px;height:1px;background:linear-gradient(90deg,#5a8fd6,#c8c8d0)}
.hsec{font-family:'Chakra Petch',sans-serif;font-weight:600;font-size:clamp(34px,4.6vw,58px);line-height:1.02;margin:0;letter-spacing:-.01em;text-wrap:balance}
.lead{font-size:18px;line-height:1.6;color:#a8a8b0;margin:0;text-wrap:pretty}
.sec{position:relative;padding:120px 0;isolation:isolate}
.sec::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 70% 55% at 88% 0%,rgba(47,95,168,.22),transparent 70%),radial-gradient(ellipse 60% 50% at 0% 100%,rgba(29,58,107,.30),transparent 70%)}
.sec:nth-of-type(even)::before{background:radial-gradient(ellipse 70% 55% at 12% 0%,rgba(47,95,168,.22),transparent 70%),radial-gradient(ellipse 60% 50% at 100% 100%,rgba(29,58,107,.30),transparent 70%)}
.grid-bg{background-image:linear-gradient(rgba(166,166,176,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(166,166,176,.05) 1px,transparent 1px);background-size:56px 56px}
.panel{position:relative;background:linear-gradient(160deg,rgba(32,56,98,.55),rgba(18,18,20,.8) 58%);border:1px solid #3a3a42;border-radius:3px}
.frame::before,.frame::after{content:"";position:absolute;width:14px;height:14px;pointer-events:none}
.frame::before{top:-1px;left:-1px;border-top:2px solid #a6a6b0;border-left:2px solid #a6a6b0}
.frame::after{bottom:-1px;right:-1px;border-bottom:2px solid #a6a6b0;border-right:2px solid #a6a6b0}
.frame-red::before{border-color:#E8643F}.frame-red::after{border-color:#E8643F}
span.m-only,a.m-only{display:none}
@media (max-width:1024px){.d-only{display:none!important}span.m-only{display:inline}a.m-only{display:inline-flex}.m-cta{display:grid!important;grid-template-columns:1fr!important}.m-cta .btn.m-only{width:100%;grid-column:1/-1;border-radius:0!important;clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px)!important}.m-herobox{max-width:none!important}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;font-family:'Chakra Petch',sans-serif;font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:15px;border:1px solid transparent;cursor:pointer;text-decoration:none;clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);transition:filter .2s,transform .2s,background .2s}
.btn:hover{filter:brightness(1.12);transform:translateY(-1px)}
.btn:focus-visible,.chip:focus-visible,.ibtn:focus-visible,.navlink:focus-visible{outline:2px solid #c8c8d0;outline-offset:3px}
.btn-red{background:#C4401F;color:#fff}
.btn-red:hover{color:#fff}
.btn-blue{background:linear-gradient(135deg,#8fb4e8,#4f7fc4 55%,#35598f);color:#06101f}
.btn-blue:hover{color:#06101f}
.btn-ghost{background:rgba(18,18,20,.6);border-color:#3a3a42;color:#ececf0}
.btn-ghost:hover{color:#ececf0;border-color:#a6a6b0}
.btn-sm{min-height:44px;padding:0 16px;font-size:13px}
.chip{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.04em;border:1px solid #3a3a42;border-radius:2px;background:rgba(18,18,20,.55);color:#a8a8b0;cursor:pointer;transition:all .18s}
.chip:hover{border-color:#a6a6b0;color:#ececf0}
.chip.on{background:linear-gradient(135deg,#8fb4e8,#4f7fc4);border-color:#6f9bd8;color:#06101f}
.chip.on-red{background:#C4401F;border-color:#C4401F;color:#fff}
.ibtn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #3a3a42;background:rgba(10,10,11,.75);color:#e2e2e6;cursor:pointer;border-radius:2px}
.ibtn:hover{border-color:#a6a6b0}
.tag{display:inline-flex;align-items:center;gap:6px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border:1px solid #3a3a42;border-radius:2px;color:#a8a8b0}
.tag-red{border-color:rgba(232,100,63,.55);color:#FF9C7D}
.tag-blue{border-color:rgba(166,166,176,.55);color:#c8c8d0}
.tag-amber{border-color:rgba(242,179,61,.55);color:#F7CC77}
.navlink{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#a8a8b0;text-decoration:none;padding:12px 12px;border-radius:2px}
.navlink:hover{color:#ececf0;background:rgba(166,166,176,.08)}
.modal{position:absolute;z-index:40;background:linear-gradient(160deg,#1c2f52,#131316 70%);border:1px solid #a6a6b0;box-shadow:0 0 0 4px rgba(166,166,176,.12),0 30px 90px rgba(0,0,0,.65),inset 0 0 80px rgba(166,166,176,.07);border-radius:4px;animation:pop .28s cubic-bezier(.2,.9,.3,1.2) both}
.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:linear-gradient(90deg,rgba(79,127,196,.30),rgba(166,166,176,.08));border-bottom:1px solid rgba(166,166,176,.35)}
@keyframes pop{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes scan{from{transform:translateY(-100%)}to{transform:translateY(100%)}}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.4}}
@keyframes alertIn{from{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%,0)}}
.dot-live{width:8px;height:8px;border-radius:50%;background:#E8643F;box-shadow:0 0 10px #E8643F;animation:pulse 1.6s infinite}
.meter{display:flex;gap:3px}
.meter i{width:12px;height:12px;border:1px solid #3a3a42;display:block}
.meter i.f{background:#E8643F;border-color:#E8643F}
.kv{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px dashed rgba(166,166,176,.18);font-size:14px}
.kv span:first-child{color:#a8a8b0}
.layer{--c:#a6a6b0;display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:start;padding:11px 12px;border:1px solid rgba(58,58,66,.45);border-left:2px solid rgba(58,58,66,.7);transition:background .2s,border-color .2s}
.layer:hover{background:rgba(255,255,255,.03)}
.layer.on{background:rgba(255,255,255,.04);border-left-color:var(--c)}
.layer-ic{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid rgba(58,58,66,.8);background:transparent;color:#8a8a94;cursor:pointer;transition:all .2s}
.layer-ic svg{width:18px;height:18px}
.layer:hover .layer-ic{color:#c8c8d0}
.layer.on .layer-ic{color:var(--c);border-color:var(--c)}
.layer-ic:focus-visible{outline:2px solid var(--c);outline-offset:2px}
.layer-body{display:flex;flex-direction:column;gap:4px;min-width:0}
.layer-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.layer-name{font-size:15px;font-weight:500;color:#e8e8ec;line-height:1.3}
.layer-src{font-size:12px;line-height:1.45;color:#8a8a94}
.layer-pct{font-size:11px;color:var(--c)}
.layer-grad{display:none;height:4px;margin-top:3px}
.layer.on .layer-grad{display:block}
.layer-op{display:flex;align-items:center;gap:12px;margin-top:6px;font-size:11px;color:#a8a8b0}
.layer input[type=range]{flex:1;width:100%;accent-color:var(--c)}
.sw{position:relative;flex:none;width:36px;height:20px;border-radius:10px;border:0;background:#2a2a30;cursor:pointer;padding:0;margin-top:1px;transition:background .2s}
.sw span{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#6b6b73;transition:all .2s}
.sw.on{background:rgba(166,166,176,.35)}
.sw.on span{left:19px;background:#e2e2e6;box-shadow:none}
.sw:focus-visible{outline:2px solid #a6a6b0;outline-offset:2px}
.sw[disabled]{opacity:.4;cursor:not-allowed}
.prof-blue{stroke:#a6a6b0}.prof-amber{stroke:#F2B33D}.prof-red{stroke:#E8643F}
.al{display:grid;grid-template-columns:10px 1fr;gap:12px;padding:12px 14px;border:1px solid #3a3a42;background:rgba(10,10,11,.5)}
.al i{display:block;width:10px;height:10px;margin-top:5px;transform:rotate(45deg)}
.al-red i{background:#E8643F}.al-amber i{background:#F2B33D}.al-blue i{background:#a6a6b0}
.mode{cursor:pointer;text-align:left;font:inherit;color:inherit;padding:18px;border:1px solid #3a3a42;background:rgba(18,18,20,.6);border-radius:3px;transition:all .2s;display:flex;flex-direction:column;gap:12px;width:100%}
.mode:hover{border-color:#a6a6b0}
.mode.on{border-color:#a6a6b0;background:rgba(166,166,176,.12);box-shadow:inset 0 0 0 1px #a6a6b0}
.fcard{display:flex;flex-direction:column;gap:14px;padding:22px;border:1px solid #3a3a42;background:linear-gradient(160deg,rgba(34,60,104,.5),rgba(14,14,16,.78) 62%);border-radius:3px;transition:transform .25s,border-color .25s;min-height:250px}
.fcard:hover{transform:translateY(-3px);border-color:#a6a6b0}
.stage{position:relative;height:760px;border:1px solid #3a3a42;border-radius:6px;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#1b2c4d 0%,#0d0d0f 60%,#050506 100%)}
.layerv{position:absolute;inset:0;transition:opacity .6s}
.hidden-v{opacity:0;visibility:hidden;pointer-events:none}
.hs{position:absolute;left:0;top:0;display:flex;align-items:center;gap:10px;pointer-events:none;will-change:transform;transition:opacity .3s}
.hs-dot{width:14px;height:14px;border-radius:50%;border:2px solid #c8c8d0;background:rgba(166,166,176,.35);box-shadow:0 0 14px #a6a6b0;flex:none}
.hs-card{max-width:220px;padding:8px 10px;background:rgba(19,19,22,.88);border:1px solid rgba(166,166,176,.5);font-size:12.5px;line-height:1.4;color:#e2e2e6;border-radius:2px}
.hs-card b{display:block;font-family:'Chakra Petch',sans-serif;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#fff;margin-bottom:2px}
.hud{position:absolute;pointer-events:none;font-family:'JetBrains Mono',monospace;color:#dcdce2;text-shadow:0 0 8px rgba(166,166,176,.6)}
.hud-box{background:rgba(13,13,15,.42);border:1px solid rgba(200,200,208,.35);padding:10px 12px;border-radius:3px;backdrop-filter:blur(2px)}
.hud-lbl{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#bcbcc4}
.bar{height:6px;background:rgba(200,200,208,.15);border-radius:1px;overflow:hidden}
.bar b{display:block;height:100%;background:linear-gradient(90deg,#4f7fc4,#c8c8d0);box-shadow:0 0 8px #4f7fc4}
.bar.red b{background:#FF7A55;box-shadow:0 0 8px #E8643F}
.hud-alert{position:absolute;left:50%;top:118px;transform:translateX(-50%);width:min(560px,80%);pointer-events:auto;animation:alertIn .35s both;text-shadow:none}
.hud-alert .in{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:12px 16px;border-radius:3px;font-family:'IBM Plex Sans',sans-serif}
.ha-red .in{background:rgba(120,24,6,.82);border:1px solid #FF7A55;color:#FFE3D9}
.ha-amber .in{background:rgba(92,60,4,.82);border:1px solid #F2B33D;color:#FFF0CF}
.ha-blue .in{background:rgba(30,30,36,.85);border:1px solid #c8c8d0;color:#eeeef0}
.msg{padding:8px 10px;border-radius:3px;font-family:'IBM Plex Sans',sans-serif;font-size:13px;line-height:1.45;text-shadow:none}
.msg-h2g2{background:rgba(30,30,36,.75);border:1px solid rgba(200,200,208,.4);color:#eeeef0}
.msg-eu{background:rgba(196,64,31,.35);border:1px solid rgba(232,100,63,.55);color:#FFE3D9;align-self:flex-end}
.qbtn{pointer-events:auto;text-align:left;font-family:'IBM Plex Sans',sans-serif;font-size:12.5px;min-height:36px;padding:6px 10px;border:1px solid rgba(200,200,208,.4);background:rgba(13,13,15,.65);color:#eeeef0;border-radius:2px;cursor:pointer}
.qbtn:hover{background:rgba(166,166,176,.25)}
.ctl{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.ctl-g{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.ctl-l{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#8a8a93;margin-right:4px}
.tbl{width:100%;border-collapse:collapse;min-width:760px}
.tbl th{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#c8c8d0;text-align:left;padding:12px 14px;border-bottom:1px solid #a6a6b0;font-weight:500}
.tbl td{padding:14px;border-bottom:1px solid rgba(58,58,66,.7);font-size:14.5px;vertical-align:top;color:#ececf0}
.tbl tr:hover td{background:rgba(166,166,176,.06)}
.member{display:flex;flex-direction:column;gap:14px;padding:24px;border:1px solid #3a3a42;background:#121214;border-radius:3px}
/* ── Tripulação: cards de retrato ── */
.crew-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:22px;max-width:1200px}
@media (min-width:900px){.crew-grid{grid-template-columns:repeat(4,1fr)}}
.crew{--ac:#a6a6b0;position:relative;display:flex;flex-direction:column;background:linear-gradient(180deg,#17171a,#101012);border:1px solid #3a3a42;border-radius:3px;transition:border-color .25s,translate .25s}
.crew::before,.crew::after{content:"";position:absolute;width:16px;height:16px;pointer-events:none;z-index:3;transition:border-color .25s}
.crew::before{top:-1px;left:-1px;border-top:2px solid var(--ac);border-left:2px solid var(--ac)}
.crew::after{bottom:-1px;right:-1px;border-bottom:2px solid var(--ac);border-right:2px solid var(--ac)}
.crew:hover{border-color:var(--ac);translate:0 -4px}
.crew-photo{position:relative;aspect-ratio:1/1;overflow:hidden;background:#0a0a0b;clip-path:polygon(0 0,calc(100% - 28px) 0,100% 28px,100% 100%,0 100%)}
.crew-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.9) contrast(1.05) brightness(.82) hue-rotate(-6deg);transition:filter .5s,transform .6s}
.crew:hover .crew-photo img{filter:saturate(1) contrast(1.05) brightness(.95);transform:scale(1.04)}
.crew:not(.crew ~ .crew) .crew-photo img,.crew-photo img[src$="vanessa.jpeg"]{opacity:.55}
.crew:not(.crew ~ .crew) + .crew .crew-photo img{opacity:.8}
.crew:not(.crew ~ .crew) + .crew:hover .crew-photo img,
.crew:not(.crew ~ .crew):hover .crew-photo img,.crew:hover .crew-photo img[src$="vanessa.jpeg"]{opacity:1}
.crew-photo::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(160deg,rgba(32,64,120,.38),rgba(10,20,48,.5));mix-blend-mode:multiply;transition:opacity .5s}
.crew:hover .crew-photo::before{opacity:.45}
.crew-photo::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(10,10,11,0) 55%,rgba(10,10,11,.92) 100%),repeating-linear-gradient(0deg,rgba(200,200,208,.04) 0 1px,transparent 1px 3px)}
.crew-id{position:absolute;left:12px;top:12px;z-index:2;font-size:11px;letter-spacing:.14em;color:#e2e2e6;background:rgba(10,10,11,.75);border:1px solid rgba(166,166,176,.45);padding:4px 8px}
.crew-bar{position:absolute;left:0;bottom:0;height:3px;width:56%;background:var(--ac);z-index:2;transition:width .4s}
.crew:hover .crew-bar{width:100%}
.crew-body{display:flex;flex-direction:column;gap:4px;padding:10px 22px 18px;margin-top:-34px;position:relative;z-index:2}
.crew-role{font-size:11px;letter-spacing:.12em;color:var(--ac);text-transform:uppercase}
.crew-name{margin:0;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;line-height:1.4;color:var(--ac)}
.crew-soc{display:flex;gap:10px;margin-top:12px}
.soc{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;color:#c8c8d0;border:1px solid #3a3a42;background:rgba(10,10,11,.6);border-radius:2px;transition:color .2s,border-color .2s,background .2s,transform .2s}
a.soc:hover{color:#0a0a0b;background:var(--ac);border-color:var(--ac);transform:translateY(-2px)}
a.soc:focus-visible{outline:2px solid #c8c8d0;outline-offset:3px}
.soc-off{opacity:.35;border-style:dashed;cursor:not-allowed}
@media (prefers-reduced-motion: reduce){.crew,.crew-photo img,.crew-bar{transition:none}.crew:hover{translate:none}}
.avatar{width:64px;height:64px;clip-path:polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%);display:grid;place-items:center;font-family:'Chakra Petch',sans-serif;font-weight:700;font-size:24px}
.gale-tag{position:absolute;left:0;top:0;z-index:3;pointer-events:none;display:flex;align-items:center;gap:10px;opacity:0;transition:opacity .4s;will-change:transform}
.scanline{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(200,200,208,.035) 0 1px,transparent 1px 3px)}
.scanbar{position:absolute;left:0;right:0;height:30%;background:linear-gradient(180deg,transparent,rgba(200,200,208,.06),transparent);animation:scan 6s linear infinite;pointer-events:none}
@supports (animation-timeline: view()){.rv{animation:rv linear both;animation-timeline:view();animation-range:entry 0% entry 60%}@keyframes rv{from{opacity:0;transform:translateY(46px)}to{opacity:1;transform:none}}}
@media (prefers-reduced-motion: reduce){.rv,.scanbar,.dot-live{animation:none!important}}
@media (max-width:980px){.navlinks{display:none!important}.hide-md{display:none!important}}
@media (max-width:720px){.wrap{padding:0 16px}.sec{padding:84px 0}.stage{height:620px}.hide-sm{display:none!important}.hud-alert{top:84px;width:92%}.hero-copy{padding-top:72px!important}}

.lang-sw{position:absolute;top:14px;right:14px;z-index:200;display:flex;gap:2px;padding:3px;background:rgba(10,10,11,.82);border:1px solid #3a3a42;border-radius:3px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.lang-btn{min-width:40px;min-height:34px;padding:0 10px;font-family:"JetBrains Mono",monospace;font-size:12px;font-weight:600;letter-spacing:.08em;color:#a8a8b0;background:transparent;border:1px solid transparent;border-radius:2px;cursor:pointer;transition:all .18s}
.lang-btn:hover{color:#ececf0;border-color:#a6a6b0}
.lang-btn:focus-visible{outline:2px solid #c8c8d0;outline-offset:2px}
.lang-btn.on{background:#C4401F;border-color:#C4401F;color:#fff}
@media (max-width:560px){.lang-sw{top:8px;right:8px}.lang-btn{min-width:36px;padding:0 8px}}
.lang-sw.lang-sw-foot{position:static;align-self:flex-start}

/* ================= MOBILE · APP-LIKE LAYOUT ================= */
.m-tabbar,.m-car-nav{display:none}
@media (max-width:720px){
html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scroll-padding-top:16px}
body{font-size:17px}
.wrap{padding:0 18px}
.sec{padding:64px 0!important}
.sec>.wrap{gap:28px!important}
.hsec{font-size:clamp(36px,10.5vw,46px);line-height:1.04}
.lead,p.lead{font-size:18.5px!important;line-height:1.55;color:#c4c4cc}
.eyebrow{font-size:13px}

/* --- controls: big, thumb-friendly --- */
.btn{min-height:58px;font-size:16px;padding:0 22px;border-radius:0;clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px)}
.btn-sm{min-height:54px;font-size:15px}
.chip{min-height:48px;padding:0 18px;font-size:14.5px;border-radius:999px;flex:1 0 auto;justify-content:center}
.ibtn{width:52px;height:52px;border-radius:14px}
.ibtn[style*="width: 36px"]{width:48px!important;height:48px!important;border-radius:12px}
.qbtn{font-size:15px!important;min-height:50px;padding:12px 16px!important;border-radius:12px}
.tag{font-size:12.5px;padding:7px 11px;border-radius:999px}
.panel{border-radius:18px}

/* --- language switch: pill --- */
.lang-sw{top:calc(10px + env(safe-area-inset-top));right:12px}
.lang-btn{min-height:44px;min-width:46px;font-size:14px}

/* --- hero: full screen, content anchored to bottom --- */
.m-hero{min-height:100svh!important;display:flex;flex-direction:column;justify-content:flex-end}
.m-hero>div[style*="linear-gradient(90deg"]{background:linear-gradient(180deg,rgba(10,10,11,.2) 0%,rgba(10,10,11,.55) 45%,rgba(10,10,11,.96) 78%)!important}
.hero-copy{padding-top:0!important;padding-bottom:calc(38px + env(safe-area-inset-bottom))!important}
.m-herobox{gap:18px!important;max-width:none!important}
.m-herobox img{max-width:56px!important}
.m-herobox h1>span:first-child{font-size:clamp(84px,27vw,128px)!important}
.m-herobox h1>span:last-child{font-size:clamp(17px,4.8vw,22px)!important;letter-spacing:.14em!important}
.m-herobox .lead{font-size:18px!important}
.m-cta{display:grid!important;grid-template-columns:1fr 1fr;gap:10px!important}
.m-cta .btn:first-child,.m-cta .btn:nth-child(2){grid-column:1/-1}
.m-cta .btn{width:100%}
html{scroll-behavior:auto}
.m-herobox>p.mono{font-size:13px!important;text-align:center}

/* --- stats: 2-col tiles --- */
.m-stats{grid-template-columns:1fr 1fr!important;gap:10px!important;background:none!important;border:0!important}
.m-stats>div{padding:20px 16px!important;border-radius:18px;border:1px solid #2c2c33;background:linear-gradient(160deg,#16213a,#0d0d0f 70%)!important}
.m-stats>div:last-child:nth-child(odd){grid-column:1/-1}
.m-stats .disp{font-size:clamp(32px,9.5vw,42px)!important;line-height:1.05}
.m-stats .disp>span{font-size:.5em!important}
.m-stats>div>span:last-child{font-size:15px!important;line-height:1.35}
.panel.frame{padding:22px!important;flex-direction:column;align-items:stretch!important}
.panel.frame h3{font-size:26px!important}

/* --- map: full-bleed map first, layers as swipe rail, modes as cards --- */
#mapa .rv .ctl-g{width:100%;display:grid;grid-template-columns:52px 52px 1fr;gap:8px}
.m-maplayout{flex-direction:column;gap:14px!important}
.m-mapcol{order:-1;flex:none!important;gap:14px!important}
#h2-map-wrap{height:68svh!important;min-height:440px;margin:0 -18px;border-radius:0;border-left:0;border-right:0}
.m-layers{flex:none!important;padding:10px!important;border-radius:16px}
.m-layers>div{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important;align-items:stretch}
.m-layers .layer{min-width:0;box-sizing:border-box;margin:0}
.m-layers .layer{grid-template-columns:34px 1fr;align-items:center;padding:8px 10px;gap:4px 10px;border-radius:12px;border:1px solid rgba(58,58,66,.45)}
.m-layers .layer.on{border-color:var(--c)}
.m-layers .layer-body{display:contents}
.m-layers .layer-head{grid-column:2;grid-row:1;flex-direction:column;align-items:flex-start;gap:0}
.m-layers .layer-name{font-size:14px;line-height:1.2}
.m-layers .layer-src{display:none}
.m-layers .layer-op{grid-column:1/-1;margin-top:2px}
.m-layers .layer-op>span{display:none}
.m-layers .layer-grad{grid-column:1/-1}
.layer-ic{width:34px;height:34px;border-radius:10px}
.layer-ic svg{width:18px;height:18px}
.layer-name{font-size:17.5px}
.layer-src{font-size:14px}
.layer-pct,.layer-op{font-size:12px}
.layer input[type=range]{height:24px}
.m-modes{grid-template-columns:1fr!important;gap:6px!important}
.mode{padding:8px 11px;border-radius:11px;gap:4px}
.mode .disp{font-size:13.5px!important}
.mode .mono{font-size:7.5px!important;gap:1px 6px!important}

/* map target sheet → bottom sheet */
#h2-map-wrap .modal{top:auto!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;max-height:86%;border-radius:22px 22px 0 0;border-bottom:0}
#h2-map-wrap .modal::before{content:"";position:absolute;left:50%;top:7px;width:44px;height:5px;margin-left:-22px;border-radius:9px;background:rgba(200,200,208,.5)}
.modal-head{padding:18px 18px 14px}
.modal-head .mono{font-size:14px!important}
.modal h3{font-size:26px!important}
.kv{font-size:16px;padding:13px 0}
.modal p{font-size:16px!important;line-height:1.55}
.modal [style*="font-size: 11px"],.modal [style*="font-size: 11.5px"],.modal [style*="font-size: 12.5px"],.modal [style*="font-size: 13.5px"]{font-size:15px!important}
.modal [style*="font-size: 10.5px"]{font-size:13px!important}
.modal .btn{width:100%}

/* --- features: duo stacked, cards as horizontal swipe deck --- */
.fx-duo{grid-template-columns:1fr!important;gap:10px!important}
.fx-duo>div{flex-direction:column;gap:12px!important;padding:20px!important;border-radius:18px}
.fx-duo>div p{font-size:17px!important}
.m-feats{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:0!important;scrollbar-width:none;overscroll-behavior-x:contain}
.m-feats::-webkit-scrollbar{display:none}
.m-feats .fcard{flex:0 0 100%;scroll-snap-align:center;scroll-snap-stop:always;padding:26px 24px;gap:16px;border-radius:20px;min-height:360px}
.m-car-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px}
.m-car-dots{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;flex:1}
.m-car-dots button{width:9px;height:9px;padding:0;border:0;border-radius:9px;background:#3a3a42;cursor:pointer;transition:width .25s,background .25s}
.m-car-dots button.on{width:26px;background:#E8643F}
.m-car-count{font:500 13px/1 'JetBrains Mono',monospace;color:#8a8a93;min-width:52px;text-align:center}
.m-car-nav .ibtn:disabled{opacity:.35}
.fcard .disp[style*="font-size: 40px"]{font-size:52px!important}
.fcard h3{font-size:25px!important;line-height:1.15!important}
.fcard p{font-size:17px!important;line-height:1.55!important}
.fcard .mono{font-size:13px!important}
.fcard:hover{transform:none}

/* --- helmet stage: tall viewport, bottom control dock --- */
.stage{height:76svh;min-height:520px;margin:0 -18px;border-radius:0;border-left:0;border-right:0}
#capacete .rv>div:last-child,#capacete .rv .btn{width:100%}
.hud-lbl{font-size:12px}
.hud-box{padding:12px 14px;border-radius:12px}
.hud [style*="font-size: 11px"],.hud [style*="font-size: 12px"]{font-size:13.5px!important}
.hud[style*="width: 230px"]{left:auto!important;right:12px!important;top:auto!important;bottom:14px!important;width:calc(100% - 214px)!important;min-width:150px}
.hud[style*="left: 9%; bottom"]{left:12px!important;bottom:14px!important}
.hud-alert{top:38%;bottom:auto;transform:translate(-50%,-50%);animation:alertInMid .35s both;width:calc(100% - 64px);max-width:320px}
@keyframes alertInMid{from{opacity:0;transform:translate(-50%,-44%)}to{opacity:1;transform:translate(-50%,-50%)}}
.hud-alert .in{font-size:13.5px;border-radius:12px;padding:9px 12px;gap:9px}
.hs-card{font-size:15px}
.stage .modal{width:calc(100% - 24px)!important;border-radius:20px}
.ctl{flex-direction:column;align-items:stretch;gap:16px}
.ctl>.btn{width:100%}
.ctl-g{display:flex;flex-wrap:wrap;gap:8px}
.ctl-g[style*="nowrap"]{flex-wrap:wrap!important}
.ctl-g[style*="nowrap"] .chip{flex:1 1 0;min-width:64px}
.ctl-g .chip svg{flex:none}
.ctl-l{width:100%;font-size:13px;margin:0}
.ctl-g .chip{flex:1 1 0;min-width:0}

/* --- crew: 2-col grid --- */
#equipe .rv svg{width:96px;height:96px}
.crew-grid{grid-template-columns:1fr 1fr;gap:12px}
.crew{border-radius:18px;overflow:hidden}
.crew-body{padding:14px 12px 14px;margin-top:0}
.crew-soc{gap:8px;margin-top:10px}
.crew:hover{translate:none}
.crew-photo{clip-path:none}
.crew-name{font-size:13.5px;letter-spacing:.08em;word-break:break-word}
.crew-id{font-size:13px}
.soc{width:28px;height:28px;border-radius:7px}
.soc svg{width:13px;height:13px}

/* --- sources table → stacked cards --- */
#fontes .panel{overflow:visible!important;padding:4px 16px}
.tbl,.tbl tbody{display:block;min-width:0;width:100%}
.tbl thead{display:none}
.tbl tr{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:12px 0;border-bottom:1px solid rgba(58,58,66,.7)}
.tbl tr:last-child{border-bottom:0}
.tbl td{display:block;padding:0;border:0;font-size:14px;line-height:1.4}
.tbl td:nth-child(1){font-size:15.5px;font-weight:600!important}
.tbl td:nth-child(2){grid-column:1/-1;grid-row:2;font-size:13.5px}
.tbl td:nth-child(3){grid-row:1;grid-column:2;font-size:12.5px;text-align:right}
.tbl td:nth-child(4){grid-column:1/-1;font-size:12px;color:#8a8a93}
.tbl tr:hover td{background:none}

/* --- footer --- */
.m-foot{padding:48px 0 32px!important}
.m-foot>.wrap{flex-direction:column;align-items:stretch!important;gap:28px!important}
.m-foot>.wrap>div{align-items:stretch!important}
.m-foot p{font-size:16.5px}
.m-foot .btn{width:100%}
.m-foot .fx-stamp{align-self:flex-start}

/* --- generic small inline text bump --- */
.sec [style*="font-size: 10px"]{font-size:13px!important}
.sec [style*="font-size: 11px"]{font-size:13.5px!important}
.sec [style*="font-size: 12px"]{font-size:14px!important}
.sec [style*="font-size: 12.5px"],.sec [style*="font-size: 13px"]{font-size:15px!important}
.sec [style*="font-size: 14px"]{font-size:16px!important}

/* --- walk controls: compact --- */
#capacete .panel:has(.ctl){padding:10px 12px!important;border-radius:14px}
.ctl{gap:8px}
.ctl>.btn{min-height:40px;font-size:13px;padding:0 14px;border-radius:10px}
.ctl-g{gap:5px}
.ctl-l{font-size:10.5px;letter-spacing:.1em;line-height:1}
.ctl .chip{min-height:34px;padding:0 8px!important;font-size:12px;border-radius:999px;white-space:nowrap;letter-spacing:0}
.ctl-g[style*="nowrap"] .chip{min-width:0}
.ctl .chip svg{width:18px!important;height:18px!important}
.gale-tag{display:none!important}
.m-tabbar{display:none!important}
/* --- bottom tab bar --- */
.m-tabbar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:200;height:64px;padding:0 6px;border:1px solid rgba(166,166,176,.25);border-radius:22px;background:rgba(14,14,17,.82);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);box-shadow:0 12px 40px rgba(0,0,0,.55)}
.m-tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#8a8a93;text-decoration:none;font:600 10.5px/1 'Chakra Petch',sans-serif;letter-spacing:.08em;text-transform:uppercase;border-radius:16px;transition:color .2s,background .2s}
.m-tabbar a svg{width:24px;height:24px}
.m-tabbar a.on{color:#fff;background:rgba(196,64,31,.22)}
.m-tabbar a.on svg{color:#E8643F}
.fx-progress{display:none!important}
}

/* hide opacity slider on mobile + tablet */
@media (max-width:1024px){.layer-op{display:none!important}}

/* mode card data: beat generic inline font-size overrides */
@media (max-width:720px){.sec .mode .mono[style]{font-size:10.5px!important;gap:2px 8px!important}}

/* map layers: ultra-compact on mobile */
@media (max-width:720px){
.m-layers{padding:6px!important;gap:0!important;border-radius:12px}
.m-layers>div{gap:5px!important}
.m-layers .layer{grid-template-columns:26px 1fr;gap:0 7px;padding:5px 7px;min-height:0;border-radius:9px}
.m-layers .layer-ic{width:26px;height:26px;border-radius:7px}
.m-layers .layer-ic svg{width:14px;height:14px}
.m-layers .layer-name{font-size:12px;line-height:1.15}
.m-layers .layer-pct{font-size:10px}
.m-layers .layer-head{gap:0}
}
