/* ═══════════════════════════════════════════════════════════════════
   GIFO · FORENSIC INTELLIGENCE — Design System v1.0 (GIFO 2.0)
   Camada de apresentação carregada em último lugar em todas as páginas.
   Conceito: laboratório forense digital — precisão, evidência, método.
   Compatível com o pipeline scripts/render_public_footers.py.
   ═══════════════════════════════════════════════════════════════════ */

@font-face{font-family:'Space Mono';src:url(/fonts/spacemono-400.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Space Mono';src:url(/fonts/spacemono-700.woff2) format('woff2');font-weight:700;font-style:normal;font-display:swap}

/* ── Tokens ─────────────────────────────────────────────────────── */
html.gifo-public{
  --g-void:#04060a;
  --g-bg:#080b11;
  --g-soft:#0c1119;
  --g-raised:#111826;
  --g-line:rgba(151,180,232,.10);
  --g-line2:rgba(151,180,232,.22);
  --g-ink:#edf2fc;
  --g-soft-ink:rgba(233,240,252,.74);
  --g-faint:rgba(230,238,250,.58);
  --g-blue:#3d8bff;
  --g-blue-hi:#7fb2ff;
  --g-blue-deep:#1f66e0;
  --g-teal:#00e5cc;
  --g-teal-dim:rgba(0,229,204,.14);
  --g-amber:#ffb454;
  --g-mono:'Space Mono',ui-monospace,'Cascadia Mono',monospace;
  --g-sans:'Archivo',system-ui,-apple-system,sans-serif;
  --g-ease:cubic-bezier(.22,.61,.21,1);
  --g-fast:160ms;--g-med:320ms;--g-slow:560ms;
}
html.gifo-public body{
  background:
    radial-gradient(ellipse 70% 42% at 78% -6%,rgba(61,139,255,.055),transparent 62%),
    radial-gradient(ellipse 46% 34% at 8% 4%,rgba(0,229,204,.03),transparent 58%),
    var(--g-bg)!important;
  color:var(--g-ink);
  font-family:var(--g-sans)!important;
  line-height:1.68;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
html.gifo-public::selection{background:rgba(61,139,255,.32);color:#fff}
html.gifo-public :focus-visible{outline:2px solid var(--g-teal);outline-offset:2px;border-radius:1px}
html.gifo-public ::-webkit-scrollbar{width:11px;height:11px}
html.gifo-public ::-webkit-scrollbar-track{background:var(--g-void)}
html.gifo-public ::-webkit-scrollbar-thumb{background:#232f45;border:2px solid var(--g-void);border-radius:8px}
html.gifo-public ::-webkit-scrollbar-thumb:hover{background:#33425f}

/* ── Barra de progresso ─────────────────────────────────────────── */
html.gifo-public .progress-bar{height:2px;background:linear-gradient(90deg,var(--g-blue),var(--g-teal));box-shadow:0 0 12px rgba(61,139,255,.55);z-index:10000}

/* ── Barra institucional ────────────────────────────────────────── */
html.gifo-public .classif-bar,
html.gifo-public .classif{
  background:linear-gradient(180deg,#0b1322,#091120)!important;
  color:rgba(214,228,255,.78)!important;
  border-bottom:1px solid rgba(61,139,255,.16);
  font-family:var(--g-mono)!important;
  font-size:9px!important;font-weight:700!important;
  letter-spacing:2.2px!important;min-height:28px;padding:6px 16px!important;
  position:relative;overflow:hidden;
}
html.gifo-public .classif-bar::before,
html.gifo-public .classif-bar::after{content:'◆';opacity:.4;color:var(--g-blue)}
html.gifo-public .classif-bar::before{animation:gifo-pulse-dot 3.2s ease-in-out infinite}

@keyframes gifo-pulse-dot{0%,100%{opacity:.28}50%{opacity:.75}}

/* ── Navegação principal ────────────────────────────────────────── */
html.gifo-public nav#main-nav,
html.gifo-public nav#main-nav[style],
html.gifo-public header.site-header,
html.gifo-public nav:not(#main-nav):not(.editorial-nav):not(.links):not(.desktop-nav):not(.topbar):not([class*=nav-]){
  background:rgba(6,9,15,.82)!important;
  -webkit-backdrop-filter:blur(18px) saturate(150%);
  backdrop-filter:blur(18px) saturate(150%);
  border-bottom:1px solid rgba(151,180,232,.12)!important;
}
html.gifo-public .nav-inner{
  max-width:1240px;height:60px;display:flex;align-items:center;
  justify-content:space-between;gap:16px;
}
html.gifo-public .nav-brand{display:flex;align-items:center;gap:11px;text-decoration:none;position:relative;padding-right:14px}
html.gifo-public .nav-brand::after{
  content:'';position:absolute;right:0;top:50%;transform:translateY(-50%);
  width:1px;height:22px;background:linear-gradient(180deg,transparent,var(--g-line2),transparent);
}
html.gifo-public .nav-logo{height:40px;width:auto;object-fit:contain;transition:filter var(--g-med) var(--g-ease)}
html.gifo-public .nav-brand:hover .nav-logo{filter:brightness(1.18) drop-shadow(0 0 10px rgba(0,229,204,.35))}
html.gifo-public .nav-wordmark{
  font-family:var(--g-mono);font-size:.86rem;font-weight:700;
  letter-spacing:4px;color:var(--g-ink);
}
html.gifo-public .nav-links{display:none;align-items:center;gap:1px;list-style:none;margin:0;padding:0}
html.gifo-public .nav-links a{
  position:relative;display:block;color:rgba(233,240,252,.58)!important;
  font-family:var(--g-sans)!important;font-size:.8rem!important;font-weight:550;
  padding:8px 13px;white-space:nowrap;border-radius:2px;
  transition:color var(--g-fast) var(--g-ease),background var(--g-fast) var(--g-ease);
}
html.gifo-public .nav-links a::after{
  content:'';position:absolute;left:13px;right:13px;bottom:2px;height:1px;
  background:linear-gradient(90deg,var(--g-teal),transparent);
  transform:scaleX(0);transform-origin:left;
  transition:transform var(--g-med) var(--g-ease);
}
html.gifo-public .nav-links a:hover{color:#fff!important;background:rgba(151,180,232,.07)}
html.gifo-public .nav-links a:hover::after{transform:scaleX(1)}
html.gifo-public .nav-links a.active{color:#fff!important;background:rgba(61,139,255,.1)}
html.gifo-public .nav-links a.active::after{transform:scaleX(1);background:var(--g-teal)}
html.gifo-public .nav-actions{display:flex;align-items:center;gap:10px}
html.gifo-public .nav-login{
  color:rgba(233,240,252,.62);font-size:.78rem;font-weight:600;text-decoration:none;
  padding:7px 10px;border-radius:2px;border:1px solid transparent;
  transition:all var(--g-fast) var(--g-ease);
}
html.gifo-public .nav-login:hover{color:#fff;border-color:var(--g-line2);background:rgba(151,180,232,.06)}
html.gifo-public .nav-cta,
html.gifo-public .nav-contact{
  display:inline-flex;align-items:center;gap:7px;
  background:linear-gradient(180deg,#4a93ff,var(--g-blue-deep))!important;
  color:#fff!important;font-weight:650!important;font-size:.79rem!important;
  padding:9px 17px;border-radius:2px!important;border:none!important;
  letter-spacing:.3px;text-decoration:none;position:relative;overflow:hidden;
  box-shadow:0 0 0 1px rgba(61,139,255,.35),0 4px 18px -6px rgba(31,102,224,.65);
  transition:transform var(--g-fast) var(--g-ease),box-shadow var(--g-med) var(--g-ease),filter var(--g-fast);
}
html.gifo-public .nav-cta::before{
  content:'';position:absolute;top:0;left:-80%;width:45%;height:100%;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.24),transparent);
  transform:skewX(-20deg);transition:left var(--g-slow) var(--g-ease);
}
html.gifo-public .nav-cta:hover{transform:translateY(-1px);filter:brightness(1.08);box-shadow:0 0 0 1px rgba(61,139,255,.5),0 8px 26px -8px rgba(31,102,224,.85)}
html.gifo-public .nav-cta:hover::before{left:135%}
html.gifo-public .nav-hamburger,
html.gifo-public .hamb,
html.gifo-public .mobile-close,
html.gifo-public .close{
  display:flex;align-items:center;justify-content:center;
  width:40px;height:40px;cursor:pointer;
  background:rgba(151,180,232,.05)!important;
  border:1px solid var(--g-line2)!important;border-left-width:1px!important;
  border-radius:2px!important;color:var(--g-ink)!important;font-size:1rem;
  transition:border-color var(--g-fast),background var(--g-fast),color var(--g-fast);
}
html.gifo-public .nav-hamburger:hover,
html.gifo-public .hamb:hover{border-color:var(--g-blue)!important;background:rgba(61,139,255,.1)!important}

@media(min-width:900px){
  html.gifo-public .nav-links{display:flex}
  html.gifo-public .nav-hamburger,html.gifo-public .hamb{display:none}
}

/* ── Menu móvel ─────────────────────────────────────────────────── */
html.gifo-public .mobile-menu,
html.gifo-public .mobile{
  display:none;position:fixed;inset:0;flex-direction:column;overflow-y:auto;
  background:
    radial-gradient(ellipse 90% 40% at 80% 0%,rgba(61,139,255,.07),transparent 60%),
    rgba(4,6,10,.985)!important;
  -webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);
  z-index:2000;
}
html.gifo-public .mobile-menu.open,
html.gifo-public .mobile.open{display:flex}
html.gifo-public .mobile-top{padding:16px 22px;border-bottom:1px solid var(--g-line);display:flex;justify-content:space-between;align-items:center}
html.gifo-public .mobile-links a,
html.gifo-public .mobile nav a{
  display:flex;flex-direction:column;gap:3px;
  padding:16px 24px!important;border-bottom:1px solid var(--g-line);
  font-size:1.02rem!important;font-weight:650!important;color:rgba(233,240,252,.78)!important;
  position:relative;transition:background var(--g-fast),color var(--g-fast);
}
html.gifo-public .mobile-links a small,
html.gifo-public .mobile nav a small{
  font-family:var(--g-mono);font-size:.62rem!important;font-weight:400;
  letter-spacing:1.4px;text-transform:uppercase;color:var(--g-faint)!important;
}
html.gifo-public .mobile-links a::before,
html.gifo-public .mobile nav a::before{
  content:'//';font-family:var(--g-mono);color:var(--g-teal);
  margin-right:10px;font-weight:400;
}
html.gifo-public .mobile-links a:hover,
html.gifo-public .mobile nav a:hover{background:rgba(61,139,255,.06);color:#fff!important}
html.gifo-public .mobile-links a.m-cta{color:var(--g-blue-hi)!important}
html.gifo-public .mobile-actions{display:grid;grid-template-columns:1fr;gap:10px;padding:20px 24px calc(24px + env(safe-area-inset-bottom))}

/* ── Tipografia e cabeçalhos de secção ──────────────────────────── */
html.gifo-public h1,html.gifo-public h2,html.gifo-public h3{text-wrap:balance}
html.gifo-public .section-label,
html.gifo-public .gifo-kicker,
html.gifo-public .kicker{
  font-family:var(--g-mono)!important;font-size:.64rem!important;font-weight:700;
  letter-spacing:2.4px!important;text-transform:uppercase;
  color:var(--g-teal)!important;display:inline-flex;align-items:center;gap:10px;
}
html.gifo-public .section-label::before,
html.gifo-public .gifo-kicker::before{
  content:'';width:22px;height:1px;flex-shrink:0;
  background:linear-gradient(90deg,var(--g-teal),transparent);
}
html.gifo-public .section-title{
  font-size:clamp(1.72rem,4.4vw,2.75rem)!important;font-weight:750!important;
  line-height:1.08!important;letter-spacing:-.022em;color:var(--g-ink)!important;
  margin-bottom:14px;
}
html.gifo-public .section-desc{
  font-size:.94rem;color:var(--g-soft-ink)!important;line-height:1.85;max-width:600px;
}
html.gifo-public .gifo-section-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:24px;
  margin-bottom:30px;flex-wrap:wrap;
}
html.gifo-public .gifo-text-link{
  font-family:var(--g-mono);font-size:.74rem!important;font-weight:400;
  color:var(--g-blue-hi)!important;text-decoration:none;letter-spacing:.4px;
  display:inline-flex;align-items:center;gap:8px;
  transition:color var(--g-fast),gap var(--g-med) var(--g-ease);
}
html.gifo-public .gifo-text-link:hover{color:#fff!important;gap:13px}

/* ── Botões ─────────────────────────────────────────────────────── */
html.gifo-public .btn-primary,
html.gifo-public button[type=submit]{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  background:linear-gradient(180deg,#4a93ff,var(--g-blue-deep))!important;
  color:#fff!important;padding:13px 24px!important;
  font-family:var(--g-sans)!important;font-weight:650!important;font-size:.88rem;
  border:none!important;border-radius:2px!important;cursor:pointer;
  letter-spacing:.2px;text-decoration:none;white-space:nowrap;position:relative;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 0 0 1px rgba(61,139,255,.32),0 6px 22px -8px rgba(31,102,224,.6);
  transition:transform var(--g-fast) var(--g-ease),box-shadow var(--g-med) var(--g-ease),filter var(--g-fast) var(--g-ease);
}
html.gifo-public .btn-primary:hover,
html.gifo-public button[type=submit]:hover{
  transform:translateY(-1px);filter:brightness(1.09);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 0 0 1px rgba(61,139,255,.5),0 10px 30px -8px rgba(31,102,224,.8);
  background:linear-gradient(180deg,#4a93ff,var(--g-blue-deep))!important;color:#fff!important;
}
html.gifo-public .btn-primary:active{transform:translateY(0)}
html.gifo-public .btn-outline{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  background:rgba(151,180,232,.04)!important;color:rgba(233,240,252,.88)!important;
  padding:12px 22px!important;font-family:var(--g-sans)!important;
  font-weight:600!important;font-size:.87rem;
  border:1px solid var(--g-line2)!important;border-radius:2px!important;
  cursor:pointer;text-decoration:none;white-space:nowrap;position:relative;
  transition:border-color var(--g-med) var(--g-ease),background var(--g-med) var(--g-ease),transform var(--g-fast) var(--g-ease);
}
html.gifo-public .btn-outline::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:2px;
  background:var(--g-teal);transform:scaleY(0);transform-origin:top;
  transition:transform var(--g-med) var(--g-ease);
}
html.gifo-public .btn-outline:hover{
  border-color:rgba(0,229,204,.5)!important;background:rgba(0,229,204,.06)!important;
  color:#fff!important;transform:translateY(-1px);
}
html.gifo-public .btn-outline:hover::before{transform:scaleY(1)}

/* ── Formulários ────────────────────────────────────────────────── */
html.gifo-public input:not([type=checkbox]):not([type=radio]):not([type=submit]),
html.gifo-public select,html.gifo-public textarea{
  background:rgba(8,12,20,.6)!important;
  border:1px solid var(--g-line2)!important;border-radius:2px!important;
  color:var(--g-ink)!important;font-family:var(--g-sans)!important;
  font-size:.9rem;padding:11px 14px!important;min-height:47px;width:100%;
  transition:border-color var(--g-med) var(--g-ease),box-shadow var(--g-med) var(--g-ease),background var(--g-med);
}
html.gifo-public input::placeholder,html.gifo-public textarea::placeholder{color:rgba(228,236,250,.52)}
html.gifo-public input:focus,html.gifo-public select:focus,html.gifo-public textarea:focus{
  outline:none!important;
  border-color:rgba(61,139,255,.65)!important;
  background:rgba(10,15,25,.85)!important;
  box-shadow:0 0 0 3px rgba(61,139,255,.14),0 0 24px -6px rgba(61,139,255,.25)!important;
}
html.gifo-public select option{background:#0c1119;color:var(--g-ink)}
html.gifo-public label{
  font-family:var(--g-mono)!important;font-size:.63rem!important;font-weight:700;
  letter-spacing:1.8px;text-transform:uppercase;color:var(--g-faint)!important;
}

/* ── Cartões: superfície de evidência com marcas de registo ─────── */
html.gifo-public .card,
html.gifo-public .gifo-card,
html.gifo-public .audience-card,
html.gifo-public .solution-card,
html.gifo-public .case-card,
html.gifo-public .price-card,
html.gifo-public .market-card-v2,
html.gifo-public .home-service-card,
html.gifo-public .feature-case-main,
html.gifo-public .deliverable,
html.gifo-public .profile-card{
  position:relative;
  background:linear-gradient(165deg,rgba(21,29,46,.55),rgba(11,16,26,.92))!important;
  border:1px solid var(--g-line)!important;border-radius:2px!important;
  box-shadow:none!important;
  transition:border-color var(--g-med) var(--g-ease),transform var(--g-med) var(--g-ease),box-shadow var(--g-med) var(--g-ease);
}
html.gifo-public .card::after,
html.gifo-public .gifo-card::after,
html.gifo-public .market-card-v2::after,
html.gifo-public .home-service-card::after,
html.gifo-public .case-card::after,
html.gifo-public .price-card::after{
  content:'';position:absolute;top:-1px;right:-1px;width:14px;height:14px;
  background:
    linear-gradient(to left,var(--g-line2) 1px,transparent 1px),
    linear-gradient(to bottom,var(--g-line2) 1px,transparent 1px);
  background-size:100% 5px,5px 100%;background-position:top right;
  background-repeat:no-repeat;opacity:0;
  transition:opacity var(--g-med) var(--g-ease);pointer-events:none;
}
html.gifo-public .card:hover,
html.gifo-public .gifo-card:hover,
html.gifo-public .market-card-v2:hover,
html.gifo-public .home-service-card:hover,
html.gifo-public .case-card:hover,
html.gifo-public .price-card:hover{
  transform:translateY(-3px);
  border-color:rgba(61,139,255,.42)!important;
  box-shadow:0 14px 38px -18px rgba(0,0,0,.85),0 0 0 1px rgba(61,139,255,.08),0 0 44px -18px rgba(61,139,255,.3)!important;
}
html.gifo-public .card:hover::after,
html.gifo-public .gifo-card:hover::after,
html.gifo-public .market-card-v2:hover::after,
html.gifo-public .home-service-card::after,
html.gifo-public .home-service-card:hover::after,
html.gifo-public .case-card:hover::after,
html.gifo-public .price-card:hover::after{opacity:1}

/* Cartões numerados de mercado */
html.gifo-public .market-no{
  font-family:var(--g-mono);font-size:.68rem;font-weight:700;color:var(--g-blue-hi);
  letter-spacing:2px;margin-bottom:14px;display:inline-flex;align-items:center;gap:8px;
}
html.gifo-public .market-no::after{content:'';flex:0 0 26px;height:1px;background:linear-gradient(90deg,var(--g-line2),transparent)}
html.gifo-public .market-card-v2 h3{font-size:1.02rem!important;font-weight:720!important;color:#fff!important;margin-bottom:7px}
html.gifo-public .market-card-v2 p{font-size:.83rem;color:var(--g-soft-ink)!important;line-height:1.7;margin:0 0 16px}
html.gifo-public .market-card-v2>span:last-child{
  font-family:var(--g-mono);font-size:.68rem;color:var(--g-teal);
  display:inline-flex;align-items:center;gap:8px;
  transition:gap var(--g-med) var(--g-ease),color var(--g-fast);
}
html.gifo-public .market-card-v2:hover>span:last-child{gap:13px;color:#5ffcec}

/* Cartões de serviço (homepage + páginas) */
html.gifo-public .home-service-card{display:block;text-decoration:none;padding:26px 26px 22px!important}
html.gifo-public .home-service-card h3{font-size:1.04rem!important;font-weight:720!important;color:#fff!important;margin:0 0 8px}
html.gifo-public .home-service-card p{font-size:.84rem!important;color:var(--g-soft-ink)!important;line-height:1.75;margin:0 0 18px}
html.gifo-public .home-service-card strong{
  display:flex;align-items:center;gap:8px;
  font-family:var(--g-mono);font-weight:400!important;font-size:.64rem;
  letter-spacing:1.2px;text-transform:uppercase;color:var(--g-teal)!important;
  padding-top:14px;border-top:1px solid var(--g-line);
}
html.gifo-public .home-service-card strong::before{content:'▸';color:var(--g-blue-hi)}

/* Workflow / passos / cadeia de custódia */
html.gifo-public .workflow-strip,
html.gifo-public .steps-row,
html.gifo-public .workflow{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px!important;
  background:var(--g-line)!important;border:1px solid var(--g-line)!important;
}
html.gifo-public .workflow-step,
html.gifo-public .step-item{
  background:linear-gradient(170deg,rgba(17,24,38,.8),rgba(9,13,21,.95))!important;
  padding:30px 28px!important;position:relative;overflow:hidden;
}
html.gifo-public .workflow-step b,
html.gifo-public .step-item b,
html.gifo-public .step-num{
  font-family:var(--g-mono)!important;font-size:.66rem!important;font-weight:700;
  letter-spacing:2px;color:var(--g-teal)!important;display:inline-block;margin-bottom:12px;
}
html.gifo-public .workflow-step h3,
html.gifo-public .step-body h4{font-size:1rem!important;font-weight:720!important;color:#fff!important;margin:0 0 8px!important}
html.gifo-public .workflow-step p,
html.gifo-public .step-body p{font-size:.83rem!important;color:var(--g-soft-ink)!important;line-height:1.75!important;margin:0}
html.gifo-public .workflow-step::after,
html.gifo-public .step-item::after{
  content:'';position:absolute;left:0;bottom:0;height:2px;width:100%;
  background:linear-gradient(90deg,var(--g-blue),var(--g-teal));
  transform:scaleX(0);transform-origin:left;
  transition:transform var(--g-slow) var(--g-ease);
}
html.gifo-public .workflow-step:hover::after,
html.gifo-public .step-item:hover::after{transform:scaleX(1)}
@media(max-width:767px){
  html.gifo-public .workflow-strip,
  html.gifo-public .steps-row,
  html.gifo-public .workflow{grid-template-columns:1fr!important}
}

/* FAQ acordeão */
html.gifo-public .faq-accordion{border-top:1px solid var(--g-line2)}
html.gifo-public .faq-accordion details,
html.gifo-public details{
  background:transparent!important;border:0!important;
  border-bottom:1px solid var(--g-line)!important;border-radius:0!important;
}
html.gifo-public .faq-accordion summary{
  min-height:56px;padding:16px 44px 16px 2px!important;
  font-size:.95rem!important;font-weight:650!important;color:var(--g-ink)!important;
  list-style:none;cursor:pointer;position:relative;
  transition:color var(--g-fast);
}
html.gifo-public .faq-accordion summary::-webkit-details-marker{display:none}
html.gifo-public .faq-accordion summary::after{
  content:'+';position:absolute;right:6px;top:50%;
  transform:translateY(-50%);width:22px;height:22px;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--g-mono);font-size:1rem;font-weight:400;
  color:var(--g-blue-hi);border:1px solid var(--g-line2);border-radius:2px;
  transition:transform var(--g-med) var(--g-ease),color var(--g-fast),border-color var(--g-fast);
}
html.gifo-public .faq-accordion details[open] summary::after{
  content:'−';transform:translateY(-50%) rotate(180deg);
  color:var(--g-teal);border-color:rgba(0,229,204,.4);
}
html.gifo-public .faq-accordion summary:hover{color:#fff}
html.gifo-public .faq-accordion details p,
html.gifo-public details p{padding:0 40px 18px 2px!important;font-size:.88rem;color:var(--g-soft-ink)!important;line-height:1.85}

/* Tabelas, notas, citações */
html.gifo-public table th{
  font-family:var(--g-mono);font-size:.62rem!important;letter-spacing:1.6px;
  text-transform:uppercase;color:var(--g-faint)!important;
  background:rgba(151,180,232,.05)!important;
}
html.gifo-public table td{font-size:.86rem}
html.gifo-public blockquote,
html.gifo-public .gifo-note,
html.gifo-public .note{
  background:linear-gradient(120deg,rgba(61,139,255,.07),rgba(0,229,204,.03))!important;
  border:1px solid rgba(61,139,255,.2)!important;border-left:2px solid var(--g-blue)!important;
  border-radius:2px!important;color:var(--g-soft-ink)!important;
}

/* Pills de estado (evidência) */
html.gifo-public .pill,
html.gifo-public [class*=pill-]{
  font-family:var(--g-mono);font-size:.6rem;font-weight:700;letter-spacing:1.4px;
  text-transform:uppercase;padding:4px 10px;border-radius:2px;
}
html.gifo-public .pill-confirmado{background:var(--g-teal-dim);color:var(--g-teal);border:1px solid rgba(0,229,204,.32)}
html.gifo-public .pill-analise{background:rgba(61,139,255,.12);color:var(--g-blue-hi);border:1px solid rgba(61,139,255,.3)}
html.gifo-public .pill-arquivado{background:rgba(151,180,232,.06);color:var(--g-faint);border:1px solid var(--g-line2)}

/* ── Rodapé ─────────────────────────────────────────────────────── */
html.gifo-public .site-footer{
  position:relative;
  background:
    radial-gradient(ellipse 60% 90% at 50% 130%,rgba(61,139,255,.06),transparent 60%),
    #04060a!important;
  border-top:1px solid rgba(151,180,232,.14)!important;
  padding-top:54px!important;
}
html.gifo-public .site-footer .footer-inner{
  display:grid;grid-template-columns:1fr;gap:38px;
}
html.gifo-public .site-footer .ft-brand{padding-bottom:24px;border-bottom:1px solid var(--g-line)}
html.gifo-public .site-footer .footer-cols:not(.footer-cols-ecosystem){display:grid;grid-template-columns:repeat(2,1fr);gap:30px 18px}
html.gifo-public .site-footer .ft-col ul{list-style:none;padding:0;margin:0}
html.gifo-public .site-footer .ft-col li{margin-bottom:11px}
html.gifo-public .site-footer .ft-col h5{
  padding-bottom:9px;margin-bottom:14px;border-bottom:1px solid var(--g-line);
}
html.gifo-public .site-footer .footer-bottom{
  display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;
  margin-top:36px;padding:16px 0 22px;
}
@media(min-width:600px){html.gifo-public .site-footer .footer-cols:not(.footer-cols-ecosystem){grid-template-columns:repeat(3,1fr)}}
@media(min-width:900px){
  html.gifo-public .site-footer .footer-inner{grid-template-columns:250px 1fr;gap:56px;align-items:start}
  html.gifo-public .site-footer .ft-brand{border-bottom:none;border-right:1px solid var(--g-line);padding-bottom:0;padding-right:44px}
}
html.gifo-public .site-footer::before{
  content:'';position:absolute;top:-1px;left:50%;transform:translateX(-50%);
  width:min(420px,60%);height:1px;
  background:linear-gradient(90deg,transparent,var(--g-teal),transparent);
  opacity:.55;
}
html.gifo-public .footer-brand-logo,
html.gifo-public .ft-brand strong{
  font-family:var(--g-mono);font-size:.92rem;font-weight:700;letter-spacing:4px;color:#fff;
}
html.gifo-public .footer-brand-logo span{color:var(--g-teal)}
html.gifo-public .footer-brand-tag{font-family:var(--g-mono);font-size:.62rem;line-height:1.75;letter-spacing:1.4px}
html.gifo-public .footer-cols .ft-col h5{
  font-family:var(--g-mono)!important;font-size:.6rem!important;font-weight:700;
  letter-spacing:2.4px!important;text-transform:uppercase;color:rgba(233,240,252,.5)!important;
}
html.gifo-public .footer-cols .ft-col a{
  font-size:.84rem;color:rgba(233,240,252,.6)!important;
  transition:color var(--g-fast),padding-left var(--g-med) var(--g-ease);
}
html.gifo-public .footer-cols .ft-col a:hover{color:#fff!important;padding-left:5px}
html.gifo-public .footer-cols details.ft-col{border-bottom:1px solid var(--g-line)!important}
html.gifo-public .footer-cols details.ft-col summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;
}
html.gifo-public .footer-cols details.ft-col summary::-webkit-details-marker{display:none}
html.gifo-public .ft-accordion-icon{
  width:8px;height:8px;border-right:1px solid var(--g-faint);border-bottom:1px solid var(--g-faint);
  transform:rotate(45deg);transition:transform var(--g-med) var(--g-ease);
  margin-right:6px;flex-shrink:0;
}
html.gifo-public .footer-cols details.ft-col[open] .ft-accordion-icon{transform:rotate(225deg)}
html.gifo-public .social-btn{
  font-family:var(--g-mono);font-size:.62rem;letter-spacing:1px;
  color:rgba(233,240,252,.5)!important;
  border:1px solid var(--g-line2)!important;background:transparent!important;
  padding:6px 11px!important;border-radius:2px;
  transition:all var(--g-fast) var(--g-ease);
}
html.gifo-public .social-btn:hover{
  border-color:var(--g-teal)!important;color:var(--g-teal)!important;
  background:var(--g-teal-dim)!important;
}
html.gifo-public .footer-nl{display:flex!important;gap:0;margin-top:6px;max-width:280px}
html.gifo-public .footer-nl input{min-height:40px!important;font-size:.8rem;flex:1;border-radius:2px 0 0 2px!important;border-right:none!important}
html.gifo-public .footer-nl button{
  background:var(--g-blue-deep)!important;border-radius:0 2px 2px 0!important;
  transition:filter var(--g-fast);flex-shrink:0;width:44px;min-height:40px;
}
html.gifo-public .footer-nl button:hover{filter:brightness(1.15)}
html.gifo-public .footer-bottom{
  border-top:1px solid var(--g-line)!important;
  font-family:var(--g-mono)!important;color:rgba(233,240,252,.4)!important;
}
html.gifo-public .footer-bottom a{color:rgba(233,240,252,.55)!important}
html.gifo-public .footer-bottom a:hover{color:var(--g-teal)!important}

/* Voltar ao topo */
html.gifo-public #back-to-top,
html.gifo-public .back-to-top{
  width:42px!important;height:42px!important;border-radius:2px!important;
  background:rgba(10,16,27,.92)!important;
  border:1px solid rgba(61,139,255,.4)!important;
  color:var(--g-blue-hi)!important;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  transition:all var(--g-med) var(--g-ease)!important;
}
html.gifo-public #back-to-top:hover{
  border-color:var(--g-teal)!important;color:var(--g-teal)!important;
  box-shadow:0 0 22px -6px rgba(0,229,204,.5);transform:translateY(-2px);
}

/* ── Decorações de herói (injetadas por gifo-motion.js) ─────────── */
.gifo-hero-deco{
  position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;
}
.gifo-hero-deco .g-gridlines{
  position:absolute;inset:-1px;
  background-image:
    linear-gradient(rgba(151,180,232,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(151,180,232,.05) 1px,transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:radial-gradient(ellipse 90% 82% at 62% 18%,#000 30%,transparent 78%);
  mask-image:radial-gradient(ellipse 90% 82% at 62% 18%,#000 30%,transparent 78%);
}
.gifo-hero-deco .g-glow{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 52% 46% at 82% 12%,rgba(61,139,255,.1),transparent 68%),
    radial-gradient(ellipse 36% 30% at 12% 88%,rgba(0,229,204,.05),transparent 62%);
}
.gifo-hero-deco .g-scanline{
  position:absolute;left:0;right:0;top:-4%;height:2px;
  background:linear-gradient(90deg,transparent 4%,rgba(0,229,204,.16) 30%,rgba(61,139,255,.22) 55%,transparent 96%);
  opacity:0;
}
.gifo-net-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.gifo-scan-on .g-scanline{animation:gifo-scan 7.5s var(--g-ease) infinite}
@keyframes gifo-scan{
  0%,72%{opacity:0;transform:translateY(0)}
  76%{opacity:.5}
  96%{opacity:.28;transform:translateY(calc(108 * var(--gh,1) * 1vh))}
  100%{opacity:0;transform:translateY(112vh)}
}

/* ── Componentes forenses (homepage + páginas-chave) ────────────── */
.fx-ref{font-family:var(--g-mono);font-size:.6rem;letter-spacing:1.6px;text-transform:uppercase;color:var(--g-faint)}
.fx-hash{font-family:var(--g-mono);font-size:.62rem;letter-spacing:.6px;color:rgba(0,229,204,.55);word-break:break-all}
.fx-status{
  display:inline-flex;align-items:center;gap:7px;
  font-family:var(--g-mono);font-size:.58rem;font-weight:700;
  letter-spacing:1.8px;text-transform:uppercase;
  padding:4px 10px;border-radius:2px;border:1px solid;
}
.fx-status i{width:5px;height:5px;border-radius:50%;background:currentColor;animation:gifo-pulse-dot 2.6s ease-in-out infinite;flex-shrink:0}
.fx-status.ok{color:var(--g-teal);border-color:rgba(0,229,204,.32);background:var(--g-teal-dim)}
.fx-status.info{color:var(--g-blue-hi);border-color:rgba(61,139,255,.3);background:rgba(61,139,255,.1)}
.fx-status.review{color:var(--g-amber);border-color:rgba(255,180,84,.3);background:rgba(255,180,84,.08)}

/* Painel de evidência do herói */
.fx-panel{
  position:relative;max-width:430px;margin-left:auto;
  background:linear-gradient(168deg,#121a2b 0%,#0b101c 58%,#090d16 100%);
  border:1px solid rgba(151,180,232,.16);border-radius:3px;
  box-shadow:0 34px 90px -30px rgba(0,0,0,.9),0 0 0 1px rgba(61,139,255,.06),0 0 70px -30px rgba(61,139,255,.35);
  font-family:var(--g-sans);overflow:hidden;
  transform:perspective(1100px) rotateY(-2.4deg) rotateX(.6deg);
  transition:transform .5s var(--g-ease),box-shadow .5s var(--g-ease);
}
.fx-panel:hover{
  transform:perspective(1100px) rotateY(-.6deg) rotateX(.2deg) translateY(-3px);
  box-shadow:0 44px 110px -30px rgba(0,0,0,.95),0 0 0 1px rgba(0,229,204,.14),0 0 90px -26px rgba(0,229,204,.28);
}
.fx-panel::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--g-blue),var(--g-teal));
  opacity:.85;
}
.fx-panel-head{
  display:flex;justify-content:space-between;align-items:center;
  padding:13px 18px;border-bottom:1px solid rgba(151,180,232,.1);
}
.fx-panel-brand{font-family:var(--g-mono);font-size:.66rem;font-weight:700;letter-spacing:2.4px;color:#fff}
.fx-panel-brand b{color:var(--g-teal)}
.fx-panel-ref{font-family:var(--g-mono);font-size:.56rem;color:var(--g-faint);letter-spacing:1.2px}
.fx-panel-body{padding:16px 18px}
.fx-chain{display:flex;gap:0;margin-bottom:16px;border:1px solid rgba(151,180,232,.1);border-radius:2px;overflow:hidden}
.fx-chain div{
  flex:1;padding:10px 6px 9px;text-align:center;position:relative;
  background:rgba(151,180,232,.03);
}
.fx-chain div+div{border-left:1px solid rgba(151,180,232,.1)}
.fx-chain b{
  display:block;font-family:var(--g-mono);font-size:.53rem;font-weight:700;
  letter-spacing:1.4px;color:var(--g-blue-hi);margin-bottom:3px;
}
.fx-chain span{font-size:.58rem;color:var(--g-faint);display:block;line-height:1.35}
.fx-chain div.done b{color:var(--g-teal)}
.fx-chain div.done::after{
  content:'';position:absolute;left:0;right:0;bottom:0;height:2px;
  background:var(--g-teal);opacity:.8;
}
.fx-chain div.pending::after{
  content:'';position:absolute;left:0;right:0;bottom:0;height:2px;
  background:repeating-linear-gradient(90deg,var(--g-amber) 0 5px,transparent 5px 9px);
  opacity:.55;animation:gifo-custody-dash 1.6s linear infinite;
}
@keyframes gifo-custody-dash{to{background-position:14px 0}}
.fx-evi{display:flex;flex-direction:column;gap:0}
.fx-evi>div{
  display:flex;align-items:center;gap:10px;
  font-size:.72rem;color:rgba(233,240,252,.62);padding:8px 2px;
  border-bottom:1px dashed rgba(151,180,232,.1);
}
.fx-evi>div:last-child{border-bottom:0}
.fx-evi i{
  width:14px;height:14px;flex-shrink:0;border-radius:2px;
  border:1px solid rgba(0,229,204,.45);position:relative;
}
.fx-evi i::after{
  content:'';position:absolute;inset:3px;background:var(--g-teal);
  opacity:0;transition:opacity .3s;
}
.fx-evi>div.v i::after{opacity:.9}
.fx-panel-foot{
  padding:11px 18px;border-top:1px solid rgba(151,180,232,.1);
  font-family:var(--g-mono);font-size:.56rem;color:var(--g-faint);letter-spacing:.8px;
  display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;
}

/* Provas do herói */
.fx-proof{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;
  background:rgba(151,180,232,.12);border:1px solid rgba(151,180,232,.12);
  max-width:560px;
}
.fx-proof>div{background:rgba(9,13,21,.88);padding:13px 15px}
.fx-proof strong{
  display:flex;align-items:center;gap:7px;
  font-size:.74rem;font-weight:700;color:#fff;letter-spacing:.3px;margin-bottom:3px;
}
.fx-proof strong::before{
  content:'';width:6px;height:6px;flex-shrink:0;
  background:var(--g-teal);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);
}
.fx-proof span{font-size:.67rem;color:var(--g-faint);line-height:1.5;display:block}
@media(max-width:520px){.fx-proof{grid-template-columns:1fr}}

/* Cadeia de custódia — secção metodologia (homepage) */
.fx-custody{position:relative;padding:8px 0 4px}
.fx-custody-rail{
  position:absolute;left:19px;top:14px;bottom:14px;width:1px;
  background:rgba(151,180,232,.14);
}
.fx-custody-rail i{
  position:absolute;left:0;top:0;width:100%;height:100%;
  background:linear-gradient(180deg,var(--g-blue),var(--g-teal));
  transform:scaleY(0);transform-origin:top;
  transition:transform 1.4s var(--g-ease) .2s;
  box-shadow:0 0 12px rgba(0,229,204,.4);
}
.fx-custody.is-in .fx-custody-rail i{transform:scaleY(1)}
@media(min-width:900px){
  .fx-custody-rail{left:0;right:0;top:21px;bottom:auto;width:auto;height:1px;
    background:linear-gradient(90deg,rgba(151,180,232,.14) 0,rgba(151,180,232,.14) 100%);}
  .fx-custody-rail i{width:100%;height:100%;transform:scaleX(0);transform-origin:left;
    background:linear-gradient(90deg,var(--g-blue),var(--g-teal));transition-duration:1.6s}
  .fx-custody.is-in .fx-custody-rail i{transform:scaleX(1)}
}
.fx-custody-steps{display:grid;grid-template-columns:1fr;gap:26px;position:relative}
@media(min-width:900px){.fx-custody-steps{grid-template-columns:repeat(3,1fr);gap:30px}}
.fx-custody-step{display:grid;grid-template-columns:40px 1fr;gap:16px;align-items:start;position:relative}
@media(min-width:900px){.fx-custody-step{grid-template-columns:1fr}}
.fx-node{
  width:40px;height:40px;border-radius:50%;position:relative;z-index:1;
  background:#0b101c;border:1px solid rgba(61,139,255,.45);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--g-mono);font-size:.68rem;font-weight:700;color:var(--g-blue-hi);
  transition:border-color .5s var(--g-ease),box-shadow .5s var(--g-ease),color .5s;
}
.fx-custody.is-in .fx-node{border-color:var(--g-teal);color:var(--g-teal);box-shadow:0 0 0 5px rgba(0,229,204,.07),0 0 24px -4px rgba(0,229,204,.4)}
@media(min-width:900px){.fx-node{margin-bottom:18px}}
.fx-custody-step h3{font-size:1rem;font-weight:720;color:#fff;margin:2px 0 7px;letter-spacing:.2px}
.fx-custody-step p{font-size:.85rem;color:var(--g-soft-ink);line-height:1.75;margin:0}
.fx-custody-step .fx-ref{display:block;margin-bottom:8px}

/* Sistema de revelação ao scroll */
[data-reveal]{opacity:0;transform:translateY(16px);transition:opacity var(--g-slow) var(--g-ease),transform var(--g-slow) var(--g-ease);transition-delay:var(--d,0ms);will-change:opacity,transform}
[data-reveal].is-in{opacity:1;transform:none}
[data-reveal="scan"]{transform:none;clip-path:inset(0 100% 0 0);transition:clip-path .7s var(--g-ease),opacity .4s}
[data-reveal="scan"].is-in{clip-path:inset(0 0 0 0)}

/* Contadores */
[data-count]{font-variant-numeric:tabular-nums}

/* ── Contraste AA: endurecimento de padrões de baixo contraste conhecidos ── */
html.gifo-public.gifo-public .footer-brand-tag{color:rgba(233,240,252,.66)!important}
html.gifo-public.gifo-public .footer-nl-note{color:rgba(233,240,252,.6)!important}
html.gifo-public.gifo-public .footer-legal-main,
html.gifo-public.gifo-public .footer-legal-links a,
html.gifo-public.gifo-public .footer-utility-links a{color:rgba(233,240,252,.66)!important}
html.gifo-public.gifo-public .step b,
html.gifo-public.gifo-public .step-item b,
html.gifo-public.gifo-public .workflow-step b{color:rgba(0,229,204,.9)!important}
html.gifo-public.gifo-public .contact-label{color:rgba(233,240,252,.68)!important}
html.gifo-public.gifo-public .contact-val a{color:#7fb2ff!important}
html.gifo-public.gifo-public .form-card>div:first-child{color:rgba(0,229,204,.85)!important}
html.gifo-public.gifo-public .service-pill{color:rgba(230,238,250,.68)}
html.gifo-public.gifo-public:not(.page-index) .step b,
html.gifo-public.gifo-public:not(.page-index) .card .no{color:rgba(0,229,204,.9)!important}
html.gifo-public.gifo-public .result-cat{color:#9ec2ff!important;background:rgba(61,139,255,.14)!important;border-color:rgba(61,139,255,.3)!important}
html.gifo-public.gifo-public .development-meta span{color:rgba(240,237,232,.74)!important}
html.gifo-public.gifo-public .caso-analysis strong{color:#fff!important}
html.gifo-public.gifo-public .faq-cat{color:rgba(0,229,204,.9)!important}
html.gifo-public dt{color:rgba(233,240,252,.76)!important}
html.gifo-public.gifo-public .val-item .val-key{color:rgba(0,229,204,.85)!important}
html.gifo-public.gifo-public .footer-links h3{color:rgba(233,240,252,.72)!important}
html.gifo-public #editorial-nav-links a{color:rgba(240,237,232,.78)!important}
html.gifo-public main p a:not([class]){color:#8fbaff!important;text-decoration:underline;text-underline-offset:2px}
html.gifo-public small{color:rgba(233,240,252,.66)}
html.gifo-public.gifo-public .development-note{color:rgba(240,237,232,.74)!important}
html.gifo-public.gifo-public .editorial-nav .editorial-submit{background:#1f66e0!important;border-color:#1f66e0!important;color:#fff!important}
html.gifo-public.gifo-public .collection-label{color:rgba(184,138,61,.95)!important}
html.gifo-public.gifo-public .footer-brand>p,
html.gifo-public.gifo-public .footer-newsletter h3,
html.gifo-public.gifo-public .footer-newsletter p,
html.gifo-public.gifo-public .footer-bottom>span{color:rgba(233,240,252,.66)!important}
html.gifo-public #access-form>p{color:rgba(233,240,252,.7)!important}
/* Ligações dentro de parágrafos: sublinhado (não dependem só de cor) */
html.gifo-public main p a:not([class]){text-decoration:underline;text-underline-offset:2px}


/* Contraste AA — fornada final */
html.gifo-public.gifo-public .criteria-grid article span{color:#7fb2ff!important}
html.gifo-public.gifo-public .filter-btn.active{color:#7fb2ff!important}
html.gifo-public.gifo-public .legal-grid span{color:rgba(0,229,204,.9)!important}
html.gifo-public.gifo-public .about-service-grid>div>div:first-child{color:rgba(0,229,204,.85)!important}
html.gifo-public.gifo-public .ft-brand div[style*="rgba(240,244,255,.25)"]{color:rgba(233,240,252,.66)!important}
html.gifo-public.gifo-public .ft-brand div[style*="rgba(240,244,255,.5)"]{color:rgba(233,240,252,.66)!important}

/* ── Performance mobile ───────────────────────────────────────────
   backdrop-filter num elemento sticky é repintado por frame em GPUs
   fracas (Android): em touch/ecrãs pequenos usa-se fundo sólido. */
@media(((hover:none) and (pointer:coarse)),(max-width:900px)){
  html.gifo-public nav#main-nav,
  html.gifo-public nav#main-nav[style],
  html.gifo-public header.site-header,
  html.gifo-public nav:not(#main-nav):not(.editorial-nav):not(.links):not(.desktop-nav):not(.topbar):not([class*=nav-]){
    background:rgba(6,9,15,.97)!important;
    -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
  }
  html.gifo-public .mobile-menu,
  html.gifo-public .mobile{background:rgba(4,6,10,.995)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
  html.gifo-public #back-to-top,html.gifo-public .back-to-top{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
  .gifo-hero-deco .g-scanline{filter:none}
}

/* ── Microinterações premium ────────────────────────────────────── */
/* Brilho de varrimento no botão primário (iguais à nav-cta) */
html.gifo-public .btn-primary{overflow:hidden}
html.gifo-public .btn-primary::before{
  content:'';position:absolute;top:0;left:-80%;width:45%;height:100%;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.22),transparent);
  transform:skewX(-20deg);transition:left var(--g-slow) var(--g-ease);pointer-events:none;
}
html.gifo-public .btn-primary:hover::before{left:135%}

/* Linha de acento superior nos cartões: "evidência destacada" */
html.gifo-public .market-card-v2::before,
html.gifo-public .home-service-card::before,
html.gifo-public .case-card::before,
html.gifo-public .price-card::before,
html.gifo-public .feature-case-link::before{
  content:'';position:absolute;top:-1px;left:0;right:0;height:2px;z-index:1;
  background:linear-gradient(90deg,var(--g-blue),var(--g-teal));
  transform:scaleX(0);transform-origin:left;
  transition:transform var(--g-slow) var(--g-ease);pointer-events:none;
}
html.gifo-public .market-card-v2:hover::before,
html.gifo-public .home-service-card:hover::before,
html.gifo-public .case-card:hover::before,
html.gifo-public .price-card:hover::before,
html.gifo-public .feature-case-link:hover::before{transform:scaleX(1)}

/* Menu móvel: entrada escalonada dos links */
html.gifo-public .mobile-menu.open .mobile-links a,
html.gifo-public .mobile.open nav a{animation:gifo-menu-in .4s var(--g-ease) both}
html.gifo-public .mobile-menu.open .mobile-links a:nth-child(1){animation-delay:60ms}
html.gifo-public .mobile-menu.open .mobile-links a:nth-child(2){animation-delay:110ms}
html.gifo-public .mobile-menu.open .mobile-links a:nth-child(3){animation-delay:160ms}
html.gifo-public .mobile-menu.open .mobile-links a:nth-child(4){animation-delay:210ms}
html.gifo-public .mobile-menu.open .mobile-links a:nth-child(5){animation-delay:260ms}
html.gifo-public .mobile-menu.open .mobile-links a:nth-child(6){animation-delay:310ms}
@keyframes gifo-menu-in{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}

/* Assinatura de cadeia de custódia no fecho do rodapé */
html.gifo-public .site-footer .footer-bottom{position:relative;padding-top:30px!important}
html.gifo-public .site-footer .footer-bottom::before{
  content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:min(340px,72%);height:1px;
  background:linear-gradient(90deg,transparent,rgba(0,229,204,.45),transparent);
}
html.gifo-public .site-footer .footer-bottom::after{
  content:'◆';position:absolute;top:-7px;left:50%;transform:translateX(-50%);
  color:var(--g-teal);font-size:8px;line-height:1;
  background:var(--g-void,#04060a);padding:0 9px;
}

/* Entrada cinematográfica do herói (homepage, apenas no carregamento) */
@media(prefers-reduced-motion:no-preference){
  .page-index .hero-eyebrow,.page-index .hero-title,.page-index .hero-sub,
  .page-index .hero-btns,.page-index .fx-proof,.page-index .hero-pills{
    animation:gifo-hero-in .7s var(--g-ease) both;
  }
  .page-index .hero-eyebrow{animation-delay:60ms}
  .page-index .hero-title{animation-delay:140ms}
  .page-index .hero-sub{animation-delay:240ms}
  .page-index .hero-btns{animation-delay:340ms}
  .page-index .fx-proof{animation-delay:440ms}
  .page-index .hero-pills{animation-delay:520ms}
  .page-index [aria-hidden][data-reveal]{animation:gifo-hero-in .8s var(--g-ease) 300ms both}
}
@keyframes gifo-hero-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* ── Reduced motion ─────────────────────────────────────────────── */
@media(prefers-reduced-motion:reduce){
  html.gifo-public *,html.gifo-public *::before,html.gifo-public *::after{
    animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important;
  }
  [data-reveal]{opacity:1!important;transform:none!important;clip-path:none!important}
  .gifo-hero-deco .g-scanline,.fx-chain div.pending::after{animation:none!important}
}

/* ── Responsivo fino ────────────────────────────────────────────── */
@media(max-width:430px){
  html.gifo-public .nav-inner{height:54px}
  html.gifo-public .nav-logo{height:34px}
  html.gifo-public .section-pad{padding-inline:0}
  html.gifo-public .container{padding-inline:18px!important}
}
