:root {
    --bg: #050705;
    --bg-soft: #090c09;
    --bg-elevated: #0d110d;
    --text: #f4f6f2;
    --muted: #9ca59a;
    --line: rgba(255,255,255,.10);
    --line-green: rgba(152,255,0,.28);
    --green: #8cff00;
    --green-bright: #cfff00;
    --green-soft: rgba(140,255,0,.10);
    --header-height: 106px;
    --max: 1240px;
    --ease: cubic-bezier(.2,.75,.2,1);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--bg); }
body {
    margin: 0;
    color: var(--text);
    background:
        radial-gradient(circle at 75% 20%, rgba(109,255,0,.045), transparent 28rem),
        linear-gradient(180deg, #040604 0%, #070907 45%, #040504 100%);
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button { font: inherit; }
::selection { background: var(--green); color: #071006; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: 12px; top: -60px; z-index: 9999; background: #fff; color: #000; padding: 10px 14px; border-radius: 4px; }
.skip-link:focus { top: 12px; }
.site-header {
    position: fixed;
    inset: 0 0 auto 0;
    z-index: 1000;
    background: linear-gradient(180deg, rgba(3,5,3,.94), rgba(3,5,3,.72));
    backdrop-filter: blur(18px) saturate(120%);
    -webkit-backdrop-filter: blur(18px) saturate(120%);
    transition: background .35s var(--ease), transform .35s var(--ease);
}
.header-shell {
    width: min(calc(100% - 48px), var(--max));
    min-height: var(--header-height);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 250px 1fr auto;
    gap: 26px;
    align-items: center;
    transition: min-height .35s var(--ease);
}
.site-header.is-scrolled .header-shell { min-height: 80px; }
.brand { display:inline-flex; align-items:center; min-width:230px; max-width:250px; transition:opacity .2s; }
.brand:hover { opacity:.86; }
.brand img { display:block; width:100%; height:auto; max-height:62px; object-fit:contain; object-position:left center; }
.site-header.is-scrolled .brand { opacity:.96; }
.desktop-nav { justify-self: center; display: flex; align-items: center; gap: clamp(18px, 2.2vw, 34px); }
.desktop-nav a, .group-link, .lang-switch {
    position: relative;
    color: rgba(244,246,242,.78);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
    white-space: nowrap;
    transition: color .2s ease;
}
.desktop-nav a::after {
    content: "";
    position: absolute;
    left: 0; right: 100%; bottom: -9px;
    height: 1px;
    background: linear-gradient(90deg, var(--green), transparent);
    transition: right .3s var(--ease);
}
.desktop-nav a:hover, .desktop-nav a:focus-visible, .group-link:hover, .lang-switch:hover { color: #fff; }
.desktop-nav a:hover::after, .desktop-nav a:focus-visible::after { right: 0; }
.header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 18px; }
.lang-switch { color: var(--green); }
.group-link { color: rgba(255,255,255,.86); }
.header-line {
    height: 1px;
    width: min(92%, 1450px);
    margin: 0 auto;
    background: linear-gradient(90deg, transparent 0%, rgba(140,255,0,.12) 18%, rgba(140,255,0,.42) 50%, rgba(140,255,0,.12) 82%, transparent 100%);
}
.menu-toggle { display: none; width: 42px; height: 42px; padding: 0; border: 0; background: transparent; cursor: pointer; }
.menu-toggle span:not(.sr-only) { display: block; width: 24px; height: 1px; margin: 6px auto; background: #fff; transition: transform .25s, opacity .25s; }
.menu-toggle[aria-expanded="true"] span:nth-of-type(2) { transform: translateY(3.5px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:nth-of-type(3) { transform: translateY(-3.5px) rotate(-45deg); }
.mobile-nav { display: none; }
.hero {
    position: relative;
    min-height: 100svh;
    padding: calc(var(--header-height) + 72px) 0 80px;
    display: grid;
    place-items: center;
    overflow: hidden;
    isolation: isolate;
}
.hero::before {
    content: "";
    position: absolute; inset: 0;
    background: linear-gradient(180deg, transparent 30%, rgba(5,7,5,.42) 70%, var(--bg) 100%);
    z-index: -1;
}
.hero-grid, .closing-grid {
    position: absolute; inset: 0;
    z-index: -3;
    opacity: .38;
    background-image:
        linear-gradient(rgba(140,255,0,.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(140,255,0,.035) 1px, transparent 1px);
    background-size: 54px 54px;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,.85), transparent 85%);
}
.hero-glow { position: absolute; z-index: -2; border-radius: 50%; filter: blur(90px); opacity: .12; }
.hero-glow-a { width: 430px; height: 430px; background: var(--green); right: 3%; top: 18%; }
.hero-glow-b { width: 240px; height: 240px; background: var(--green-bright); left: 35%; bottom: 5%; opacity: .05; }
.hero-shell {
    width: min(calc(100% - 48px), var(--max));
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(330px, .92fr);
    gap: clamp(42px, 8vw, 110px);
    align-items: center;
}
.kicker {
    margin: 0 0 20px;
    color: var(--green);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}
.hero h1, .section h2, .closing h2, .simple-page h1 {
    margin: 0;
    font-weight: 760;
    letter-spacing: -.045em;
    line-height: .96;
}
.hero h1 { font-size: clamp(58px, 7.2vw, 108px); max-width: 9ch; }
.hero-lead { margin: 30px 0 0; max-width: 730px; color: #bdc5ba; font-size: clamp(18px, 1.45vw, 22px); line-height: 1.65; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 36px; }
.button {
    display: inline-flex; align-items: center; justify-content: center;
    min-height: 48px; padding: 0 20px;
    border: 1px solid transparent;
    font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;
    transition: transform .2s var(--ease), border-color .2s, background .2s, color .2s;
}
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--green); color: #071006; }
.button-primary:hover { background: var(--green-bright); }
.button-ghost { border-color: rgba(255,255,255,.18); color: #fff; background: rgba(255,255,255,.02); }
.button-ghost:hover { border-color: rgba(140,255,0,.45); }
.hero-emblem { position:relative; min-height:520px; display:grid; place-items:center; }
.hero-official-logo {
    width:min(100%,560px);
    max-height:520px;
    object-fit:contain;
    filter:drop-shadow(0 0 34px rgba(140,255,0,.08));
}
.scroll-cue { position: absolute; bottom: 24px; width: 34px; height: 50px; border: 1px solid rgba(255,255,255,.16); border-radius: 99px; display: grid; place-items: start center; padding-top: 10px; }
.scroll-cue span { width: 3px; height: 8px; border-radius: 9px; background: var(--green); animation: scrollCue 1.8s infinite; }
@keyframes scrollCue { 0%{transform:translateY(0);opacity:0} 25%{opacity:1} 75%{opacity:1} 100%{transform:translateY(17px);opacity:0} }
.section { padding: clamp(92px, 10vw, 150px) 0; position: relative; }
.content-shell { width: min(calc(100% - 48px), var(--max)); margin: 0 auto; }
.two-col { display: grid; grid-template-columns: .92fr 1.08fr; gap: clamp(50px, 9vw, 130px); align-items: start; }
.align-end { align-items: end; }
.section-heading h2 { font-size: clamp(42px, 5vw, 76px); max-width: 11ch; }
.section-heading.max h2 { max-width: 14ch; }
.section-heading.max > p:last-child { max-width: 760px; color: var(--muted); font-size: 18px; margin-top: 24px; }
.section-copy > p, .human-copy > p, .section-heading > p:not(.kicker) { color: #b5beb2; font-size: 18px; line-height: 1.85; margin-top: 0; }
.section-copy .note { margin-top: 26px; padding-left: 20px; border-left: 1px solid var(--green); color: #86917f; font-size: 14px; }
.section-intro { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.008); }
.pillars { background: radial-gradient(circle at 20% 20%, rgba(140,255,0,.045), transparent 28rem); }
.pillar-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--line); margin-top: 64px; border: 1px solid var(--line); }
.pillar-card { min-height: 360px; padding: clamp(30px, 4vw, 52px); background: linear-gradient(145deg, rgba(14,18,14,.98), rgba(7,9,7,.98)); position: relative; overflow: hidden; }
.pillar-card::after { content:""; position:absolute; inset:auto -15% -45% auto; width:230px; height:230px; border-radius:50%; background:var(--green); filter:blur(85px); opacity:.035; transition:opacity .3s, transform .5s var(--ease); }
.pillar-card:hover::after { opacity:.09; transform:scale(1.2); }
.pillar-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:62px; }
.pillar-number { color:#6b7468; font: 700 12px/1 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing:.12em; }
.pillar-slash { display:block; width:72px; height:6px; transform:skewX(-34deg); background:linear-gradient(90deg,var(--green),rgba(140,255,0,.08)); }
.pillar-card h3 { margin:0 0 20px; font-size:clamp(24px,2.3vw,34px); line-height:1.15; }
.pillar-card h3 span { display:block; margin-bottom:10px; color:var(--green); font-size:13px; letter-spacing:.16em; }
.pillar-card p { max-width:560px; margin:0; color:#9fa99c; font-size:16px; }
.human { overflow:hidden; background: linear-gradient(90deg, rgba(140,255,0,.035), transparent 40%); }
.human-line { position:absolute; left:0; top:0; bottom:0; width:3px; background:linear-gradient(transparent,var(--green),transparent); opacity:.65; }
.human-grid { display:grid; grid-template-columns: .88fr 1.12fr; gap:clamp(50px,9vw,130px); }
.human-copy blockquote { margin:42px 0 0; padding:30px 0 0; border-top:1px solid var(--line-green); color:#fff; font-size:clamp(24px,2.5vw,36px); line-height:1.35; font-weight:650; letter-spacing:-.025em; }
.impact { border-top:1px solid var(--line); }
.impact-steps { margin-top:64px; display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.impact-step { padding:30px 0; border-top:1px solid rgba(140,255,0,.36); }
.impact-step > span { color:#687064; font:700 11px/1 ui-monospace,monospace; letter-spacing:.1em; }
.impact-step h3 { margin:44px 0 14px; font-size:30px; }
.impact-step p { margin:0; color:var(--muted); }
.social-panel { margin-top:78px; padding:clamp(30px,5vw,64px); display:grid; grid-template-columns:170px 1fr; align-items:center; gap:50px; border:1px solid var(--line); background:linear-gradient(130deg,rgba(140,255,0,.05),rgba(255,255,255,.01)); }
.social-panel h3 { margin:0 0 14px; font-size:clamp(28px,3vw,44px); }
.social-panel p { margin:0; max-width:800px; color:#aab3a7; font-size:17px; }
.social-mark { height:130px; position:relative; display:flex; align-items:center; justify-content:center; }
.social-mark img { width:150px; max-height:110px; object-fit:contain; filter:drop-shadow(0 0 12px rgba(140,255,0,.10)); }
.ecosystem { background:#070907; border-block:1px solid var(--line); }
.security-grid { display:grid; grid-template-columns:.8fr 1.2fr; align-items:center; gap:clamp(60px,10vw,150px); }
.security-visual { min-height:420px; position:relative; display:grid; place-items:center; }
.shield-ring { position:absolute; border-radius:50%; border:1px solid rgba(140,255,0,.18); }
.ring-a { width:350px; height:350px; animation:ringSpin 18s linear infinite; }
.ring-b { width:250px; height:250px; border-style:dashed; animation:ringSpin 11s linear infinite reverse; }
.ring-a::before, .ring-b::before { content:""; position:absolute; width:7px; height:7px; border-radius:50%; background:var(--green); box-shadow:0 0 22px var(--green); top:-4px; left:50%; }
.shield-core { width:120px; height:120px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.025); font-size:50px; font-weight:800; color:var(--green); clip-path:polygon(50% 0,92% 18%,84% 74%,50% 100%,16% 74%,8% 18%); }
@keyframes ringSpin { to{ transform:rotate(360deg);} }
.security-list { list-style:none; padding:0; margin:36px 0 0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 20px; }
.security-list li { position:relative; padding-left:18px; color:#c3cbc0; font-size:14px; }
.security-list li::before { content:""; width:5px; height:5px; background:var(--green); position:absolute; left:0; top:.65em; transform:rotate(45deg); }
.closing { min-height:70vh; position:relative; display:grid; place-items:center; padding:130px 0; overflow:hidden; border-top:1px solid var(--line); }
.closing::before { content:""; position:absolute; width:600px; height:600px; border-radius:50%; background:var(--green); filter:blur(170px); opacity:.05; }
.closing-grid { mask-image:radial-gradient(circle at center,#000,transparent 72%); }
.closing-shell { width:min(calc(100% - 48px),900px); text-align:center; position:relative; z-index:2; }
.closing-shell h2 { font-size:clamp(56px,8vw,110px); }
.closing-shell > p:not(.kicker) { max-width:690px; margin:30px auto 34px; color:#aab3a7; font-size:18px; }
.site-footer { border-top:1px solid var(--line); background:#030403; }
.footer-shell { width:min(calc(100% - 48px),var(--max)); min-height:120px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:30px; color:#778073; font-size:12px; }
.footer-shell strong { color:#dce2d9; margin-right:14px; letter-spacing:.08em; }
.footer-right { display:flex; align-items:center; gap:24px; }
.footer-right a { color:#aab3a7; }
.simple-page { min-height:calc(100svh - 120px); padding:calc(var(--header-height) + 120px) 24px 120px; display:grid; place-items:center; }
.simple-shell { width:min(100%,800px); }
.simple-shell h1 { font-size:clamp(54px,7vw,90px); }
.simple-shell > p:not(.kicker) { color:#aab3a7; font-size:18px; margin:30px 0; }
.text-link { color:var(--green); font-weight:700; }
.reveal { opacity:0; transform:translateY(24px); transition:opacity .8s var(--ease),transform .8s var(--ease); }
.reveal.is-visible { opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior:auto; }
    *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
    .reveal { opacity:1; transform:none; }
}
@media (max-width: 1080px) {
    :root { --header-height: 88px; }
    .header-shell { grid-template-columns:220px 1fr auto; }
    .desktop-nav { display:none; }
    .group-link { display:none; }
    .menu-toggle { display:block; }
    .brand { min-width:190px; max-width:220px; }
    .mobile-nav {
        display:grid; grid-template-columns:1fr; gap:0;
        max-height:0; overflow:hidden;
        width:min(calc(100% - 48px),var(--max)); margin:0 auto;
        transition:max-height .4s var(--ease),padding .4s var(--ease);
    }
    .mobile-nav.is-open { max-height:480px; padding:16px 0 30px; }
    .mobile-nav a { padding:14px 0; border-bottom:1px solid var(--line); color:#dde4da; font-size:13px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
    .hero-shell { grid-template-columns:1fr; }
    .hero-emblem { min-height:360px; order:-1; }
    .hero-copy { text-align:center; }
    .hero h1 { max-width:none; }
    .hero-lead { margin-inline:auto; }
    .hero-actions { justify-content:center; }
    .two-col,.human-grid,.security-grid { grid-template-columns:1fr; }
    .section-heading h2 { max-width:14ch; }
    .security-visual { min-height:340px; }
}
@media (max-width: 760px) {
    .header-shell,.content-shell,.hero-shell,.footer-shell { width:min(calc(100% - 30px),var(--max)); }
    .header-shell { grid-template-columns:170px 1fr auto; gap:12px; }
    .lang-switch { font-size:11px; }
    .hero { padding-top:calc(var(--header-height) + 38px); }
    .hero-emblem { min-height:290px; }
    .hero-official-logo { width:min(92vw,460px); max-height:360px; }
    .hero h1 { font-size:clamp(50px,16vw,74px); }
    .hero-lead { font-size:17px; }
    .hero-actions { flex-direction:column; align-items:stretch; }
    .pillar-grid { grid-template-columns:1fr; }
    .pillar-card { min-height:310px; }
    .impact-steps { grid-template-columns:1fr; gap:4px; }
    .impact-step h3 { margin-top:24px; }
    .social-panel { grid-template-columns:1fr; gap:18px; }
    .social-mark { justify-content:flex-start; width:150px; height:100px; }
    .social-mark img { width:138px; }
    .security-list { grid-template-columns:1fr; }
    .ring-a { width:290px; height:290px; }
    .ring-b { width:205px; height:205px; }
    .footer-shell { min-height:150px; flex-direction:column; align-items:flex-start; justify-content:center; }
    .footer-right { flex-direction:column; align-items:flex-start; gap:8px; }
}
