/* Direction A — Engineered Precision. Dark, technical, data-led.
   Scoped under .dirA */

.dirA {
  width: 100%; height: 100%; background: #12161f; color: #f1ede2;
  font-family: var(--sans); box-sizing: border-box; overflow: hidden;
  display: flex; flex-direction: column;
  --a-line: rgba(241,237,226,0.14);
  --a-line-2: rgba(241,237,226,0.3);
  --a-dim: rgba(241,237,226,0.55);
  --a-dim2: rgba(241,237,226,0.38);
}
.dirA * { box-sizing: border-box; }

/* top utility bar */
.a-topbar { display: flex; justify-content: space-between; align-items: center;
  padding: 10px 48px; border-bottom: 1px solid var(--a-line);
  font-family: var(--mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--a-dim); }
.a-topbar span { white-space: nowrap; }
.a-topbar .phone { color: #f1ede2; }
.a-topbar .phone .dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--m-green); margin-right: 8px; }

/* nav */
.a-nav { display: flex; align-items: center; gap: 36px; padding: 22px 48px; border-bottom: 1px solid var(--a-line); }
.a-nav .wordmark { font-family: var(--serif); font-size: 21px; font-weight: 600; letter-spacing: -0.01em; color: #f1ede2; white-space: nowrap; }
.a-nav .wordmark span { color: var(--a-dim); font-weight: 400; }
.a-nav .links { display: flex; gap: 28px; margin-left: auto;
  font-size: 13.5px; font-weight: 500; color: var(--a-dim); }
.a-nav .links .on { color: #f1ede2; }
.a-cta-btn { background: #f1ede2; color: #12161f; font-family: var(--mono); font-size: 11px;
  letter-spacing: 0.1em; text-transform: uppercase; padding: 12px 20px; font-weight: 500; white-space: nowrap; }

/* meridian system bar */
.a-meridian { display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: 1px solid var(--a-line); }
.a-meridian .seg { padding: 14px 48px 14px 20px; border-right: 1px solid var(--a-line); display: flex; align-items: center; gap: 12px; }
.a-meridian .seg:last-child { border-right: 0; }
.a-meridian .bar { width: 26px; height: 8px; }
.a-meridian .lbl { font-family: var(--mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--a-dim); }
.a-meridian .ix { font-family: var(--mono); font-size: 10px; color: var(--a-dim2); margin-left: auto; }

/* hero */
.a-hero { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 56px; padding: 72px 48px 64px; border-bottom: 1px solid var(--a-line); }
.a-hero .kicker { font-family: var(--mono); font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--m-green); margin-bottom: 28px; display: flex; align-items: center; gap: 12px; }
.a-hero .kicker::before { content: ""; width: 26px; height: 1px; background: var(--m-green); }
.a-hero h1 { font-family: var(--serif); font-weight: 400; font-size: 88px; line-height: 0.99; letter-spacing: -0.028em; margin: 0 0 30px; text-wrap: balance; }
.a-hero h1 em { font-style: italic; color: var(--a-dim); }
.a-hero .sub { font-family: var(--serif); font-size: 20px; line-height: 1.55; color: var(--a-dim); max-width: 46ch; margin: 0 0 40px; }
.a-hero .sub strong { color: #f1ede2; font-weight: 600; }
.a-hero-ctas { display: flex; align-items: center; gap: 22px; }
.a-btn-primary { background: var(--m-green); color: #fff; font-family: var(--mono); font-size: 12px; letter-spacing: 0.1em;
  text-transform: uppercase; padding: 18px 30px; font-weight: 500; white-space: nowrap; }
.a-btn-ghost { border: 1px solid var(--a-line-2); color: #f1ede2; font-family: var(--mono); font-size: 12px;
  letter-spacing: 0.1em; text-transform: uppercase; padding: 17px 28px; white-space: nowrap; }
.a-hero .resp { font-family: var(--mono); font-size: 10.5px; letter-spacing: 0.06em; color: var(--a-dim2); margin-top: 22px; }

.a-fig { position: relative; padding: 14px; }
.a-fig .frame { position: absolute; inset: 0; pointer-events: none; }
.a-fig .frame i { position: absolute; width: 14px; height: 14px; border: 0 solid var(--a-line-2); }
.a-fig .frame i:nth-child(1) { top: 0; left: 0; border-top-width: 1px; border-left-width: 1px; }
.a-fig .frame i:nth-child(2) { top: 0; right: 0; border-top-width: 1px; border-right-width: 1px; }
.a-fig .frame i:nth-child(3) { bottom: 0; left: 0; border-bottom-width: 1px; border-left-width: 1px; }
.a-fig .frame i:nth-child(4) { bottom: 0; right: 0; border-bottom-width: 1px; border-right-width: 1px; }
.a-fig .cap { display: flex; justify-content: space-between; font-family: var(--mono); font-size: 10px;
  letter-spacing: 0.1em; text-transform: uppercase; color: var(--a-dim2); padding: 12px 2px 0; }
.a-fig image-slot { background: rgba(241,237,226,0.06); }

/* proof strip */
.a-proof { display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: 1px solid var(--a-line); }
.a-proof .cell { padding: 30px 20px 26px 48px; border-right: 1px solid var(--a-line); }
.a-proof .cell:last-child { border-right: 0; }
.a-proof .num { font-family: var(--serif); font-size: 44px; letter-spacing: -0.02em; line-height: 1; }
.a-proof .num sup { font-size: 22px; }
.a-proof .lbl { font-family: var(--mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--a-dim2); margin-top: 10px; line-height: 1.6; }

/* section heads */
.a-sechead { display: flex; align-items: baseline; justify-content: space-between; padding: 64px 48px 36px; }
.a-sechead .lbl { font-family: var(--mono); font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--a-dim2); }
.a-sechead h2 { font-family: var(--serif); font-weight: 400; font-size: 48px; letter-spacing: -0.022em; margin: 14px 0 0; line-height: 1.05; white-space: nowrap; }
.a-sechead h2 em { font-style: italic; color: var(--a-dim); }
.a-sechead .side { font-family: var(--mono); font-size: 10.5px; color: var(--a-dim2); letter-spacing: 0.08em; text-transform: uppercase; }

/* services ledger */
.a-services { border-top: 1px solid var(--a-line); margin: 0 48px 72px; border-bottom: 1px solid var(--a-line); }
.a-svc { display: grid; grid-template-columns: 90px 1.1fr 1.6fr 56px; gap: 28px; align-items: center;
  padding: 30px 8px; border-top: 1px solid var(--a-line); }
.a-svc:first-child { border-top: 0; }
.a-svc .ix { font-family: var(--mono); font-size: 11px; color: var(--a-dim2); display: flex; align-items: center; gap: 12px; }
.a-svc .ix .chip { width: 20px; height: 32px; }
.a-svc .nm { font-family: var(--serif); font-size: 30px; letter-spacing: -0.015em; font-weight: 400; }
.a-svc .desc { font-size: 14.5px; line-height: 1.6; color: var(--a-dim); }
.a-svc .desc .scope { display: block; font-family: var(--mono); font-size: 10px; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--a-dim2); margin-top: 10px; }
.a-svc .go { font-family: var(--serif); font-size: 26px; color: var(--a-dim2); text-align: right; }

/* work */
.a-work { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; padding: 0 48px 72px; }
.a-case { border: 1px solid var(--a-line); }
.a-case image-slot { background: rgba(241,237,226,0.06); }
.a-case .body { padding: 22px 22px 20px; }
.a-case .cl { font-family: var(--mono); font-size: 9.5px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--m-green); margin-bottom: 10px; }
.a-case h3 { font-family: var(--serif); font-size: 21px; font-weight: 400; letter-spacing: -0.01em; line-height: 1.25; margin: 0 0 16px; }
.a-case .spec { border-top: 1px solid var(--a-line); }
.a-case .spec .row { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid var(--a-line);
  font-family: var(--mono); font-size: 10px; letter-spacing: 0.06em; text-transform: uppercase; }
.a-case .spec .row span:first-child { color: var(--a-dim2); }
.a-case .spec .row span:last-child { color: #f1ede2; }

/* method */
.a-method { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--a-line); border-bottom: 1px solid var(--a-line); margin: 0 48px 72px; }
.a-step { padding: 34px 30px 38px; border-right: 1px solid var(--a-line); }
.a-step:last-child { border-right: 0; }
.a-step .n { font-family: var(--mono); font-size: 11px; color: var(--a-dim2); margin-bottom: 18px; }
.a-step h3 { font-family: var(--serif); font-size: 24px; font-weight: 400; letter-spacing: -0.012em; margin: 0 0 12px; }
.a-step p { font-size: 14px; line-height: 1.6; color: var(--a-dim); margin: 0; }

/* accreditation wall */
.a-accr { display: grid; grid-template-columns: repeat(6, 1fr); border-top: 1px solid var(--a-line); border-left: 1px solid var(--a-line); margin: 0 48px 72px; }
.a-accr .cell { border-right: 1px solid var(--a-line); border-bottom: 1px solid var(--a-line);
  padding: 22px 16px; text-align: center; font-family: var(--mono); font-size: 10.5px;
  letter-spacing: 0.1em; text-transform: uppercase; color: var(--a-dim); }
.a-accr .cell strong { display: block; font-family: var(--serif); font-size: 17px; letter-spacing: 0; text-transform: none; color: #f1ede2; margin-bottom: 6px; font-weight: 500; }

/* CTA panel */
.a-ctapanel { margin: 0 48px 64px; border: 1px solid var(--a-line-2); display: grid; grid-template-columns: 1.2fr 0.8fr; }
.a-ctapanel .left { padding: 48px 44px; border-right: 1px solid var(--a-line); }
.a-ctapanel h2 { font-family: var(--serif); font-weight: 400; font-size: 46px; letter-spacing: -0.022em; line-height: 1.05; margin: 0 0 18px; }
.a-ctapanel h2 em { font-style: italic; color: var(--a-dim); }
.a-ctapanel .left p { font-family: var(--serif); font-size: 17px; line-height: 1.55; color: var(--a-dim); margin: 0 0 30px; max-width: 44ch; }
.a-ctapanel .right { padding: 48px 44px; display: flex; flex-direction: column; gap: 0; }
.a-field { border-bottom: 1px solid var(--a-line-2); padding: 16px 0 12px; }
.a-field .flbl { font-family: var(--mono); font-size: 9.5px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--a-dim2); margin-bottom: 6px; }
.a-field .fval { font-family: var(--serif); font-size: 17px; color: var(--a-dim); font-style: italic; }
.a-ctapanel .right .a-btn-primary { margin-top: 28px; text-align: center; }
.a-ctapanel .or { font-family: var(--mono); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--a-dim2); text-align: center; margin-top: 16px; }
.a-ctapanel .or strong { color: #f1ede2; }

/* footer */
.a-footer { border-top: 1px solid var(--a-line); padding: 0; margin-top: auto; }
.a-footer .meridian { height: 8px; }
.a-footer .cols { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 32px; padding: 40px 48px 36px; }
.a-footer .wm { font-family: var(--serif); font-size: 19px; font-weight: 600; }
.a-footer .blurb { font-size: 12.5px; line-height: 1.6; color: var(--a-dim2); margin-top: 12px; max-width: 30ch; }
.a-footer h5 { font-family: var(--mono); font-size: 9.5px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--a-dim2); margin: 0 0 12px; font-weight: 500; }
.a-footer ul { margin: 0; padding: 0; list-style: none; font-size: 13px; line-height: 2; color: var(--a-dim); }
.a-footer .legal { display: flex; justify-content: space-between; padding: 16px 48px 20px; border-top: 1px solid var(--a-line);
  font-family: var(--mono); font-size: 9.5px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--a-dim2); }
