  html { scroll-behavior: smooth; }
  body {
    font-family: 'Inter', system-ui, sans-serif;
    background-color: #14171d;
    background-image:
      radial-gradient(1100px 720px at 15% -10%, rgba(244,128,31,.06), transparent 58%),
      radial-gradient(1000px 720px at 100% 0%, rgba(130,150,180,.06), transparent 55%),
      linear-gradient(180deg, #181c24 0%, #14171d 42%, #111419 100%);
    background-attachment: fixed;
    color: #e7e9ec;
    -webkit-font-smoothing: antialiased;
  }
  .font-display { font-family: 'Geist', 'Inter', system-ui, sans-serif; letter-spacing: -0.035em; font-weight: 500; }
  .font-mono   { font-family: 'Geist Mono', ui-monospace, monospace; }
  h1, h2, h3, h4 { letter-spacing: -0.035em; font-weight: 500; }
  .label-tag {
    font-family: 'Geist Mono', ui-monospace, monospace;
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: 0.18em;
    font-weight: 500;
  }
  .num-tag {
    font-family: 'Geist Mono', ui-monospace, monospace;
    font-size: 12px;
    letter-spacing: 0.05em;
    color: #6b7480;
  }

  /* Hero */
  .hero-bg {
    background:
      linear-gradient(180deg, rgba(18,21,27,.45) 0%, rgba(18,21,27,.72) 58%, rgba(20,23,29,1) 100%),
      url('https://images.unsplash.com/photo-1698664683348-f9f35b809821?auto=format&fit=crop&w=2400&q=80') center/cover no-repeat;
  }
  .grid-bg {
    background-image:
      linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
    background-size: 60px 60px;
  }
  .scanlines {
    background-image: repeating-linear-gradient(180deg, rgba(244,128,31,0) 0px, rgba(244,128,31,0) 7px, rgba(244,128,31,.05) 7px, rgba(244,128,31,.05) 8px);
  }
  .hero-fx {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    pointer-events: none;
    opacity: .82;
    mix-blend-mode: screen;
    mask-image: linear-gradient(90deg, transparent 0%, #000 18%, #000 100%);
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 18%, #000 100%);
  }
  .hero-fx[data-mode="fallback"] { opacity: .58; }
  .hero-vignette {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background:
      radial-gradient(620px 420px at 69% 78%, rgba(244,128,31,.12), transparent 58%),
      linear-gradient(90deg, rgba(20,23,29,.12), rgba(20,23,29,0) 42%);
  }

  /* Nav */
  .glass {
    background: rgba(18,21,27,.62);
    backdrop-filter: saturate(140%) blur(14px);
    -webkit-backdrop-filter: saturate(140%) blur(14px);
    border-bottom: 1px solid rgba(255,255,255,.07);
  }
  .nav-link { position: relative; transition: color .25s; }
  .nav-link::after {
    content: ''; position: absolute; left: 0; bottom: -8px;
    height: 2px; width: 0; background: #f4801f; transition: width .35s;
  }
  .nav-link:hover { color: #fff; }
  .nav-link:hover::after { width: 100%; }

  /* Reveal */
  .reveal { opacity: 0; transform: translateY(20px); transition: opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1); }
  .reveal.in { opacity: 1; transform: none; }
  .reveal-delay-1 { transition-delay: .08s; }
  .reveal-delay-2 { transition-delay: .16s; }
  .reveal-delay-3 { transition-delay: .24s; }
  .reveal-delay-4 { transition-delay: .32s; }

  /* Buttons */
  .btn-primary {
    background: #f4801f; color: #0a0b0d;
    transition: background .3s, transform .3s, box-shadow .3s;
  }
  .btn-primary:hover { background: #ff9a4d; transform: translateY(-2px); box-shadow: 0 12px 30px -10px rgba(244,128,31,.6); }
  .btn-ghost {
    border: 1px solid rgba(231,233,236,.25); color: #e7e9ec;
    transition: background .3s, border-color .3s;
  }
  .btn-ghost:hover { background: rgba(231,233,236,.06); border-color: rgba(231,233,236,.55); }

  /* Elevation system — surfaces lift off the gradient base */
  /* Subtle banded section (gentle rhythm without a hard colour jump) */
  .band { background: rgba(255,255,255,.022); }
  /* Raised panel (forms, featured blocks, CTAs) */
  .surface-raised {
    background: linear-gradient(165deg, #1d222b 0%, #171b22 100%);
    border: 1px solid rgba(255,255,255,.08);
    box-shadow: 0 1px 0 rgba(255,255,255,.04) inset, 0 24px 60px -28px rgba(0,0,0,.85);
  }

  /* Sector card */
  .sector-card {
    background: linear-gradient(165deg, #1c212a 0%, #161a21 100%);
    border: 1px solid rgba(255,255,255,.07);
    box-shadow: 0 1px 0 rgba(255,255,255,.04) inset, 0 18px 44px -26px rgba(0,0,0,.8);
    transition: border-color .35s, transform .35s, box-shadow .35s;
  }
  .sector-card:hover {
    border-color: #f4801f;
    transform: translateY(-5px);
    box-shadow: 0 1px 0 rgba(255,255,255,.05) inset, 0 28px 60px -24px rgba(0,0,0,.85), 0 0 0 1px rgba(244,128,31,.25);
  }
  .sector-card:hover .sector-arrow { color: #f4801f; transform: translate(2px, -2px); }

  /* Pillar card */
  .pillar {
    background: linear-gradient(165deg, #1c212a 0%, #161a21 100%);
    border: 1px solid rgba(255,255,255,.07);
    box-shadow: 0 1px 0 rgba(255,255,255,.04) inset, 0 18px 44px -26px rgba(0,0,0,.8);
  }
  .pillar-header { border-bottom: 1px solid #353d49; }

  /* Cert badge */
  .cert-badge {
    background: linear-gradient(165deg, #1c212a 0%, #161a21 100%);
    border: 1px solid rgba(255,255,255,.07);
    box-shadow: 0 1px 0 rgba(255,255,255,.04) inset, 0 14px 34px -24px rgba(0,0,0,.8);
    transition: border-color .3s, transform .3s, box-shadow .3s;
  }
  .cert-badge:hover { border-color: #f4801f; transform: translateY(-3px); }

  /* Mobile menu */
  .mobile-menu { transition: transform .4s cubic-bezier(.2,.7,.2,1), opacity .3s; }
  .mobile-menu.hidden-menu { transform: translateX(100%); opacity: 0; pointer-events: none; }

  /* Capability statement modal */
  .cap-modal { display: none; }
  .cap-modal.open { display: flex; }
  .cap-modal.open .cap-card { animation: capIn .3s cubic-bezier(.2,.7,.2,1); }
  @keyframes capIn { from { opacity: 0; transform: translateY(16px) scale(.98); } to { opacity: 1; transform: none; } }

  /* intl-tel-input — dark theme to match the form */
  .iti { display: block; width: 100%; }
  .iti input { width: 100%; }
  .iti__selected-country-primary { padding-left: 0; }
  .iti--separate-dial-code .iti__selected-dial-code { color: #e7e9ec; }
  .iti__country-container { padding-left: 0; }
  /* Dropdown panel */
  .iti__dropdown-content {
    background: #101216;
    border: 1px solid #2a3038;
    border-radius: 6px;
    color: #e7e9ec;
    box-shadow: 0 18px 40px -12px rgba(0,0,0,.7);
  }
  .iti__search-input {
    background: #0a0b0d;
    color: #e7e9ec;
    border: 0;
    border-bottom: 1px solid #2a3038;
  }
  .iti__search-input::placeholder { color: #6b7480; }
  .iti__country { color: #e7e9ec; }
  .iti__country.iti__highlight { background: #1c2128; }
  .iti__dial-code { color: #6b7480; }
  .iti__country-list { scrollbar-color: #2a3038 transparent; }

  /* Ticker dot */
  .pulse-dot {
    width: 7px; height: 7px; border-radius: 999px; background: #f4801f;
    box-shadow: 0 0 0 0 rgba(244,128,31,.6);
    animation: pulse 2.2s infinite;
  }
  @keyframes pulse {
    0%   { box-shadow: 0 0 0 0 rgba(244,128,31,.6); }
    70%  { box-shadow: 0 0 0 12px rgba(244,128,31,0); }
    100% { box-shadow: 0 0 0 0 rgba(244,128,31,0); }
  }

  /* Marquee */
  .marquee {
    display: flex; gap: 4rem; width: max-content;
    animation: scroll 50s linear infinite;
  }
  @keyframes scroll {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
  }

  /* Form inputs */
  input, textarea, select {
    background: transparent;
    border-bottom: 1px solid rgba(231,233,236,.18);
    transition: border-color .25s;
  }
  input:focus, textarea:focus, select:focus {
    outline: none;
    border-bottom-color: #f4801f;
  }
  select option { background: #0a0b0d; color: #e7e9ec; }

  ::selection { background: #f4801f; color: #0a0b0d; }

  /* Hero wordmark: orange bar + C with horizontal break */
  .hero-bar {
    display: inline-block;
    width: 0.05em;
    height: 0.86em;
    background: #f4801f;
    margin-right: 0.18em;
    vertical-align: -0.1em;
  }
  .hero-c {
    display: inline-block;
    background-image: linear-gradient(
      to bottom,
      #e7e9ec 0%,
      #e7e9ec 45%,
      transparent 45%,
      transparent 51%,
      #e7e9ec 51%,
      #e7e9ec 100%
    );
    -webkit-background-clip: text;
            background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
  }
  .hero-mobile-break { display: inline; }
  @media (prefers-reduced-motion: reduce) {
    .reveal { transition: none; transform: none; opacity: 1; }
    .marquee { animation: none; }
    .pulse-dot { animation: none; }
    .hero-fx { display: none; }
  }
  @media (max-width: 640px) {
    .hero-headline {
      font-size: clamp(38px, 10.2vw, 42px) !important;
      max-width: calc(100vw - 40px);
    }
    .hero-mobile-break { display: block; }
    .hero-ctas a {
      width: 100%;
      justify-content: center;
    }
    .hero-fx {
      opacity: .5;
      mask-image: linear-gradient(90deg, transparent 0%, transparent 28%, #000 58%, #000 100%);
      -webkit-mask-image: linear-gradient(90deg, transparent 0%, transparent 28%, #000 58%, #000 100%);
    }
    .hero-vignette { opacity: .72; }
  }
  /* Active nav item (multi-page) */
  .nav-link.nav-active { color: #fff; }
  .nav-link.nav-active::after { width: 100%; }
