/* ============================================================
   ERA THREE — design system
   Grid    : 12 columns, one gutter, one max measure
   Spacing : rem-based scale, no viewport-height padding
   Type    : 4 display sizes, 3 text sizes, 2 label sizes
   Rules   : groups get a top + bottom hairline; columns inside
             a group get vertical hairlines; nothing else does
   ============================================================ */
:root{
  /* palette */
  --ink:#101512;--deep:#14352A;--emerald:#3E7358;--sage:#93B9A6;--bronze:#B8864A;
  --paper:#F6F2EC;--shell:#FAF8F4;--warm:#ffffff;--alert:#8C3A2B;
  --line:rgba(20,53,42,.18);--line-soft:rgba(20,53,42,.10);
  --line-dark:rgba(243,241,234,.22);

  /* type families */
  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --sans:'Lato',-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;

  /* display sizes — four, no more */
  --d1:clamp(50px,6.8vw,104px);   /* hero + full-bleed statements */
  --d2:clamp(38px,4.6vw,68px);    /* page titles, section headings */
  --d3:clamp(28px,2.9vw,42px);    /* block headings */
  --d4:clamp(21px,1.85vw,27px);   /* card headings */

  /* text sizes — three, plus two labels */
  --lead:clamp(17px,1.25vw,19px);
  --body:16px;
  --small:14px;
  --cap:12px;
  --label:11px;

  /* spacing scale */
  --sp-1:8px;--sp-2:16px;--sp-3:24px;--sp-4:36px;--sp-5:52px;--sp-6:76px;--sp-7:108px;

  /* rhythm + measure */
  --gutter:clamp(22px,4.4vw,68px);
  --edge:max(var(--gutter),calc((100% - 1560px) / 2));
  --section-y:clamp(68px,7.5vw,116px);
  --section-y-lg:clamp(88px,9.5vw,148px);
  --col-gap:clamp(18px,2vw,32px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--warm);color:var(--ink);font-family:var(--sans);font-weight:300;
  font-size:var(--body);line-height:1.62;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
p{margin:0;line-height:1.62}
h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:-.038em;margin:0;text-wrap:balance}
ul{margin:0;padding:0;list-style:none}
img{max-width:100%}
:focus-visible{outline:2px solid var(--bronze);outline-offset:4px}

/* ---------- primitives ---------- */
.eyebrow{font:900 var(--label)/1.2 var(--sans);letter-spacing:.18em;color:var(--emerald)}
.number{font:400 var(--label)/1.2 var(--sans);letter-spacing:.14em;color:var(--bronze);font-variant-numeric:tabular-nums}
.text-link{display:inline-flex;gap:var(--sp-5);align-items:center;border-bottom:1px solid currentColor;
  padding-bottom:6px;font:700 var(--label) var(--sans);text-transform:uppercase;letter-spacing:.1em;transition:gap .3s}
.text-link span{color:var(--bronze)}
.text-link:hover{gap:calc(var(--sp-5) + 14px)}
.link-row{display:flex;justify-content:flex-end;margin-top:var(--sp-6)}
.g12{display:grid;grid-template-columns:repeat(12,1fr);gap:0 var(--col-gap)}
section{padding-left:var(--edge);padding-right:var(--edge)}
.band{padding-top:var(--section-y);padding-bottom:var(--section-y);background:var(--warm)}
.band.alt{background:var(--paper)}

/* one section header, used everywhere: label above, headline left, support right */
.sec-head{row-gap:var(--sp-4);margin-bottom:var(--sp-6)}
.sec-head>.eyebrow{grid-column:1/13}
.sec-head>h2{grid-column:1/8;font-size:var(--d2);line-height:.98}
.sec-head>p{grid-column:9/13;font-size:var(--body);align-self:end}

/* ---------- header ---------- */
.site-header{padding:0 var(--edge);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  min-height:88px;border-bottom:1px solid var(--line-soft);background:#fff;position:sticky;top:0;z-index:40}
.brand-logo{display:block;width:164px;padding:var(--sp-3) 0}
.brand-logo img{display:block;width:100%;height:auto}
.site-header .main-nav{display:flex;gap:clamp(18px,2.2vw,34px);font-size:var(--cap);letter-spacing:.03em}
.site-header .main-nav a{padding-bottom:4px;border-bottom:1px solid transparent;transition:color .25s,border-color .25s}
.site-header .main-nav a:hover{color:var(--emerald)}
.site-header .main-nav a.on{color:var(--deep);border-color:var(--bronze)}
.nav-cta{justify-self:end;border-bottom:1px solid var(--bronze);padding-bottom:5px;
  font:700 var(--label) var(--sans);text-transform:uppercase;letter-spacing:.1em;transition:color .25s}
.nav-cta:hover{color:var(--emerald)}
.menu-toggle{display:none;justify-self:end;background:none;border:0;padding:14px 0 14px 18px;
  font:900 var(--label) var(--sans);letter-spacing:.2em;color:var(--deep);cursor:pointer}
.site-header .mobile-nav{display:none;grid-column:1/-1;flex-direction:column;padding-bottom:var(--sp-3);
  border-top:1px solid var(--line-soft)}
.site-header .mobile-nav a{padding:15px 0;border-bottom:1px solid var(--line-soft);font:400 20px var(--serif)}
.site-header .mobile-nav a:last-child{border-bottom:0}
.site-header .mobile-nav.open{display:flex}

/* ---------- hero ---------- */
.hero{background:#fff;padding-top:var(--section-y);padding-bottom:var(--sp-6);
  min-height:clamp(540px,84vh,860px);display:grid;grid-template-rows:auto 1fr auto;gap:var(--sp-6)}
.hero h1{font-size:var(--d1);line-height:.9;color:var(--deep);align-self:center}
.hero-bottom{border-top:1px solid var(--line);padding-top:var(--sp-3);align-items:end;row-gap:var(--sp-3)}
.hero-bottom>p{grid-column:1/7;max-width:58ch}
.hero-bottom>.discover{grid-column:10/13;justify-self:end;display:flex;gap:var(--sp-4);align-items:center;font-size:var(--small)}
.discover span{color:var(--bronze);font-size:20px}

/* ---------- dark statement sections ---------- */
.dark{background:var(--deep);color:var(--paper);padding-top:var(--section-y-lg);padding-bottom:var(--section-y-lg)}
.dark .eyebrow{color:var(--sage)}
.dark .number{color:var(--sage)}
.rule-top{display:block;width:38px;height:2px;background:var(--bronze);margin-bottom:var(--sp-5)}
.belief-body{margin:var(--sp-7) 0;row-gap:var(--sp-5)}
.belief-body>h2{grid-column:1/8;font-size:var(--d1);line-height:.94}
.belief-body>.belief-copy{grid-column:9/13;display:flex;flex-direction:column;gap:var(--sp-3)}
.belief-copy p{font-size:var(--body)}
.rail{border-top:1px solid var(--line-dark);padding-top:var(--sp-3);display:flex;align-items:center;
  justify-content:space-between;gap:var(--sp-4);letter-spacing:.15em;font-size:var(--cap)}
.rail i{font-style:normal;color:var(--bronze)}

/* stage rail (light ground) */
.stage-line{border-top:1px solid var(--line);padding-top:var(--sp-3);display:grid;
  grid-template-columns:repeat(4,1fr);gap:var(--col-gap);letter-spacing:.15em;font-size:var(--cap)}
.stage-line span{display:flex;align-items:center;gap:var(--sp-2)}
.stage-line b{color:var(--bronze);font-size:9px;font-weight:700}

/* ---------- capability grid (subgrid keeps the four columns aligned) ---------- */
.cap-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:auto auto auto auto;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cap-grid article{grid-row:span 4;display:grid;grid-template-rows:subgrid;row-gap:var(--sp-3);
  padding:var(--sp-5) var(--col-gap) var(--sp-6) 0;border-right:1px solid var(--line);transition:background .35s}
.cap-grid article+article{padding-left:var(--col-gap)}
.cap-grid article:last-child{border-right:0;padding-right:0}
.cap-grid article:hover{background:var(--warm)}
.cap-grid .cap-label{display:flex;gap:var(--sp-2);align-items:baseline}
.cap-grid h3{font-size:var(--d4);line-height:1.08}
.cap-grid strong{font:700 var(--small)/1.5 var(--sans);color:var(--emerald)}
.cap-grid li,.capability li{font-size:var(--small);line-height:1.85}

/* ---------- audience rows ---------- */
.aud-group{border-bottom:1px solid var(--line-dark)}
.aud-row{border-top:1px solid var(--line-dark);padding:var(--sp-6) 0;row-gap:var(--sp-2)}
.aud-row>.number{grid-column:1/2;grid-row:1}
.aud-row>.eyebrow{grid-column:2/13;grid-row:1}
.aud-row>h3{grid-column:2/9;grid-row:2;font-size:var(--d2);line-height:.98;margin:var(--sp-4) 0 var(--sp-3)}
.aud-row>p{grid-column:2/8;grid-row:3;max-width:62ch}

/* ---------- the standard ---------- */
.standard-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.standard-grid article{display:flex;flex-direction:column;gap:var(--sp-3);
  padding:var(--sp-5) var(--sp-5) var(--sp-6) 0;border-bottom:1px solid var(--line)}
.standard-grid article:nth-of-type(odd){border-right:1px solid var(--line)}
.standard-grid article:nth-of-type(even){padding-left:var(--sp-5);padding-right:0}
.standard-grid b{font:700 var(--label) var(--sans);letter-spacing:.14em;color:var(--bronze)}
.standard-grid h3{font-size:var(--d3);line-height:1.06}
.standard-grid p{font-size:var(--small);max-width:56ch}
.standard-grid strong{font:700 var(--small)/1.5 var(--sans);color:var(--emerald);margin-top:auto;padding-top:var(--sp-2)}
.standard-grid blockquote{grid-column:1/-1;margin:0;background:var(--emerald);color:#fff;
  padding:var(--sp-6);border-left:8px solid var(--bronze);
  display:grid;grid-template-columns:repeat(12,1fr);gap:var(--sp-3) var(--col-gap);align-items:center}
.standard-grid blockquote span{grid-column:1/3;font:900 var(--label) var(--sans);letter-spacing:.18em;
  color:rgba(255,255,255,.72)}
.standard-grid blockquote p{grid-column:3/13;font:500 var(--d2)/1.02 var(--serif);letter-spacing:-.04em}

/* ---------- experience ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stats div{padding:var(--sp-5) var(--col-gap) var(--sp-5) 0;border-right:1px solid var(--line);
  display:flex;flex-direction:column;gap:var(--sp-1)}
.stats div+div{padding-left:var(--col-gap)}
.stats div:last-child{border-right:0;padding-right:0}
.stats b{font:500 clamp(42px,4.6vw,72px)/1 var(--serif);color:var(--emerald);font-variant-numeric:tabular-nums}
.stats span{font-size:var(--small)}
.footnote{display:block;margin-top:var(--sp-2);font-size:var(--cap);opacity:.62}
.regions{margin-top:var(--sp-6);padding:var(--sp-4) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  display:flex;justify-content:space-between;gap:var(--sp-4);font-size:var(--cap);letter-spacing:.12em}
.regions b{color:var(--bronze);font-weight:700}
.discretion-row{margin-top:var(--sp-6);row-gap:var(--sp-3)}
.discretion-row>h3{grid-column:1/5;font-size:var(--d3);line-height:1.04}
.discretion-row>p{grid-column:6/11;font-size:var(--small);max-width:52ch;align-self:end}

/* ---------- principles (3-up, subgrid) ---------- */
.principle-three{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:auto auto auto;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:var(--sp-6)}
.principle-three article{grid-row:span 3;display:grid;grid-template-rows:subgrid;row-gap:var(--sp-3);
  padding:var(--sp-5) var(--col-gap) var(--sp-6) 0;border-right:1px solid var(--line)}
.principle-three article+article{padding-left:var(--col-gap)}
.principle-three article:last-child{border-right:0;padding-right:0}
.principle-three h3{font-size:var(--d4);line-height:1.08}
.principle-three p{font-size:var(--small)}

/* ---------- insight rows ---------- */
.insight-group{border-bottom:1px solid var(--line)}
.insight-row{border-top:1px solid var(--line);padding:var(--sp-5) 0;align-items:center;row-gap:var(--sp-2)}
.insight-row>.number{grid-column:1/2}
.insight-row>h2,.insight-row>h3{grid-column:2/9;font-size:var(--d3);line-height:1.06}
.insight-row>.meta{grid-column:9/12;justify-self:end;text-align:right;
  font:400 var(--label) var(--sans);text-transform:uppercase;letter-spacing:.1em}
.insight-row>.arrow{grid-column:12/13;justify-self:end;font-size:22px;color:var(--bronze)}
.meta i{font-style:normal;color:var(--bronze);margin:0 8px}

/* ---------- closing + footer ---------- */
.closing h2{font-size:var(--d1);line-height:.92;margin:var(--sp-7) 0}
.closing-foot{border-top:1px solid var(--line-dark);padding-top:var(--sp-3);display:flex;
  justify-content:space-between;align-items:center;gap:var(--sp-4)}
footer{background:#000;color:var(--paper);border-top:3px solid var(--bronze);
  padding:var(--section-y) var(--edge) var(--sp-5);row-gap:var(--sp-6)}
.footer-logo{grid-column:1/5;display:block;width:100%;max-width:250px}
.footer-logo img{display:block;width:100%;height:auto}
.footer-links{grid-column:6/13;display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2) var(--col-gap);font-size:var(--small)}
.footer-links a{transition:color .25s}
.footer-links a:hover{color:var(--sage)}
.footer-note{grid-column:1/5;font-size:var(--cap);opacity:.65}
.footer-mark{grid-column:9/13;justify-self:end;align-self:end;font-size:var(--cap);opacity:.5;letter-spacing:.1em;white-space:nowrap}

/* ---------- inner page hero ---------- */
.page-hero{background:#fff;padding-top:var(--section-y);padding-bottom:var(--sp-6);row-gap:var(--sp-4)}
.page-hero>.eyebrow{grid-column:1/13}
.page-hero>h1{grid-column:1/10;font-size:var(--d2);line-height:.94;color:var(--deep);margin-top:var(--sp-4)}
.page-hero>p{grid-column:1/8;font-size:var(--lead);max-width:60ch;margin-top:var(--sp-2)}

.content-section{padding-top:var(--sp-5);padding-bottom:var(--section-y)}
.capability-group{border-bottom:1px solid var(--line)}
.capability{border-top:1px solid var(--line);padding:var(--sp-6) 0;row-gap:var(--sp-3)}
.capability>.number{grid-column:1/2}
.capability>.cap-head{grid-column:2/7;display:flex;flex-direction:column;gap:var(--sp-2)}
.capability h2{font-size:var(--d3);line-height:1.02}
.capability h3{font:700 var(--small)/1.5 var(--sans);color:var(--emerald)}
.capability>ul{grid-column:8/13}

.audience-page{padding-top:var(--sp-5);padding-bottom:var(--section-y)}
.audience-page .aud-group{border-bottom:1px solid var(--line)}
.audience-page .aud-row{border-top:1px solid var(--line)}

.principles{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);
  margin-left:var(--edge);margin-right:var(--edge);margin-bottom:var(--section-y)}
.principles article{display:flex;flex-direction:column;gap:var(--sp-3);
  padding:var(--sp-5) var(--sp-5) var(--sp-6) 0;border-bottom:1px solid var(--line)}
.principles article:nth-child(odd){border-right:1px solid var(--line)}
.principles article:nth-child(even){padding-left:var(--sp-5);padding-right:0}
.principles h2{font-size:var(--d3);line-height:1.06}
.principles p{font-size:var(--small);max-width:48ch}

.creed{background:var(--emerald);color:#fff;padding-top:var(--section-y-lg);padding-bottom:var(--section-y-lg)}
.creed .eyebrow{color:rgba(255,255,255,.72)}
.creed>.eyebrow{grid-column:1/13;grid-row:1}
.creed h2{grid-column:1/8;grid-row:2;font-size:var(--d1);line-height:.92;margin:var(--sp-7) 0 0}
.creed p{grid-column:9/13;grid-row:2;font-size:var(--lead);align-self:end}
.creed h3{grid-column:1/13;grid-row:3;font-size:var(--d3);border-top:1px solid rgba(255,255,255,.32);
  padding-top:var(--sp-5);margin-top:var(--sp-7)}

.about-copy{padding-top:var(--sp-5);padding-bottom:var(--section-y);row-gap:var(--sp-5)}
.about-copy>.eyebrow{grid-column:1/13}
.about-copy>.about-body{grid-column:1/9;display:flex;flex-direction:column;gap:var(--sp-3)}
.about-body p{font:400 clamp(20px,1.9vw,26px)/1.4 var(--serif)}
.about-body h2{font-size:var(--d3);line-height:1.04;margin-top:var(--sp-4)}
.about-pillars{padding-bottom:var(--section-y)}
.about-pillars .pillar{border-top:1px solid var(--line);padding:var(--sp-6) 0;row-gap:var(--sp-3)}
.about-pillars .pillar:last-child{border-bottom:1px solid var(--line)}
.about-pillars>.pillar>.eyebrow{grid-column:1/4}
.about-pillars>.pillar>h2{grid-column:4/12;font-size:var(--d3);line-height:1.04}
.about-pillars>.pillar>.stage-line{grid-column:4/13;border-top:0;padding-top:4px}

.insights-page{padding-top:var(--sp-5);padding-bottom:var(--section-y)}

/* ---------- contact ---------- */
.contact{padding-top:var(--sp-5);padding-bottom:var(--section-y);row-gap:var(--sp-6)}
.contact form{grid-column:1/8;display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4) var(--col-gap)}
.contact label{font:400 var(--label) var(--sans);letter-spacing:.12em;text-transform:uppercase}
.contact input,.contact textarea{display:block;width:100%;border:0;border-bottom:1px solid var(--line);
  background:transparent;padding:12px 0;font:400 18px var(--serif);color:var(--ink);outline:none;margin-top:6px}
.contact input:focus,.contact textarea:focus{border-color:var(--emerald)}
.contact .wide{grid-column:1/-1}
.contact button{grid-column:1/-1;justify-self:start;margin-top:var(--sp-2);background:var(--ink);color:#fff;border:0;
  padding:16px 22px;font:400 var(--small) var(--sans);cursor:pointer;transition:background .25s;
  display:inline-flex;gap:var(--sp-5);align-items:center}
.contact button:hover{background:var(--deep)}
.contact button span{color:var(--sage)}
.contact aside{grid-column:10/13;border-left:1px solid var(--line);padding-left:var(--col-gap);
  display:flex;flex-direction:column;gap:var(--sp-3)}
.contact aside p{font:400 clamp(24px,2.4vw,32px)/1.2 var(--serif)}
.privacy{margin-top:var(--sp-5);font-size:var(--cap);line-height:1.6}
.form-note{grid-column:1/-1;font-size:var(--small);color:var(--emerald);border-left:2px solid var(--bronze);padding-left:12px}


/* ---------- insight rows (category / title / description) ---------- */
.insight-row>.eyebrow{grid-column:2/9;grid-row:1}
.insight-row>.meta{grid-column:9/12;grid-row:1}
.insight-row>h2,.insight-row>h3{grid-row:2}
.insight-row>p{grid-column:2/9;grid-row:3;font-size:var(--small);max-width:64ch}
.insight-row>.arrow{grid-row:2}
a.insight-row{transition:background .3s}
a.insight-row:hover{background:var(--paper)}
a.insight-row:hover .arrow{color:var(--emerald)}

/* ---------- article ---------- */
.article-hero{background:var(--deep);color:var(--paper);padding-top:var(--section-y);
  padding-bottom:var(--section-y);row-gap:var(--sp-4)}
.article-hero .eyebrow{color:var(--sage)}
.article-hero .kicker{grid-column:1/9;grid-row:1;display:flex;gap:var(--sp-3);align-items:baseline}
.article-hero .kicker .sep{color:var(--bronze)}
.article-hero .artnum{grid-column:12/13;grid-row:1;justify-self:end;font:500 var(--d4) var(--serif);color:var(--bronze)}
.article-hero h1{grid-column:1/10;grid-row:2;font-size:var(--d1);line-height:.94;margin-top:var(--sp-5)}
.article-hero .standfirst{grid-column:1/8;grid-row:3;font-size:var(--lead);margin-top:var(--sp-3)}
.article-hero .proposition{grid-column:1/13;grid-row:4;border-top:1px solid var(--line-dark);
  padding-top:var(--sp-3);margin-top:var(--sp-6);font-size:var(--small);color:var(--sage)}
.article-hero .proposition b{color:var(--paper);font-weight:700}

.article-body{padding-top:var(--section-y);padding-bottom:var(--section-y);row-gap:var(--sp-6)}
.a-h2{grid-column:1/10;font-size:var(--d3);line-height:1.04;border-top:1px solid var(--line);padding-top:var(--sp-4)}
.a-cols{grid-column:1/13;display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-5) var(--sp-6)}
.a-col{display:flex;flex-direction:column;gap:var(--sp-3)}
.a-cols p,.a-single p{font-size:var(--body);max-width:62ch}
.a-single{grid-column:1/9;display:flex;flex-direction:column;gap:var(--sp-3)}
.a-quote{grid-column:1/11;font:500 var(--d3)/1.15 var(--serif);color:var(--deep);
  border-left:3px solid var(--bronze);padding-left:var(--sp-4)}
.a-note{grid-column:1/10;background:var(--paper);border-left:3px solid var(--emerald);
  padding:var(--sp-4);font-size:var(--small)}
.a-note b{display:block;font:900 var(--label) var(--sans);letter-spacing:.16em;color:var(--emerald);margin-bottom:var(--sp-2)}

.a-stats{grid-column:1/13;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.a-stats div{padding:var(--sp-4) var(--col-gap) var(--sp-4) 0;border-right:1px solid var(--line-soft);
  display:flex;flex-direction:column;gap:var(--sp-1)}
.a-stats div+div{padding-left:var(--col-gap)}
.a-stats div:last-child{border-right:0;padding-right:0}
.a-stats b{font:500 clamp(32px,3.4vw,52px)/1 var(--serif);color:var(--emerald);font-variant-numeric:tabular-nums}
.a-stats span{font-size:var(--cap);line-height:1.5}

/* exhibits */
.ex{grid-column:1/13;background:var(--paper);padding:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-4)}
.ex>header{display:flex;flex-direction:column;gap:var(--sp-2);border-top:2px solid var(--bronze);padding-top:var(--sp-3)}
.ex .ex-label{font:900 var(--label) var(--sans);letter-spacing:.16em;color:var(--bronze)}
.ex .ex-title{font-size:var(--d4);line-height:1.1;font-family:var(--serif);font-weight:500}
.ex .ex-note{font-size:var(--cap);line-height:1.55;color:rgba(16,21,18,.66);border-top:1px solid var(--line-soft);padding-top:var(--sp-3)}
.ex .ex-note b{color:var(--emerald);font-weight:700}
.tablewrap{overflow-x:auto}
.ex table{width:100%;border-collapse:collapse;font-size:var(--small);min-width:520px}
.ex th{text-align:left;font:900 var(--label) var(--sans);letter-spacing:.14em;color:var(--emerald);
  padding:0 var(--sp-3) var(--sp-2) 0;border-bottom:1px solid var(--line);vertical-align:bottom}
.ex td{padding:var(--sp-3) var(--sp-3) var(--sp-3) 0;border-bottom:1px solid var(--line-soft);vertical-align:top;line-height:1.55}
.ex tr:last-child td{border-bottom:0}
.ex td:first-child{font:500 19px/1.2 var(--serif);white-space:nowrap;padding-right:var(--sp-4)}
.ex td.wrapfirst:first-child{white-space:normal}

/* bar chart */
.chart{display:flex;flex-direction:column;gap:var(--sp-3)}
.chart-legend{display:flex;gap:var(--sp-4);font-size:var(--cap);flex-wrap:wrap}
.chart-legend span{display:flex;gap:8px;align-items:center}
.chart-legend i{width:11px;height:11px;border-radius:2px;display:block}
.plot{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--sp-3);align-items:end;
  height:250px;border-bottom:1px solid var(--line);padding-bottom:2px}
.plot .col{display:flex;flex-direction:column;justify-content:flex-end;gap:8px;height:100%;position:relative}
.plot .val{font:500 20px/1 var(--serif);font-variant-numeric:tabular-nums}
.plot .bar{border-radius:4px 4px 0 0;transition:opacity .25s}
.plot .col:hover .bar{opacity:.82}
.plot-x{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--sp-3);padding-top:var(--sp-2);font-size:var(--cap)}
.plot-x span{display:flex;flex-direction:column;gap:2px}
.plot-x i{font-style:normal;font-size:10px;color:rgba(16,21,18,.55)}

/* flow diagram */
.flow{display:grid;grid-template-columns:auto 1fr auto;gap:var(--col-gap);align-items:center}
.flow .cap{font:900 var(--label) var(--sans);letter-spacing:.16em;color:var(--emerald);display:flex;flex-direction:column;gap:4px}
.flow .cap i{font:400 var(--cap) var(--sans);letter-spacing:.04em;color:rgba(16,21,18,.6);text-transform:none}
.flow .parts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.flow .parts div{background:var(--paper);padding:var(--sp-3);display:flex;flex-direction:column;gap:6px}
.flow .parts b{font:500 var(--cap) var(--sans);letter-spacing:.1em;color:var(--bronze)}
.flow .parts strong{font:500 18px var(--serif)}
.flow .parts span{font-size:var(--cap);line-height:1.5}

/* stage progression */
.stages{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--col-gap)}
.stages div{display:flex;flex-direction:column;gap:var(--sp-2);border-top:2px solid var(--emerald);padding-top:var(--sp-3)}
.stages strong{font:500 21px var(--serif)}
.stages b{font:400 var(--cap) var(--sans);color:var(--bronze);letter-spacing:.08em}
.stages span{font-size:var(--cap);line-height:1.5}

/* 2x2 matrix */
.matrix{display:grid;grid-template-columns:auto 1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.matrix>*{background:var(--paper);padding:var(--sp-3)}
.matrix .corner{background:var(--paper)}
.matrix .ch{font:900 var(--label) var(--sans);letter-spacing:.14em;color:var(--emerald);align-self:end}
.matrix .rh{font:900 var(--label) var(--sans);letter-spacing:.14em;color:var(--emerald);
  display:flex;align-items:center;max-width:130px}
.matrix .cell{display:flex;flex-direction:column;gap:6px;font-size:var(--small);line-height:1.55}
.matrix .cell b{font:500 18px var(--serif);font-weight:500}
.matrix .cell.flag{background:#fff;box-shadow:inset 3px 0 0 var(--bronze)}

/* diagnostic */
.a-diag{grid-column:1/13;background:var(--deep);color:var(--paper);padding:var(--sp-6) var(--sp-5)}
.a-diag>.eyebrow{color:var(--sage)}
.a-diag h3{font-size:var(--d3);margin:var(--sp-3) 0}
.a-diag>p{font-size:var(--small);max-width:74ch;margin-bottom:var(--sp-6);color:var(--sage)}
.diag-row{display:grid;grid-template-columns:.9fr 1.5fr 1.5fr;gap:var(--col-gap);
  border-top:1px solid var(--line-dark);padding:var(--sp-4) 0}
.diag-row>b{font:900 var(--label) var(--sans);letter-spacing:.14em;color:var(--bronze)}
.diag-q{display:flex;flex-direction:column;gap:var(--sp-2)}
.diag-q strong{font:500 20px/1.25 var(--serif)}
.diag-q i{font-style:normal;font-size:var(--cap);color:var(--sage);line-height:1.5}

/* editorial closing + sources */
.a-closing{background:var(--emerald);color:#fff;padding-top:var(--section-y);padding-bottom:var(--section-y);row-gap:var(--sp-5)}
.a-closing>.eyebrow{grid-column:1/13;color:rgba(255,255,255,.72)}
.a-closing h2{grid-column:1/8;font-size:var(--d1);line-height:.94;margin-top:var(--sp-5)}
.a-closing .body{grid-column:9/13;align-self:end;font-size:var(--body);display:flex;flex-direction:column;gap:var(--sp-3)}
.a-closing .kicker{grid-column:1/9;font:500 var(--d3)/1.14 var(--serif);
  border-top:1px solid rgba(255,255,255,.32);padding-top:var(--sp-4);margin-top:var(--sp-5)}
.a-sources{padding-top:var(--section-y);padding-bottom:var(--section-y);row-gap:var(--sp-4);background:var(--paper)}
.a-sources>.eyebrow{grid-column:1/13}
.a-sources h2{grid-column:1/9;font-size:var(--d3);margin-bottom:var(--sp-4)}
.a-sources .cols{grid-column:1/13;display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-5) var(--sp-6)}
.a-sources article{display:flex;flex-direction:column;gap:var(--sp-2)}
.a-sources b{font:900 var(--label) var(--sans);letter-spacing:.14em;color:var(--emerald)}
.a-sources p{font-size:var(--cap);line-height:1.6}
.a-sources em{font-style:italic}
.a-foot{grid-column:1/13;border-top:1px solid var(--line);padding-top:var(--sp-3);
  display:flex;justify-content:space-between;gap:var(--sp-4);font-size:var(--cap);flex-wrap:wrap}

@media(max-width:1080px){
  .article-hero h1{grid-column:1/12}
  .article-hero .standfirst{grid-column:1/11}
  .a-h2{grid-column:1/13}
  .a-single,.a-quote,.a-note{grid-column:1/13}
  .a-closing h2{grid-column:1/13}
  .a-closing .body{grid-column:1/13}
  .a-closing .kicker{grid-column:1/13}
  .diag-row{grid-template-columns:1fr 1fr;row-gap:var(--sp-3)}
  .diag-row>b{grid-column:1/3}
  .flow{grid-template-columns:1fr}
  .flow .cap{flex-direction:row;gap:8px;align-items:baseline}
}
@media(max-width:760px){
  .insight-row>.eyebrow{grid-column:2/13}
  .insight-row>h2,.insight-row>h3{grid-column:2/13}
  .insight-row>.arrow{display:none}
  .insight-row>.meta{grid-column:2/13;grid-row:4;justify-self:start;margin-top:var(--sp-1)}
  .insight-row>p{grid-column:2/13}
  .article-hero h1,.article-hero .standfirst{grid-column:1/13}
  .article-hero .artnum{grid-column:11/13}
  .a-cols{grid-template-columns:1fr}
  .a-stats{grid-template-columns:1fr}
  .a-stats div{border-right:0;border-bottom:1px solid var(--line-soft);padding-left:0;padding-right:0}
  .a-stats div:last-child{border-bottom:0}
  .ex{padding:var(--sp-4) var(--sp-3)}
  .plot,.plot-x{grid-template-columns:repeat(6,1fr);gap:6px}
  .plot .val{font-size:14px}
  .plot-x{font-size:10px}
  .flow .parts,.stages{grid-template-columns:1fr}
  .matrix{grid-template-columns:1fr}
  .matrix .corner,.matrix .ch{display:none}
  .matrix .rh{max-width:none}
  .diag-row{grid-template-columns:1fr}
  .diag-row>b{grid-column:1}
  .a-diag{padding:var(--sp-5) var(--sp-4)}
  .a-sources .cols{grid-template-columns:1fr}
}


/* ---------- contact form states ---------- */
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.contact input.invalid,.contact textarea.invalid{border-bottom-color:var(--alert)}
.field-error{display:block;font:400 var(--cap) var(--sans);letter-spacing:0;text-transform:none;
  color:var(--alert);margin-top:6px}
.contact button[disabled]{opacity:.5;cursor:default}
.form-alert{grid-column:1/-1;font-size:var(--small);color:var(--alert);
  border-left:2px solid var(--alert);padding-left:14px}
.form-sent{grid-column:1/8;border-top:2px solid var(--bronze);padding-top:var(--sp-4);
  display:flex;flex-direction:column;gap:var(--sp-3)}
.form-sent h2{font-size:var(--d3);line-height:1.06}
.form-sent p{font-size:var(--body);max-width:56ch}
.form-sent .preview-note{font-size:var(--cap);color:var(--emerald);
  border-left:2px solid var(--bronze);padding-left:12px}
@media(max-width:1080px){.form-sent{grid-column:1/9}}
@media(max-width:760px){.form-sent{grid-column:1/13}}

.view[hidden]{display:none!important}
@media (prefers-reduced-motion:no-preference){
  .view h1{animation:rise .7s ease both}
  .hero-bottom,.page-hero>p{animation:rise .7s .12s ease both}
  @keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
}

/* ============ tablet ============ */
@media(max-width:1080px){
  .sec-head>h2{grid-column:1/9}
  .sec-head>p{grid-column:1/9;align-self:start}
  .belief-body>h2,.belief-body>.belief-copy{grid-column:1/10}
  .hero-bottom>p{grid-column:1/9}
  .hero-bottom>.discover{grid-column:1/13;justify-self:start}
  .aud-row>h3,.aud-row>p{grid-column:2/13}
  .cap-grid,.principle-three{grid-template-columns:1fr 1fr}
  .cap-grid article,.principle-three article{grid-row:auto;grid-template-rows:none;display:flex;flex-direction:column}
  .cap-grid article:nth-child(2n),.principle-three article:nth-child(2n){border-right:0;padding-right:0}
  .cap-grid article:nth-child(2n+1),.principle-three article:nth-child(2n+1){padding-left:0}
  .cap-grid article:not(:nth-last-child(-n+2)),.principle-three article:not(:last-child){border-bottom:1px solid var(--line)}
  .capability>.cap-head{grid-column:2/13}
  .capability>ul{grid-column:2/13;margin-top:var(--sp-3)}
  .discretion-row>h3{grid-column:1/7}
  .discretion-row>p{grid-column:7/13}
  .creed h2{grid-column:1/13;grid-row:2}
  .creed p{grid-column:1/13;grid-row:3;margin-top:var(--sp-4)}
  .creed h3{grid-row:4}
  .about-copy>.about-body{grid-column:1/12}
  .page-hero>h1,.page-hero>p{grid-column:1/12}
  .contact form{grid-column:1/9}
  .contact aside{grid-column:1/13;border-left:0;border-top:1px solid var(--line);padding:var(--sp-4) 0 0}
  .footer-logo,.footer-note{grid-column:1/7}
  .footer-links{grid-column:8/13}
  .footer-mark{grid-column:1/13;justify-self:start}
}

/* ============ mobile ============ */
@media(max-width:760px){
  :root{--section-y:clamp(56px,12vw,80px);--section-y-lg:clamp(64px,14vw,96px)}
  .site-header{grid-template-columns:1fr auto;min-height:72px}
  .site-header .main-nav,.site-header .nav-cta{display:none}
  .menu-toggle{display:block}
  .brand-logo{width:128px}
  .hero{min-height:auto;gap:var(--sp-5)}
  .hero-bottom>p,.hero-bottom>.discover{grid-column:1/13}
  .belief-body{margin:var(--sp-6) 0}
  .belief-body>h2,.belief-body>.belief-copy{grid-column:1/13}
  .sec-head{margin-bottom:var(--sp-5)}
  .sec-head>h2,.sec-head>p{grid-column:1/13}
  .rail,.stage-line{display:flex;overflow-x:auto;gap:var(--sp-4);justify-content:flex-start;
    scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .rail::-webkit-scrollbar,.stage-line::-webkit-scrollbar{display:none}
  .rail span,.stage-line span{white-space:nowrap}
  .cap-grid,.principle-three,.stats,.standard-grid,.principles{grid-template-columns:1fr}
  .cap-grid article,.principle-three article,.principles article,.standard-grid article{
    border-right:0!important;padding-left:0!important;padding-right:0!important;
    border-bottom:1px solid var(--line);padding-top:var(--sp-4);padding-bottom:var(--sp-5)}
  .cap-grid article:last-child,.principle-three article:last-child{border-bottom:0}
  .stats div{border-right:0;border-bottom:1px solid var(--line-soft);padding-left:0;padding-right:0}
  .stats div:last-child{border-bottom:0}
  .standard-grid blockquote{padding:var(--sp-5) var(--sp-4)}
  .standard-grid blockquote span,.standard-grid blockquote p{grid-column:1/13}
  .aud-row{padding:var(--sp-5) 0}
  .aud-row>.number{grid-column:1/2}
  .aud-row>.eyebrow{grid-column:2/13}
  .aud-row>h3,.aud-row>p{grid-column:2/13}
  .aud-row>h3{margin:var(--sp-3) 0 var(--sp-2)}
  .regions{display:block}
  .regions span{display:block;margin-top:var(--sp-2);line-height:1.8}
  .discretion-row>h3,.discretion-row>p{grid-column:1/13}
  .insight-row>.number{grid-column:1/2}
  .insight-row>h3{grid-column:2/13}
  .insight-row>.meta{grid-column:2/13;text-align:left;margin-top:var(--sp-1)}
  .insights-page .insight-row>.arrow{grid-column:12/13}
  .capability>.number{grid-column:1/2}
  .capability>.cap-head,.capability>ul{grid-column:2/13}
  .about-pillars>.pillar>.eyebrow{grid-column:1/13}
  .about-pillars>.pillar>h2,.about-pillars>.pillar>.stage-line{grid-column:1/13}
  .about-copy>.about-body{grid-column:1/13}
  .page-hero>h1,.page-hero>p{grid-column:1/13}
  .creed h2{margin:var(--sp-6) 0}
  .creed h3{margin-top:var(--sp-6)}
  .closing h2{margin:var(--sp-6) 0}
  .closing-foot{display:block}
  .closing-foot .text-link{margin-top:var(--sp-3)}
  .contact form{grid-column:1/13;grid-template-columns:1fr}
  .contact .wide,.contact button{grid-column:1}
  .principles{margin-bottom:var(--section-y)}
  .footer-logo,.footer-links,.footer-note,.footer-mark{grid-column:1/13}
  .footer-links{grid-template-columns:1fr 1fr}
  .link-row{margin-top:var(--sp-5)}
  .text-link{gap:var(--sp-3)}
  .text-link:hover{gap:var(--sp-4)}
}