:root {
  --ink: #050706;
  --ink-soft: #0b0d0c;
  --panel: #101210;
  --ivory: #eee9df;
  --muted: #a6a59f;
  --gold: #c89a45;
  --gold-pale: #e1c27c;
  --gold-dark: #755323;
  --olive: #66725a;
  --olive-deep: #303a2d;
  --olive-glow: rgba(102, 114, 90, .22);
  --line: rgba(200, 154, 69, .28);
  --white-line: rgba(255,255,255,.10);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ivory);
  background: var(--ink);
  font-family: "Manrope", sans-serif;
  font-weight: 300;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button { color: inherit; }
.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; }
.cursor-glow { position: fixed; width: 460px; height: 460px; border-radius: 50%; pointer-events: none; z-index: 2; opacity: .08; background: radial-gradient(circle, var(--gold), transparent 67%); transform: translate(-50%,-50%); transition: opacity .3s; }

.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 50;
  height: 94px;
  padding: 0 clamp(24px, 5vw, 88px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(to bottom, rgba(5,7,6,.94), rgba(5,7,6,.70));
  backdrop-filter: blur(14px);
  transition: height .35s, background .35s;
}
.site-header.compact { height: 74px; background: rgba(5,7,6,.95); }
.brand { width: clamp(245px, 22vw, 340px); height: 72px; overflow: hidden; display: flex; align-items: center; }
.brand img { width: 100%; height: 100%; object-fit: contain; object-position: left center; }
.main-nav { display: flex; align-items: center; gap: clamp(22px, 2.7vw, 48px); }
.main-nav a { position: relative; color: #cbc9c4; font: 500 11px/1 "DM Sans", sans-serif; letter-spacing: .18em; text-transform: uppercase; }
.main-nav a:not(.nav-cta)::after { content:""; position: absolute; left: 0; right: 100%; bottom: -10px; height: 1px; background: var(--gold); transition: right .3s; }
.main-nav a:hover::after, .main-nav a.active::after { right: 0; }
.nav-cta { border: 1px solid var(--gold); padding: 15px 21px; transition: background .3s, color .3s; }
.nav-cta:hover { background: var(--gold); color: var(--ink); }
.menu-toggle { display: none; background: none; border: 0; padding: 10px; }

.hero { position: relative; min-height: 100svh; padding: 170px clamp(24px, 5vw, 88px) 90px; display: flex; align-items: center; isolation: isolate; overflow: hidden; border-bottom: 1px solid var(--line); }
.hero::after { content:""; position:absolute; inset: 0; z-index:-2; background: radial-gradient(circle at 68% 47%, transparent 0 12%, rgba(5,7,6,.12) 46%, var(--ink) 76%), linear-gradient(90deg, var(--ink) 0 35%, transparent 72%); }
.hero-grid { position:absolute; inset: 94px 0 0; z-index:-4; opacity:.18; background-image: linear-gradient(rgba(102,114,90,.25) 1px,transparent 1px),linear-gradient(90deg,rgba(102,114,90,.25) 1px,transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(90deg,transparent 15%,black 60%,transparent); }
.hero-visual { position:absolute; z-index:-3; top: 9%; right:-4%; width:min(66vw,1100px); height:88%; opacity:.72; }
.hero-visual img { width:100%; height:100%; object-fit:cover; object-position:center; mix-blend-mode:screen; filter: sepia(.35) saturate(.85) contrast(1.1); }
.hero-orbit { position:absolute; z-index:-1; border:1px solid rgba(200,154,69,.17); border-radius:50%; }
.orbit-one { width:630px; height:630px; right:7%; top:13%; animation: spin 40s linear infinite; }
.orbit-one::before,.orbit-one::after { content:""; position:absolute; width:7px; height:7px; border-radius:50%; background:var(--gold-pale); box-shadow:0 0 20px var(--gold); }
.orbit-one::before { left:5%; top:28%; }.orbit-one::after { right:3%; bottom:33%; }
.orbit-two { width:360px; height:360px; right:15%; top:29%; border-color:rgba(102,114,90,.5); border-style:dashed; box-shadow:0 0 70px var(--olive-glow); animation: spin 26s linear infinite reverse; }
@keyframes spin { to { transform:rotate(360deg); } }
.hero-content { width:min(920px,68vw); position:relative; z-index:3; }
.eyebrow { color:var(--gold-pale); text-transform:uppercase; letter-spacing:.25em; font:500 11px/1.5 "DM Sans",sans-serif; margin:0 0 26px; }
.eyebrow::before { content:""; display:inline-block; width:36px; height:1px; margin:0 14px 3px 0; background:var(--gold); }
h1,h2 { margin:0; font-family:"Playfair Display",serif; font-weight:500; letter-spacing:-.035em; }
h1 { font-size:clamp(48px,6.2vw,104px); line-height:.94; max-width:1000px; }
h1 em,h2 em { color:var(--gold-pale); font-weight:500; }
.hero-title span,.hero-title em { display:block; }
.hero-title em { padding-left:.08em; }
.hero-copy { max-width:580px; margin:34px 0 0; color:#c1c0ba; font-size:clamp(16px,1.3vw,21px); line-height:1.65; }
.hero-actions { display:flex; align-items:center; gap:36px; margin-top:44px; }
.button { display:inline-flex; align-items:center; gap:34px; padding:18px 24px; font:600 11px/1 "DM Sans",sans-serif; letter-spacing:.15em; text-transform:uppercase; }
.button-gold { color:#0b0b09; background:linear-gradient(120deg,var(--gold-pale),#ae7b2b); box-shadow:0 12px 50px rgba(200,154,69,.11); transition:transform .3s,box-shadow .3s; }
.button-gold:hover { transform:translateY(-3px); box-shadow:0 16px 55px rgba(200,154,69,.24); }
.text-link { color:var(--gold-pale); padding-bottom:8px; border-bottom:1px solid var(--gold-dark); font:500 11px/1 "DM Sans",sans-serif; text-transform:uppercase; letter-spacing:.17em; }
.hero-index { position:absolute; right:clamp(24px,5vw,88px); bottom:48px; display:flex; align-items:center; gap:12px; font:500 9px/1 "DM Sans",sans-serif; letter-spacing:.16em; color:#777; }
.hero-index span { color:var(--gold); font-size:13px; }.hero-index i { width:70px; height:1px; background:var(--line); }
.scroll-cue { position:absolute; left:clamp(24px,5vw,88px); bottom:34px; display:flex; align-items:center; gap:12px; color:#777; text-transform:uppercase; letter-spacing:.2em; font-size:8px; }
.scroll-cue span { display:block; width:28px; height:28px; border:1px solid var(--line); border-radius:50%; position:relative; }
.scroll-cue span::after { content:""; position:absolute; width:3px;height:3px;border-right:1px solid var(--gold);border-bottom:1px solid var(--gold);transform:rotate(45deg);left:11px;top:9px; }

.section { padding:clamp(90px,11vw,170px) clamp(24px,7vw,120px); }
.section-heading { display:grid; grid-template-columns:1fr 2fr 1fr; gap:50px; align-items:start; margin-bottom:70px; }
.section-heading .eyebrow { margin-top:12px; }
.section-heading h2,.approach h2,.about h2,.contact h2 { font-size:clamp(42px,5vw,78px); line-height:1.02; }
.section-heading > p:last-child { color:var(--muted); line-height:1.8; margin:12px 0 0; font-size:14px; }
.capabilities { background:linear-gradient(180deg,#090b0a,var(--ink-soft)); }
.capability-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--white-line); border-bottom:1px solid var(--white-line); }
.capability-card { min-height:390px; padding:35px 30px 30px; border-right:1px solid var(--white-line); position:relative; transition:background .4s,transform .4s; overflow:hidden; }
.capability-card:first-child { border-left:1px solid var(--white-line); }
.capability-card::after { content:""; position:absolute; inset:auto 0 0; height:2px; background:var(--gold); transform:scaleX(0); transition:transform .4s; transform-origin:left; }
.capability-card:hover { background:linear-gradient(180deg,rgba(102,114,90,.085),rgba(200,154,69,.025)); transform:translateY(-8px); }.capability-card:hover::after{transform:scaleX(1)}
.card-number { display:block; text-align:right; color:#555; font:500 9px/1 "DM Sans",sans-serif; letter-spacing:.2em; }
.line-icon { width:56px;height:56px;margin:45px 0 38px;border:1px solid var(--olive);transform:rotate(45deg);position:relative;box-shadow:0 0 30px var(--olive-glow); }
.line-icon::after { content:""; position:absolute; inset:12px; border:1px solid var(--gold); border-radius:50%; }
.shield-icon { border-radius:50% 50% 50% 0; }.globe-icon { border-radius:50%; }.diamond-icon::after { border-radius:0; }
.capability-card h3 { font:500 21px/1.3 "Playfair Display",serif; margin:0 0 16px; }
.capability-card p { color:#8e8f89; font-size:13px; line-height:1.75; min-height:72px; }
.capability-card a { display:inline-block; margin-top:20px; color:var(--gold-pale); font:500 9px/1 "DM Sans",sans-serif; text-transform:uppercase;letter-spacing:.16em; }

.approach { min-height:820px; display:grid; grid-template-columns:1fr 1fr; gap:9vw; align-items:center; background:radial-gradient(circle at 75% 50%,var(--olive-glow),transparent 33%),#070908; }
.approach-copy>p:not(.eyebrow) { max-width:570px; color:var(--muted); line-height:1.85; margin:30px 0 36px; }
.approach-system { width:min(540px,42vw); aspect-ratio:1; border:1px solid var(--line); border-radius:50%; position:relative; margin:auto; display:grid; place-items:center; }
.approach-system::before,.approach-system::after { content:""; position:absolute; background:var(--line); }.approach-system::before{width:120%;height:1px}.approach-system::after{height:120%;width:1px}
.system-ring { position:absolute; border-radius:50%; border:1px solid rgba(102,114,90,.65); }.ring-a{inset:16%;border-style:dashed;animation:spin 36s linear infinite}.ring-b{inset:31%;border-color:rgba(200,154,69,.42)}
.system-core { width:118px;height:118px;display:flex;flex-direction:column;justify-content:center;align-items:center;background:linear-gradient(135deg,#d9b565,#8c611e);color:#0b0b09;transform:rotate(45deg);font:600 34px/1 "Playfair Display",serif;box-shadow:0 0 60px rgba(200,154,69,.18); }
.system-core>* { transform:rotate(-45deg); }.system-core small{font:600 6px/1 "DM Sans";letter-spacing:.2em;margin-top:7px;transform:rotate(-45deg)}
.system-label { position:absolute;color:#85837c;font:500 8px/1 "DM Sans";letter-spacing:.18em; }.label-one{top:8%;left:39%}.label-two{right:-3%;top:49%}.label-three{bottom:7%;left:41%}.label-four{left:0;top:49%}

.intelligence { position:relative; min-height:780px; display:flex; align-items:center; overflow:hidden; }
.intel-backdrop { position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,7,6,.98) 5%,rgba(5,7,6,.62) 52%,rgba(5,7,6,.38)),url("assets/hero-intelligence-map.png") center/cover;filter:saturate(.65); }
.intel-content { position:relative;z-index:1;max-width:780px; }
.intel-content h2 { font-size:clamp(43px,5vw,78px);line-height:1.04; }
.intel-content>p:not(.eyebrow) { max-width:650px;color:#aaa9a3;line-height:1.8;margin:30px 0 48px; }
.intel-metrics { display:flex;border-top:1px solid var(--line);padding-top:28px;gap:45px; }.intel-metrics div{display:flex;flex-direction:column;gap:8px}.intel-metrics strong{font:500 32px/1 "Playfair Display",serif;color:var(--gold-pale)}.intel-metrics span{font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:#7d7c76}

.about { display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:center;background:#0b0d0c; }
.about-mark { position:relative; }.about-mark::after{content:"";position:absolute;inset:12%;border:1px solid var(--line);border-radius:50%;box-shadow:0 0 90px rgba(200,154,69,.09)}
.about-mark img { aspect-ratio:1;object-fit:cover;object-position:50% 12%;border-radius:50%;filter:saturate(.7) contrast(1.1); }
.about-copy>p:not(.eyebrow):not(.signature){color:var(--muted);line-height:1.8;margin:28px 0}.signature{color:var(--gold-pale);font:500 10px/1.5 "DM Sans";letter-spacing:.18em;text-transform:uppercase}
.contact { min-height:690px;display:grid;place-items:center;text-align:center;background:radial-gradient(circle at 50% 45%,rgba(200,154,69,.10),transparent 42%),var(--ink);border-top:1px solid var(--line); }
.contact-inner { max-width:1000px; }.contact .eyebrow::before{display:none}.contact h2{margin-bottom:48px}.contact-note{font-size:10px;color:#5f605c;margin-top:20px}
.site-footer { min-height:120px;padding:30px clamp(24px,5vw,88px);display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--white-line);color:#666762;font-size:9px;letter-spacing:.15em;text-transform:uppercase}.footer-brand{color:var(--gold-pale);font:500 19px/1 "Playfair Display",serif;letter-spacing:.06em}
.reveal { opacity:0;transform:translateY(28px);transition:opacity .85s ease,transform .85s ease}.reveal.visible{opacity:1;transform:none}

@media (max-width: 1050px) {
  .brand{width:230px}.main-nav{gap:18px}.main-nav a{font-size:9px}.hero-content{width:78vw}.capability-grid{grid-template-columns:repeat(2,1fr)}.section-heading{grid-template-columns:1fr 2fr}.section-heading>p:last-child{grid-column:2}.approach{gap:5vw}.site-footer{gap:30px}
}
@media (max-width: 760px) {
  .cursor-glow{display:none}.site-header{height:76px;padding:0 20px}.brand{width:205px;height:58px}.menu-toggle{display:flex;flex-direction:column;gap:5px;z-index:2}.menu-toggle span:not(.sr-only){width:25px;height:1px;background:var(--gold-pale);transition:.3s}.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  .main-nav{position:fixed;inset:0;background:rgba(5,7,6,.98);display:flex;flex-direction:column;justify-content:center;gap:35px;transform:translateX(100%);transition:transform .45s ease}.main-nav.open{transform:none}.main-nav a{font-size:15px}.nav-cta{margin-top:12px}
  .hero{min-height:900px;padding:130px 22px 90px;align-items:flex-start}.hero::after{background:linear-gradient(180deg,var(--ink) 0%,rgba(5,7,6,.68) 52%,var(--ink) 92%)}.hero-content{width:100%}.hero-visual{width:130%;height:58%;right:-20%;top:43%;opacity:.48}.hero-orbit{display:none}h1{font-size:clamp(46px,13vw,67px)}.hero-copy{font-size:16px}.hero-actions{align-items:flex-start;flex-direction:column;gap:26px}.hero-index{display:none}.scroll-cue{bottom:25px}
  .section{padding:90px 22px}.section-heading{display:block}.section-heading h2{margin-bottom:24px}.capability-grid{grid-template-columns:1fr}.capability-card,.capability-card:first-child{border-left:1px solid var(--white-line)}.capability-card{min-height:330px}
  .approach{grid-template-columns:1fr;min-height:auto}.approach-system{width:86vw;max-width:480px;margin-top:45px}.intelligence{min-height:750px}.intel-metrics{gap:22px;justify-content:space-between}.intel-metrics strong{font-size:26px}.intel-metrics span{font-size:7px}
  .about{grid-template-columns:1fr}.about-mark{width:78vw;max-width:420px;margin:auto}.site-footer{flex-direction:column;text-align:center;justify-content:center}.contact{min-height:620px}.contact .button{gap:18px}
}
@media (prefers-reduced-motion: reduce) { html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.hero-orbit,.ring-a{animation:none} }
