
  :root {
    --ink: #0E1B3A;
    --ink-2: #16264A;
    --gold: #B08D45;
    --gold-light: #D8C28F;
    --ivory: #F8F6F2;
    --white: #FFFFFF;
    --charcoal: #23262B;
    --mist: #8A8680;
    --line: #DCD7CD;
    --line-dark: rgba(184,158,90,0.28);
    --bronze: #8B5E34;
    --accent-blue: #2E5FA3;
    --slate: #5C6770;
    --teal: #3E6E66;
    --plum: #6B4357;
    --sage: #4F7A5B;
    --serif: 'Source Serif 4', Georgia, serif;
    --sans: 'Inter', -apple-system, sans-serif;
    --mono: 'IBM Plex Mono', monospace;
  }
  * { box-sizing: border-box; margin: 0; padding: 0; }
  html { scroll-behavior: smooth; }
  body { font-family: var(--sans); color: var(--charcoal); background: var(--ivory); line-height: 1.55; -webkit-font-smoothing: antialiased; }
  a { color: inherit; text-decoration: none; }
  .wrap { max-width: 1180px; margin: 0 auto; padding: 0 32px; }
  @media (max-width: 720px) { .wrap { padding: 0 20px; } }

  .eyebrow { font-family: var(--mono); font-size: 11px; letter-spacing: 0.14em; color: var(--gold); font-weight: 600; text-transform: uppercase; display: flex; align-items: center; gap: 10px; margin-bottom: 16px; }
  .eyebrow::before { content: ''; width: 22px; height: 1px; background: var(--gold); display: inline-block; }
  h1, h2, h3 { font-family: var(--serif); font-weight: 600; color: var(--charcoal); }
  .section { padding: 96px 0; position: relative; overflow: hidden; }
  .section.dark { background: var(--ink); color: var(--white); }
  .section.dark h2 { color: var(--white); }
  .section.dark .eyebrow { color: var(--gold-light); }
  .section.dark .eyebrow::before { background: var(--gold-light); }
  @media (max-width: 720px) { .section { padding: 64px 0; } }

  /* NAV */
  nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; display: flex; align-items: center; justify-content: space-between; padding: 18px 32px; transition: background 0.3s, padding 0.3s; }
  nav.scrolled { background: rgba(14,27,58,0.96); padding: 12px 32px; backdrop-filter: blur(6px); }
  .brand { display: flex; align-items: center; gap: 10px; color: var(--white); }
  .brand-logo { width: 34px; height: 34px; }
  .brand-name { font-family: var(--mono); font-size: 11px; letter-spacing: 0.12em; font-weight: 600; }
  .nav-links { display: flex; gap: 28px; font-size: 13px; font-weight: 500; }
  .nav-links a { color: #C9D6EA; transition: color 0.2s; }
  .nav-links a:hover { color: var(--gold-light); }
  .nav-cta { border: 1px solid var(--gold); color: var(--gold-light); font-size: 12px; padding: 7px 16px; letter-spacing: 0.04em; transition: all 0.2s; }
  .nav-cta:hover { background: var(--gold); color: var(--ink); }
  @media (max-width: 800px) { .nav-links { display: none; } .brand-name { display: none; } }

  /* HERO */
  .hero { background: var(--ink); color: var(--white); padding: 160px 0 100px; min-height: 90vh; display: flex; align-items: center; position: relative; overflow: hidden; }
  .hero-bg { position: absolute; inset: 0; opacity: 0.06; pointer-events: none; background-image: radial-gradient(circle at 70% 40%, #B08D45 0%, transparent 60%), radial-gradient(circle at 20% 80%, #2E5FA3 0%, transparent 50%); }
  .hero-content { position: relative; z-index: 2; max-width: 720px; }
  .hero-tag { font-family: var(--mono); font-size: 11px; letter-spacing: 0.16em; color: var(--gold); text-transform: uppercase; margin-bottom: 20px; display: block; }
  .hero h1 { font-size: 54px; line-height: 1.08; letter-spacing: -0.01em; margin-bottom: 24px; }
  .hero h1 .gold { color: var(--gold); }
  @media (max-width: 800px) { .hero h1 { font-size: 36px; } .hero { padding: 140px 0 80px; } }
  .hero-sub { font-size: 16px; font-style: italic; font-family: var(--serif); color: #C9D6EA; max-width: 520px; margin-bottom: 8px; }
  .hero-sub-cn { font-size: 13px; color: #8E9BBE; margin-bottom: 36px; }
  .hero-actions { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
  .btn-outline { border: 1px solid var(--gold); color: var(--gold-light); padding: 12px 24px; font-size: 13px; letter-spacing: 0.04em; font-weight: 500; transition: all 0.2s; display: inline-block; }
  .btn-outline:hover { background: var(--gold); color: var(--ink); }
  .text-link { font-size: 13px; color: #C9D6EA; font-weight: 500; border-bottom: 1px solid rgba(184,158,90,0.3); padding-bottom: 3px; transition: border-color 0.2s; }
  .text-link:hover { border-color: var(--gold); }

  /* STATS */
  .stats-strip { background: var(--white); border-bottom: 1px solid var(--line); padding: 44px 0; }
  .stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
  .stat { padding: 0 24px; border-left: 1px solid var(--line); }
  .stat:first-child { border-left: none; padding-left: 0; }
  .stat-num { font-family: var(--mono); font-size: 30px; font-weight: 600; color: var(--gold); line-height: 1; margin-bottom: 6px; }
  .stat-label { font-size: 10px; letter-spacing: 0.06em; color: var(--mist); text-transform: uppercase; }
  .stat-cn { display: block; font-size: 11px; text-transform: none; letter-spacing: 0; margin-top: 2px; color: var(--mist); }
  @media (max-width: 600px) { .stats-grid { grid-template-columns: repeat(2, 1fr); row-gap: 24px; } .stat:nth-child(3) { border-left: none; } }

  /* ABOUT */
  .split { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 56px; align-items: start; }
  @media (max-width: 800px) { .split { grid-template-columns: 1fr; gap: 28px; } }
  .pull-quote { font-family: var(--serif); font-size: 22px; font-style: italic; line-height: 1.45; color: var(--charcoal); margin-bottom: 16px; }
  .cn-text { color: var(--mist); font-size: 13px; }

  /* SERVICES */
  .service-row { display: grid; grid-template-columns: 60px 34px 1fr; gap: 16px; align-items: start; padding: 24px 0; border-top: 1px solid var(--line); }
  .service-row:last-child { border-bottom: 1px solid var(--line); }
  .ticker { font-family: var(--mono); font-size: 11px; font-weight: 600; letter-spacing: 0.04em; padding-top: 3px; }
  .icon-badge { width: 34px; height: 34px; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
  .service-name { font-size: 16px; font-weight: 600; margin-bottom: 3px; }
  .service-name .cn { font-weight: 500; color: var(--mist); font-size: 13px; margin-left: 6px; }
  .service-desc { font-size: 13px; color: var(--mist); max-width: 600px; }
  @media (max-width: 560px) { .service-row { grid-template-columns: 1fr; gap: 6px; } }

  /* ALLIANCE */
  .reach-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin-top: 44px; }
  .reach-col { padding: 0 24px; border-left: 1px solid var(--line-dark); }
  .reach-col:first-child { border-left: none; padding-left: 0; }
  .reach-col h3 { font-size: 17px; color: var(--white); margin-bottom: 4px; }
  .reach-col .cn { font-size: 12px; color: var(--gold-light); margin-bottom: 12px; display: block; }
  .reach-col p { font-size: 13px; color: #9AA6C4; }
  @media (max-width: 800px) { .reach-grid { grid-template-columns: 1fr 1fr; row-gap: 28px; } .reach-col:nth-child(3) { border-left: none; } }
  @media (max-width: 480px) { .reach-grid { grid-template-columns: 1fr; } .reach-col { border-left: none; padding-left: 0; } }

  /* PARTNERS */
  .partners-section { background: var(--white); }
  .partners-group { margin-top: 36px; }
  .partner-sector-label { font-family: var(--mono); font-size: 10px; letter-spacing: 0.12em; color: var(--gold); text-transform: uppercase; margin-bottom: 12px; padding-bottom: 8px; border-bottom: 1px solid var(--line); }
  .partner-logos { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 28px; }
  .partner-box { border: 1px solid var(--line); background: var(--ivory); padding: 12px 20px; font-family: var(--mono); font-size: 13px; font-weight: 600; color: var(--charcoal); min-width: 160px; text-align: center; }
  .partner-box .sub { font-family: var(--sans); font-size: 11px; font-weight: 400; color: var(--mist); display: block; margin-top: 2px; }

  /* PHILOSOPHY */
  .big-quote { font-family: var(--serif); font-style: italic; font-weight: 600; font-size: 30px; color: var(--ink); line-height: 1.3; text-align: center; max-width: 680px; margin: 0 auto 16px; }
  .big-quote-cn { font-size: 13px; color: var(--gold); text-align: center; margin-bottom: 48px; }
  .values-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; }
  .value-tile { padding: 0 20px; border-left: 1px solid var(--line); }
  .value-tile:first-child { border-left: none; padding-left: 0; }
  .value-tile h4 { font-size: 14px; font-weight: 700; margin-bottom: 4px; }
  .value-tile .cn { font-weight: 500; color: var(--gold); font-size: 12px; margin-left: 4px; }
  .value-tile p { font-size: 12px; color: var(--mist); }
  @media (max-width: 800px) { .values-grid { grid-template-columns: 1fr 1fr; row-gap: 24px; } .value-tile:nth-child(3) { border-left: none; } .big-quote { font-size: 22px; } }
  @media (max-width: 480px) { .values-grid { grid-template-columns: 1fr; } .value-tile { border-left: none; padding-left: 0; } }

  /* CONTACT */
  .contact-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 56px; }
  @media (max-width: 800px) { .contact-grid { grid-template-columns: 1fr; gap: 32px; } }
  .contact h2 { font-size: 36px; color: var(--white); margin-bottom: 14px; }
  .contact-lead { font-size: 14px; color: #C9D6EA; max-width: 400px; margin-bottom: 4px; }
  .contact-lead-cn { font-size: 12px; color: #8E9BBE; margin-bottom: 32px; }
  .contact-item { border-top: 1px solid var(--line-dark); padding: 14px 0; }
  .contact-item:first-child { border-top: none; }
  .contact-item .label { font-family: var(--mono); font-size: 10px; letter-spacing: 0.1em; color: var(--gold); text-transform: uppercase; margin-bottom: 5px; display: block; }
  .contact-item a, .contact-item span { font-size: 15px; color: var(--white); }
  .contact-item a:hover { color: var(--gold-light); }

  /* FOOTER */
  .footer-bottom { margin-top: 80px; padding-top: 24px; border-top: 1px solid var(--line-dark); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; font-size: 11px; color: #7E8AAE; }

  /* REVEAL */
  .reveal { opacity: 0; transform: translateY(16px); transition: opacity 0.6s ease, transform 0.6s ease; }
  .reveal.in { opacity: 1; transform: translateY(0); }
  @media (prefers-reduced-motion: reduce) { .reveal { opacity: 1; transform: none; transition: none; } }
