:root { --bg:#282a2c; --card:#37393b; --muted:#afb1b4; --text:#f2f2f2; --orange:#f28a1a; --line:rgba(242,242,242,.12); --max:1120px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; overflow-x:hidden; background:var(--bg); color:var(--text); font-family:"Barlow",sans-serif; }
a { color:inherit; text-decoration:none; } button { font:inherit; } ::selection { background:var(--orange); color:var(--bg); }
.container { width:min(var(--max),calc(100% - 40px)); margin:auto; }
.site-header { position:fixed; inset:0 0 auto; z-index:20; border-bottom:1px solid var(--line); background:rgba(40,42,44,.88); backdrop-filter:blur(18px); }
.header-inner { height:72px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:flex; align-items:center; gap:12px; min-width:0; } .brand img { width:40px; height:40px; object-fit:contain; }
.brand-name { display:block; font:32px/1 "Bebas Neue",sans-serif; white-space:nowrap; } .brand-sub { display:block; margin-top:4px; color:var(--muted); font-size:9px; font-weight:700; letter-spacing:.2em; }
.desktop-nav { display:flex; align-items:center; gap:22px; } .nav-link,.nav-cta { font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); transition:color .18s; }
.nav-link:hover,.nav-link.active { color:var(--orange); } .nav-cta { padding:11px 15px; background:var(--orange); color:var(--bg); }
.menu-toggle { display:none; border:1px solid var(--line); background:none; color:var(--text); padding:8px 10px; font-size:20px; }
.mobile-menu { display:none; border-top:1px solid var(--line); padding:20px; } .mobile-menu.open { display:block; }
.mobile-nav { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line); } .mobile-nav a { background:var(--card); padding:16px; color:var(--muted); font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; } .mobile-nav a.active { color:var(--orange); }
main { padding-top:72px; } .eyebrow { display:inline-flex; gap:8px; align-items:center; border-left:2px solid var(--orange); padding-left:12px; color:var(--orange); font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.display { font-family:"Bebas Neue",sans-serif; font-weight:400; } .accent { color:var(--orange); }
.technical-grid { background-image:linear-gradient(rgba(242,242,242,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(242,242,242,.06) 1px,transparent 1px); background-size:32px 32px; }
.hero { position:relative; min-height:calc(100vh - 72px); overflow:hidden; display:flex; align-items:flex-end; padding:60px 0 56px; } .hero::before,.hero::after { content:""; position:absolute; pointer-events:none; }
.hero::before { inset:0; opacity:.35; background:radial-gradient(circle at 78% 24%,rgba(242,138,26,.2),transparent 34%),linear-gradient(135deg,transparent 62%,rgba(242,138,26,.08) 62%,transparent 63%); }
.hero::after { width:470px; height:470px; right:-190px; top:110px; border:1px solid rgba(242,138,26,.2); transform:rotate(45deg); box-shadow:0 0 0 110px rgba(242,138,26,.03); }
.hero-content { position:relative; z-index:1; } .hero-kicker { display:inline-block; border:1px solid rgba(242,138,26,.35); background:rgba(40,42,44,.7); padding:9px 12px; color:var(--orange); font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
h1 { margin:20px 0 0; font-size:clamp(78px,16vw,176px); line-height:.78; } .hero-meta { display:flex; flex-wrap:wrap; gap:8px 24px; margin-top:20px; color:var(--muted); font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.hero-tagline { max-width:700px; margin:20px 0 0; font-size:clamp(38px,6vw,70px); line-height:.9; } .hero-copy { max-width:620px; margin:24px 0 0; color:var(--muted); font-size:18px; line-height:1.55; }
.actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; } .button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:0 20px; border:1px solid var(--orange); background:var(--orange); color:var(--bg); font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; transition:transform .2s,background .2s; } .button:hover { transform:translateY(-2px); } .button.outline { background:transparent; color:var(--text); }
.section-band { padding:clamp(72px,9vw,128px) 0; } .stats { background:var(--card); border-block:1px solid var(--line); } .stats-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.stat { padding:28px 20px; border-right:1px solid var(--line); } .stat:last-child { border-right:0; } .stat-value { color:var(--orange); font-size:52px; line-height:1; } .stat-label { margin-top:5px; color:var(--muted); font-size:11px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.section-title { max-width:860px; margin:20px 0 0; font-size:clamp(62px,9vw,110px); line-height:.87; } .section-copy { max-width:760px; margin:28px 0 0; color:var(--muted); font-size:20px; line-height:1.55; }
.cards { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin-top:56px; border:1px solid var(--line); background:var(--line); } .card { min-height:270px; padding:28px; background:var(--card); } .card:hover { background:#414345; } .card-top { display:flex; align-items:center; justify-content:space-between; color:var(--orange); } .card-number { font-size:36px; opacity:.5; } .card h3 { margin:50px 0 0; font-size:48px; line-height:.9; } .card p { margin:16px 0 0; color:var(--muted); font-size:14px; line-height:1.55; }
.projects { background:#303234; border-block:1px solid var(--line); }
.project-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:56px; border:1px solid var(--line); background:var(--line); }
.project-card { min-height:440px; padding:28px; display:flex; flex-direction:column; background:var(--bg); }
.project-card:hover { background:#343638; }
.project-card-featured { background:var(--card); }
.project-meta { display:flex; align-items:center; justify-content:space-between; gap:16px; color:var(--orange); }
.project-tag { font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.project-index { font-size:38px; opacity:.45; }
.project-card h3 { margin:54px 0 0; font-size:62px; line-height:.82; }
.project-card p { margin:18px 0 0; color:var(--muted); font-size:14px; line-height:1.55; }
.project-footer { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-top:auto; padding-top:22px; border-top:1px solid var(--line); color:var(--orange); font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.project-footer span:last-child { color:var(--muted); }
.project-note { display:flex; align-items:center; gap:18px; margin-top:28px; padding:22px 26px; border:1px solid var(--line); background:var(--card); }
.project-note-mark { color:var(--orange); font-size:32px; }
.project-note p { max-width:780px; margin:0; color:var(--muted); line-height:1.55; }
.community-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:56px; border:1px solid var(--line); background:var(--line); }
.community-grid article { min-height:250px; padding:28px; background:var(--card); }
.community-grid article:hover { background:#414345; }
.community-icon { color:var(--orange); font-size:34px; }
.community-grid h3 { margin:42px 0 0; font-size:42px; line-height:.88; }
.community-grid p { margin:16px 0 0; color:var(--muted); line-height:1.55; }
.areas { display:flex; flex-wrap:wrap; gap:8px; margin-top:28px; }
.areas span { padding:9px 12px; border:1px solid var(--line); color:var(--muted); font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.mission-line { display:flex; align-items:center; gap:16px; max-width:760px; margin-top:52px; color:var(--orange); font-size:11px; font-weight:700; letter-spacing:.14em; }
.mission-line i { flex:1; height:1px; background:var(--orange); opacity:.5; }
.history { background:var(--card); border-block:1px solid var(--line); } .timeline { display:grid; gap:1px; margin-top:56px; border:1px solid var(--line); background:var(--line); } .timeline-item { display:grid; grid-template-columns:130px 1fr 30px; gap:24px; padding:30px; background:var(--bg); } .timeline-date { color:var(--orange); font-size:36px; } .timeline h3 { margin:0; font-size:48px; line-height:.9; } .timeline p { max-width:720px; margin:16px 0 0; color:var(--muted); line-height:1.55; } .timeline-index { color:var(--muted); font-weight:700; }
.split { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin-top:40px; border:1px solid var(--line); background:var(--line); } .split > div { padding:40px; background:var(--bg); } .split h3 { margin:20px 0 0; font-size:76px; line-height:.8; } .split p { margin:24px 0 0; color:var(--muted); line-height:1.6; }
.cta-band { padding:54px 0; background:var(--orange); color:var(--bg); } .cta-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; } .cta-band h2 { margin:8px 0 0; font-size:56px; line-height:.9; } .cta-band .button { border-color:var(--bg); background:var(--bg); color:var(--text); }
.page-hero { position:relative; min-height:500px; display:flex; align-items:flex-end; overflow:hidden; border-bottom:1px solid var(--line); padding:80px 0 56px; } .page-hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.35; } .page-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(to top,var(--bg),rgba(40,42,44,.72),rgba(40,42,44,.28)); } .page-hero .container { position:relative; z-index:1; } .page-hero h1 { max-width:900px; margin-top:18px; font-size:clamp(76px,10vw,140px); } .page-intro { max-width:720px; margin:24px 0 0; color:var(--muted); font-size:18px; line-height:1.55; } .status { display:inline-flex; margin-top:24px; border:1px solid rgba(242,138,26,.3); background:rgba(242,138,26,.1); padding:10px 14px; color:var(--orange); font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.content-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; border:1px solid var(--line); background:var(--line); } .content-card { min-height:235px; padding:26px; background:var(--card); } .content-card h2 { margin:38px 0 0; font-size:40px; line-height:.9; } .content-card p { margin:14px 0 0; color:var(--muted); font-size:14px; line-height:1.55; } .content-card ul { display:grid; gap:8px; margin:20px 0 0; padding:16px 0 0; border-top:1px solid var(--line); list-style:none; } .content-card li { color:var(--muted); font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.contact-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; border:1px solid var(--line); background:var(--line); } .contact-card { min-height:350px; padding:32px; background:var(--card); } .contact-card:hover { background:#414345; } .contact-icon { color:var(--orange); font-size:30px; } .contact-card h2 { margin:48px 0 0; font-size:48px; line-height:.9; overflow-wrap:anywhere; } .contact-card p { color:var(--muted); line-height:1.55; }
footer { border-top:1px solid var(--line); padding:48px 0 24px; } .footer-top { display:grid; grid-template-columns:1fr 1.4fr; gap:40px; } .footer-copy { margin-top:20px; color:var(--muted); font-size:14px; line-height:1.6; } .footer-nav { display:grid; grid-template-columns:repeat(3,1fr); gap:12px 24px; } .footer-nav a { color:var(--muted); font-size:14px; } .footer-nav a:hover { color:var(--text); } .footer-bottom { display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px; margin-top:40px; padding-top:24px; border-top:1px solid var(--line); color:var(--muted); font-size:12px; } .footer-links { display:flex; gap:20px; }
.reveal { opacity:0; transform:translateY(24px); transition:opacity .7s ease,transform .7s ease; } .reveal.visible { opacity:1; transform:none; }
@media (max-width:900px) { .desktop-nav { display:flex; max-width:58vw; overflow-x:auto; gap:14px; scrollbar-width:none; } .desktop-nav::-webkit-scrollbar { display:none; } .nav-link,.nav-cta { white-space:nowrap; font-size:10px; } .menu-toggle { display:none; } .cards { grid-template-columns:repeat(2,1fr); } .project-grid,.community-grid { grid-template-columns:minmax(0,1fr); } .content-grid { grid-template-columns:repeat(2,1fr); } .footer-top { grid-template-columns:1fr; } }
@media (max-width:620px) { .container { width:min(var(--max),calc(100% - 32px)); } .hero { min-height:calc(100svh - 72px); } .stats-grid { grid-template-columns:repeat(2,1fr); } .stat:nth-child(2) { border-right:0; } .stat:nth-child(-n+2) { border-bottom:1px solid var(--line); } .cards,.content-grid,.contact-grid,.split,.project-grid,.community-grid { grid-template-columns:1fr; } .timeline-item { grid-template-columns:1fr; gap:10px; padding:24px; } .timeline-index { display:none; } .split > div { padding:28px; } .cta-inner { align-items:flex-start; flex-direction:column; } .footer-nav { grid-template-columns:repeat(2,1fr); } .footer-bottom { flex-direction:column; } .project-card h3 { font-size:54px; } .project-note { align-items:flex-start; } .mission-line { gap:8px; font-size:9px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .reveal { opacity:1; transform:none; transition:none; } }

/* Direção visual inspirada no DESIGN.md: canvas preto, hairlines e movimento editorial. */
:root { --bg:#000; --surface:#0b0e14; --card:#0b0e14; --muted:#a1a4a5; --bone:#f0f0f0; --violet:#9281f7; --blue:#3b9eff; --line:#292d30; --max:1200px; }
body { background:var(--bg); color:#fff; font-family:"Inter","Barlow",sans-serif; }
.hero::before { opacity:.8; background:radial-gradient(circle at 78% 24%,rgba(146,129,247,.08),transparent 28%),linear-gradient(135deg,transparent 62%,rgba(242,138,26,.055) 62%,transparent 63%); }
.hero-kicker { background:rgba(0,0,0,.7); border-color:var(--line); color:var(--bone); font-family:"JetBrains Mono",monospace; letter-spacing:.08em; }
.button { border-color:var(--line); border-radius:6px; background:transparent; color:#fff; transition:transform .2s,border-color .2s,color .2s,background .2s; }
.button:hover { transform:translateY(-3px); border-color:var(--orange); color:var(--orange); }
.projects,.simulator { background:var(--surface); border-block:1px solid var(--line); }
.project-card,.community-grid article { background:var(--bg); border-radius:16px; transition:transform .3s ease,border-color .3s ease,background .3s ease; }
.project-card:hover,.community-grid article:hover { background:var(--surface); border-color:var(--orange); transform:translateY(-8px); }
.project-card-featured { background:var(--surface); }
.history { background:var(--surface); }
.action-label,.split-label,.code-label { display:block; margin-top:16px; color:var(--orange); font:600 11px "JetBrains Mono",monospace; letter-spacing:.04em; text-transform:uppercase; }
.stem-action .action-label,.stem-label { color:var(--violet); }
.share-action .action-label { color:var(--blue); }
.text-action { display:inline-flex; align-items:center; gap:8px; margin-top:22px; padding-bottom:5px; border-bottom:1px solid var(--line); color:var(--bone); font-size:13px; font-weight:600; transition:color .2s,border-color .2s; }
.text-action:hover { color:var(--orange); border-color:var(--orange); }
.community-split { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin-top:40px; border:1px solid var(--line); background:var(--line); }
.community-split > div { padding:32px; background:var(--surface); border-radius:16px; transition:transform .3s ease,border-color .3s ease; }
.community-split > div:hover { border-color:var(--violet); transform:translateY(-4px); }
.community-split h3 { margin:22px 0 0; font-size:42px; line-height:.9; }
.community-split p { max-width:480px; margin:16px 0 0; color:var(--muted); line-height:1.55; }
.simulator-panel { display:grid; grid-template-columns:.8fr 1.2fr; gap:32px; align-items:center; margin-top:48px; padding:40px; border:1px solid var(--line); border-radius:16px; background:linear-gradient(135deg,#0b0e14,#000); }
.simulator-mark { font-size:clamp(64px,10vw,120px); line-height:.8; color:#fff; }
.simulator-mark span { color:var(--orange); }
.simulator-panel p { max-width:600px; margin:16px 0 24px; color:var(--muted); line-height:1.6; }
.code-label { color:var(--violet); }
.cta-band { padding:64px 0; }
.cta-eyebrow { color:var(--bg); border-color:var(--bg); }
.cta-inner { margin-top:24px; }
.cta-band p { max-width:560px; margin:16px 0 0; line-height:1.5; }
.contact-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; max-width:440px; }
.dark-button { border-color:var(--bg); color:var(--bg); }
.timeline-item { transition:background .25s,border-color .25s; }
.timeline-item:hover { background:var(--surface); }
.timeline-index { font-family:"JetBrains Mono",monospace; }
.reveal { opacity:0; transform:translateY(24px); transition:opacity .7s ease,transform .7s ease; }
.reveal.visible { opacity:1; transform:none; }
@media (max-width:620px) {
  .community-split,.simulator-panel { grid-template-columns:1fr; }
  .community-split > div,.simulator-panel { padding:28px; }
  .cta-inner { align-items:flex-start; flex-direction:column; }
  .contact-actions { justify-content:flex-start; }
}

.impact-layout { display:grid; grid-template-columns:220px 1fr; align-items:center; gap:32px; }
.impact-stats .stats-grid { border:1px solid var(--line); }
.globe { position:relative; width:170px; height:170px; margin:auto; border:1px solid rgba(59,158,255,.7); border-radius:50%; background:radial-gradient(circle at 35% 30%,rgba(59,158,255,.32),transparent 36%),radial-gradient(circle,rgba(59,158,255,.12),transparent 68%); box-shadow:0 0 42px rgba(59,158,255,.12),inset 0 0 28px rgba(59,158,255,.16); animation:globe-pulse 4s ease-in-out infinite; }
.globe::before,.globe::after,.globe span::before { content:""; position:absolute; inset:12px 38px; border:1px solid rgba(59,158,255,.5); border-radius:50%; }
.globe::after { inset:38px 12px; }
.globe span::before { inset:0 -1px; border-color:rgba(242,138,26,.55); border-width:1px 0; transform:rotate(-24deg); }
.globe span::after { content:""; position:absolute; left:50%; top:8px; bottom:8px; width:1px; background:rgba(59,158,255,.45); transform:translateX(-50%); }
@keyframes globe-pulse { 0%,100% { transform:scale(1); filter:brightness(.9); } 50% { transform:scale(1.04); filter:brightness(1.25); } }
.origin-action { grid-column:span 3; }
.evidence-list { display:grid; gap:24px; }
.evidence-card { padding:36px; border:1px solid var(--line); border-radius:16px; background:var(--surface); scroll-margin-top:100px; }
.evidence-card h2 { margin:24px 0 0; font-size:clamp(52px,8vw,92px); line-height:.82; }
.evidence-card p { max-width:760px; margin:22px 0 0; color:var(--muted); font-size:18px; line-height:1.6; }
.evidence-facts { display:flex; flex-wrap:wrap; gap:8px; margin-top:24px; }
.evidence-facts span { padding:9px 12px; border:1px solid var(--line); color:var(--orange); font:600 11px "JetBrains Mono",monospace; text-transform:uppercase; }
.evidence-placeholder { display:grid; place-items:center; min-height:130px; margin-top:28px; border:1px dashed rgba(242,138,26,.38); color:var(--muted); font:600 11px "JetBrains Mono",monospace; letter-spacing:.08em; text-align:center; }
@media (max-width:900px) { .impact-layout { grid-template-columns:1fr; } .globe { width:140px; height:140px; } .origin-action { grid-column:auto; } }

/* Globo de conexão: Terra abstrata nas cores MECATIGER, com órbitas e setas. */
.globe { overflow:visible; border:0; background:none; box-shadow:none; animation:none; }
.globe-surface { position:absolute; inset:10px; overflow:hidden; border:1px solid rgba(59,158,255,.82); border-radius:50%; background:radial-gradient(circle at 32% 27%,rgba(255,255,255,.3),transparent 10%),radial-gradient(circle at 65% 70%,rgba(59,158,255,.36),transparent 64%),#07101e; box-shadow:0 0 38px rgba(59,158,255,.2),inset -16px -12px 26px rgba(0,0,0,.65); animation:earth-turn 12s linear infinite; }
.globe-surface::before,.globe-surface::after { content:""; position:absolute; inset:-8px -42px; border:1px solid rgba(146,129,247,.46); border-radius:50%; transform:rotate(23deg); }
.globe-surface::after { inset:-32px -8px; border-color:rgba(242,138,26,.32); transform:rotate(-23deg); }
.land { position:absolute; display:block; background:linear-gradient(135deg,var(--orange),var(--violet)); opacity:.86; filter:drop-shadow(0 0 6px rgba(242,138,26,.25)); }
.land-a { width:54px; height:35px; left:24px; top:36px; border-radius:62% 34% 55% 28%; transform:rotate(-18deg); }
.land-b { width:32px; height:54px; right:30px; top:58px; border-radius:42% 64% 30% 62%; transform:rotate(28deg); }
.land-c { width:46px; height:22px; left:54px; bottom:28px; border-radius:56% 30% 48% 70%; transform:rotate(12deg); background:linear-gradient(90deg,var(--blue),var(--orange)); }
.globe-orbit { position:absolute; inset:-9px -26px; border:1px solid rgba(242,138,26,.65); border-radius:50%; transform:rotate(-25deg); animation:orbit-turn 6s linear infinite; }
.globe-orbit b { position:absolute; right:4px; top:50%; display:grid; place-items:center; width:22px; height:22px; border-radius:50%; background:var(--orange); color:#000; font:700 14px/1 Inter,sans-serif; transform:translateY(-50%) rotate(25deg); }
.orbit-b { inset:18px -16px; border-color:rgba(146,129,247,.7); transform:rotate(58deg); animation-duration:8s; animation-direction:reverse; }
.orbit-b b { right:auto; left:-2px; background:var(--violet); transform:translateY(-50%) rotate(-58deg); }
@keyframes earth-turn { from { transform:rotate(0deg); } to { transform:rotate(360deg); } }
@keyframes orbit-turn { from { transform:rotate(-25deg); } to { transform:rotate(335deg); } }
.community-split { grid-template-columns:repeat(3,1fr); }
.community-resource { border-color:rgba(59,158,255,.38) !important; }
.reddit-label { color:var(--blue) !important; }
.section-band { scroll-margin-top:92px; }
@keyframes tab-focus { 0% { opacity:.55; transform:translateY(20px); } 100% { opacity:1; transform:none; } }
.section-band:target { animation:tab-focus .7s ease both; }
.contact-form-layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr); gap:24px; }
.contact-form,.contact-aside { padding:34px; border:1px solid var(--line); border-radius:16px; background:var(--surface); }
.contact-form { display:grid; gap:10px; }
.contact-form label { margin-top:8px; color:var(--bone); font:600 11px "JetBrains Mono",monospace; text-transform:uppercase; }
.contact-form input,.contact-form textarea { width:100%; border:1px solid var(--line); border-radius:6px; padding:14px; outline:0; background:#000; color:#fff; font:15px Inter,sans-serif; }
.contact-form input:focus,.contact-form textarea:focus { border-color:var(--orange); box-shadow:0 0 0 3px rgba(242,138,26,.12); }
.contact-form textarea { resize:vertical; }
.contact-form .button { margin-top:12px; cursor:pointer; }
.fallback-mail { margin-top:4px; color:var(--muted); font-size:12px; text-decoration:underline; }
.contact-aside h2 { margin:24px 0 0; font-size:clamp(58px,7vw,90px); line-height:.84; }
.contact-aside p { margin:22px 0 0; color:var(--muted); line-height:1.6; }
.contact-note { margin-top:26px; padding:16px; border-left:2px solid var(--orange); color:var(--muted); font-size:13px; line-height:1.5; }
@media (max-width:900px) { .community-split,.contact-form-layout { grid-template-columns:1fr; } }
@media (max-width:620px) { .contact-form,.contact-aside { padding:24px; } }

.globe-surface { display:block; isolation:isolate; }
.globe-map { position:absolute; left:-54%; top:7%; width:208%; height:86%; object-fit:contain; opacity:.95; filter:brightness(0) saturate(100%) invert(57%) sepia(97%) saturate(1270%) hue-rotate(358deg) brightness(101%) contrast(103%); animation:map-spin 16s linear infinite; }
.globe-shine { position:absolute; inset:0; z-index:2; border-radius:50%; background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.22),transparent 17%),linear-gradient(105deg,rgba(0,0,0,.48),transparent 45%,rgba(0,0,0,.5)); pointer-events:none; }
.map-credit { position:absolute; right:0; bottom:-24px; z-index:4; color:var(--muted); font:10px "JetBrains Mono",monospace; text-transform:uppercase; letter-spacing:.08em; text-decoration:none; opacity:.72; transition:color .2s,opacity .2s; }
.map-credit:hover { color:var(--orange); opacity:1; }
@keyframes map-spin { from { transform:translateX(0); } 50% { transform:translateX(-24%); } to { transform:translateX(0); } }

.site-panel { position:fixed; inset:0; z-index:50; overflow:auto; background:rgba(0,0,0,.92); backdrop-filter:blur(14px); animation:panel-in .38s ease both; }
.site-panel[hidden] { display:none; }
.panel-inner { width:min(1120px,calc(100% - 32px)); margin:0 auto; padding:110px 0 72px; }
.panel-header { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; padding-bottom:24px; border-bottom:1px solid var(--line); }
.panel-header h2 { margin:20px 0 0; font-size:clamp(54px,8vw,100px); line-height:.82; }
.panel-close { border:1px solid var(--line); border-radius:6px; padding:12px 16px; background:transparent; color:var(--bone); cursor:pointer; font:600 11px "JetBrains Mono",monospace; text-transform:uppercase; transition:color .2s,border-color .2s,transform .2s; }
.panel-close:hover { color:var(--orange); border-color:var(--orange); transform:translateY(-2px); }
.panel-intro { max-width:760px; margin:24px 0 32px; color:var(--muted); font-size:18px; line-height:1.55; }
.site-panel .evidence-list { margin-top:32px; }
.site-panel .evidence-card h3 { margin:24px 0 0; font-size:clamp(52px,8vw,92px); line-height:.82; }
.site-panel .evidence-card.is-selected { border-color:var(--orange); box-shadow:0 0 0 2px rgba(242,138,26,.16); }
body.panel-open { overflow:hidden; }
@keyframes panel-in { from { transform:translateY(18px); } to { transform:none; } }
@media (max-width:620px) { .panel-inner { padding-top:92px; } .panel-header { flex-direction:column; } .panel-close { align-self:flex-end; } }

.registration-panel { background:rgba(0,0,0,.96); }
.registration-inner { width:min(1040px,calc(100% - 32px)); }
.registration-layout { display:grid; grid-template-columns:minmax(0,.88fr) minmax(360px,1.12fr); gap:24px; margin-top:34px; }
.registration-reason,.registration-form { padding:32px; border:1px solid var(--line); border-radius:16px; background:var(--surface); }
.registration-reason { border-color:rgba(242,138,26,.4); }
.registration-reason h3 { margin:30px 0 0; font-size:clamp(42px,5vw,66px); line-height:.88; }
.registration-reason p { margin:20px 0 0; color:var(--muted); line-height:1.6; }
.registration-reason ul { display:grid; gap:12px; margin:24px 0 0; padding:0 0 0 18px; color:var(--bone); line-height:1.5; }
.privacy-note { padding-top:18px; border-top:1px solid var(--line); font-size:12px; }
.registration-form { display:grid; gap:10px; align-content:start; }
.registration-form label:not(.consent-line) { margin-top:7px; color:var(--bone); font:600 11px "JetBrains Mono",monospace; letter-spacing:.04em; text-transform:uppercase; }
.registration-form input:not([type="checkbox"]),.registration-form select { width:100%; border:1px solid var(--line); border-radius:6px; padding:14px; outline:0; background:#000; color:#fff; font:15px Inter,sans-serif; }
.registration-form input:not([type="checkbox"]):focus,.registration-form select:focus { border-color:var(--orange); box-shadow:0 0 0 3px rgba(242,138,26,.12); }
.registration-form select { appearance:auto; }
.registration-form .other-country[hidden] { display:none; }
.consent-line { display:flex; align-items:flex-start; gap:10px; margin-top:16px; color:var(--muted); font-size:12px; line-height:1.45; }
.consent-line input { flex:0 0 auto; accent-color:var(--orange); margin-top:2px; }
.registration-form .button { margin-top:12px; cursor:pointer; }
.registration-form .button:disabled { cursor:wait; opacity:.55; }
.registration-status { min-height:20px; margin:4px 0 0; color:var(--orange); font-size:12px; line-height:1.45; }
.registration-skip { justify-self:start; border:0; padding:0; background:transparent; color:var(--muted); cursor:pointer; font:600 11px "JetBrains Mono",monospace; text-decoration:underline; text-underline-offset:4px; }
.registration-skip:hover { color:var(--bone); }
@media (max-width:800px) { .registration-layout { grid-template-columns:minmax(0,1fr); } .registration-reason,.registration-form { padding:24px; } }

/* Rotas vivas: o mapa se desloca continuamente para sugerir a rotação da Terra,
   enquanto pontos luminosos percorrem conexões aéreas entre continentes. */
.globe-surface { animation:none; }
.globe-surface::before,.globe-surface::after { display:none; }
.globe-map { animation:map-scroll 20s linear infinite; will-change:transform; }
.globe-routes { position:absolute; inset:0; z-index:3; width:100%; height:100%; overflow:visible; pointer-events:none; }
.globe-routes .route { fill:none; stroke:rgba(242,138,26,.8); stroke-width:.85; stroke-linecap:round; stroke-dasharray:1.5 2.6; filter:drop-shadow(0 0 1.5px rgba(242,138,26,.9)); animation:route-dash 3.8s linear infinite; }
.globe-routes .route-b { stroke:rgba(146,129,247,.9); animation-duration:4.6s; animation-direction:reverse; }
.globe-routes .route-c { stroke:rgba(59,158,255,.92); animation-duration:3.2s; }
.route-dot { fill:var(--orange); filter:drop-shadow(0 0 2px rgba(242,138,26,1)); }
.dot-b { fill:var(--violet); filter:drop-shadow(0 0 2px rgba(146,129,247,1)); }
.dot-c { fill:var(--blue); filter:drop-shadow(0 0 2px rgba(59,158,255,1)); }
.globe-shine { z-index:4; }
.globe-orbit { display:none; }
@keyframes map-scroll { from { transform:translateX(0); } to { transform:translateX(-48%); } }
@keyframes route-dash { from { stroke-dashoffset:0; } to { stroke-dashoffset:-18; } }

.legal-details { display:grid; gap:8px; margin-top:14px; }
.legal-details details { border:1px solid rgba(255,255,255,.12); border-radius:8px; background:rgba(0,0,0,.32); }
.legal-details summary { padding:12px 14px; color:var(--bone); cursor:pointer; font:600 11px "JetBrains Mono",monospace; letter-spacing:.04em; text-transform:uppercase; list-style:none; }
.legal-details summary::-webkit-details-marker { display:none; }
.legal-details summary::before { content:"+"; display:inline-block; width:18px; color:var(--orange); font-size:15px; }
.legal-details details[open] summary::before { content:"−"; }
.legal-details p { margin:0; padding:0 14px 14px 32px; color:var(--muted); font-size:12px; line-height:1.55; }
.legal-details a { color:var(--orange); }
.consent-line strong { color:var(--bone); font-weight:600; }
@media (prefers-reduced-motion:reduce) {
  .globe-map,.globe-routes .route { animation:none; }
  .route-dot { display:none; }
}

.impact-stats .stats-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
.registration-check-hint { margin:0 0 4px; color:var(--muted); font-size:11px; line-height:1.45; }
@media (max-width:980px) and (min-width:621px) { .impact-stats .stats-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .impact-stats .stat:nth-child(-n+3) { border-bottom:1px solid var(--line); } .impact-stats .stat:nth-child(3) { border-right:0; } }

/* Ajuste final do globo: somente o laranja da identidade MecaTiger. */
.globe::before,.globe::after { display:none; }
.globe-surface { border-color:rgba(242,138,26,.88); background:radial-gradient(circle at 32% 27%,rgba(255,255,255,.2),transparent 10%),radial-gradient(circle at 65% 70%,rgba(242,138,26,.13),transparent 64%),#050505; box-shadow:0 0 38px rgba(242,138,26,.18),inset -16px -12px 26px rgba(0,0,0,.78); }
.globe-routes .route,.globe-routes .route-b,.globe-routes .route-c { stroke:rgba(242,138,26,.82); }
.route-dot,.dot-b,.dot-c { fill:var(--orange); filter:drop-shadow(0 0 2px rgba(242,138,26,1)); }
.globe-shine::before,.globe-shine::after { display:none; }

/* Aba Equipe: estrutura pronta para receber fotos e descrições sem quebrar a navegação. */
.team-preview { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; margin-top:48px; padding:32px; border:1px solid rgba(242,138,26,.42); border-radius:16px; background:linear-gradient(135deg,rgba(242,138,26,.08),rgba(255,255,255,.02)); scroll-margin-top:100px; }
.team-preview h3 { margin:20px 0 0; font-size:clamp(52px,7vw,90px); line-height:.83; }
.team-preview p { max-width:640px; margin:18px 0 0; color:var(--muted); line-height:1.55; }
.team-count { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:22px; color:var(--muted); font:600 11px "JetBrains Mono",monospace; text-transform:uppercase; }
.team-count span { color:var(--orange); font-size:16px; }
.team-count i { color:var(--line); font-style:normal; }
.team-preview-action { flex:0 0 auto; white-space:nowrap; }
.team-panel-inner { padding-bottom:96px; }
.team-status { display:flex; align-items:center; gap:18px; margin:30px 0 22px; padding:16px 18px; border-left:2px solid var(--orange); background:rgba(242,138,26,.06); }
.team-status .code-label { margin:0; color:var(--orange); }
.team-status p { margin:0; color:var(--muted); font-size:13px; }
.season-tabs { display:flex; flex-wrap:wrap; gap:8px; margin-top:30px; }
.season-tab { border:1px solid var(--line); border-radius:6px; padding:12px 16px; background:transparent; color:var(--muted); cursor:pointer; font:600 11px "JetBrains Mono",monospace; text-transform:uppercase; transition:color .2s,border-color .2s,background .2s,transform .2s; }
.season-tab:hover,.season-tab.is-active { border-color:var(--orange); color:var(--orange); background:rgba(242,138,26,.08); transform:translateY(-2px); }
.season-tab span { margin-left:8px; color:var(--muted); font-size:10px; }
.team-roster { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.member-card { display:grid; grid-template-columns:96px 1fr; gap:18px; align-items:start; min-height:182px; padding:18px; border:1px solid var(--line); border-radius:14px; background:var(--surface); transition:border-color .25s,transform .25s,background .25s; }
.member-card:hover { border-color:var(--orange); background:#101010; transform:translateY(-3px); }
.member-photo { display:grid; place-items:center; aspect-ratio:1; border:1px dashed rgba(242,138,26,.52); border-radius:10px; background:linear-gradient(135deg,rgba(242,138,26,.14),rgba(0,0,0,.65)); color:var(--orange); font:700 22px "JetBrains Mono",monospace; }
.member-photo.support-photo { font-size:14px; }
.member-role { color:var(--orange); font:600 10px "JetBrains Mono",monospace; letter-spacing:.04em; text-transform:uppercase; }
.member-card h3 { margin:14px 0 0; font-size:clamp(26px,3vw,40px); line-height:.86; }
.member-card p { margin:12px 0 0; color:var(--muted); font-size:12px; line-height:1.5; }
.member-card-support { border-color:rgba(146,129,247,.38); }
.member-card-support .member-role { color:var(--violet); }
.team-empty-state { margin-top:24px; padding:42px; border:1px dashed rgba(242,138,26,.44); border-radius:14px; background:rgba(242,138,26,.05); }
.team-empty-state h3 { margin:22px 0 0; font-size:clamp(48px,7vw,88px); line-height:.84; }
.team-empty-state p { max-width:640px; margin:20px 0 0; color:var(--muted); line-height:1.6; }
@media (max-width:760px) {
  .team-preview { align-items:flex-start; flex-direction:column; }
  .team-preview-action { white-space:normal; }
  .team-status { align-items:flex-start; flex-direction:column; gap:6px; }
  .team-roster { grid-template-columns:1fr; }
  .member-card { grid-template-columns:76px 1fr; }
}


/* Estados editoriais da versão oficial: materiais reais entram quando estiverem disponíveis. */
.project-progress { display:inline-flex; align-items:center; gap:7px; margin-top:14px; padding:7px 9px; border:1px solid rgba(242,138,26,.45); border-radius:999px; color:var(--orange); font:600 10px "JetBrains Mono",monospace; letter-spacing:.06em; text-transform:uppercase; }
.project-progress::before { content:""; width:6px; height:6px; border-radius:50%; background:var(--orange); box-shadow:0 0 8px rgba(242,138,26,.85); animation:progress-pulse 1.8s ease-in-out infinite; }
.progress-card { display:grid; gap:8px; border:1px solid rgba(242,138,26,.34); border-radius:12px; background:linear-gradient(135deg,rgba(242,138,26,.1),rgba(0,0,0,.22)); }
.progress-card .progress-kicker { color:var(--orange); font:600 10px "JetBrains Mono",monospace; letter-spacing:.1em; text-transform:uppercase; }
.progress-card strong { color:var(--bone); font-size:20px; line-height:1.05; }
.progress-card > span:last-child { color:var(--muted); font-size:13px; line-height:1.5; }
.evidence-placeholder.progress-card { place-items:start; min-height:150px; margin-top:28px; padding:24px; text-align:left; }
.community-progress { margin-top:30px; padding:24px 26px; }
.simulator-progress { margin:12px 0 0; }
@keyframes progress-pulse { 0%,100% { opacity:.55; transform:scale(.85); } 50% { opacity:1; transform:scale(1.15); } }
@media (prefers-reduced-motion:reduce) { .project-progress::before { animation:none; } }


/* Mobile layout and keyboard access refinements. */
:where(a,button,input,select,textarea,summary):focus-visible {
  outline:3px solid var(--orange);
  outline-offset:3px;
}
html { scroll-padding-top:84px; }

@media (max-width:760px) {
  .desktop-nav { display:none; }
  .menu-toggle {
    display:grid;
    place-items:center;
    flex:0 0 44px;
    width:44px;
    height:44px;
    padding:0;
    border:1px solid var(--line);
    border-radius:8px;
    cursor:pointer;
  }
  .mobile-menu {
    position:absolute;
    top:100%;
    right:0;
    left:0;
    max-height:calc(100svh - 68px);
    overflow-y:auto;
    padding:12px 16px 20px;
    border-top:1px solid var(--line);
    background:rgba(0,0,0,.98);
    box-shadow:0 18px 28px rgba(0,0,0,.4);
  }
  .mobile-menu[hidden] { display:none; }
  .mobile-menu:not([hidden]) { display:block; }
  .mobile-nav {
    grid-template-columns:1fr;
    gap:8px;
    max-width:var(--max);
    margin:auto;
    border:0;
    background:transparent;
  }
  .mobile-nav a {
    display:flex;
    align-items:center;
    min-height:48px;
    padding:12px 16px;
    border:1px solid var(--line);
    border-radius:8px;
    background:var(--surface);
    color:var(--bone);
  }
  .header-inner { height:68px; }
  main { padding-top:68px; }
  .hero { min-height:calc(100svh - 68px); padding:48px 0 32px; }
  .hero h1 { font-size:clamp(56px,18vw,104px); line-height:.86; }
  .hero-tagline { font-size:clamp(36px,11vw,58px); line-height:.92; }
  .hero-copy { font-size:16px; }
  .hero-meta { gap:8px 14px; font-size:10px; letter-spacing:.07em; }
  .actions { display:grid; grid-template-columns:1fr; }
  .actions .button { width:100%; white-space:normal; text-align:center; }
  .section-band { padding-block:clamp(56px,12vw,80px); }
  .section-title { font-size:clamp(38px,11vw,68px); line-height:.9; }
  .section-copy { margin-top:20px; font-size:17px; }
  .project-card { min-height:0; padding:22px; }
  .project-meta { min-width:0; flex-wrap:wrap; gap:8px 12px; }
  .project-card h3 { margin-top:34px; font-size:clamp(44px,12vw,58px); }
  .community-grid article { min-width:0; min-height:0; padding:24px; }
  .community-grid h3 { font-size:clamp(32px,10vw,42px); }
  .project-card,.team-preview,.community-progress { min-width:0; }
  .community-grid h3 { margin-top:28px; }
  .simulator-panel { gap:22px; padding:24px; }
  .simulator-mark { font-size:clamp(48px,15vw,76px); }
  .team-preview { padding:24px; }
  .evidence-card { padding:24px 18px; }
  .evidence-placeholder { padding:16px; line-height:1.5; overflow-wrap:anywhere; }
  .footer-nav a { display:flex; align-items:center; min-height:44px; }
  .footer-links { flex-wrap:wrap; gap:12px 18px; }
  :target { scroll-margin-top:80px; }
}

@media (max-width:620px) {
  .impact-stats .stats-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .impact-stats .stat {
    min-width:0;
    padding:20px 14px;
    border-right:1px solid var(--line);
    border-bottom:1px solid var(--line);
  }
  .impact-stats .stat:nth-child(2n) { border-right:0; }
  .impact-stats .stat:last-child { border-bottom:0; }
  .impact-stats .stat-value { font-size:clamp(36px,11vw,48px); }
  .impact-stats .stat-label { font-size:9px; line-height:1.4; letter-spacing:.08em; }
  .contact-form,.contact-aside { padding:20px 16px; }
  .registration-inner { width:calc(100% - 24px); }
  .registration-reason,.registration-form { padding:20px 16px; }
  .registration-form > .button { width:100%; white-space:normal; }
  .panel-inner { padding:84px 12px 32px; }
  .panel-header { gap:16px; }
  .panel-close { min-height:44px; }
  .mission-line { flex-wrap:wrap; }
}

@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after {
    scroll-behavior:auto !important;
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
}

/* CMS gallery is hidden until it has real published photos. */
.meca-gallery-grid { display:grid; gap:20px; grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr)); margin-top:24px; }
.meca-gallery-card { margin:0; background:#202224; border:1px solid #57595a; border-radius:12px; overflow:hidden; }
.meca-gallery-card img { width:100%; height:250px; display:block; object-fit:cover; }
.meca-gallery-card figcaption { color:#f5f5f5; padding:12px 16px; line-height:1.4; overflow-wrap:anywhere; }
.meca-gallery-section[hidden] { display:none !important; }


@media (max-width:400px) {
  .team-preview > div { min-width:0; width:100%; }
  .team-preview h3 { font-size:clamp(40px,13vw,52px); overflow-wrap:anywhere; }
  .team-count { column-gap:6px; }
}


@media (max-width:400px) {
  html { overflow-x:clip; }
  .registration-panel .panel-header h2 { font-size:clamp(32px,10vw,44px); line-height:.95; overflow-wrap:anywhere; }
}


/* Conteúdo sempre legível; a animação de entrada não pode ocultar texto nem reduzir contraste. */
.reveal,
.reveal.visible {
  opacity: 1;
  transform: none;
  transition: none;
}

/* Microtexto e índices visuais também mantêm contraste AA. */
.map-credit { opacity: 1; color: var(--muted); }
.project-index { opacity: 1; }


/* Perfis da equipe publicados pelo editor do site. */
.cms-member-card .member-photo { overflow:hidden; }
.cms-member-card .member-photo img { width:100%;height:100%;object-fit:cover;display:block; }
.team-profile-status { color:var(--muted);margin:12px 0 24px; }
.cms-member-card h3,.cms-member-card p { overflow-wrap:anywhere; }
@media (max-width:600px) {
  .cms-member-card { grid-template-columns:1fr; }
  .cms-member-card .member-photo { min-height:240px; }
}


/* Home account prompt */
.account-onboarding {
  width:min(680px,calc(100% - 32px));max-height:calc(100dvh - 32px);
  padding:clamp(22px,5vw,40px);border:1px solid #6b6e70;border-radius:18px;
  background:#202224;color:#f5f5f5;box-shadow:0 24px 80px #000b;
}
.account-onboarding::backdrop { background:#080909c9;backdrop-filter:blur(3px); }
.account-onboarding-head { display:flex;align-items:center;justify-content:space-between;gap:16px; }
.account-onboarding h2 { font-size:clamp(38px,8vw,66px);line-height:.98;margin:18px 0; }
.account-onboarding p { color:#ddd;line-height:1.6; }
.account-onboarding-note { border-left:3px solid var(--orange);padding-left:14px; }
.account-onboarding-actions { display:flex;flex-wrap:wrap;gap:12px;margin-top:24px; }
.account-onboarding-actions .button { flex:1 1 230px;justify-content:center;text-align:center; }
@media(max-width:560px) {
  .account-onboarding-head { align-items:flex-start;flex-direction:column; }
  .account-onboarding-head .button { width:100%; }
  .account-onboarding-actions .button { width:100%; }
}

/* Account access is presented inside the existing metrics registration panel. */
.registration-account-callout{margin:18px 0 24px;padding:18px;border:1px solid rgba(242,138,26,.55);border-radius:12px;background:rgba(242,138,26,.08)}
.registration-account-callout h3{margin:6px 0 8px;color:var(--text)}
.registration-account-callout p{margin:0 0 14px;line-height:1.55}
.registration-account-callout .button{display:inline-flex;align-items:center;justify-content:center}
