/* self-hosted fonts (latin + latin-ext) — no third-party requests */
    @font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:300;font-display:swap;src:url('fonts/cormorantgaramond-300-italic-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
    @font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:300;font-display:swap;src:url('fonts/cormorantgaramond-300-italic-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
    @font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400;font-display:swap;src:url('fonts/cormorantgaramond-400-italic-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
    @font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400;font-display:swap;src:url('fonts/cormorantgaramond-400-italic-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
    @font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300;font-display:swap;src:url('fonts/cormorantgaramond-300-normal-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
    @font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300;font-display:swap;src:url('fonts/cormorantgaramond-300-normal-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
    @font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/cormorantgaramond-400-normal-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
    @font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/cormorantgaramond-400-normal-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
    @font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:300;font-display:swap;src:url('fonts/ibmplexmono-300-normal-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
    @font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:300;font-display:swap;src:url('fonts/ibmplexmono-300-normal-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
    @font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/ibmplexmono-400-normal-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
    @font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/ibmplexmono-400-normal-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
    @font-face{font-family:'Inter';font-style:normal;font-weight:300;font-display:swap;src:url('fonts/inter-300-normal-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
    @font-face{font-family:'Inter';font-style:normal;font-weight:300;font-display:swap;src:url('fonts/inter-300-normal-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
    @font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/inter-400-normal-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
    @font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/inter-400-normal-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
    @font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/inter-500-normal-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
    @font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/inter-500-normal-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --bg:      #07090F;
      --sf:      #0C1018;
      --sf2:     #111620;
      --gold:    #C8A96E;
      --gold2:   #E2C98A;
      --line:    rgba(200,169,110,0.09);
      --line2:   rgba(200,169,110,0.16);
      --text:    #EDE9E1;
      --muted:   #60657A;
      --parch:   #F5F2EC;
      --ease:    cubic-bezier(0.16,1,0.3,1);
    }

    html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; }

    body {
      background: var(--bg); color: var(--text);
      font-family: 'Inter', sans-serif; font-weight: 300;
      overflow-x: hidden;
      font-feature-settings: "kern" 1, "liga" 1;
    }

    ::selection { background: rgba(200,169,110,0.28); color: var(--text); }
    a { color: inherit; }
    :focus-visible { outline: 1px solid var(--gold); outline-offset: 3px; }

    /* ── LOADER (particle NELENZO) ── */
    #loader {
      position: fixed; inset: 0; z-index: 10000; background: var(--bg);
      display: flex; align-items: center; justify-content: center;
      transition: opacity 0.9s var(--ease), visibility 0.9s var(--ease);
    }
    #loader.hide { opacity: 0; visibility: hidden; }
    #loaderCv { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
    .loader-sub { position: absolute; bottom: 13%; left: 50%; transform: translateX(-50%); font-size: 9.5px; letter-spacing: 0.36em; text-transform: uppercase; color: var(--muted); white-space: nowrap; opacity: 0; animation: fadeIn 0.9s 0.7s forwards; }
    @keyframes fadeIn { to { opacity: 0.5; } }

    /* ── SCROLL PROGRESS ── */
    #progress {
      position: fixed; top: 0; left: 0; z-index: 200;
      height: 2px; width: 0%;
      background: linear-gradient(to right, var(--gold), var(--gold2));
      transition: width 0.1s linear; pointer-events: none;
    }

    /* ── GRAIN ── */
    body::before {
      content: ''; position: fixed; inset: 0; z-index: 9990; pointer-events: none; opacity: 0.02;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
      background-size: 180px 180px;
    }

    /* ── NAV ── */
    nav {
      position: fixed; top: 0; left: 0; right: 0; z-index: 100;
      display: flex; align-items: center; justify-content: space-between;
      padding: 20px 56px;
      background: rgba(7,9,15,0); backdrop-filter: blur(0px);
      border-bottom: 1px solid transparent;
      transition: background 0.4s ease, border-color 0.4s ease, padding 0.4s ease, backdrop-filter 0.4s ease;
    }
    nav.scrolled { background: rgba(7,9,15,0.82); backdrop-filter: blur(20px); border-bottom-color: var(--line); padding-top: 16px; padding-bottom: 16px; }
    .nav-logo {
      font-family: 'Cormorant Garamond', serif; font-weight: 400; font-size: 22px;
      letter-spacing: 0.13em; text-transform: uppercase; text-decoration: none; color: var(--text);
      display: inline-flex; align-items: baseline; gap: 10px;
    }
    .nav-logo em { color: var(--gold); font-style: normal; }
    .nav-logo .g { font-size: 12px; letter-spacing: 0.22em; opacity: 0.5; }
    .nav-right { display: flex; align-items: center; gap: 36px; }
    nav ul { display: flex; gap: 34px; list-style: none; }
    nav ul a { text-decoration: none; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--muted); transition: color 0.25s; position: relative; }
    nav ul a::after { content: ''; position: absolute; left: 0; bottom: -6px; height: 1px; width: 0; background: var(--gold); transition: width 0.3s var(--ease); }
    nav ul a:hover { color: var(--gold); }
    nav ul a:hover::after { width: 100%; }
    nav ul a.active { color: var(--gold); }
    nav ul a.active::after { width: 100%; opacity: 0.6; }
    .mobile-menu a.active { color: var(--gold); }
    .nav-est { font-size: 10px; letter-spacing: 0.2em; color: var(--muted); opacity: 0.4; border-left: 1px solid var(--line2); padding-left: 26px; }
    .lang-toggle { display: flex; border: 1px solid var(--line2); border-radius: 3px; overflow: hidden; }
    .lang-btn { padding: 5px 10px; font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; background: none; border: none; color: var(--muted); cursor: pointer; transition: all 0.25s; }
    .lang-btn.active { background: var(--gold); color: var(--bg); }

    .burger { display: none; flex-direction: column; gap: 5px; cursor: pointer; padding: 6px; background: none; border: none; }
    .burger span { width: 22px; height: 1px; background: var(--text); transition: all 0.3s; display: block; }
    .burger.open span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
    .burger.open span:nth-child(2) { opacity: 0; }
    .burger.open span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

    .mobile-menu {
      position: fixed; inset: 0; z-index: 99; background: rgba(7,9,15,0.98); backdrop-filter: blur(24px);
      display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px;
      opacity: 0; visibility: hidden; transition: opacity 0.4s var(--ease), visibility 0.4s;
    }
    .mobile-menu.open { opacity: 1; visibility: visible; }
    .mobile-menu a { text-decoration: none; font-family: 'Cormorant Garamond', serif; font-weight: 300; font-size: 30px; letter-spacing: 0.06em; color: var(--muted); padding: 12px 0; transition: color 0.25s; }
    .mobile-menu a:hover { color: var(--gold); }

    html[data-lang="en"] .de-text { display: none; }
    html[data-lang="de"] .en-text { display: none; }

    /* ── HERO / SIGNATURE ── */
    .hero { position: relative; min-height: 100vh; min-height: 100svh; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 150px 40px 110px; overflow: hidden; }
    #field { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; display: block; }
    .hero-veil { position: absolute; inset: 0; z-index: 1; pointer-events: none; background: radial-gradient(ellipse 42% 26% at 50% 45%, rgba(7,9,15,0.5) 0%, rgba(7,9,15,0.16) 52%, transparent 74%); }
    .hero-inner { position: relative; z-index: 2; }
    .hero-tag { font-size: 10px; letter-spacing: 0.36em; text-transform: uppercase; color: var(--gold); opacity: 0; margin-bottom: 34px; }
    .hero-title { font-family: 'Cormorant Garamond', serif; font-weight: 200; font-size: clamp(62px, 9.6vw, 128px); letter-spacing: 0.14em; text-transform: uppercase; line-height: 0.92; margin-bottom: 14px; text-shadow: 0 4px 60px rgba(7,9,15,0.9); }
    .hero-title .ch { display: inline-block; opacity: 0; transform: translateY(38px); }
    .hero-title em { font-style: normal; color: var(--gold); }
    @keyframes chRise { to { opacity: 1; transform: translateY(0); } }
    .hero-sub { font-family: 'Cormorant Garamond', serif; font-size: 15px; font-weight: 300; letter-spacing: 0.36em; text-transform: uppercase; color: var(--muted); margin-bottom: 40px; opacity: 0; }
    .hero-rule { width: 46px; height: 1px; background: linear-gradient(to right, transparent, var(--gold), transparent); margin: 0 auto 34px; opacity: 0; }
    .hero-statement { font-family: 'Cormorant Garamond', serif; font-style: italic; font-weight: 200; font-size: clamp(18px, 2.3vw, 27px); color: var(--text); max-width: 620px; line-height: 1.55; margin: 0 auto; opacity: 0; }

    /* signature legend + readout */
    .hero-legend { position: absolute; z-index: 2; left: 0; right: 0; bottom: 104px; display: flex; gap: 8px 30px; flex-wrap: wrap; justify-content: center; padding: 0 48px; opacity: 0; }
    .leg { display: inline-flex; align-items: center; gap: 8px; font-family: 'IBM Plex Mono', monospace; font-weight: 300; font-size: 10px; letter-spacing: 0.12em; color: var(--muted); background: none; border: none; cursor: pointer; padding: 4px 2px; transition: color 0.25s; text-transform: uppercase; }
    .leg .d { width: 5px; height: 5px; border-radius: 50%; background: var(--gold); opacity: 0.5; transition: opacity 0.25s, box-shadow 0.25s; }
    .leg:hover, .leg:focus-visible { color: var(--gold); }
    .leg:hover .d, .leg:focus-visible .d { opacity: 1; box-shadow: 0 0 8px rgba(200,169,110,0.9); }
    .hero-readout { position: absolute; z-index: 2; left: 56px; bottom: 48px; font-family: 'IBM Plex Mono', monospace; font-size: 10px; letter-spacing: 0.16em; color: var(--muted); opacity: 0; }
    .hero-readout b { color: var(--gold); font-weight: 400; }
    @keyframes fadeIn2 { to { opacity: 0.6; } }
    .hero-scroll { position: absolute; z-index: 2; bottom: 46px; right: 56px; display: flex; flex-direction: column; align-items: center; gap: 10px; opacity: 0; }
    .scroll-line { width: 1px; height: 46px; background: linear-gradient(to bottom, var(--gold), transparent); animation: pulseLine 2.4s ease-in-out infinite; }
    .hero-scroll span { font-size: 9px; letter-spacing: 0.26em; text-transform: uppercase; color: var(--muted); writing-mode: vertical-rl; }
    @keyframes pulseLine { 0%,100%{opacity:.25} 50%{opacity:1} }

    /* hero entrance — choreographed to the loader detonation (body.loaded) */
    body.loaded .hero-tag       { animation: fadeUp 1s 0.05s var(--ease) forwards; }
    body.loaded .hero-title .ch { animation: chRise 0.9s var(--ease) forwards; }
    body.loaded .hero-sub       { animation: fadeUp 1s 0.5s var(--ease) forwards; }
    body.loaded .hero-rule      { animation: fadeUp 1s 0.62s var(--ease) forwards; }
    body.loaded .hero-statement { animation: fadeUp 1s 0.72s var(--ease) forwards; }
    body.loaded .hero-legend    { animation: fadeUp 1s 0.95s var(--ease) forwards; }
    body.loaded .hero-readout   { animation: fadeIn2 1s 1.1s forwards; }
    body.loaded .hero-scroll    { animation: fadeIn2 1s 1.1s forwards; }

    /* ── MARQUEE ── */
    .marquee-wrap { overflow: hidden; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 15px 0; background: var(--sf); position: relative; z-index: 3; }
    .marquee-track { display: flex; animation: marquee 34s linear infinite; width: max-content; }
    .marquee-item { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 16px; letter-spacing: 0.06em; color: var(--muted); padding: 0 34px; white-space: nowrap; }
    .dot { display: inline-block; width: 4px; height: 4px; border-radius: 50%; background: var(--gold); margin: 0 6px; vertical-align: middle; opacity: 0.45; }
    @keyframes marquee { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }

    /* ── NUMBERS BANNER ── */
    .numbers-banner { max-width: 1360px; margin: 0 auto; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: 1px solid var(--line); gap: 1px; background: var(--line); }
    .nb-item { background: var(--bg); padding: 56px 32px; text-align: center; transition: background 0.4s; }
    .nb-item:hover { background: var(--sf); }
    .nb-num { font-family: 'Cormorant Garamond', serif; font-weight: 200; font-size: clamp(44px, 5vw, 72px); color: var(--gold); letter-spacing: 0.04em; line-height: 1; margin-bottom: 14px; display: block; }
    .nb-label { font-size: 10px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--muted); }

    /* ── SECTION SCAFFOLD ── */
    .wrap { max-width: 1360px; margin: 0 auto; padding-left: 56px; padding-right: 56px; }
    .sec-top { border-top: 1px solid var(--line); }

    /* ── ABOUT ── */
    .intro { padding-top: 110px; display: grid; grid-template-columns: 240px 1fr; gap: 80px; }
    .intro-label { font-size: 10px; letter-spacing: 0.3em; text-transform: uppercase; color: var(--gold); opacity: 0.65; margin-bottom: 22px; }
    .intro-meta { display: flex; flex-direction: column; gap: 18px; }
    .meta-key { font-size: 9.5px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--muted); margin-bottom: 5px; }
    .meta-val { font-size: 14px; color: var(--text); }
    .intro-heading { font-family: 'Cormorant Garamond', serif; font-weight: 200; font-size: clamp(32px,4vw,46px); line-height: 1.12; margin-bottom: 34px; }
    .intro-heading em { font-style: italic; color: var(--gold); }
    .intro-text { font-size: 15px; color: var(--muted); line-height: 1.85; max-width: 560px; }
    .intro-text p + p { margin-top: 18px; }

    /* ── DIVIDER ── */
    .divider { display: flex; align-items: center; gap: 24px; margin-top: 90px; }
    .div-tag { font-size: 10px; letter-spacing: 0.3em; text-transform: uppercase; color: var(--gold); opacity: 0.6; white-space: nowrap; }
    .div-line { flex: 1; height: 1px; background: var(--line); }
    .div-note { font-size: 10px; letter-spacing: 0.16em; color: var(--muted); opacity: 0.4; white-space: nowrap; }

    /* ── SECTORS GRID ── */
    .sectors-outer { padding-top: 52px; padding-bottom: 100px; }
    .sectors-intro { max-width: 520px; margin-bottom: 44px; }
    .sectors-intro p { font-size: 13px; color: var(--muted); line-height: 1.75; }
    .sectors-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
    .sector-card { background: var(--sf); padding: 46px 38px 42px; position: relative; overflow: hidden; transition: background 0.4s; min-width: 0; }
    .sector-card:hover { background: var(--sf2); }
    .sector-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: var(--gold); transform: scaleX(0); transform-origin: left; transition: transform 0.6s var(--ease); }
    .sector-card:hover::before, .sector-card:focus-within::before { transform: scaleX(1); }
    .sector-card::after { content: ''; position: absolute; bottom: -90px; right: -90px; width: 220px; height: 220px; border-radius: 50%; background: radial-gradient(circle, var(--gold), transparent 62%); opacity: 0; transition: opacity 0.6s; }
    .sector-card:hover::after { opacity: 0.06; }
    .sector-num { font-family: 'IBM Plex Mono', monospace; font-size: 11px; color: var(--gold); opacity: 0.5; letter-spacing: 0.16em; margin-bottom: 26px; }
    .sector-name { font-family: 'Cormorant Garamond', serif; font-weight: 300; font-size: 25px; letter-spacing: 0.01em; margin-bottom: 16px; }
    .sector-desc { font-size: 13px; color: var(--muted); line-height: 1.72; }
    .sector-card { cursor: pointer; }
    .sector-more { margin-top: 22px; font-family: 'IBM Plex Mono', monospace; font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--gold); opacity: 0.55; transition: opacity 0.3s, letter-spacing 0.3s; }
    .sector-card:hover .sector-more, .sector-card:focus-visible .sector-more { opacity: 1; letter-spacing: 0.22em; }
    .sector-card.pulse { animation: cardPulse 1.4s var(--ease); }
    @keyframes cardPulse { 0%{ box-shadow: inset 0 0 0 1px rgba(200,169,110,0); } 25%{ box-shadow: inset 0 0 0 1px rgba(200,169,110,0.55); background: var(--sf2); } 100%{ box-shadow: inset 0 0 0 1px rgba(200,169,110,0); } }
    /* sector detail modal body */
    .sm-lens { font-family: 'Cormorant Garamond', serif; font-style: italic; font-weight: 300; font-size: 20px; color: var(--text); line-height: 1.5; margin: 8px 0 28px; padding-left: 20px; border-left: 1px solid rgba(200,169,110,0.3); }
    .sm-facts { display: flex; gap: 40px; flex-wrap: wrap; border-top: 1px solid var(--line); padding-top: 22px; }
    .sm-fact .k { font-family: 'IBM Plex Mono', monospace; font-size: 9.5px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--muted); margin-bottom: 6px; }
    .sm-fact .v { font-size: 14px; color: var(--gold); }

    /* ── VENTURES ── */
    .ventures-wrap { padding-top: 104px; padding-bottom: 104px; }
    .ventures-head { max-width: 660px; margin-bottom: 50px; }
    .ventures-title { font-family: 'Cormorant Garamond', serif; font-weight: 200; font-size: clamp(30px,4vw,46px); line-height: 1.12; margin: 14px 0 18px; }
    .ventures-title em { font-style: italic; color: var(--gold); }
    .ventures-sub { font-size: 14px; color: var(--muted); line-height: 1.75; }
    .ventures-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
    .vcard { background: var(--sf); padding: 46px 38px 40px; text-decoration: none; color: var(--text); position: relative; overflow: hidden; display: flex; flex-direction: column; min-height: 300px; transition: background 0.4s, transform 0.55s var(--ease); }
    .vcard:hover { background: var(--sf2); transform: translateY(-5px); }
    .vcard::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: var(--vc, var(--gold)); transform: scaleX(0); transform-origin: left; transition: transform 0.6s var(--ease); }
    .vcard:hover::before, .vcard:focus-visible::before { transform: scaleX(1); }
    .vcard::after { content: ''; position: absolute; bottom: -110px; right: -110px; width: 250px; height: 250px; border-radius: 50%; background: radial-gradient(circle, var(--vc, var(--gold)), transparent 60%); opacity: 0; transition: opacity 0.6s; }
    .vcard:hover::after { opacity: 0.13; }
    .vcard-top { display: flex; align-items: center; gap: 10px; margin-bottom: auto; }
    .vdot { width: 7px; height: 7px; border-radius: 50%; background: var(--vc, var(--gold)); transition: box-shadow 0.4s; }
    .vcard:hover .vdot { box-shadow: 0 0 12px var(--vc, var(--gold)); }
    .vtag { font-family: 'IBM Plex Mono', monospace; font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); }
    .vname { font-family: 'Cormorant Garamond', serif; font-weight: 300; font-size: 30px; letter-spacing: 0.05em; margin: 28px 0 14px; }
    .vdesc { font-size: 13px; color: var(--muted); line-height: 1.72; margin-bottom: 24px; }
    .vlink { font-family: 'IBM Plex Mono', monospace; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--vc, var(--gold)); transition: letter-spacing 0.3s; margin-top: auto; }
    .vcard:hover .vlink { letter-spacing: 0.18em; }
    .vfoot { margin-top: auto; display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding-top: 22px; }
    .vmeta { font-family: 'IBM Plex Mono', monospace; font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); opacity: 0.65; }
    .vlink { margin-top: 0; }

    /* ── STATEMENT ── */
    .statement-wrap { padding-top: 104px; padding-bottom: 104px; text-align: center; position: relative; overflow: hidden; }
    .statement-wrap::before { content: ''; position: absolute; top: 50%; left: 50%; width: 900px; height: 520px; transform: translate(-50%,-50%); background: radial-gradient(ellipse, rgba(200,169,110,0.08) 0%, transparent 68%); pointer-events: none; z-index: 0; }
    .statement-wrap > * { position: relative; z-index: 1; }
    .statement-quote { font-family: 'Cormorant Garamond', serif; font-style: italic; font-weight: 200; font-size: clamp(23px, 3.1vw, 44px); color: var(--text); max-width: 860px; margin: 0 auto 40px; line-height: 1.4; }
    .statement-quote em { color: var(--gold); font-style: normal; }
    .statement-attr { font-size: 10px; letter-spacing: 0.28em; text-transform: uppercase; color: var(--muted); opacity: 0.45; }

    /* ── TIMELINE ── */
    .timeline-wrap { padding-bottom: 104px; }
    .tl-header { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 54px; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
    .tl-title { font-family: 'Cormorant Garamond', serif; font-weight: 200; font-size: clamp(30px,4vw,42px); }
    .tl-count { font-family: 'Cormorant Garamond', serif; font-size: 78px; font-weight: 200; color: rgba(200,169,110,0.08); line-height: 0.8; }
    /* vertical timeline — cards docked to a single gold spine */
    .tl-grid { position: relative; display: flex; flex-direction: column; gap: 20px; padding-left: 48px; background: transparent; border: none; }
    .tl-grid::before { content: ''; position: absolute; left: 7px; top: 18px; bottom: 18px; width: 1px; background: linear-gradient(to bottom, transparent, var(--line2) 4%, var(--line2) 96%, transparent); }
    .tl-item { position: relative; display: block; background: var(--sf); border: 1px solid var(--line); border-left: 2px solid rgba(200,169,110,0.4); padding: 28px 34px; transition: background 0.35s, transform 0.4s var(--ease), border-color 0.35s; }
    .tl-item:hover { background: var(--sf2); transform: translateX(5px); border-left-color: var(--gold); }
    .tl-item::before { content: ''; position: absolute; left: -47px; top: 30px; width: 13px; height: 13px; border-radius: 50%; background: var(--bg); border: 1px solid rgba(200,169,110,0.6); box-shadow: 0 0 0 4px var(--bg); transition: border-color 0.35s, box-shadow 0.35s; }
    .tl-item:hover::before { border-color: var(--gold); box-shadow: 0 0 0 4px var(--bg), 0 0 10px rgba(200,169,110,0.6); }
    .tl-item::after { content: ''; position: absolute; left: -34px; top: 36px; width: 34px; height: 1px; background: var(--line2); }
    .tl-year { font-family: 'Cormorant Garamond', serif; font-weight: 200; font-size: 28px; color: var(--gold); opacity: 0.82; display: block; margin-bottom: 8px; line-height: 1; }
    .tl-title-sm { font-size: 11px; font-weight: 400; color: var(--text); margin-bottom: 9px; letter-spacing: 0.18em; text-transform: uppercase; opacity: 0.85; }
    .tl-desc { font-size: 13.5px; color: var(--muted); line-height: 1.72; max-width: 680px; }
    .tl-item.full { border-left-color: var(--gold); background: linear-gradient(120deg, rgba(200,169,110,0.08) 0%, var(--sf) 55%); }
    .tl-item.full::before { width: 15px; height: 15px; border-color: var(--gold); box-shadow: 0 0 0 4px var(--bg), 0 0 12px rgba(200,169,110,0.6); left: -48px; }
    .tl-item.full .tl-year { opacity: 1; font-size: 32px; }
    .tl-item.full .tl-title-sm { font-family: 'Cormorant Garamond', serif; font-size: 19px; font-weight: 300; letter-spacing: 0.06em; text-transform: none; margin-bottom: 11px; color: var(--gold); opacity: 1; }
    .tl-item.full .tl-desc { font-size: 14px; line-height: 1.78; }

    /* ── VALUES ── */
    .values-wrap { padding-bottom: 104px; }
    .values-grid { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); gap: 1px; background: var(--line); }
    .value { background: var(--sf); padding: 42px 32px; transition: background 0.35s; }
    .value:hover { background: var(--sf2); }
    .value-num { font-family: 'IBM Plex Mono', monospace; font-size: 11px; letter-spacing: 0.18em; color: var(--gold); opacity: 0.45; margin-bottom: 22px; }
    .value-title { font-family: 'Cormorant Garamond', serif; font-weight: 300; font-size: 22px; margin-bottom: 13px; }
    .value-desc { font-size: 13px; color: var(--muted); line-height: 1.65; }

    /* ── FOUNDER ── */
    .founder-wrap { padding-top: 84px; padding-bottom: 84px; display: grid; grid-template-columns: 1fr 2fr; gap: 80px; align-items: center; }
    .founder-label { font-size: 10px; letter-spacing: 0.3em; text-transform: uppercase; color: var(--gold); opacity: 0.55; margin-bottom: 18px; }
    .founder-name { font-family: 'Cormorant Garamond', serif; font-weight: 200; font-size: 52px; font-style: italic; color: var(--text); line-height: 1; position: relative; display: inline-block; }
    .founder-name::after { content: ''; position: absolute; bottom: -12px; left: 0; width: 40px; height: 1px; background: var(--gold); opacity: 0.4; }
    .founder-title { font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--muted); margin-top: 24px; }
    .founder-quote { font-family: 'Cormorant Garamond', serif; font-weight: 200; font-style: italic; font-size: clamp(20px,2.2vw,26px); line-height: 1.55; color: var(--text); opacity: 0.9; border-left: 1px solid rgba(200,169,110,0.22); padding-left: 36px; }
    .founder-quote em { color: var(--gold); font-style: normal; }

    /* ── CONTACT ── */
    .contact-wrap { padding-top: 84px; padding-bottom: 84px; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
    .contact-label { font-size: 10px; letter-spacing: 0.3em; text-transform: uppercase; color: var(--gold); opacity: 0.65; margin-bottom: 22px; }
    .contact-heading { font-family: 'Cormorant Garamond', serif; font-weight: 200; font-size: clamp(30px,4vw,44px); line-height: 1.1; }
    .contact-heading em { font-style: italic; color: var(--gold); }
    .contact-text { font-size: 14px; color: var(--muted); line-height: 1.8; margin-bottom: 36px; }
    .contact-link { display: inline-flex; align-items: center; gap: 10px; font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold); text-decoration: none; border-bottom: 1px solid rgba(200,169,110,0.28); padding-bottom: 7px; transition: color 0.3s, letter-spacing 0.3s, border-color 0.3s; will-change: transform; }
    .contact-link::after { content: '→'; transition: transform 0.3s; }
    .contact-link:hover { color: var(--gold2); border-color: var(--gold2); letter-spacing: 0.26em; }
    .contact-link:hover::after { transform: translateX(4px); }
    .contact-meta { margin-top: 30px; display: flex; flex-direction: column; gap: 5px; }
    .contact-meta span, .contact-meta a { font-family: 'IBM Plex Mono', monospace; font-size: 11px; letter-spacing: 0.08em; color: var(--muted); opacity: 0.7; }
    .cmeta-link { color: var(--gold) !important; opacity: 0.85 !important; text-decoration: none; width: fit-content; }
    .cmeta-link:hover { opacity: 1 !important; }

    /* contact form */
    .cform { margin-top: 4px; }
    .cform-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
    .cfield { position: relative; margin-bottom: 26px; }
    .cfield input, .cfield textarea {
      width: 100%; background: transparent; border: none; border-bottom: 1px solid var(--line2);
      color: var(--text); font-family: 'Inter', sans-serif; font-weight: 300; font-size: 15px;
      padding: 8px 0; resize: vertical; transition: border-color 0.3s;
    }
    .cfield textarea { line-height: 1.6; }
    .cfield input:focus, .cfield textarea:focus { outline: none; border-bottom-color: var(--gold); }
    .cfield label {
      position: absolute; left: 0; top: 8px; pointer-events: none;
      font-size: 15px; color: var(--muted); transition: transform 0.25s var(--ease), font-size 0.25s, color 0.25s;
    }
    .cfield input:focus + label, .cfield textarea:focus + label,
    .cfield input:not(:placeholder-shown) + label, .cfield textarea:not(:placeholder-shown) + label {
      transform: translateY(-20px); font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--gold);
    }
    .cform-btn {
      display: inline-flex; align-items: center; gap: 8px; margin-top: 6px;
      background: transparent; border: 1px solid var(--gold); color: var(--gold); cursor: pointer;
      font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; padding: 13px 26px;
      transition: background 0.3s, color 0.3s, letter-spacing 0.3s;
    }
    .cform-btn:hover { background: var(--gold); color: var(--bg); letter-spacing: 0.24em; }
    .cform-status { margin-top: 16px; font-size: 12px; color: var(--muted); min-height: 16px; }
    .cform-status.ok { color: var(--gold2); }
    .cform-status.err { color: #E0955A; }

    /* ── FOOTER ── */
    /* ── APPROACH ── */
    .approach-wrap { padding-top: 104px; padding-bottom: 104px; }
    .approach-head { max-width: 680px; margin-bottom: 50px; }
    .approach-title { font-family: 'Cormorant Garamond', serif; font-weight: 200; font-size: clamp(30px,4vw,46px); line-height: 1.12; margin: 14px 0 20px; }
    .approach-title em { font-style: italic; color: var(--gold); }
    .approach-lead { font-size: 15px; color: var(--muted); line-height: 1.8; }
    .approach-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
    .approach-step { background: var(--sf); padding: 44px 36px 40px; transition: background 0.4s; }
    .approach-step:hover { background: var(--sf2); }
    .ap-num { font-family: 'Cormorant Garamond', serif; font-weight: 200; font-size: 40px; color: var(--gold); opacity: 0.32; display: block; margin-bottom: 18px; line-height: 1; }
    .ap-title { font-family: 'Cormorant Garamond', serif; font-weight: 300; font-size: 24px; margin-bottom: 14px; }
    .ap-desc { font-size: 13.5px; color: var(--muted); line-height: 1.72; }

    /* ── GOVERNANCE ── */
    .gov-wrap { padding-top: 104px; padding-bottom: 104px; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }
    .gov-title { font-family: 'Cormorant Garamond', serif; font-weight: 200; font-size: clamp(30px,4vw,46px); line-height: 1.1; margin: 14px 0 24px; }
    .gov-title em { font-style: italic; color: var(--gold); }
    .gov-text { font-size: 15px; color: var(--muted); line-height: 1.85; max-width: 520px; }
    .gov-facts { display: flex; flex-direction: column; }
    .gov-fact { padding: 22px 0; border-top: 1px solid var(--line); display: grid; grid-template-columns: 150px 1fr; gap: 20px; align-items: baseline; }
    .gov-fact:last-child { border-bottom: 1px solid var(--line); }
    .gf-k { font-family: 'IBM Plex Mono', monospace; font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold); opacity: 0.72; }
    .gf-v { font-size: 14px; color: var(--text); line-height: 1.5; }

    /* ── CORPORATE FOOTER ── */
    .site-footer { display: block; border-top: 1px solid var(--line); max-width: 1360px; margin: 0 auto; padding: 66px 56px 34px; }
    .foot-top { display: grid; grid-template-columns: 1.7fr 1fr 1fr 1.3fr; gap: 48px; padding-bottom: 50px; border-bottom: 1px solid var(--line); }
    .f-logo { font-family: 'Cormorant Garamond', serif; font-weight: 300; font-size: 19px; letter-spacing: 0.34em; text-transform: uppercase; text-decoration: none; color: var(--text); display: inline-block; }
    .f-logo em { color: var(--gold); font-style: normal; }
    .f-logo span { font-size: 12px; letter-spacing: 0.2em; opacity: 0.45; }
    .foot-tag { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 15px; color: var(--gold); opacity: 0.8; margin: 16px 0 12px; }
    .foot-desc { font-size: 12.5px; color: var(--muted); line-height: 1.7; max-width: 320px; }
    .foot-h { font-family: 'IBM Plex Mono', monospace; font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--text); opacity: 0.55; margin-bottom: 16px; }
    .foot-col a { display: block; font-size: 13px; color: var(--muted); text-decoration: none; padding: 6px 0; transition: color 0.25s; }
    .foot-col a:hover { color: var(--gold); }
    .foot-addr { font-size: 12.5px; color: var(--muted); line-height: 1.7; margin-top: 12px; opacity: 0.8; }
    .foot-bottom { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px; padding-top: 28px; }
    .foot-copy { font-size: 11px; color: var(--muted); opacity: 0.5; letter-spacing: 0.05em; }
    .foot-legal { display: flex; gap: 20px; }
    .foot-legal button { background: none; border: none; cursor: pointer; font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--muted); opacity: 0.6; transition: opacity 0.25s, color 0.25s; }
    .foot-legal button:hover { opacity: 1; color: var(--text); }

    /* ── COOKIE BANNER ── */
    #cookieBanner { position: fixed; bottom: 0; left: 0; right: 0; z-index: 8000; background: rgba(12,16,24,0.97); backdrop-filter: blur(20px); border-top: 1px solid var(--line); padding: 20px 48px; display: flex; align-items: center; justify-content: space-between; gap: 32px; transform: translateY(100%); transition: transform 0.6s var(--ease); }
    #cookieBanner.show { transform: translateY(0); }
    .cookie-text { font-size: 12px; color: var(--muted); line-height: 1.6; max-width: 620px; }
    .cookie-text a { color: var(--gold); opacity: 0.75; text-decoration: none; border-bottom: 1px solid rgba(200,169,110,0.25); cursor: pointer; }
    .cookie-text a:hover { opacity: 1; }
    .cookie-btns { display: flex; gap: 12px; flex-shrink: 0; }
    .cookie-btn { font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase; padding: 11px 22px; border: 1px solid; cursor: pointer; background: transparent; transition: all 0.3s; white-space: nowrap; }
    .cookie-btn.accept { border-color: var(--gold); color: var(--gold); }
    .cookie-btn.accept:hover { background: var(--gold); color: var(--bg); }
    .cookie-btn.decline { border-color: rgba(255,255,255,0.12); color: var(--muted); }
    .cookie-btn.decline:hover { border-color: var(--muted); color: var(--text); }

    /* ── MODAL ── */
    .modal-overlay { position: fixed; inset: 0; z-index: 9000; background: rgba(7,9,15,0.92); backdrop-filter: blur(12px); opacity: 0; visibility: hidden; transition: opacity 0.4s, visibility 0.4s; display: flex; align-items: center; justify-content: center; padding: 40px 24px; }
    .modal-overlay.open { opacity: 1; visibility: visible; }
    .modal-box { background: var(--sf); border: 1px solid var(--line2); max-width: 680px; width: 100%; max-height: 82vh; overflow-y: auto; padding: 56px 52px; position: relative; transform: translateY(24px); transition: transform 0.45s var(--ease); }
    .modal-overlay.open .modal-box { transform: translateY(0); }
    .modal-close { position: absolute; top: 20px; right: 24px; font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--muted); cursor: pointer; background: none; border: none; transition: color 0.2s; }
    .modal-close:hover { color: var(--text); }
    .modal-label { font-size: 10px; letter-spacing: 0.32em; text-transform: uppercase; color: var(--gold); opacity: 0.6; margin-bottom: 20px; }
    .modal-title { font-family: 'Cormorant Garamond', serif; font-weight: 200; font-size: 34px; margin-bottom: 36px; }
    .modal-body { font-size: 13px; color: var(--muted); line-height: 1.9; }
    .modal-body h4 { font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--text); opacity: 0.65; margin: 28px 0 10px; }
    .modal-body p { margin-bottom: 12px; }
    .modal-body a { color: var(--gold); opacity: 0.8; text-decoration: none; }

    /* ── REVEAL ── */
    .reveal { opacity: 0; filter: blur(6px); transform: translateY(28px); transition: opacity 0.9s var(--ease), filter 0.9s var(--ease), transform 0.9s var(--ease); }
    .reveal.visible { opacity: 1; filter: blur(0); transform: translateY(0); }
    .reveal-d1 { transition-delay: 0.08s; }
    .reveal-d2 { transition-delay: 0.16s; }
    .reveal-d3 { transition-delay: 0.24s; }
    .reveal-d4 { transition-delay: 0.32s; }

    @keyframes fadeUp { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }

    /* ── RESPONSIVE ── */
    @media (max-width: 1100px) {
      .sectors-grid { grid-template-columns: repeat(2, 1fr); }
      .numbers-banner { grid-template-columns: repeat(2, 1fr); }
      .tl-grid { padding-left: 32px; gap: 16px; }
      .tl-grid::before { left: 6px; }
      .tl-item::before { left: -31px; }
      .tl-item::after { left: -22px; width: 22px; }
      .values-grid { grid-template-columns: repeat(2, 1fr); }
    }
    @media (max-width: 900px) {
      nav { padding: 18px 24px; }
      nav.scrolled { padding: 14px 24px; }
      nav ul, .nav-est { display: none; }
      .burger { display: flex; }
      .nav-right { gap: 14px; }
      .nav-logo { font-size: 19px; letter-spacing: 0.11em; }
      .nav-logo .g { display: none; }
      .lang-toggle { margin-left: auto; }
      .wrap { padding-left: 24px; padding-right: 24px; }
      .hero { padding: 130px 24px 120px; }
      .hero-readout { left: 24px; }
      .hero-scroll { right: 24px; }
      .hero-legend { bottom: 96px; gap: 4px 18px; }
      .intro { grid-template-columns: 1fr; gap: 44px; padding-top: 76px; }
      .ventures-grid { grid-template-columns: 1fr; }
      .approach-grid { grid-template-columns: 1fr; }
      .gov-wrap { grid-template-columns: 1fr; gap: 44px; padding-top: 76px; padding-bottom: 76px; }
      .gov-fact { grid-template-columns: 1fr; gap: 6px; }
      .founder-wrap { grid-template-columns: 1fr; gap: 40px; }
      .contact-wrap { grid-template-columns: 1fr; gap: 40px; }
      .site-footer { padding: 52px 24px 30px; }
      .foot-top { grid-template-columns: 1fr 1fr; gap: 34px 24px; }
      .foot-brand { grid-column: 1 / -1; }
      .foot-bottom { flex-direction: column; align-items: flex-start; }
      #cookieBanner { flex-direction: column; align-items: flex-start; padding: 22px 24px 26px; gap: 18px; }
      .cookie-btns { width: 100%; }
      .cookie-btn { flex: 1; text-align: center; }
      .modal-box { padding: 44px 28px; }
    }
    @media (max-width: 640px) {
      .hero-title { font-size: clamp(52px, 15vw, 74px); }
      .sectors-grid { grid-template-columns: 1fr; }
      .numbers-banner { grid-template-columns: repeat(2, 1fr); }
      .nb-item { padding: 40px 20px; }
      .foot-top { grid-template-columns: 1fr; gap: 30px; }
      .values-grid { grid-template-columns: 1fr; }
      .tl-item { padding: 24px 24px; }
      .tl-item .tl-year { font-size: 26px; }
      .hero-readout, .hero-scroll { display: none; }
      .hero-legend { bottom: 84px; padding: 0 24px; gap: 6px 16px; }
      .modal-title { font-size: 26px; }
    }

    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after { animation-duration: 0.001s !important; animation-delay: 0s !important; transition-duration: 0.001s !important; }
      html { scroll-behavior: auto; }
      .marquee-track { animation: none; }
      .scroll-line { animation: none; opacity: 0.5; }
      .reveal { opacity: 1; filter: none; transform: none; }
      .hero-tag, .hero-sub, .hero-rule, .hero-statement, .hero-legend, .hero-readout, .hero-scroll { opacity: 1 !important; animation: none !important; }
      .hero-title .ch { opacity: 1 !important; transform: none !important; animation: none !important; }
    }

    /* ═══ MULTI-PAGE: sub-page header ═══ */
    .page-hero { position: relative; padding: 200px 56px 76px; overflow: hidden; border-bottom: 1px solid var(--line); }
    .page-hero::before { content:''; position:absolute; top:-45%; left:50%; width:960px; height:760px; transform:translateX(-50%); background: radial-gradient(ellipse, rgba(200,169,110,0.1) 0%, transparent 66%); pointer-events:none; }
    .page-hero-inner { position:relative; max-width:1360px; margin:0 auto; }
    .page-eyebrow { font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:0.28em; text-transform:uppercase; color:var(--gold); opacity:0.72; margin-bottom:22px; }
    .page-title { font-family:'Cormorant Garamond',serif; font-weight:200; font-size:clamp(46px,7vw,96px); letter-spacing:0.02em; line-height:0.98; margin-bottom:26px; }
    .page-title em { font-style:italic; color:var(--gold); }
    .page-sub { font-family:'Cormorant Garamond',serif; font-style:italic; font-weight:200; font-size:clamp(18px,2.2vw,25px); color:var(--muted); max-width:620px; line-height:1.5; }

    /* ═══ HOME: explore grid ═══ */
    .explore-wrap { padding-top: 104px; padding-bottom: 104px; }
    .explore-head { max-width: 640px; margin-bottom: 46px; }
    .explore-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
    .explore-card { background:var(--sf); padding:46px 42px; text-decoration:none; color:var(--text); position:relative; overflow:hidden; transition:background .4s; display:block; }
    .explore-card:hover { background:var(--sf2); }
    .explore-card::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:var(--gold); transform:scaleX(0); transform-origin:left; transition:transform .6s var(--ease); }
    .explore-card:hover::before { transform:scaleX(1); }
    .exp-num { font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:0.16em; color:var(--gold); opacity:0.5; }
    .exp-title { font-family:'Cormorant Garamond',serif; font-weight:300; font-size:28px; margin:16px 0 12px; }
    .exp-desc { font-size:13.5px; color:var(--muted); line-height:1.7; margin-bottom:22px; max-width:420px; }
    .exp-link { font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold); transition:letter-spacing .3s; }
    .explore-card:hover .exp-link { letter-spacing:0.2em; }

    /* ═══ HOME: CTA band ═══ */
    .cta-band { border-top:1px solid var(--line); text-align:center; padding:100px 40px; position:relative; overflow:hidden; }
    .cta-band::before { content:''; position:absolute; top:50%; left:50%; width:960px; height:440px; transform:translate(-50%,-50%); background:radial-gradient(ellipse, rgba(200,169,110,0.08) 0%, transparent 66%); pointer-events:none; }
    .cta-band > * { position:relative; z-index:1; }
    .cta-eyebrow { font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:0.28em; text-transform:uppercase; color:var(--gold); opacity:0.7; margin-bottom:22px; }
    .cta-title { font-family:'Cormorant Garamond',serif; font-weight:200; font-size:clamp(30px,4.4vw,50px); line-height:1.2; margin-bottom:30px; }
    .cta-title em { font-style:italic; color:var(--gold); }

    @media (max-width: 900px) {
      .page-hero { padding: 150px 24px 56px; }
      .explore-grid { grid-template-columns:1fr; }
      .cta-band { padding: 76px 24px; }
    }

    /* ═══ PAGE TRANSITION + ENTRANCE (cinematic multi-page feel) ═══ */
    #pt { position: fixed; inset: 0; z-index: 9600; pointer-events: none; opacity: 0; transform: translateY(4%); background: radial-gradient(ellipse at 50% 56%, rgba(200,169,110,0.18), transparent 62%), var(--bg); transition: opacity 0.42s var(--ease), transform 0.42s var(--ease); }
    #pt.on { opacity: 1; transform: translateY(0); }
    @keyframes pageIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
    body { animation: pageIn 0.6s var(--ease) both; }
    .page-hero::before { animation: pageGlow 7.5s ease-in-out infinite; }
    @keyframes pageGlow { 0%,100% { opacity: 0.72; transform: translateX(-50%) scale(1); } 50% { opacity: 1; transform: translateX(-50%) scale(1.06); } }
    @media (prefers-reduced-motion: reduce) { body { animation: none; } .page-hero::before { animation: none; } #pt { display: none; } }

    /* ═══ ACCESSIBILITY: skip link ═══ */
    .skip-link { position: absolute; left: -9999px; top: 0; z-index: 10001; background: var(--gold); color: var(--bg); padding: 11px 20px; font-family: 'IBM Plex Mono', monospace; font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; text-decoration: none; }
    .skip-link:focus { left: 0; }
