/* CSS Variables */
:root {
  --color-bg-primary: #0B1D3A;
  --color-bg-secondary: #112240;
  --color-bg-card: #0A192F;
  --color-text-primary: #F5F5F5;
  --color-text-secondary: #8892B0;
  --color-accent-green: #39FF14;
  --color-accent-orange: #FF6F00;
  --color-border-green: rgba(57, 255, 20, 0.3);
  --color-border-green-light: rgba(57, 255, 20, 0.4);
  --color-border-green-dark: rgba(57, 255, 20, 0.2);
  --color-glow-green: rgba(57, 255, 20, 0.2);
  --color-focus-outline: #39FF14;
}

/* Reset */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:100%;-webkit-text-size-adjust:100%}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background-color:var(--color-bg-primary);color:var(--color-text-primary);line-height:1.6;min-height:100vh}
a{color:var(--color-accent-green);text-decoration:none;transition:color 0.2s}
a:hover,a:focus-visible{color:var(--color-accent-orange);outline:2px solid var(--color-accent-orange);outline-offset:2px}
ul,ol{list-style:none}
img{max-width:100%;height:auto;display:block}
button{cursor:pointer;border:none;background:none;font:inherit;color:inherit}
/* Focus */
:focus-visible{outline:2px solid var(--color-focus-outline);outline-offset:2px}
/* Skip link */
.skip-link{position:absolute;top:-100px;left:8px;background:var(--color-bg-secondary);color:var(--color-accent-green);padding:8px 16px;z-index:1000;border-radius:0 0 4px 4px;transition:top 0.2s}
.skip-link:focus{top:0}
/* Container */
.container{width:100%;max-width:1280px;margin:0 auto;padding:0 24px}
@media(min-width:768px){.container{padding:0 32px}}
@media(min-width:1024px){.container{padding:0 48px}}
/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 28px;border:2px solid transparent;border-radius:4px;font-family:'Inter',sans-serif;font-weight:700;font-size:1rem;text-transform:uppercase;letter-spacing:0.05em;transition:all 0.2s}
.btn-accent{background:var(--color-accent-green);color:var(--color-bg-primary);border-color:var(--color-accent-green)}
.btn-accent:hover,.btn-accent:focus-visible{background:var(--color-accent-orange);border-color:var(--color-accent-orange);color:var(--color-bg-primary);outline:none}
/* Header */
.site-header{position:sticky;top:0;z-index:100;background:var(--color-bg-primary);border-bottom:1px solid var(--color-border-green);backdrop-filter:blur(8px)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;max-width:1280px;margin:0 auto;gap:16px}
.logo a{font-family:'Anton',Impact,sans-serif;font-size:1.75rem;letter-spacing:0.05em;color:var(--color-text-primary);text-transform:uppercase}
.logo span{color:var(--color-accent-green)}
.nav-toggle{display:flex;flex-direction:column;gap:4px;padding:8px;background:transparent;border:none;cursor:pointer}
.nav-toggle .bar{width:28px;height:3px;background:var(--color-text-primary);border-radius:2px;transition:transform 0.3s,opacity 0.3s}
.nav-toggle[aria-expanded="true"] .bar:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .bar:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] .bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--color-bg-primary);border-bottom:1px solid var(--color-border-green-light);padding:16px 24px}
.site-nav[data-open]{display:block}
.site-nav ul{display:flex;flex-direction:column;gap:8px}
.site-nav a{display:block;padding:10px 0;font-family:'Inter',sans-serif;font-size:1rem;color:var(--color-text-primary);border-bottom:1px solid transparent}
.site-nav a:hover,.site-nav a:focus-visible{color:var(--color-accent-green);border-bottom-color:var(--color-accent-green);outline:none}
.site-nav a[aria-current="page"]{color:var(--color-accent-orange);border-bottom-color:var(--color-accent-orange)}
.header-cta.btn{margin-left:auto;padding:8px 20px;font-size:0.85rem;display:none}
@media(min-width:768px){
  .nav-toggle{display:none}
  .site-nav{display:block!important;position:static;background:transparent;border:none;padding:0;flex:1;max-width:600px}
  .site-nav ul{flex-direction:row;justify-content:flex-end;gap:0}
  .site-nav a{padding:8px 16px;border-bottom:none;font-size:0.95rem}
  .header-cta.btn{display:inline-flex}
}
@media(min-width:1024px){
  .header-inner{padding:12px 48px}
}
/* Scroll progress */
.scroll-progress{height:3px;background:linear-gradient(90deg,var(--color-accent-green),var(--color-accent-orange));width:0%;position:absolute;bottom:0;left:0;transition:width 0.1s linear}
@media(prefers-reduced-motion:reduce){.scroll-progress{transition:none}}
/* Footer */
.site-footer{background:var(--color-bg-secondary);border-top:1px solid var(--color-border-green);padding:40px 0 24px}
.footer-inner{display:grid;grid-template-columns:1fr;gap:32px}
.footer-logo a{font-family:'Anton',Impact,sans-serif;font-size:1.5rem;color:var(--color-text-primary);text-transform:uppercase}
.footer-contact,.footer-address,.footer-trust p{font-size:0.9rem;color:var(--color-text-secondary);margin-top:8px}
.footer-contact a{color:var(--color-accent-green)}
.footer-links ul{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px}
.footer-links a{font-size:0.9rem;color:var(--color-text-secondary);border-bottom:1px solid transparent;padding-bottom:2px}
.footer-links a:hover,.footer-links a:focus-visible{color:var(--color-accent-green);border-bottom-color:var(--color-accent-green);outline:none}
.footer-bottom{grid-column:1/-1;text-align:center;border-top:1px solid var(--color-border-green-dark);padding-top:16px;font-size:0.85rem;color:var(--color-text-secondary)}
.footer-bottom [data-year]{display:inline}
@media(min-width:768px){
  .footer-inner{grid-template-columns:2fr 1fr 1fr}
  .footer-trust{grid-column:1/-1}
}
@media(min-width:1024px){
  .footer-inner{grid-template-columns:3fr 1fr 2fr}
}
/* Content sections */
#main-content{min-height:70vh;padding-top:16px}
.content-section{padding:40px 0}
.content-section:not(:first-child){border-top:1px solid var(--color-border-green)}
/* Breadcrumb */
.breadcrumb{display:flex;flex-wrap:wrap;gap:8px;font-size:0.9rem;color:var(--color-text-secondary);margin-bottom:24px}
.breadcrumb a{color:var(--color-accent-green)}
.breadcrumb span+span::before{content:"/";margin-right:8px;color:var(--color-text-secondary)}
/* Charts & Data cards */
.data-card{background:var(--color-bg-card);border:1px solid var(--color-border-green);border-radius:8px;padding:20px;transition:border-color 0.2s,box-shadow 0.2s}
.data-card:hover{border-color:var(--color-accent-green);box-shadow:0 0 12px var(--color-glow-green)}
.data-card .mono{font-family:'JetBrains Mono',monospace;font-size:1rem;color:var(--color-accent-green)}
.section-title{font-family:'Anton',Impact,sans-serif;font-size:clamp(2rem,5vw,4rem);text-transform:uppercase;letter-spacing:0.05em;color:var(--color-text-primary);line-height:1.1;margin-bottom:24px}
.section-title .highlight{color:var(--color-accent-orange)}
/* Grids */
.grid-2,.grid-3,.grid-auto{display:grid;gap:24px}
.grid-2{grid-template-columns:1fr}
.grid-3{grid-template-columns:1fr}
.grid-auto{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
@media(min-width:600px){
  .grid-2{grid-template-columns:1fr 1fr}
  .grid-3{grid-template-columns:1fr 1fr}
}
@media(min-width:900px){
  .grid-3{grid-template-columns:1fr 1fr 1fr}
}
/* Section highlight via JS */
[data-section-id][data-highlight]{border-left:4px solid var(--color-accent-orange);padding-left:16px}
/* Reveal animation, respects reduced motion */
[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity 0.6s ease,transform 0.6s ease}
[data-reveal].revealed{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){
  [data-reveal]{opacity:1;transform:none;transition:none}
}
/* Utility */
.text-mono{font-family:'JetBrains Mono',monospace}
.text-accent{color:var(--color-accent-green)}
.text-orange{color:var(--color-accent-orange)}
.bg-dark{background:var(--color-bg-card)}
/* Print */
@media print{
  .site-header,.scroll-progress{position:static}
  .site-footer{border-top:1px solid #ccc}
}
