/* ═══════════════════════════════════════════════════════════════
   JAROX PARTNERS — Design system
   Ink = the world of capital. Paper = the world of the document.
   The alternation is semantic and gives the scroll its rhythm.
   ═══════════════════════════════════════════════════════════════ */

:root{
  /* Ink — capital */
  --ink-900:#080806; --ink-800:#0F0F0B; --ink-700:#17170F; --ink-600:#222014;
  /* Paper — document */
  --paper-100:#F4EFE3; --paper-200:#E8E0CE; --paper-300:#D6CAB0;
  /* Gold — the thread */
  /* gold-deep is measured against BOTH paper grounds: 5.72:1 on paper-100,
     5.00:1 on the darker paper-200. */
  --gold:#C9A84C; --gold-lift:#E3C878; --gold-deep:#75591A;
  /* Earth */
  --copper:#B5621E; --rust:#8B3A1A; --rust-lift:#D2603F;
  /* Type. on-ink-3 is the quietest tone that still carries text at 5.5:1;
     nothing below that ratio is allowed to hold a word. */
  --on-ink:#EDE6D6; --on-ink-2:#A79C82; --on-ink-3:#8E846C;
  --on-paper:#16150F; --on-paper-2:#5C543C;
  /* Lines */
  --rule:rgba(201,168,76,.15); --rule-2:rgba(201,168,76,.34);
  --rule-paper:rgba(93,84,60,.22); --rule-paper-2:rgba(93,84,60,.44);

  --f-d:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --f-b:"Barlow","Helvetica Neue",Arial,sans-serif;
  --f-u:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
  --f-m:"IBM Plex Mono",ui-monospace,Consolas,monospace;

  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;
  --s7:48px;--s8:64px;--s9:96px;--s10:128px;

  --pad:clamp(20px,5vw,64px);
  --measure:66ch;
  --maxw:1440px;

  --m-micro:180ms; --m-el:400ms; --m-sec:800ms; --m-thread:2600ms;
  --ease-out:cubic-bezier(.22,1,.36,1);
  --ease-io:cubic-bezier(.4,0,.2,1);

  --header-h:74px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px);-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--ink-900);color:var(--on-ink);
  font-family:var(--f-b);font-weight:300;font-size:17px;line-height:1.72;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
img,svg{max-width:100%;height:auto}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
::selection{background:var(--gold);color:var(--ink-900)}

.skip{position:absolute;left:-9999px;top:0;z-index:2000;background:var(--gold);color:var(--ink-900);
  padding:14px 22px;font-family:var(--f-u);font-weight:600;letter-spacing:.16em;text-transform:uppercase;font-size:.82rem}
.skip:focus{left:var(--s4);top:var(--s4)}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);width:100%}
.col{max-width:var(--measure)}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ── HEADINGS ───────────────────────────────────────────────── */
h1,h2,h3,h4{font-family:var(--f-d);font-weight:300;text-wrap:balance;margin:0}
h1{font-size:clamp(3.2rem,10.5vw,8.5rem);line-height:.95;letter-spacing:-.018em}
h2{font-size:clamp(2rem,4.6vw,3.6rem);line-height:1.06;letter-spacing:-.01em}
h3{font-size:clamp(1.3rem,2.3vw,1.8rem);line-height:1.2}
h2 em,h1 em,h3 em{font-style:italic;color:var(--gold)}
p{margin:0 0 1.05em;max-width:var(--measure)}
p:last-child{margin-bottom:0}
strong{font-weight:600;color:var(--on-ink)}
a{color:var(--gold)}

.eyebrow{
  font-family:var(--f-u);font-size:.76rem;font-weight:600;letter-spacing:.3em;
  text-transform:uppercase;color:var(--gold);margin:0 0 var(--s5);
  display:flex;align-items:center;gap:14px;
}
.eyebrow::after{content:"";flex:1;height:1px;max-width:110px;
  background:linear-gradient(to right,var(--rule-2),transparent)}
.lede{font-size:clamp(1.06rem,1.6vw,1.2rem);line-height:1.62;max-width:58ch}
.dim{color:var(--on-ink-2)}
.sm{font-size:.9rem;line-height:1.62}

/* ── SECTIONS & GROUNDS ─────────────────────────────────────── */
.sec{padding:clamp(72px,9vw,144px) 0;position:relative;border-top:1px solid var(--rule)}
.sec--paper{
  background:var(--paper-100);color:var(--on-paper);border-top-color:var(--rule-paper);
}
.sec--paper .eyebrow{color:var(--gold-deep)}
.sec--paper .eyebrow::after{background:linear-gradient(to right,var(--rule-paper-2),transparent)}
.sec--paper h2 em,.sec--paper h3 em{color:var(--gold-deep)}
.sec--paper .dim{color:var(--on-paper-2)}
.sec--paper strong{color:var(--on-paper)}
.sec--paper a{color:var(--gold-deep)}

/* ── HEADER ─────────────────────────────────────────────────── */
.hdr{
  position:fixed;inset:0 0 auto;z-index:1000;
  display:flex;align-items:center;gap:var(--s5);
  padding:var(--s4) var(--pad);min-height:var(--header-h);
  background:rgba(8,8,6,.86);backdrop-filter:blur(10px);
  border-bottom:1px solid transparent;
  transition:background var(--m-micro) var(--ease-io),border-color var(--m-micro) var(--ease-io);
}
.hdr.is-stuck{background:rgba(8,8,6,.97);border-bottom-color:var(--rule)}
.hdr__logo{
  font-family:var(--f-d);font-size:1.35rem;font-weight:600;letter-spacing:.09em;
  color:var(--gold);text-decoration:none;line-height:1.05;flex:none;
}
.hdr__logo span{
  display:block;font-family:var(--f-u);font-weight:400;font-size:.6rem;
  letter-spacing:.22em;text-transform:uppercase;color:var(--on-ink-2);margin-top:1px;
}
.hdr__nav{margin-left:auto;display:flex;align-items:center;gap:var(--s6)}
.hdr__nav ul{display:flex;gap:var(--s6);list-style:none;margin:0;padding:0}
.hdr__nav a{
  font-family:var(--f-u);font-size:.8rem;font-weight:500;letter-spacing:.16em;
  text-transform:uppercase;color:var(--on-ink);text-decoration:none;
  padding:6px 0;border-bottom:1px solid transparent;
  transition:color var(--m-micro) var(--ease-io),border-color var(--m-micro) var(--ease-io);
}
.hdr__nav a:hover{color:var(--gold);border-bottom-color:var(--gold)}
/* The nav link rule outranks .btn--primary on specificity, which would
   put cream text on the gold fill. Restate the button's own colours. */
.hdr__nav a.btn--primary{color:var(--ink-900);border-bottom-color:var(--gold)}
.hdr__nav a.btn--primary:hover{color:var(--ink-900);border-bottom-color:var(--gold-lift)}
.hdr__toggle{display:none;background:none;border:1px solid var(--rule-2);color:var(--gold);
  padding:10px 12px;cursor:pointer;line-height:0;margin-left:auto}
.hdr__toggle svg{width:20px;height:20px;display:block}
.hdr__toggle .i-x{display:none}
.hdr__toggle[aria-expanded="true"] .i-m{display:none}
.hdr__toggle[aria-expanded="true"] .i-x{display:block}

/* ── BUTTONS ────────────────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--f-u);font-size:.82rem;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;text-decoration:none;padding:15px 30px;cursor:pointer;
  border:1px solid transparent;background:none;transition:background var(--m-micro) var(--ease-io),
  color var(--m-micro) var(--ease-io),border-color var(--m-micro) var(--ease-io);
}
.btn--primary{background:var(--gold);color:var(--ink-900);border-color:var(--gold)}
.btn--primary:hover{background:var(--gold-lift);border-color:var(--gold-lift)}
.btn--ghost{color:var(--on-ink);border-color:var(--rule-2)}
.btn--ghost:hover{color:var(--gold);border-color:var(--gold)}
.btn--sm{padding:10px 20px;font-size:.76rem}
.sec--paper .btn--primary{background:var(--gold-deep);color:var(--paper-100);border-color:var(--gold-deep)}
.sec--paper .btn--primary:hover{background:var(--on-paper);border-color:var(--on-paper)}
.sec--paper .btn--ghost{color:var(--on-paper);border-color:var(--rule-paper-2)}
.sec--paper .btn--ghost:hover{color:var(--gold-deep);border-color:var(--gold-deep)}
.hdr .btn{padding:11px 20px;font-size:.76rem}

/* ── THE THREAD ─────────────────────────────────────────────── */
.thread{display:block;width:100%;height:auto;overflow:visible}
.thread path{fill:none;stroke:var(--gold);stroke-width:1.5;stroke-linecap:round;vector-effect:non-scaling-stroke}
.thread .glow{stroke-width:7;opacity:.1;filter:blur(5px)}
.thread .node{fill:var(--ink-900);stroke:var(--gold);stroke-width:1.5;vector-effect:non-scaling-stroke}
.sec--paper .thread path{stroke:var(--gold-deep)}
.sec--paper .thread .node{fill:var(--paper-100);stroke:var(--gold-deep)}
.thread .frayed{stroke:var(--rust-lift);stroke-dasharray:3 5}
@media(min-width:1441px){.thread path{stroke-width:2}}

/* The line is revealed by a left-to-right wipe rather than a dash offset.
   stroke-dasharray is measured in user units, which breaks under
   preserveAspectRatio="none"; a clip-path is exact at any width. */
.thread{clip-path:inset(0 100% 0 0)}
.is-live .thread{transition:clip-path var(--m-thread) var(--ease-out);clip-path:inset(0 0 0 0)}
.thread .node{opacity:0}
.is-live .thread .node{animation:nodeIn 450ms var(--ease-out) forwards}

@keyframes nodeIn{from{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}

/* ── REVEAL ─────────────────────────────────────────────────── */
.rv{opacity:0;transform:translateY(20px);
  transition:opacity var(--m-sec) var(--ease-out),transform var(--m-sec) var(--ease-out)}
.rv.is-live{opacity:1;transform:none}
.rv-stagger>*{opacity:0;transform:translateY(16px);
  transition:opacity var(--m-el) var(--ease-out),transform var(--m-el) var(--ease-out)}
.rv-stagger.is-live>*{opacity:1;transform:none}

/* ── HERO ───────────────────────────────────────────────────── */
.hero{
  position:relative;min-height:100svh;display:flex;align-items:center;
  padding:calc(var(--header-h) + var(--s9)) 0 var(--s9);
  border-top:0;overflow:hidden;
}
.hero__field{position:absolute;inset:0;pointer-events:none;
  background:
    repeating-linear-gradient(90deg,transparent 0 calc(100%/12 - 1px),rgba(201,168,76,.055) calc(100%/12 - 1px) calc(100%/12)),
    radial-gradient(120% 80% at 78% 18%,rgba(201,168,76,.07) 0%,transparent 62%);
  mask-image:linear-gradient(to bottom,#000 0%,#000 62%,transparent 100%);
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 62%,transparent 100%);
}
.hero .wrap{position:relative;z-index:2;display:grid;grid-template-columns:7fr 3fr;gap:var(--s8);align-items:center}
.hero__brand{
  font-family:var(--f-u);font-size:.76rem;font-weight:600;letter-spacing:.28em;
  text-transform:uppercase;color:var(--gold);margin-bottom:var(--s5);
  display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;
}
.hero__brand .cat{color:var(--on-ink-2);letter-spacing:.2em}
.hero h1 span{display:block}
.hero h1 .b2{color:var(--on-ink-2)}
.hero.is-live h1 .b1{animation:riseIn 700ms var(--ease-out) 120ms both}
.hero.is-live h1 .b2{animation:riseIn 700ms var(--ease-out) 520ms both}
@keyframes riseIn{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
.hero__lede{margin-top:var(--s6)}
.hero__actions{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s7)}
/* Sits at the foot of the hero so the line runs into the metrics strip.
   It must never cross the lede or the actions — verified at 900–1920px. */
.hero__thread{position:absolute;left:0;right:0;bottom:0;z-index:1;pointer-events:none}

.hero__side{display:flex;flex-direction:column;gap:var(--s5)}
.hero__coord{font-family:var(--f-m);font-size:.74rem;color:var(--on-ink-3);letter-spacing:.06em;line-height:1.9}

.metrics{
  position:relative;z-index:2;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:1px;background:var(--rule);border-top:1px solid var(--rule);margin-top:var(--s9);
}
.metrics>div{background:var(--ink-900);padding:var(--s5) var(--s5) var(--s5) 0}
.metric__v{line-height:1;color:var(--gold)}
.metric__v--data{font-family:var(--f-m);font-size:clamp(1.5rem,2.6vw,2rem);font-variant-numeric:tabular-nums}
.metric__v--jarox{font-family:var(--f-d);font-size:clamp(1.7rem,3vw,2.4rem);font-weight:600}
.metric__l{font-size:.86rem;color:var(--on-ink);margin-top:var(--s3);line-height:1.45}
.metric__s{font-family:var(--f-u);font-size:.63rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--on-ink-3);margin-top:var(--s2)}

/* ── EQUATION / CONSTRAINTS ─────────────────────────────────── */
.equation{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3) var(--s6);margin:var(--s7) 0}
.equation b{font-family:var(--f-u);font-size:clamp(1rem,2.4vw,1.6rem);font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--on-ink)}
.equation i{font-style:normal;color:var(--rust-lift);font-size:1.6em;line-height:1}

.break-zone{position:relative;margin:var(--s7) 0}
.break-zone .thread{margin-bottom:var(--s6)}
.constraints{display:flex;flex-wrap:wrap;gap:var(--s2);list-style:none;margin:0;padding:0}
.constraints li{
  font-family:var(--f-u);font-size:.74rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  border:1px solid rgba(210,96,63,.42);color:var(--rust-lift);padding:7px 13px;
}
.resolve{font-family:var(--f-d);font-size:clamp(1.7rem,4vw,3rem);line-height:1.12;
  color:var(--gold);margin:var(--s8) 0 0;max-width:20ch;font-weight:300}

/* ── DATA CITATION ──────────────────────────────────────────── */
.cite{margin:var(--s7) 0 0;max-width:46ch}
.cite__v{font-family:var(--f-m);font-size:clamp(1.9rem,3.4vw,2.6rem);color:var(--gold);
  line-height:1;font-variant-numeric:tabular-nums}
.cite__l{font-size:.98rem;color:var(--on-ink);margin-top:var(--s3);line-height:1.5}
.cite__s{font-family:var(--f-u);font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--on-ink-3);margin-top:var(--s3)}
.sec--paper .cite__v{color:var(--gold-deep)}
.sec--paper .cite__l{color:var(--on-paper)}
.sec--paper .cite__s{color:var(--on-paper-2)}

/* ── POSITION (3 poles) ─────────────────────────────────────── */
.poles{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3) var(--s4);margin-top:var(--s7)}
.poles b{font-family:var(--f-u);font-size:.82rem;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;border:1px solid var(--rule-2);padding:11px 18px;color:var(--on-ink)}
.poles b.self{background:var(--gold);border-color:var(--gold);color:var(--ink-900);font-weight:700}
.poles i{font-style:normal;color:var(--gold);font-size:1.1rem;flex:none}

/* ── ENGINE (spine) ─────────────────────────────────────────── */
.engine{margin-top:var(--s8);position:relative}
.engine__list{list-style:none;margin:0;padding:0 0 0 var(--s7);position:relative}
.engine__list::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:1px;background:var(--rule-paper-2)}
.stage{position:relative;padding:var(--s5) 0;border-bottom:1px solid var(--rule-paper)}
.stage:last-child{border-bottom:0}
.stage::before{
  content:"";position:absolute;left:calc(var(--s7) * -1 - 4px);top:calc(var(--s5) + 10px);
  width:9px;height:9px;background:var(--paper-100);border:1.5px solid var(--gold-deep);transform:rotate(45deg);
}
.stage__n{font-family:var(--f-m);font-size:.8rem;color:var(--gold-deep);letter-spacing:.08em}
.stage__t{font-family:var(--f-u);font-size:clamp(1rem,1.7vw,1.25rem);font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;color:var(--on-paper);margin:var(--s1) 0 var(--s2)}
.stage__d{font-size:.98rem;line-height:1.6;color:var(--on-paper-2);max-width:60ch;margin:0}
.stage__o{
  font-family:var(--f-u);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold-deep);margin-top:var(--s3);display:inline-flex;align-items:center;gap:9px;
}
.stage__o::before{content:"";width:16px;height:1px;background:currentColor;flex:none}

/* ── SIGNATURE SEQUENCE ─────────────────────────────────────── */
.seq{border-top:0;padding:clamp(72px,9vw,144px) 0;background:var(--ink-900);position:relative;overflow:hidden}
.seq__head{margin-bottom:var(--s8)}
.seq__track{position:relative;margin-top:var(--s7)}
.seq__thread{margin-bottom:calc(var(--s6) * -1)}
.seq__steps{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(7,1fr);gap:var(--s3);
}
.seq__steps li{display:flex;flex-direction:column;gap:var(--s2);padding-top:var(--s6);
  border-top:1px solid var(--rule)}
.seq__n{font-family:var(--f-m);font-size:.72rem;color:var(--gold);letter-spacing:.08em}
.seq__t{font-family:var(--f-u);font-size:.86rem;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--on-ink)}
.seq__d{font-size:.84rem;line-height:1.5;color:var(--on-ink-2)}
.seq__media{margin-top:var(--s8);position:relative;border:1px solid var(--rule);overflow:hidden}
.seq__media img{display:block;width:100%;height:clamp(220px,34vw,440px);object-fit:cover;
  filter:saturate(.26) contrast(1.18) brightness(.58)}
.seq__media::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to top,rgba(8,8,6,.95) 0%,rgba(8,8,6,.35) 55%,rgba(201,168,76,.08) 100%)}
.seq__cap{position:absolute;left:0;bottom:0;z-index:2;padding:var(--s5) var(--s6);
  font-family:var(--f-u);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--on-ink-2)}

/* ── CAPABILITY MATRIX ──────────────────────────────────────── */
.matrix{margin-top:var(--s8)}
.matrix__filters{display:flex;flex-wrap:wrap;gap:var(--s2);margin-bottom:var(--s6)}
.matrix__filters button{
  font-family:var(--f-u);font-size:.74rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  padding:9px 15px;border:1px solid var(--rule-paper-2);background:transparent;color:var(--on-paper-2);
  cursor:pointer;transition:all var(--m-micro) var(--ease-io);
}
.matrix__filters button:hover{border-color:var(--gold-deep);color:var(--gold-deep)}
.matrix__filters button[aria-pressed="true"]{background:var(--gold-deep);border-color:var(--gold-deep);color:var(--paper-100)}
.matrix__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(238px,1fr));gap:1px;
  background:var(--rule-paper);border:1px solid var(--rule-paper)}
.cap{background:var(--paper-100);padding:var(--s5);transition:opacity var(--m-el) var(--ease-io)}
.cap.is-dim{opacity:.26}
.cap h3{font-family:var(--f-u);font-size:.78rem;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--gold-deep);margin:0 0 var(--s3)}
.cap ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}
.cap li{font-size:.88rem;line-height:1.45;color:var(--on-paper-2);
  transition:color var(--m-micro) var(--ease-io)}
.cap li.is-hit{color:var(--on-paper);font-weight:500}
.cap li.is-hit::before{content:"";display:inline-block;width:5px;height:5px;background:var(--gold-deep);
  transform:rotate(45deg);margin-right:8px;vertical-align:middle}

/* ── FUNCTION GROUPS (trade finance) ────────────────────────── */
.funcs{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1px;
  background:var(--rule-paper);border:1px solid var(--rule-paper);margin-top:var(--s8)}
.func{background:var(--paper-100);padding:var(--s6) var(--s5)}
.func h3{font-family:var(--f-u);font-size:.8rem;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--gold-deep);margin:0 0 var(--s3)}
.func__why{font-size:.92rem;line-height:1.55;color:var(--on-paper);font-style:italic;
  margin:0 0 var(--s4);padding-bottom:var(--s4);border-bottom:1px solid var(--rule-paper)}
.func ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}
.func li{font-size:.88rem;color:var(--on-paper-2)}

/* ── CHAIN ──────────────────────────────────────────────────── */
.chain{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s3);margin-top:var(--s7);
  list-style:none;padding:0}
.chain li{font-family:var(--f-u);font-size:.76rem;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;border:1px solid var(--rule-2);padding:8px 13px;color:var(--on-ink)}
.chain li::after{content:"→";margin-left:13px;color:var(--gold);font-weight:400}
.chain li:last-child::after{content:""}
.chain--plain li::after{content:""}
.sec--paper .chain li{border-color:var(--rule-paper-2);color:var(--on-paper)}
.sec--paper .chain li::after{color:var(--gold-deep)}

/* ── SPLIT LAYOUTS ──────────────────────────────────────────── */
.split{display:grid;grid-template-columns:5fr 6fr;gap:var(--s8);align-items:start}
.split--37{grid-template-columns:3fr 7fr}
.split--73{grid-template-columns:7fr 3fr}

.figure{border:1px solid var(--rule);overflow:hidden;position:relative}
.figure img{display:block;width:100%;height:clamp(240px,30vw,420px);object-fit:cover;
  filter:saturate(.26) contrast(1.18) brightness(.6)}
.figure::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to top,rgba(8,8,6,.9) 0%,rgba(8,8,6,.3) 60%,rgba(201,168,76,.07) 100%)}
.figure figcaption{position:absolute;left:0;bottom:0;z-index:2;padding:var(--s4) var(--s5);
  font-family:var(--f-u);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--on-ink-2)}

/* ── NOTE ───────────────────────────────────────────────────── */
.note{border-left:2px solid var(--gold);background:var(--ink-800);
  padding:var(--s5) var(--s6);margin-top:var(--s7);max-width:var(--measure)}
.sec--paper .note{background:var(--paper-200);border-left-color:var(--gold-deep)}

/* ── VERTICALS BAND ─────────────────────────────────────────── */
.verticals{display:grid;grid-template-columns:5fr 6fr;gap:var(--s8);align-items:center;margin-top:var(--s7)}
.packs{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule-paper);
  border:1px solid var(--rule-paper)}
.packs img{display:block;width:100%;aspect-ratio:2/3;object-fit:contain;background:var(--ink-900);padding:var(--s4)}

/* ── CONTACT FORM ───────────────────────────────────────────── */
.qual{margin-top:var(--s8);max-width:760px}
.field{margin-bottom:var(--s5)}
.field label{display:block;font-family:var(--f-u);font-size:.72rem;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:var(--s2)}
.field input,.field select,.field textarea{
  width:100%;background:var(--ink-800);border:1px solid var(--rule);color:var(--on-ink);
  font-family:var(--f-b);font-size:1rem;font-weight:300;padding:13px 16px;border-radius:0;
  transition:border-color var(--m-micro) var(--ease-io);
}
.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--rule-2)}
.field textarea{min-height:130px;resize:vertical}
.field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),
  linear-gradient(135deg,var(--gold) 50%,transparent 50%);
  background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;
  background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:44px}
.field__hint{font-size:.8rem;color:var(--on-ink-3);margin-top:6px}
.fieldrow{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5)}
.qual__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s5);margin-top:var(--s6)}
.direct{display:flex;flex-wrap:wrap;gap:var(--s6);margin-top:var(--s8);padding-top:var(--s6);
  border-top:1px solid var(--rule)}
.direct div{min-width:200px}
.direct dt{font-family:var(--f-u);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--on-ink-3);margin-bottom:6px}
.direct dd{margin:0;font-size:.98rem}
.direct a{text-decoration:none;border-bottom:1px solid var(--rule-2)}
.direct a:hover{border-bottom-color:var(--gold)}

/* ── FOOTER ─────────────────────────────────────────────────── */
.ftr{background:var(--ink-900);border-top:1px solid var(--rule);padding:var(--s9) 0 var(--s7)}
.ftr__top{display:grid;grid-template-columns:5fr 3fr 4fr;gap:var(--s8);
  padding-bottom:var(--s7);border-bottom:1px solid var(--rule)}
.ftr__logo{font-family:var(--f-d);font-size:1.5rem;font-weight:600;letter-spacing:.09em;color:var(--gold)}
.ftr__logo span{font-weight:300;color:var(--on-ink);font-size:.95rem}
.ftr p{font-size:.9rem;line-height:1.65;color:var(--on-ink-2);margin-top:var(--s4);max-width:38ch}
.ftr h2{font-family:var(--f-u);font-size:.7rem;font-weight:600;letter-spacing:.22em;
  text-transform:uppercase;color:var(--gold);margin:0 0 var(--s4)}
.ftr ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.ftr li,.ftr address{font-size:.9rem;color:var(--on-ink-2);font-style:normal;line-height:1.7}
.ftr a{color:var(--on-ink-2);text-decoration:none;transition:color var(--m-micro) var(--ease-io)}
.ftr a:hover{color:var(--gold)}
.ftr__offices{display:flex;flex-direction:column;gap:var(--s5)}
.ftr__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s4);
  margin-top:var(--s6);font-size:.8rem;color:var(--on-ink-3)}

/* ── RESPONSIVE ─────────────────────────────────────────────── */
@media(max-width:1080px){
  .hero .wrap{grid-template-columns:1fr;gap:var(--s7)}
  .hero__side{flex-direction:row;flex-wrap:wrap;gap:var(--s6)}
  .split,.split--37,.split--73,.verticals{grid-template-columns:1fr;gap:var(--s7)}
  .seq__steps{grid-template-columns:repeat(4,1fr);row-gap:var(--s6)}
  .ftr__top{grid-template-columns:1fr 1fr;gap:var(--s7)}
}
@media(max-width:900px){
  :root{--header-h:66px}
  .hdr__nav{
    position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;
    gap:0;background:var(--ink-900);border-bottom:1px solid var(--rule);
    padding:var(--s4) var(--pad) var(--s6);display:none;
  }
  .hdr__nav.is-open{display:flex}
  .hdr__nav ul{flex-direction:column;gap:0}
  .hdr__nav a{display:block;padding:15px 0;border-bottom:1px solid var(--rule);font-size:.86rem}
  .hdr__nav .btn{justify-content:center;margin-top:var(--s5)}
  .hdr__toggle{display:block}
}
@media(max-width:720px){
  body{font-size:16.5px}
  .seq__steps{grid-template-columns:repeat(2,1fr)}
  .engine__list{padding-left:var(--s6)}
  .stage::before{left:calc(var(--s6) * -1 - 4px)}
  .fieldrow{grid-template-columns:1fr}
  .ftr__top{grid-template-columns:1fr}
  .packs{grid-template-columns:repeat(2,1fr)}
  .metrics>div{padding-right:var(--s4)}
}
@media(max-width:480px){
  .seq__steps{grid-template-columns:1fr}
  .equation{gap:var(--s2) var(--s4)}
}

/* ── REDUCED MOTION ─────────────────────────────────────────── */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important;
  }
  .rv,.rv-stagger>*{opacity:1;transform:none}
  .thread{clip-path:none}
  .thread .node{opacity:1}
}
