/* ==========================================================================
   Chicago Business Intermediary: Fusion Prototype
   Design system ported from the protected CBI publish-ready baseline.

   Internal creative code: quiet power, bespoke craftsmanship,
   mechanical precision, controlled movement. (Internal direction only.)

   Colour roles, surface roles, hairlines, typography character and every
   motion constant below are carried over from the current CBI site and are
   P0 design authority. The reference study contributed composition and
   editorial architecture only: never palette, geometry, or motion character.
   ========================================================================== */

:root{
  /* --- exact CBI colour roles ------------------------------------------ */
  --cream:#FAF6F0;          /* canvas: carries most of the page */
  --paper:#FFFFFF;          /* white raised surface */
  --paper-warm:#F0EBE3;     /* warm secondary surface */
  --navy:#172F56;           /* CBI navy */
  --navy-deep:#101F3A;      /* deep anchor sections */
  --gold:#7E6440;           /* antique gold on cream: jewellery, not coating */
  --gold-on-dark:#C3A36A;   /* brighter gold on navy */
  --red:#C43834;            /* restrained red: the star only */

  /* --- ink ------------------------------------------------------------- */
  --ink:#2C2821;
  --ink-dim:rgba(44,40,33,.78);
  --ink-mute:rgba(44,40,33,.70);
  --ink-on-navy:#F0EBE3;
  --ink-on-navy-dim:rgba(240,235,227,.72);
  --ink-on-navy-mute:rgba(240,235,227,.56);

  /* --- hairlines: the tailoring ---------------------------------------- */
  --hairline:rgba(154,125,88,.28);
  --hairline-soft:rgba(44,40,33,.1);
  --hairline-on-navy:rgba(240,235,227,.14);
  --gold-dim:rgba(154,125,88,.4);

  /* --- type ------------------------------------------------------------ */
  --serif:'Fraunces','Iowan Old Style','Baskerville',Georgia,serif;
  --sans:'Hanken Grotesk','Helvetica Neue',Arial,sans-serif;

  /* --- motion primitives: exact baseline constants ---------------------- */
  --ease:cubic-bezier(.22,.6,.2,1);   /* damped mechanical settle */
  --reveal-dur:.9s;                    /* content reveal */
  --reveal-travel:26px;                /* max vertical travel */
  --stagger:120ms;                     /* reading-order increment */
  --lift-dur:.35s;                     /* listing lift */
  --redact-dur:.5s;                    /* NDA redaction */
  --control-dur:.25s;                  /* buttons, rules, nav, accordion */

  --shell:1180px;
}

/* ==========================================================================
   Base
   ========================================================================== */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:104px;-webkit-text-size-adjust:100%}
body{
  font-family:var(--sans);
  background:var(--cream);
  color:var(--ink);
  font-size:16px;
  line-height:1.7;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.14}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit;color:inherit}
::selection{background:var(--gold);color:var(--cream)}

.shell{width:min(var(--shell),calc(100% - 56px));margin-inline:auto}
section{padding:112px 0;position:relative}

:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.on-dark :focus-visible{outline-color:var(--gold-on-dark)}
/* the inquiry card is cream on a navy field: use the cream-surface gold */

.skip{position:fixed;left:16px;top:-80px;z-index:999;background:var(--navy);color:#fff;padding:12px 20px;font-size:13px;font-weight:600;transition:top var(--control-dur) var(--ease)}
.skip:focus{top:14px}

/* ==========================================================================
   Editorial furniture: imported architecture, CBI materials
   ========================================================================== */
.marker{
  display:flex;align-items:center;gap:14px;
  font-size:10.5px;font-weight:600;letter-spacing:.34em;text-transform:uppercase;
  color:var(--gold);
}
.marker::after{content:"";flex:0 0 52px;height:1px;background:var(--gold-dim)}
.marker.solo::after{display:none}
.on-dark .marker{color:var(--gold-on-dark)}
.on-dark .marker::after{background:rgba(195,163,106,.4)}

/* h1 always outranks h2: 5.4vw > 3.9vw at every width */
.h-display{font-size:clamp(38px,5.4vw,68px);letter-spacing:-.012em;color:var(--navy)}
.h-section{font-size:clamp(30px,3.9vw,48px);margin-top:22px;color:var(--navy);max-width:19ch}
.h-section.wide{max-width:26ch}
.on-dark .h-section,.on-dark .h-display{color:#fff}
.lede{color:var(--ink-dim);font-size:17px;max-width:60ch;margin-top:20px}
.on-dark .lede{color:var(--ink-on-navy-dim)}

/* ==========================================================================
   Controls: .2s to .35s, crisp mechanical settling, no bounce
   ========================================================================== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;padding:14px 30px;
  font-family:var(--sans);font-size:11.5px;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;
  border:1px solid var(--gold);color:var(--gold);background:none;
  cursor:pointer;
  transition:background var(--control-dur) var(--ease),color var(--control-dur) var(--ease),border-color var(--control-dur) var(--ease);
}
.btn:hover{background:var(--gold);color:var(--cream)}
.btn-fill{background:var(--gold);color:var(--cream);border-color:var(--gold)}
/* darken on hover: lightening fails contrast on a cream label */
.btn-fill:hover{background:#6A5336;border-color:#6A5336;color:var(--cream)}
.btn-navy{background:var(--navy);border-color:var(--navy);color:#fff}
.btn-navy:hover{background:#22406F;border-color:#22406F;color:#fff}
.on-dark .btn{border-color:var(--gold-on-dark);color:var(--gold-on-dark)}
.on-dark .btn:hover{background:var(--gold-on-dark);color:var(--navy-deep)}
.on-dark .btn-fill{background:var(--gold-on-dark);color:var(--navy-deep);border-color:var(--gold-on-dark)}
.on-dark .btn-fill:hover{background:#D9BE8A;border-color:#D9BE8A;color:var(--navy-deep)}

.lnk{
  display:inline-block;min-height:44px;line-height:44px;
  font-size:11.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;
  color:var(--gold);border-bottom:1px solid var(--gold-dim);
  transition:border-color var(--control-dur) var(--ease),color var(--control-dur) var(--ease);
}
.lnk:hover{border-color:var(--gold)}
.on-dark .lnk{color:var(--gold-on-dark);border-color:rgba(195,163,106,.42)}
.on-dark .lnk:hover{border-color:var(--gold-on-dark)}

/* ==========================================================================
   Motion primitives
   Reveals only hide once JS is confirmed running, so a JS failure or a
   crawler never sees an invisible page.
   ========================================================================== */
html.js .rv{
  opacity:0;transform:translateY(var(--reveal-travel));
  transition:opacity var(--reveal-dur) var(--ease),transform var(--reveal-dur) var(--ease);
}
html.js .rv.in{opacity:1;transform:none}
/* fallback path: show immediately, without waiting on a transition */
html.rv-instant .rv{transition:none}
/* Failsafe. Set by the inline head script when no reveal has fired, or when a
   script resource fails to load. It must outrank the hiding rule above so a
   missing or broken cbi.js can never leave the page blank. */
html.rv-show .rv{opacity:1!important;transition:none!important}
html.rv-show .rv:not(:hover){transform:none!important}
.rv.d1{transition-delay:calc(var(--stagger) * 1)}
.rv.d2{transition-delay:calc(var(--stagger) * 2)}
.rv.d3{transition-delay:calc(var(--stagger) * 3)}

/* ==========================================================================
   Brand watermark: the actual CBI crest artwork, not an approximation.
   ========================================================================== */
.watermark{display:block}

/* The complete crest scales and repositions fluidly at every breakpoint. */
.watermark{
  position:absolute;
  width:clamp(310px,42vw,560px);
  height:auto;
  right:clamp(42px,10vw,150px);
  top:clamp(-116px,-6vw,-42px);
  opacity:.045;
  pointer-events:none;user-select:none;
  z-index:0;
}

/* ==========================================================================
   Header + native dialog menu
   ========================================================================== */
.site-header{
  position:sticky;top:0;z-index:120;
  background:rgba(250,246,240,.9);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--hairline);
}
/* the header runs wider than the reading shell so the full-name lockup,
   the five-item nav and the CTA never collide */
.site-header .header-in{width:min(1340px,calc(100% - 48px));margin-inline:auto}
.header-in{display:flex;align-items:center;justify-content:space-between;gap:26px;height:88px}
.brand{display:flex;align-items:center;gap:14px;min-width:0;flex:none;min-height:44px}
.brand img{height:44px;width:auto;flex:none}
.wordmark{
  font-family:var(--serif);font-weight:600;font-size:17px;
  letter-spacing:.16em;text-transform:uppercase;line-height:1.1;color:var(--navy);
  white-space:nowrap;
}
.wordmark small{
  display:block;font-family:var(--sans);font-weight:500;font-size:8.5px;
  letter-spacing:.46em;color:var(--gold);margin-top:4px;
}
.nav-desktop{display:flex;gap:26px;flex:0 1 auto;min-width:0}
.nav-desktop a{
  position:relative;display:flex;align-items:center;min-height:44px;white-space:nowrap;
  font-size:10.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-dim);transition:color var(--control-dur) var(--ease);
}
.nav-desktop a::after{content:"";position:absolute;left:0;bottom:10px;height:1px;width:0;background:var(--gold);transition:width var(--control-dur) var(--ease)}
.nav-desktop a:hover,.nav-desktop a[aria-current="page"]{color:var(--navy)}
.nav-desktop a:hover::after,.nav-desktop a[aria-current="page"]::after{width:100%}
.header-actions{display:flex;align-items:center;gap:16px;flex:none}
.tel{display:flex;align-items:center;min-height:44px;font-size:13px;letter-spacing:.06em;color:var(--ink-dim);white-space:nowrap;transition:color var(--control-dur) var(--ease)}
.tel:hover{color:var(--gold)}
.header-actions .btn{min-height:44px;padding:11px 20px;font-size:10px;letter-spacing:.18em}
.burger{display:none;width:46px;height:46px;border:1px solid var(--hairline);background:none;cursor:pointer;position:relative}
.burger span{position:absolute;left:12px;right:12px;height:1px;background:var(--gold)}
.burger span:nth-child(1){top:18px}
.burger span:nth-child(2){top:27px}

dialog#menu{
  border:0;padding:0;margin:0;
  width:100%;height:100%;max-width:none;max-height:none;
  background:var(--cream);color:var(--ink);
}
dialog#menu::backdrop{background:rgba(16,31,58,.4)}
dialog#menu[open]{display:flex;flex-direction:column}
.menu-top{display:flex;align-items:center;justify-content:space-between;height:88px;flex:none;border-bottom:1px solid var(--hairline-soft)}
.menu-close{width:46px;height:46px;border:1px solid var(--hairline);background:none;color:var(--gold);font-size:22px;line-height:1;cursor:pointer}
.menu-body{flex:1;overflow-y:auto;display:flex;flex-direction:column;justify-content:safe center;padding:24px 0 40px}
.menu-body a.menu-link{
  font-family:var(--serif);font-size:clamp(24px,7.4vw,34px);color:var(--navy);
  padding:15px 0;border-bottom:1px solid var(--hairline-soft);
}
.menu-body .menu-cta{align-self:flex-start;width:min(100%,360px);margin-top:26px}
.menu-foot{flex:none;border-top:1px solid var(--hairline);padding:20px 0 26px;font-size:12.5px;color:var(--ink-dim)}
.menu-foot a{display:inline-block;min-height:44px;line-height:44px;color:var(--gold);font-size:16px}
.menu-foot p{margin-top:4px;font-size:11.5px;line-height:1.6}

/* Acquirers owns two related paths without turning Listings into a sixth
   primary destination. This rail is intentionally an ordinary navigation
   landmark rather than a scripted tab widget, so both paths always work. */
.acquirer-tabs-wrap{background:var(--paper-warm);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}
.acquirer-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.acquirer-tabs a{
  display:flex;align-items:center;gap:16px;min-height:78px;padding:18px 24px;
  font-family:var(--serif);font-size:18px;color:var(--navy);
  transition:background var(--control-dur) var(--ease),color var(--control-dur) var(--ease);
}
.acquirer-tabs a+a{border-left:1px solid var(--hairline)}
.acquirer-tabs a:hover{background:rgba(255,255,255,.52)}
.acquirer-tabs a[aria-current="location"]{background:var(--navy);color:#fff}
.acquirer-tabs a[aria-current="location"]:hover{background:#22406F}
.acquirer-tabs span{font-family:var(--sans);font-size:9.5px;font-weight:600;letter-spacing:.18em;color:var(--gold)}
.acquirer-tabs a[aria-current="location"] span{color:var(--gold-on-dark)}
#acquisition-search{scroll-margin-top:88px}

/* ==========================================================================
   01–02 Hero
   ========================================================================== */
.hero{padding:96px 0 0;overflow:hidden;background:var(--cream)}
.hero .shell{position:relative}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.32fr) minmax(310px,.68fr);gap:clamp(40px,5.6vw,80px);align-items:end;position:relative;z-index:1}
.hero-kicker{font-size:11px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:24px}
.hero h1{max-width:17ch}
.hero .descriptor{font-size:17.5px;color:var(--ink-dim);max-width:52ch;margin-top:26px}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}

/* the controlled navy anchor: the transaction model */
.model{
  background:var(--navy-deep);color:var(--ink-on-navy);
  padding:34px 32px 30px;position:relative;overflow:hidden;
}
.model::before{content:"";position:absolute;inset:11px;border:1px solid rgba(240,235,227,.12);pointer-events:none}
.model-label{font-size:9.5px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-on-dark)}
.model-step{display:grid;grid-template-columns:30px 1fr;gap:14px;padding:17px 0;border-bottom:1px solid var(--hairline-on-navy)}
.model-step:last-of-type{border-bottom:0;padding-bottom:2px}
.model-step .n{font-family:var(--serif);font-style:italic;font-size:13px;color:var(--gold-on-dark);padding-top:2px}
.model-step strong{display:block;font-family:var(--serif);font-weight:500;font-size:17px;color:#fff}
.model-step p{font-size:13.5px;line-height:1.62;color:var(--ink-on-navy-dim);margin-top:5px}
.model-note{margin-top:18px;font-size:11px;line-height:1.55;color:var(--ink-on-navy-mute);border-left:1px solid var(--gold-on-dark);padding-left:13px}

/* 03 credibility rail */
.rail{margin-top:clamp(56px,6vw,78px);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);display:grid;grid-template-columns:repeat(4,1fr);position:relative}
.rail>div{padding:26px 26px 28px 0;border-right:1px solid var(--hairline)}
.rail>div:first-child{padding-left:0}
.rail>div:not(:first-child){padding-left:26px}
.rail>div:last-child{border-right:0;padding-right:0}
.rail b{display:block;font-family:var(--serif);font-size:17px;font-weight:600;color:var(--navy);margin-bottom:6px}
.rail span{display:block;font-size:13.5px;line-height:1.62;color:var(--ink-dim)}
/* the single pass of the instrument line, first view only */
.rail-trace{position:absolute;left:0;top:-1px;height:1px;width:0;background:var(--gold);opacity:.85}
html.js .rail.in .rail-trace{width:100%;transition:width 1.5s var(--ease) .25s}

/* ==========================================================================
   04 Our role
   ========================================================================== */
.role-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(40px,7vw,92px);align-items:start;margin-top:38px}
.role-copy p{font-size:17px;line-height:1.72;color:var(--ink-dim);margin-bottom:20px}
.role-copy p:last-child{margin-bottom:0}
.principles{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--hairline);margin-top:64px}
.principles>div{padding:26px 24px 30px 0;border-right:1px solid var(--hairline)}
.principles>div:not(:first-child){padding-left:24px}
.principles>div:last-child{border-right:0;padding-right:0}
.principles .n{display:block;font-family:var(--serif);font-style:italic;font-size:14px;color:var(--gold);margin-bottom:26px}
.principles strong{display:block;font-family:var(--serif);font-weight:500;font-size:19px;color:var(--navy)}
.principles p{font-size:13.25px;line-height:1.65;color:var(--ink-dim);margin-top:8px}

/* ==========================================================================
   05 Capabilities: editorial documents, not generic tiles
   ========================================================================== */
.cap-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;flex-wrap:wrap}
.cap-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--hairline);border:1px solid var(--hairline);margin-top:52px}
.cap{
  background:var(--paper);padding:38px 34px 34px;display:flex;flex-direction:column;min-height:280px;
  transition:background var(--control-dur) var(--ease);
}
.cap:hover,.cap:focus-within{background:#FFFDFA}
.cap-top{display:flex;align-items:center;justify-content:space-between;gap:16px}
.cap-n{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--gold)}
.tier{
  font-size:9px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  padding:5px 10px;border:1px solid var(--hairline);color:var(--ink-mute);white-space:nowrap;
}
.tier.core{color:var(--gold);border-color:var(--gold-dim)}
.tier.network{color:var(--navy);border-color:rgba(23,47,86,.3)}
.cap h2,.cap h3{font-size:clamp(20px,2.1vw,25px);color:var(--navy);margin:26px 0 12px;max-width:20ch}
.cap p{font-size:15px;line-height:1.68;color:var(--ink-dim);max-width:44ch}
.cap .cap-foot{margin-top:auto;padding-top:24px}
/* the two Core services lead; Network is prominent; the last two are qualified */
.cap.lead{grid-column:span 1;min-height:326px}
.cap.lead h2,.cap.lead h3{font-size:clamp(21px,2.4vw,29px)}
.cap.wide{
  grid-column:span 2;display:grid;
  grid-template-columns:minmax(220px,.78fr) minmax(280px,1.22fr);
  grid-template-rows:auto 1fr auto;column-gap:clamp(34px,5vw,72px);
  min-height:238px;
}
.cap.wide .cap-top{grid-column:1/-1}
.cap.wide h2,.cap.wide h3{grid-column:1;grid-row:2;align-self:start;max-width:16ch}
.cap.wide>p{grid-column:2;grid-row:2;align-self:start;margin-top:26px;max-width:48ch}
.cap.wide .cap-foot{grid-column:2;grid-row:3}
.cap.qualified{background:var(--paper-warm)}
.cap.qualified:hover,.cap.qualified:focus-within{background:#F4F0E9}
.qualifier{margin-top:14px;font-size:13px;line-height:1.65;color:var(--ink-dim);border-left:1px solid var(--gold-dim);padding-left:14px;max-width:48ch}

/* ==========================================================================
   06 Mandates
   ========================================================================== */
.mandates{background:var(--paper-warm);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);overflow:hidden}
.mandate-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hairline);border:1px solid var(--hairline);margin-top:52px}
.mandate{background:var(--paper-warm);padding:34px 32px 36px;display:flex;flex-direction:column;min-height:290px}
.mandate .who{font-size:9.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.mandate .brief{font-family:var(--serif);font-size:22px;font-weight:500;line-height:1.36;color:var(--navy);margin:32px 0 20px}
.mandate p{font-size:14px;line-height:1.68;color:var(--ink-dim);margin-top:auto}
.swipe-cue{display:none}

/* ==========================================================================
   07 Current opportunities
   ========================================================================== */
.listing-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;flex-wrap:wrap}
.listings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:52px}
.listings-empty{grid-template-columns:minmax(0,620px)}
.listing-empty{min-height:280px}
.listing{
  background:var(--paper);border:1px solid var(--hairline);padding:36px 32px 32px;
  display:flex;flex-direction:column;position:relative;overflow:hidden;
  transition:transform var(--lift-dur) var(--ease),border-color var(--lift-dur) var(--ease);
}
.listing:hover{transform:translateY(-4px);border-color:var(--gold-dim)}
/* the confidential stamp */
.listing::after{
  content:"Confidential";position:absolute;right:24px;top:20px;
  font-family:var(--serif);font-style:italic;font-size:13px;letter-spacing:.11em;
  color:var(--gold);opacity:.2;transform:rotate(-6deg);pointer-events:none;
  transition:opacity var(--lift-dur) var(--ease),transform var(--lift-dur) var(--ease);
}
.listing:hover::after,.listing:focus-within::after{opacity:.46;transform:rotate(-3deg)}
.listing .status{font-size:9.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.listing h3{font-size:clamp(20px,2.1vw,25px);color:var(--navy);margin:16px 0 5px;max-width:18ch}
.listing .loc{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim)}
.metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--hairline-soft);border:1px solid var(--hairline-soft);margin:26px 0 0}
.metric{background:var(--paper);padding:13px 14px;min-width:0}
.metric span{display:block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim)}
.metric b{display:block;font-family:var(--serif);font-size:15px;font-weight:600;color:var(--navy);margin-top:3px;overflow-wrap:break-word}
.metric i{display:block;font-style:normal;font-size:11px;line-height:1.45;letter-spacing:.03em;color:var(--ink-mute);margin-top:3px}
.protected{display:grid;grid-template-columns:auto 1fr;gap:9px 18px;border-top:1px solid var(--hairline-soft);border-bottom:1px solid var(--hairline-soft);padding:14px 0;margin:22px 0;font-size:13px;line-height:1.55}
.protected>span{color:var(--ink-dim)}
.protected>div{text-align:right}
/* NDA redaction reveal */
.redact{position:relative;display:inline-block;padding:1px 10px;overflow:hidden;vertical-align:middle}
.redact i{font-style:normal;font-size:9.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);white-space:nowrap}
.redact::before{content:"";position:absolute;inset:0;background:var(--navy);transform-origin:right;transition:transform var(--redact-dur) var(--ease)}
.listing:hover .redact::before,.listing:focus-within .redact::before{transform:scaleX(0)}
.listing-foot{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:auto;padding-top:6px}
.listing-note{font-size:12px;line-height:1.5;color:var(--ink-mute);max-width:24ch}
.listing-source{margin-top:28px;font-size:14px;line-height:1.72;color:var(--ink-dim);border-left:1px solid var(--gold-dim);padding-left:18px;max-width:72ch}

/* ==========================================================================
   08 Process + tracing beam (refined into an arc-derived instrument line)
   ========================================================================== */
.process{background:var(--cream);border-top:1px solid var(--hairline)}
.proc-rows{margin-top:64px;position:relative;padding-left:62px}
.beam{position:absolute;left:13px;top:0;bottom:0;width:1px;background:var(--hairline)}
.beam i{position:absolute;left:0;top:0;width:1px;height:0;background:linear-gradient(to bottom,var(--gold),var(--gold-on-dark));display:block}
.proc-row{display:grid;grid-template-columns:132px 1fr;gap:44px;padding:40px 0;border-bottom:1px solid var(--hairline-soft);position:relative}
.proc-row:last-child{border-bottom:0}
.proc-row::before{content:"";position:absolute;left:-53px;top:52px;width:9px;height:9px;background:var(--cream);border:1px solid var(--gold);transform:rotate(45deg)}
.proc-row .num{font-family:var(--serif);font-style:italic;font-size:20px;color:var(--gold);letter-spacing:.08em;padding-top:5px}
.proc-row h3{font-size:clamp(21px,2.3vw,28px);color:var(--navy);margin-bottom:9px}
.proc-row p{font-size:15px;line-height:1.72;color:var(--ink-dim);max-width:58ch}

/* ==========================================================================
   09 File Standard: the signature exhibit
   ========================================================================== */
.standard{background:var(--paper-warm);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}
.std-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(40px,6.4vw,86px);align-items:start}
.std-left{position:sticky;top:126px}
.exhibit{background:var(--paper);border:1px solid var(--hairline);padding:26px;margin-top:34px;position:relative}
.exhibit::before{content:"";position:absolute;inset:10px;border:1px solid var(--hairline-soft);pointer-events:none}
.exhibit-label{font-size:9.5px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);position:relative}
.classify{display:grid;gap:1px;background:var(--hairline);border:1px solid var(--hairline);margin-top:16px;position:relative}
.classify>div{display:grid;grid-template-columns:112px 1fr;gap:14px;background:var(--paper);padding:14px 16px}
.classify dt{font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--navy);padding-top:2px}
.classify dd{font-size:13.25px;line-height:1.62;color:var(--ink-dim)}
.exhibit-note{position:relative;margin-top:18px;font-family:var(--serif);font-style:italic;font-weight:500;font-size:14.5px;line-height:1.5;color:var(--gold)}
.rules{border-top:1px solid var(--hairline)}
.rules li{list-style:none;display:grid;grid-template-columns:46px 1fr;gap:20px;padding:28px 0;border-bottom:1px solid var(--hairline)}
.rules .rn{font-family:var(--serif);font-style:italic;font-size:17px;color:var(--gold)}
.rules b{display:block;font-family:var(--serif);font-size:21px;font-weight:500;color:var(--navy);line-height:1.3}
.rules p{font-size:14.5px;line-height:1.7;color:var(--ink-dim);margin-top:7px}

/* ==========================================================================
   10 Partner Network
   ========================================================================== */
.net-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--hairline);border:1px solid var(--hairline);margin-top:50px}
.net-journey{background:var(--paper);padding:36px 34px 34px;display:flex;flex-direction:column}
.net-journey .who{font-size:9.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.net-journey h3{font-size:25px;color:var(--navy);margin:20px 0 12px}
.net-journey p{font-size:15px;line-height:1.7;color:var(--ink-dim)}
.net-journey ul{list-style:none;margin:22px 0 28px}
.net-journey li{font-size:14px;line-height:1.58;color:var(--ink-dim);padding:11px 0;border-top:1px solid var(--hairline-soft);display:flex;gap:12px}
.net-journey li::before{content:"";flex:0 0 16px;height:1px;background:var(--gold);margin-top:11px}
.net-journey .btn{margin-top:auto;align-self:flex-start}
/* the specialist categories as a connected system of arc nodes */
.categories{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hairline);border:1px solid var(--hairline);margin-top:44px}
.category{background:var(--paper);padding:20px 20px 22px;display:flex;align-items:flex-start;gap:13px;min-height:96px}
.category .dot{flex:none;width:9px;height:9px;margin-top:7px;border:1px solid var(--gold);transform:rotate(45deg)}
.category b{display:block;font-family:var(--serif);font-size:16px;font-weight:500;color:var(--navy);line-height:1.3}
.category span{display:block;font-size:12.5px;line-height:1.58;color:var(--ink-dim);margin-top:4px}
.std-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hairline);border:1px solid var(--hairline);margin-top:34px}
.std-item{background:var(--paper);padding:20px 22px 22px}
.std-item b{display:block;font-family:var(--serif);font-size:16px;font-weight:500;color:var(--navy)}
.std-item p{font-size:13px;line-height:1.62;color:var(--ink-dim);margin-top:6px}

/* ==========================================================================
   11 Emerging: one darker band, deliberately lower weight
   ========================================================================== */
.emerging{background:var(--navy-deep);color:var(--ink-on-navy);overflow:hidden;padding:88px 0}
.emerging .shell{position:relative;z-index:1}
.emerging-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:clamp(36px,5.4vw,74px);align-items:start;margin-top:34px}
.emerging h2{font-size:clamp(26px,3.2vw,38px);color:#fff;max-width:20ch}
.emerging p.body{font-size:15px;line-height:1.7;color:var(--ink-on-navy-dim);max-width:56ch}
.track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(240,235,227,.16);border:1px solid rgba(240,235,227,.16);margin-top:26px}
.track li{list-style:none;background:var(--navy-deep);padding:20px 20px 22px;min-height:150px;display:flex;flex-direction:column}
.track .stage{display:flex;align-items:center;justify-content:space-between;gap:10px}
.track .stage span{font-size:8.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-on-navy-mute)}
.track .stage b{font-family:var(--serif);font-style:italic;font-size:12px;font-weight:500;color:var(--gold-on-dark)}
.track strong{display:block;font-family:var(--serif);font-weight:500;font-size:17px;color:#fff;margin:auto 0 8px}
.track p{font-size:12.5px;line-height:1.62;color:var(--ink-on-navy-dim)}

/* ==========================================================================
   12 About: institutional story with quiet editorial hierarchy
   ========================================================================== */
.about{background:var(--cream)}
.about-lede{max-width:76ch}
.about-story{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--hairline);border:1px solid var(--hairline);margin-top:52px}
.about-panel{background:var(--paper);padding:clamp(28px,3.4vw,42px)}
.about-label{font-size:9.5px!important;line-height:1.3!important;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)!important;margin:0 0 18px!important}
.about-panel h3,.about-foundation h3{font-size:clamp(21px,2.3vw,28px);line-height:1.18;color:var(--navy);max-width:20ch}
.about-panel>p:last-child,.about-foundation article>p:last-child{font-size:15px;line-height:1.72;color:var(--ink-dim);margin-top:16px;max-width:58ch}
.about-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:38px;border-top:1px solid var(--gold-dim);border-bottom:1px solid var(--gold-dim)}
.about-principles>div{padding:24px 24px 26px;border-right:1px solid var(--hairline)}
.about-principles>div:first-child{padding-left:0}
.about-principles>div:last-child{border-right:0;padding-right:0}
.about-principles span{display:block;font-family:var(--serif);font-style:italic;font-size:13px;color:var(--gold);margin-bottom:22px}
.about-principles b{display:block;font-family:var(--serif);font-size:17px;font-weight:500;color:var(--navy)}
.about-principles p{font-size:13.5px;line-height:1.62;color:var(--ink-dim);margin-top:7px}
.about-foundation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(36px,5vw,70px);margin-top:52px}
.about-foundation article{border-top:1px solid var(--gold-dim);padding-top:24px}
.proof{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--hairline);border:1px solid var(--hairline);margin-top:52px}
.proof-mod{background:var(--paper);padding:22px 24px 24px}
.proof-mod b{display:block;font-family:var(--serif);font-size:16px;font-weight:500;color:var(--navy)}
.proof-mod p{font-size:13.5px;line-height:1.65;color:var(--ink-dim);margin-top:7px}
.proof-mod .pending{display:inline-block;margin-top:10px;font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--red);border:1px solid rgba(196,56,52,.4);padding:4px 9px}

.inquiry-context{border-left:2px solid var(--gold);padding:10px 0 10px 14px;margin-top:18px}
.inquiry-context span{display:block;font-size:8.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-on-dark)}
.inquiry-context strong{display:block;margin-top:4px;font-family:var(--serif);font-size:16px;font-weight:500;color:#fff}
/* Inquiry context can appear inside the cream contact card. Keep its label
   and selected subject on the cream-surface ink ramp, not the navy ramp. */
.contact-card .inquiry-context span{color:var(--gold)}
.contact-card .inquiry-context strong{color:var(--navy)}

/* ==========================================================================
   13 Questions
   ========================================================================== */
.faq{background:var(--paper-warm);border-top:1px solid var(--hairline)}
.faq-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(36px,5.6vw,80px);align-items:start}
.faq-group{margin-top:34px}
.faq-group:first-of-type{margin-top:0}
.faq-group>h3{font-size:10.5px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);font-family:var(--sans);padding-bottom:10px;border-bottom:1px solid var(--hairline)}
details{border-bottom:1px solid var(--hairline)}
summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:22px;
  min-height:56px;padding:16px 2px;
  font-family:var(--serif);font-size:19px;font-weight:500;color:var(--navy);
  transition:color var(--control-dur) var(--ease);
}
summary::-webkit-details-marker{display:none}
summary:hover{color:var(--gold)}
summary .ic{flex:none;width:14px;height:14px;position:relative}
summary .ic::before,summary .ic::after{content:"";position:absolute;background:var(--gold);transition:transform var(--control-dur) var(--ease)}
summary .ic::before{left:0;top:6px;width:14px;height:1px}
summary .ic::after{left:6px;top:0;width:1px;height:14px}
details[open] summary .ic::after{transform:rotate(90deg)}
details .a{padding:0 2px 24px;font-size:15px;line-height:1.74;color:var(--ink-dim);max-width:64ch}

/* ==========================================================================
   14 Confidential inquiry: dark field, cream form card
   ========================================================================== */
.inquiry{background:var(--navy-deep);color:var(--ink-on-navy);overflow:hidden}
.inquiry .shell{position:relative;z-index:1}
.inq-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:clamp(40px,5.6vw,80px);align-items:start}
.next-steps{margin-top:28px;border-top:1px solid var(--hairline-on-navy)}
.next-step{display:grid;grid-template-columns:26px 1fr;gap:12px;padding:13px 0;border-bottom:1px solid var(--hairline-on-navy);font-size:13.5px;line-height:1.55;color:var(--ink-on-navy-dim)}
.next-step b{font-family:var(--serif);font-style:italic;font-size:14px;font-weight:500;color:var(--gold-on-dark)}
.inq-note{margin-top:22px;font-size:14px;line-height:1.68;color:var(--ink-on-navy-dim);border-left:1px solid var(--gold-on-dark);padding-left:16px}
.inq-contact{margin-top:22px;font-size:14.5px;line-height:1.9}
.inq-contact a{color:var(--gold-on-dark);border-bottom:1px solid rgba(195,163,106,.4)}

.form-title{font-family:var(--serif);font-size:22px;font-weight:500;color:var(--navy);margin-bottom:6px}
.fineprint{font-size:12.25px;line-height:1.62;color:var(--ink-dim);margin-bottom:16px}
.contact-card{background:var(--cream);color:var(--ink);padding:34px 32px 32px;border:1px solid rgba(195,163,106,.5)}
.contact-card>p:not(.form-title):not(.fineprint){font-size:15px;line-height:1.72;color:var(--ink-dim);margin:14px 0 24px}
.contact-card .btn{width:100%}
/* The phone link is a primary conversion action now that there is no form,
   and on a phone it is the tap target that starts the call. It must meet the
   44px minimum like every other standalone control. */
.contact-phone{display:flex;align-items:center;justify-content:center;min-height:44px;margin-top:10px;color:var(--navy);font-size:13px;font-weight:600;letter-spacing:.08em}
.contact-card .fineprint{margin-top:24px;margin-bottom:0}

/* ==========================================================================
   15 Footer
   ========================================================================== */
.site-footer{background:var(--navy-deep);color:var(--ink-on-navy-dim);padding:72px 0 0;overflow:hidden;font-size:13px}
.foot-grid{display:grid;grid-template-columns:1.1fr 1fr .9fr;gap:40px;align-items:start;padding-bottom:40px}
.site-footer .wordmark{color:#fff}
.site-footer .wordmark small{color:var(--gold-on-dark)}
.foot-line{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--ink-on-navy-dim);margin-top:18px;max-width:34ch}
.foot-col h3{font-size:9.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-on-dark);font-family:var(--sans);margin-bottom:10px}
.foot-col a{display:block;min-height:44px;line-height:44px;font-size:12.5px;color:var(--ink-on-navy-dim);transition:color var(--control-dur) var(--ease)}
.foot-col a:hover{color:var(--gold-on-dark)}
.legal{border-top:1px solid var(--hairline-on-navy);padding:24px 0 28px;font-size:12.25px;line-height:1.78;color:var(--ink-on-navy-dim)}
.legal p+p{margin-top:10px}
.ghost{
  font-family:var(--serif);font-weight:600;
  font-size:min(54px,4.3vw);letter-spacing:.07em;text-transform:uppercase;
  color:rgba(240,235,227,.055);text-align:center;line-height:1;
  padding-bottom:22px;white-space:nowrap;user-select:none;
}
.ghost .star{color:rgba(196,56,52,.34)}

/* ==========================================================================
   Interior pages
   ========================================================================== */
.page-hero{background:var(--cream);padding:72px 0 64px;overflow:hidden}
.page-hero .shell{position:relative}
.page-hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(36px,5.4vw,76px);align-items:end;position:relative;z-index:1}
.back{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:10.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);transition:color var(--control-dur) var(--ease)}
.back:hover{color:var(--gold)}
.back span{color:var(--gold)}
.overview{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5.4vw,76px)}
.overview ul{list-style:none;margin-top:26px;border-top:1px solid var(--hairline)}
.overview li{padding:15px 2px;border-bottom:1px solid var(--hairline-soft);font-size:14.5px;line-height:1.6;color:var(--ink-dim);display:flex;gap:14px}
.overview li::before{content:"";flex:0 0 16px;height:1px;background:var(--gold);margin-top:12px}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(216px,1fr));gap:1px;background:var(--hairline);border:1px solid var(--hairline);margin-top:44px}
.step{background:var(--paper);padding:30px 28px 32px;min-height:210px;display:flex;flex-direction:column}
.step .n{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--gold)}
.step h3{font-size:24px;color:var(--navy);margin:30px 0 10px}
.step p{font-size:14.5px;line-height:1.7;color:var(--ink-dim)}
.outcome{background:var(--paper-warm);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}
.outcome .statement{font-family:var(--serif);font-size:clamp(24px,3.4vw,40px);font-weight:500;line-height:1.3;color:var(--navy);max-width:24ch;margin-top:26px}
.cta-band{background:var(--navy-deep);color:var(--ink-on-navy);padding:72px 0}
.cta-band .shell{display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap}
.cta-band h2{font-size:clamp(24px,3.2vw,36px);color:#fff;max-width:22ch}

/* legal pages */
.legal-page{padding:64px 0 96px;background:var(--cream)}
.legal-page .shell{max-width:790px}
.legal-page h1{font-size:clamp(30px,4vw,44px);color:var(--navy)}
.legal-page .updated{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);margin-top:14px}
.legal-page h2{font-size:22px;color:var(--navy);margin:44px 0 12px;padding-top:22px;border-top:1px solid var(--hairline)}
.legal-page h3{font-size:17px;color:var(--navy);margin:26px 0 8px}
.legal-page p,.legal-page li{font-size:15.5px;line-height:1.78;color:var(--ink-dim)}
.legal-page p{margin-bottom:14px}
.legal-page ul,.legal-page ol{margin:0 0 16px 20px}
.legal-page li{margin-bottom:8px}
.legal-page strong{color:var(--ink)}
.legal-page p a,.legal-page li a{color:var(--gold);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;transition:color var(--control-dur) var(--ease)}
.legal-page p a:hover,.legal-page li a:hover{color:var(--ink)}
.legal-callout{border-left:1px solid var(--gold);padding:4px 0 4px 18px;margin:20px 0}
.legal-callout p:last-child{margin-bottom:0}
.toc{background:var(--paper);border:1px solid var(--hairline);padding:24px 26px;margin:34px 0 40px}
.toc-label{display:block;font-size:9.5px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.toc ol{margin:0 0 0 18px;columns:2;column-gap:34px}
.toc li{margin-bottom:7px;font-size:14.5px;line-height:1.58}
.toc a{color:var(--ink-dim);transition:color var(--control-dur) var(--ease)}
.toc a:hover{color:var(--gold)}
@media(max-width:620px){.toc ol{columns:1}}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media(max-width:1280px){
  html.nav-ready .header-actions .tel{display:none}
  .nav-desktop{gap:20px}
}
/* without scripting the phone number is the only immediate contact route */
@media(max-width:1140px){
  html:not(.nav-ready) .header-actions{width:100%;order:2;justify-content:flex-start}
}
/* the desktop header needs 1129px; swap to the menu before it collides */
@media(max-width:1140px){
  /* The burger only replaces the nav once cbi.js has actually wired the
     dialog. If the script is absent, throws, or the browser lacks <dialog>,
     nav-ready is never set and the real navigation stays on the page. */
  html.nav-ready .nav-desktop,html.nav-ready .header-actions .tel,html.nav-ready .header-actions .btn{display:none}
  html.nav-ready .burger{display:block}
  html:not(.nav-ready) .header-in{flex-wrap:wrap;height:auto;padding:14px 0;gap:12px}
  html:not(.nav-ready) .nav-desktop{flex-wrap:wrap;gap:6px 18px;width:100%;order:3}
  html:not(.nav-ready) .burger{display:none}
  /* the wrapped fallback header is taller than scroll-padding-top, so it must
     not stay pinned over the anchor target it just navigated to */
  html:not(.nav-ready) .site-header{position:static}
}
@media(max-width:1040px){
  .hero-grid,.role-grid,.std-grid,.faq-grid,.inq-grid,.emerging-grid,.page-hero-grid{grid-template-columns:1fr}
  .std-left{position:static}
  .hero-grid{gap:44px}
  .model{max-width:560px}
  .principles{grid-template-columns:1fr 1fr}
  .principles>div:nth-child(2){border-right:0;padding-right:0}
  .principles>div:nth-child(3){padding-left:0;border-bottom:0}
  .principles>div:nth-child(3),.principles>div:nth-child(4){border-top:1px solid var(--hairline)}
  .rail{grid-template-columns:1fr 1fr}
  .rail>div:nth-child(2){border-right:0;padding-right:0}
  .rail>div:nth-child(3){padding-left:0;border-top:1px solid var(--hairline)}
  .rail>div:nth-child(4){border-top:1px solid var(--hairline)}
  .overview,.about-story,.about-foundation{grid-template-columns:1fr}
  .categories,.std-list,.proof{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .watermark{width:clamp(320px,58vw,520px);right:clamp(-20px,3vw,30px);top:-88px}
}
@media(max-width:820px){
  section{padding:76px 0}
  .hero{padding-top:60px}
  .cap-grid,.net-grid,.listings,.steps,.track{grid-template-columns:1fr}
  .cap.wide{grid-column:span 1;display:flex;min-height:280px}
  .cap.wide>p{margin-top:0}
  .mandate-cards{
    display:grid;grid-template-columns:none;grid-auto-flow:column;
    grid-auto-columns:minmax(268px,76vw);gap:12px;background:transparent;border:0;
    overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;
    padding-bottom:14px;
  }
  .mandate{border:1px solid var(--hairline);scroll-snap-align:start;min-height:300px}
  .swipe-cue{display:flex;align-items:center;gap:10px;margin-top:12px;font-size:9.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute)}
  .swipe-cue span{color:var(--gold);font-size:14px}
  .proc-rows{padding-left:38px}
  .proc-row{grid-template-columns:1fr;gap:6px;padding:30px 0}
  .proc-row::before{left:-30px;top:38px}
  .track{grid-template-columns:1fr}
  .track li{min-height:0}
  .about-principles{grid-template-columns:1fr}
  .about-principles>div,.about-principles>div:first-child,.about-principles>div:last-child{padding:22px 0;border-right:0;border-bottom:1px solid var(--hairline)}
  .about-principles>div:last-child{border-bottom:0}
  .about-principles span{margin-bottom:10px}
  .categories,.std-list,.proof{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr;gap:30px}
  .ghost{white-space:normal;font-size:clamp(20px,7vw,40px)}
  .cta-band .shell{flex-direction:column;align-items:flex-start}
}
@media(max-width:620px){
  .shell{width:min(100% - 40px,var(--shell))}
  .header-in{height:76px}
  .brand img{height:38px}
  .wordmark{font-size:14px;letter-spacing:.1em}
  .wordmark small{font-size:8px;letter-spacing:.30em}
  .menu-body{padding:18px 0 24px}
  .menu-body a.menu-link{font-size:clamp(23px,7vw,29px);padding:10px 0}
  .menu-body .menu-cta{width:100%;margin-top:20px}
  .acquirer-tabs a{min-height:68px;padding:14px 13px;gap:9px;font-size:15.5px;line-height:1.25}
  .two{grid-template-columns:1fr;gap:0}
  .hero-actions{display:grid;grid-template-columns:1fr}
  .hero-actions .btn,.hero-actions .lnk{width:100%;text-align:center}
  .rail,.principles{grid-template-columns:1fr}
  .rail>div,.rail>div:not(:first-child){padding:20px 0;border-right:0;border-bottom:1px solid var(--hairline)}
  .rail>div:last-child{border-bottom:0}
  .principles>div,.principles>div:not(:first-child){padding:20px 0;border-right:0;border-top:1px solid var(--hairline)}
  .principles>div:first-child{border-top:0}
  .principles .n{margin-bottom:12px}
  .about-story{margin-top:38px}
  .about-panel{padding:26px 22px 28px}
  .about-foundation{gap:32px;margin-top:40px}
  .watermark{width:300px;right:-68px;top:-34px;opacity:.04}
  .metrics{grid-template-columns:1fr 1fr}
  .listing,.cap,.net-journey,.mandate,.step{padding-left:24px;padding-right:24px}
  .contact-card{padding:26px 22px 24px}
  .listing-foot{flex-direction:column;align-items:stretch;gap:14px}
  .listing-foot .lnk{text-align:center;border:1px solid var(--gold);padding:0 14px}
  .listing-note{max-width:none}
}
@media(max-width:1140px) and (max-height:700px){
  .menu-top{height:72px}
  .menu-body{padding:10px 0 14px}
  .menu-body a.menu-link{font-size:clamp(21px,5.5vw,25px);padding:7px 0}
  .menu-body .menu-cta{margin-top:13px;min-height:44px;padding:10px 18px}
  .menu-foot{padding:7px 0 10px}
  .menu-foot p{display:none}
}
@media(max-width:400px){
  .shell{width:min(100% - 32px,var(--shell))}
  .wordmark{font-size:12.5px;letter-spacing:.07em}
  .wordmark small{font-size:7.5px;letter-spacing:.24em}
  .brand{gap:10px}
  .brand img{height:34px}
  .classify>div{grid-template-columns:1fr;gap:4px}
  .metrics{grid-template-columns:1fr}
  .rules li{grid-template-columns:30px 1fr;gap:12px}
}

/* ==========================================================================
   Touch, reduced motion, print
   ========================================================================== */
@media(hover:none){
  /* hover-only affordances must never gate content on touch */
  .listing:hover{transform:none}
  .listing::after{opacity:.34}
  .redact::before{display:none}
  .cap:hover{background:var(--paper)}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  html.js .rv{opacity:1;transform:none;transition:none}
  .listing,.listing:hover{transform:none;transition:none}
  .listing::after{transition:none}
  .redact::before{transition:none}
  html.js .rail.in .rail-trace{transition:none;width:100%}
  .beam i{transition:none}
  *{animation:none!important}
}

/* ==========================================================================
   Print
   ========================================================================== */
@media print{
  html{scroll-behavior:auto}
  html.js .rv{opacity:1!important;transform:none!important;transition:none!important}
  body{background:#fff;overflow:visible}
  .site-header,dialog#menu,.skip,.beam,.ghost,.watermark,.burger{display:none!important}
  .on-dark,.emerging,.inquiry,.site-footer,.cta-band,.model{background:#fff!important;color:#000!important}
  .on-dark .h-section,.on-dark .h-display,.emerging h2,.model strong{color:#000!important}
  section{padding:24px 0;break-inside:avoid}
  .listing,.cap,.net-journey,.std-item,.step{break-inside:avoid}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:10px}
}
