/* Global J-X shared brand layer. Behaviour and content remain page-owned. */
:root {
  --brand-ink: #07111f;
  --brand-blue: #10243b;
  --brand-gold: #c9a96a;
  --brand-paper: #f7f9fb;
  --brand-line: rgba(15, 35, 56, .11);
  --brand-shadow: 0 18px 48px rgba(10, 28, 48, .10);
  --brand-ease: cubic-bezier(.22, 1, .36, 1);
}
html { scroll-padding-top: 76px; }
body { background: var(--brand-paper); }
body { text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
h1, h2, h3, .logo { text-wrap: balance; }
p { text-wrap: pretty; }
a { text-underline-offset: 3px; }
a, button, input, select, textarea { transition: color .25s var(--brand-ease), background-color .25s var(--brand-ease), border-color .25s var(--brand-ease), box-shadow .25s var(--brand-ease), transform .25s var(--brand-ease); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid rgba(201,169,106,.75); outline-offset: 3px; }
header { background: rgba(7,17,31,.88); backdrop-filter: blur(18px); border-bottom: 1px solid rgba(255,255,255,.1); }
.logo { letter-spacing: -.04em; }
.nav-container { min-height: 72px; }
.nav-links { gap: 22px; }
.nav-links a { position: relative; }
.nav-links a::after { content: ""; position: absolute; left: 0; right: 0; bottom: -9px; height: 1px; background: var(--brand-gold); transform: scaleX(0); transform-origin: center; transition: transform .3s var(--brand-ease); }
.nav-links a:hover::after, .nav-links a:focus-visible::after { transform: scaleX(1); }
.btn-cta, button[type="submit"], .primary-btn { border-radius: 999px; }
.btn-cta, button[type="submit"], .primary-btn { min-height: 46px; padding-inline: 22px; letter-spacing: .02em; }
.btn-cta:hover, button[type="submit"]:hover, .primary-btn:hover { transform: translateY(-2px); box-shadow: 0 12px 26px rgba(10,28,48,.16); }
.service-card, .team-card, .news-card, .insight-card, .solution-card, .panel, .form-card, .auth-card { border-radius: 20px; border: 1px solid var(--brand-line); box-shadow: none; }
.service-card:hover, .team-card:hover, .news-card:hover, .insight-card:hover, .solution-card:hover { transform: translateY(-6px); box-shadow: var(--brand-shadow); }
input, select, textarea { border-radius: 10px; border-color: var(--brand-line); background: #fff; }
input:focus, select:focus, textarea:focus { border-color: var(--brand-gold); box-shadow: 0 0 0 4px rgba(201,169,106,.16); outline: none; }
.service-card h3, .team-card h3, .news-card h3, .insight-card h3, .solution-card h3 { letter-spacing: -.025em; line-height: 1.25; }
.service-card p, .team-card p, .news-card p, .insight-card p, .solution-card p { color: #687588; line-height: 1.75; }
.legal-doc { transition: box-shadow .3s var(--brand-ease), transform .3s var(--brand-ease); }
.legal-doc:hover { transform: translateY(-2px); box-shadow: 0 18px 42px rgba(10,28,48,.08); }
::selection { background: rgba(201,169,106,.32); color: #07111f; }
@media (max-width: 720px) { body { padding-bottom: max(74px, env(safe-area-inset-bottom)); } .container { width: min(90%, 1280px); } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; } }
