/* ===== RESET ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{min-height:100vh;background:#0a192f;color:#e6f1ff;font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI','Helvetica Neue',Arial,sans-serif;font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img,svg{display:block;max-width:100%}
ul,ol{list-style:none}
a{color:inherit;text-decoration:none}
button{border:none;background:none;cursor:pointer;font:inherit;color:inherit}
strong,b{font-weight:700}
/* ===== CSS VARIABLES ===== */
:root{--color-bg:#0a192f;--color-bg-card:#112240;--color-bg-nav:rgba(10,25,47,0.96);--color-accent-green:#00ff87;--color-accent-orange:#ff6f00;--color-text:#e6f1ff;--color-text-muted:#8892b0;--color-border:#1c3a5c;--color-gold:#ffd700;--color-shadow:rgba(0,255,135,0.12);--font-heading:'Familjen Grotesk','Arial Black','Impact',sans-serif;--font-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;--font-mono:'JetBrains Mono','Courier New',monospace;--nav-width:80px;--header-h-mobile:56px;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--shadow-card:0 8px 32px rgba(0,0,0,0.35);--transition:0.25s cubic-bezier(0.25,0.46,0.45,0.94)}
/* ===== TYPOGRAPHY ===== */
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:900;line-height:1.2;color:var(--color-text);letter-spacing:-0.02em}
h1{font-size:clamp(2.4rem,6vw,4.8rem)}h2{font-size:clamp(1.8rem,4vw,3.2rem)}h3{font-size:clamp(1.3rem,2.8vw,2rem)}h4{font-size:clamp(1.1rem,2vw,1.5rem)}
p{max-width:72ch;color:var(--color-text)}
.text-muted{color:var(--color-text-muted)}
.font-mono{font-family:var(--font-mono)}
/* ===== SKIP LINK ===== */
.skip-link{position:fixed;top:-100%;left:1rem;z-index:9999;padding:0.6rem 1.4rem;background:var(--color-accent-green);color:#0a192f;font-weight:700;font-size:0.9rem;border-radius:var(--radius-sm);transition:top 0.2s}
.skip-link:focus{top:1rem}
/* ===== SHELL ===== */
.site-shell{display:flex;flex-direction:column;min-height:100vh}
@media(min-width:769px){.site-shell{padding-left:var(--nav-width)}}
/* ===== HEADER ===== */
.site-header{position:fixed;top:0;left:0;z-index:1000;width:var(--nav-width);height:100vh;background:var(--color-bg-nav);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-right:2px solid var(--color-accent-green);box-shadow:4px 0 24px var(--color-shadow);display:flex;flex-direction:column;transition:transform 0.3s}
.header-core{display:flex;flex-direction:column;align-items:center;justify-content:space-between;height:100%;padding:1.2rem 0.4rem}
.header-emblem{display:flex;flex-direction:column;align-items:center;gap:0.4rem;padding:0.2rem}
.emblem-icon{position:relative;width:36px;height:36px;display:flex;align-items:center;justify-content:center}
.icon-dot{width:8px;height:8px;background:var(--color-accent-green);border-radius:50%;position:absolute;top:2px;right:2px;animation:pulse-dot 2s ease-in-out infinite}
.icon-line{width:28px;height:2px;background:var(--color-accent-orange);position:absolute;bottom:6px;left:4px;transform:rotate(-6deg)}
.icon-pulse{width:20px;height:20px;border:2px solid var(--color-accent-green);border-radius:50%;opacity:0.3;animation:pulse-ring 2.4s ease-out infinite}
@keyframes pulse-dot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.5;transform:scale(0.85)}}
@keyframes pulse-ring{0%{transform:scale(0.8);opacity:0.4}100%{transform:scale(1.6);opacity:0}}
.emblem-text{font-family:var(--font-heading);font-weight:900;font-size:0.7rem;line-height:1.15;text-align:center;color:var(--color-text);letter-spacing:0.04em;max-width:60px;word-break:keep-all}
/* ===== NAVIGATION ===== */
.header-nav{flex:1;display:flex;align-items:center;justify-content:center;width:100%}
.nav-strip{display:flex;flex-direction:column;align-items:center;gap:0.25rem;width:100%}
.nav-unit{width:100%;text-align:center}
.nav-link{display:block;padding:0.5rem 0.3rem;font-size:0.68rem;font-weight:500;color:var(--color-text-muted);letter-spacing:0.02em;transition:color var(--transition),background var(--transition);border-left:2px solid transparent;line-height:1.3;word-break:keep-all}
.nav-link:hover,.nav-link:focus-visible{color:var(--color-accent-green);background:rgba(0,255,135,0.06)}
.nav-link[aria-current="page"]{color:var(--color-accent-green);border-left-color:var(--color-accent-green);background:rgba(0,255,135,0.08);font-weight:700}
/* ===== TOGGLE ===== */
.nav-trigger{display:none;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:40px;height:40px;padding:6px;background:transparent;border-radius:var(--radius-sm);transition:background var(--transition)}
.nav-trigger:hover,.nav-trigger:focus-visible{background:rgba(0,255,135,0.1)}
.trigger-bar{display:block;width:22px;height:2px;background:var(--color-accent-green);border-radius:2px;transition:transform 0.3s,opacity 0.3s}
.nav-trigger[aria-expanded="true"] .trigger-bar:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-trigger[aria-expanded="true"] .trigger-bar:nth-child(2){opacity:0}
.nav-trigger[aria-expanded="true"] .trigger-bar:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
/* ===== MAIN STAGE ===== */
.main-stage{flex:1;width:100%;background:var(--color-bg)}
/* ===== FOOTER ===== */
.site-footer{background:var(--color-bg-card);border-top:1px solid var(--color-border);padding:2.4rem 1.6rem 1.6rem}
.footer-grid{display:grid;grid-template-columns:1fr;gap:1.6rem;max-width:1280px;margin:0 auto}
@media(min-width:640px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(min-width:960px){.footer-grid{grid-template-columns:2fr 1fr 2fr}}
.footer-emblem{font-family:var(--font-heading);font-weight:900;font-size:1.4rem;color:var(--color-text);letter-spacing:-0.02em}
.footer-motto{font-size:0.85rem;color:var(--color-text-muted);margin-top:0.3rem}
.footer-links{display:flex;flex-direction:column;gap:0.6rem;align-items:flex-start}
.footer-link{font-size:0.85rem;color:var(--color-text-muted);transition:color var(--transition);position:relative;padding-left:1rem}
.footer-link::before{content:"›";position:absolute;left:0;color:var(--color-accent-green);font-weight:700}
.footer-link:hover,.footer-link:focus-visible{color:var(--color-accent-green)}
.footer-contact{display:flex;flex-direction:column;gap:0.4rem}
.contact-item{font-size:0.8rem;color:var(--color-text-muted);font-family:var(--font-mono);letter-spacing:-0.01em}
.footer-icp{font-size:0.75rem;color:var(--color-text-muted);opacity:0.7;grid-column:1/-1;text-align:center;padding-top:1rem;border-top:1px solid var(--color-border);margin-top:0.8rem}
.footer-trust{max-width:1280px;margin:1.2rem auto 0;font-size:0.75rem;color:var(--color-text-muted);text-align:center;opacity:0.6;padding-top:0.8rem;border-top:1px solid var(--color-border)}
/* ===== COMMON COMPONENTS ===== */
.container{width:100%;max-width:1280px;margin:0 auto;padding:0 1.6rem}
.data-highlight{color:var(--color-accent-green);font-family:var(--font-mono);font-weight:700}
.accent-badge{display:inline-block;padding:0.2rem 0.6rem;background:var(--color-accent-orange);color:#0a192f;font-size:0.7rem;font-weight:700;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:0.06em}
.section-counter{font-family:var(--font-heading);font-weight:900;font-size:clamp(3rem,10vw,7rem);line-height:1;color:var(--color-accent-green);opacity:0.15;position:absolute;top:-0.2em;left:-0.05em;pointer-events:none;user-select:none}
.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.6rem;box-shadow:var(--shadow-card);transition:border-color var(--transition),transform var(--transition)}
.card:hover{border-color:var(--color-accent-green);transform:translateY(-2px)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.4rem;padding:0.7rem 1.6rem;font-size:0.85rem;font-weight:600;border-radius:var(--radius-sm);transition:background var(--transition),color var(--transition),box-shadow var(--transition);text-align:center;line-height:1.2}
.btn-primary{background:var(--color-accent-green);color:#0a192f}
.btn-primary:hover,.btn-primary:focus-visible{background:#00cc6a;box-shadow:0 0 20px rgba(0,255,135,0.25)}
.btn-secondary{background:transparent;border:1.5px solid var(--color-accent-green);color:var(--color-accent-green)}
.btn-secondary:hover,.btn-secondary:focus-visible{background:rgba(0,255,135,0.1);box-shadow:0 0 16px rgba(0,255,135,0.12)}
.btn-accent{background:var(--color-accent-orange);color:#0a192f}
.btn-accent:hover,.btn-accent:focus-visible{background:#e06000;box-shadow:0 0 20px rgba(255,111,0,0.25)}
/* ===== BREADCRUMB ===== */
.breadcrumb{display:flex;flex-wrap:wrap;gap:0.3rem 0.6rem;padding:0.8rem 0;font-size:0.8rem;color:var(--color-text-muted)}
.breadcrumb a{color:var(--color-accent-green);transition:color var(--transition)}
.breadcrumb a:hover{color:var(--color-accent-orange)}
.breadcrumb .sep{color:var(--color-border);font-weight:300}
/* ===== GRID ===== */
.grid-2{display:grid;grid-template-columns:1fr;gap:1.6rem}@media(min-width:640px){.grid-2{grid-template-columns:1fr 1fr}}
.grid-3{display:grid;grid-template-columns:1fr;gap:1.6rem}@media(min-width:640px){.grid-3{grid-template-columns:1fr 1fr}}@media(min-width:960px){.grid-3{grid-template-columns:1fr 1fr 1fr}}
.grid-4{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(min-width:640px){.grid-4{grid-template-columns:1fr 1fr 1fr}}@media(min-width:960px){.grid-4{grid-template-columns:1fr 1fr 1fr 1fr}}
/* ===== RESPONSIVE ===== */
@media(max-width:768px){
  .site-header{width:100%;height:var(--header-h-mobile);flex-direction:row;border-right:none;border-bottom:2px solid var(--color-accent-green);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
  .header-core{flex-direction:row;padding:0 0.8rem;height:100%;width:100%}
  .header-emblem{flex-direction:row;gap:0.5rem}
  .emblem-icon{width:28px;height:28px}
  .icon-dot{width:6px;height:6px;top:1px;right:1px}
  .icon-line{width:20px;height:1.5px;bottom:4px;left:3px}
  .icon-pulse{width:16px;height:16px;border-width:1.5px}
  .emblem-text{font-size:0.85rem;max-width:none}
  .header-nav{position:fixed;top:var(--header-h-mobile);left:0;width:100%;max-width:320px;height:calc(100vh - var(--header-h-mobile));background:var(--color-bg-nav);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-right:2px solid var(--color-accent-green);transform:translateX(-100%);transition:transform 0.35s cubic-bezier(0.22,1,0.36,1);flex:unset;align-items:stretch;padding:1.2rem 0.8rem;z-index:1001}
  .header-nav[data-open]{transform:translateX(0)}
  .nav-strip{gap:0.15rem;width:100%}
  .nav-link{padding:0.7rem 0.8rem;font-size:0.9rem;border-left:3px solid transparent;text-align:left}
  .nav-trigger{display:flex}
}
@media(min-width:769px) and (max-width:1024px){
  .nav-link{font-size:0.62rem;padding:0.4rem 0.2rem}
  .emblem-text{font-size:0.62rem}
}
/* ===== FOCUS ===== */
:focus-visible{outline:2px solid var(--color-accent-green);outline-offset:2px;border-radius:var(--radius-sm)}
/* ===== REDUCED MOTION ===== */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}
  .icon-dot,.icon-pulse{animation:none !important}
  .header-nav{transition:none !important}
}
/* ===== SCROLL PROGRESS ===== */
.scroll-track{position:fixed;top:0;left:0;width:100%;height:3px;z-index:2000;background:transparent;pointer-events:none}
.scroll-thumb{height:100%;width:0%;background:linear-gradient(90deg,var(--color-accent-green),var(--color-accent-orange));transition:width 0.08s linear}
@media(max-width:768px){.scroll-track{top:var(--header-h-mobile)}}
/* ===== UTILITY ===== */
.text-center{text-align:center}
.mt-1{margin-top:0.5rem}.mt-2{margin-top:1rem}.mt-4{margin-top:2rem}.mb-4{margin-bottom:2rem}
.p-2{padding:1rem}.p-4{padding:2rem}
