@charset "UTF-8";
@font-face{
  font-family:"Shigu Stats Brush";
  src:url("assets/fonts/shigu-stats-brush.woff2?v=f6b4277aac42") format("woff2");
  font-style:normal;
  font-weight:400;
  font-display:swap;
}

/* An editorial spread of brush lettering, large figures and fine ink rules. */
#industry-numbers{
  --stats-brush:"Shigu Stats Brush","STKaiti","KaiTi",var(--serif);
  position:relative;
}
#industry-numbers .stats-editorial{position:relative;max-width:1200px;margin:auto}
#industry-numbers .stats-heading{align-items:flex-end;gap:36px;margin-bottom:32px}
#industry-numbers .stats-heading-copy{min-width:0}
#industry-numbers .stats-eyebrow{font-size:11px;letter-spacing:.2em;margin-bottom:19px}
#industry-numbers .stats-title-group{display:flex;align-items:flex-start;gap:23px}
#industry-numbers .stats-title{
  margin:0;
  font:400 clamp(38px,3.9vw,53px)/1.22 var(--stats-brush);
  letter-spacing:.055em;
  color:var(--ink);
}
#industry-numbers .stats-title>span{display:block}
#industry-numbers .stats-title>span+span{padding-left:1.05em;margin-top:2px}
#industry-numbers .stats-name-seal{
  flex:0 0 auto;
  display:block;
  padding:7px 5px 6px;
  margin-top:7px;
  border:1px solid rgba(163,58,43,.7);
  color:var(--red);
  font:400 20px/1.15 var(--stats-brush);
  text-align:center;
  transform:rotate(-4deg);
}
#industry-numbers .stats-period{
  display:flex;
  align-items:center;
  flex:0 0 auto;
  gap:14px;
  padding:0 0 10px 24px;
  margin:0 0 3px;
  border-left:1px solid rgba(53,91,140,.25);
  color:var(--gray);
  white-space:normal;
}
#industry-numbers .stats-period-year{font:400 32px/1 "Shigu Numbers",Georgia,serif;letter-spacing:.01em;color:var(--blue)}
#industry-numbers .stats-period-copy{font:500 16px/1.6 var(--serif);letter-spacing:.08em}
#industry-numbers .stats-period-copy small{display:block;font:400 12px/1.7 var(--sans);letter-spacing:.08em;margin-top:3px}
#industry-numbers .stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:0}
#industry-numbers .stats-tile{
  --stats-accent:var(--red);
  position:relative;
  isolation:isolate;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  min-width:0;
  min-height:252px;
  aspect-ratio:auto;
  padding:26px 28px 27px;
  border:0;
  border-left:1px solid rgba(84,104,120,.19);
}
#industry-numbers .stats-tile:first-child{padding-left:0;border-left:0}
#industry-numbers .stats-tile-blue{--stats-accent:var(--blue)}
#industry-numbers .stats-tile-jade{--stats-accent:var(--green)}
#industry-numbers .stats-tile::after{
  content:"";
  position:absolute;
  left:28px;
  bottom:1px;
  width:56%;
  height:2px;
  transform:rotate(-1.5deg);
  transform-origin:left;
  background:linear-gradient(90deg,var(--stats-accent),transparent);
  opacity:.4;
  pointer-events:none;
}
#industry-numbers .stats-tile:first-child::after{left:0}
#industry-numbers .stats-symbol{
  position:absolute;
  top:15px;
  right:8px;
  z-index:-1;
  font:400 178px/1 var(--stats-brush);
  color:var(--stats-accent);
  opacity:.065;
  transform:rotate(-7deg);
  pointer-events:none;
  user-select:none;
}
#industry-numbers .stats-kicker{
  display:block;
  font:400 32px/1.4 var(--stats-brush);
  letter-spacing:.1em;
  color:var(--stats-accent);
  text-align:left;
  margin:0 0 10px;
}
#industry-numbers .stats-value{
  display:flex;
  align-items:baseline;
  gap:8px;
  min-width:0;
  font-weight:400;
  line-height:1.08;
  white-space:nowrap;
  color:var(--stats-accent);
}
#industry-numbers .stats-value .display-number{font:400 clamp(76px,8vw,110px)/1.08 "Shigu Numbers",Georgia,serif;letter-spacing:-.035em}
#industry-numbers .stats-value em{font:400 30px/1 var(--stats-brush);letter-spacing:0;font-style:normal}
#industry-numbers .stats-approx{font:400 21px/1 var(--stats-brush);margin-right:-3px}
#industry-numbers .stats-label{
  margin:14px 0 0;
  max-width:none;
  font:500 23px/1.5 var(--serif);
  letter-spacing:.08em;
  color:var(--ink);
  text-align:left;
}
#industry-numbers .stats-source{
  display:flex;
  align-items:flex-start;
  gap:17px;
  padding-top:24px;
  margin-top:25px;
  border-top:1px solid rgba(84,104,120,.18);
}
#industry-numbers .stats-source-seal{display:block;flex:0 0 auto;font:400 23px/1.35 var(--stats-brush);color:var(--red);letter-spacing:.08em;transform:rotate(-4deg);padding-top:2px}
#industry-numbers .numbers-note{max-width:950px;font:400 14px/1.95 var(--sans);color:var(--gray);margin:0}
#industry-numbers .numbers-note strong{font-weight:500;color:var(--ink)}

/* These replay when the site's existing chapter navigation enters this spread. */
main[data-reading-current="industry-numbers"] #industry-numbers .stats-tile{animation:stats-art-enter .7s var(--ease) both}
main[data-reading-current="industry-numbers"] #industry-numbers .stats-tile:nth-child(2){animation-delay:.07s}
main[data-reading-current="industry-numbers"] #industry-numbers .stats-tile:nth-child(3){animation-delay:.14s}
main[data-reading-current="industry-numbers"] #industry-numbers .stats-tile::after{animation:stats-rule-enter .9s var(--ease) .2s both}
@keyframes stats-art-enter{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@keyframes stats-rule-enter{from{transform:rotate(-1.5deg) scaleX(.08);opacity:0}to{transform:rotate(-1.5deg) scaleX(1);opacity:.4}}
html[data-motion=off] #industry-numbers .stats-tile,html[data-motion=off] #industry-numbers .stats-tile::after{animation:none!important}

@media(max-width:1000px){
  #industry-numbers .stats-title{font-size:43px}
  #industry-numbers .stats-period{padding-left:18px;gap:11px}
  #industry-numbers .stats-period-year{font-size:28px}
  #industry-numbers .stats-tile{padding-inline:20px;min-height:230px}
  #industry-numbers .stats-tile:first-child{padding-left:0}
  #industry-numbers .stats-tile::after{left:20px}
  #industry-numbers .stats-kicker{font-size:28px}
  #industry-numbers .stats-value .display-number{font-size:78px}
  #industry-numbers .stats-value em{font-size:25px}
  #industry-numbers .stats-label{font-size:20px;letter-spacing:.03em}
  #industry-numbers .stats-symbol{font-size:150px;right:0}
}
@media(max-width:900px){
  #industry-numbers .stats-heading{flex-direction:column;align-items:flex-start;gap:21px;margin-bottom:19px}
  #industry-numbers .stats-eyebrow{font-size:10px;margin-bottom:16px}
  #industry-numbers .stats-title-group{gap:14px}
  #industry-numbers .stats-title{font-size:clamp(32px,8.7vw,39px);letter-spacing:.03em;line-height:1.28}
  #industry-numbers .stats-title>span+span{padding-left:.45em;margin-top:0}
  #industry-numbers .stats-name-seal{font-size:17px;padding:6px 4px 5px;margin-top:4px}
  #industry-numbers .stats-period{border-left:0;padding:0 0 0 44px;gap:13px;margin:0}
  #industry-numbers .stats-period-year{font-size:25px}
  #industry-numbers .stats-period-copy{display:flex;align-items:center;gap:9px;font-size:14px;letter-spacing:.03em}
  #industry-numbers .stats-period-copy small{display:inline;font-size:12px;margin:0;letter-spacing:.03em}
  #industry-numbers .stats-grid{grid-template-columns:1fr}
  #industry-numbers .stats-tile,#industry-numbers .stats-tile:first-child{
    display:grid;
    grid-template-columns:minmax(0,1fr) 6em;
    grid-template-areas:"kicker kicker" "value label";
    align-items:center;
    gap:7px 16px;
    min-height:0;
    padding:22px 0 25px;
    border-left:0;
    border-top:1px solid rgba(84,104,120,.18);
    font-size:18px;
  }
  #industry-numbers .stats-tile:first-child{border-top:0}
  #industry-numbers .stats-tile::after{left:0;bottom:0;width:48%;height:1px}
  #industry-numbers .stats-tile:last-child::after{display:none}
  #industry-numbers .stats-kicker{grid-area:kicker;font-size:30px;margin:0 0 1px;letter-spacing:.1em;text-align:left;align-self:auto}
  #industry-numbers .stats-value{grid-area:value;gap:5px;justify-self:start;align-self:center}
  #industry-numbers .stats-value .display-number{font-size:66px}
  #industry-numbers .stats-value em{font-size:23px}
  #industry-numbers .stats-approx{font-size:17px;margin-right:-2px}
  #industry-numbers .stats-tile>.stats-label{grid-area:label;align-self:center;font-size:18px;letter-spacing:.04em;line-height:1.65;text-align:right;width:6em;max-width:6em;margin:0}
  #industry-numbers .stats-symbol{top:18px;right:4px;font-size:126px;opacity:.06}
  #industry-numbers .stats-source{gap:12px;padding-top:18px;margin-top:5px}
  #industry-numbers .stats-source-seal{font-size:20px;padding-top:1px}
  #industry-numbers .numbers-note{font-size:12.5px;line-height:1.9}
}
@media(max-width:380px){
  #industry-numbers .stats-tile,#industry-numbers .stats-tile:first-child{font-size:17px;gap-inline:14px}
  #industry-numbers .stats-value .display-number{font-size:62px}
  #industry-numbers .stats-value em{font-size:22px}
  #industry-numbers .stats-approx{font-size:16px}
  #industry-numbers .stats-label{font-size:17px}
}
@media(max-width:340px){
  #industry-numbers .stats-title{font-size:29px}
  #industry-numbers .stats-tile,#industry-numbers .stats-tile:first-child{grid-template-columns:1fr;grid-template-areas:"kicker" "value" "label";gap:8px}
  #industry-numbers .stats-label{text-align:left;width:auto;max-width:none}
}

@media(min-width:681px) and (max-width:900px){
  #industry-numbers .stats-title{font-size:46px}
  #industry-numbers .stats-tile,#industry-numbers .stats-tile:first-child{font-size:22px;gap-inline:24px;padding-block:25px}
  #industry-numbers .stats-kicker{font-size:32px}
  #industry-numbers .stats-value .display-number{font-size:86px}
  #industry-numbers .stats-value em{font-size:28px}
  #industry-numbers .stats-approx{font-size:22px}
  #industry-numbers .stats-label{font-size:22px}
  #industry-numbers .stats-symbol{font-size:150px}
  #industry-numbers .numbers-note{font-size:14px}
}

/* The section itself is the crop: the canopy hub sits at its top-left corner. */
#industry-numbers{overflow:hidden}
.numbers-canopy-layout{display:grid;grid-template-columns:.85fr 1.4fr;gap:38px;align-items:center;min-height:610px}
.numbers-canopy-stage{position:absolute;left:0;top:0;width:40%;height:100%;margin:0;overflow:hidden;pointer-events:none}
.numbers-canopy-rotor{position:absolute;width:200%;aspect-ratio:1;left:0;top:0;margin:-100% 0 0 -100%;animation:numbers-canopy-spin 10s linear infinite;will-change:transform}
.canopy-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .65s linear}
.canopy-frame.is-current{opacity:1}
.numbers-canopy-stage figcaption{position:absolute;left:28px;bottom:28px;font:30px/1.6 var(--stats-brush);color:var(--green);letter-spacing:.16em}
#industry-numbers .stats-editorial{grid-column:2;min-width:0;width:100%;z-index:1}
#industry-numbers .stats-heading{align-items:flex-start;flex-direction:column;gap:23px}
#industry-numbers .stats-title{font-size:40px}
#industry-numbers .stats-period{align-self:flex-end}
#industry-numbers .stats-tile{padding:22px 12px;min-height:255px}
#industry-numbers .stats-value .display-number{font-size:clamp(53px,5.4vw,82px)}
#industry-numbers .stats-label{font-size:19px;letter-spacing:.02em}
#industry-numbers .stats-kicker{font-size:27px}
#industry-numbers .stats-value em{font-size:20px}
@keyframes numbers-canopy-spin{to{transform:rotate(360deg)}}

/* Keep the approved wide-screen composition. Give its narrowest three columns
   smaller side padding before the layout changes to a full-width data spread. */
@media(min-width:1051px) and (max-width:1240px){
  #industry-numbers .stats-tile,#industry-numbers .stats-tile:first-child{padding-inline:8px}
  #industry-numbers .stats-value{gap:4px}
  #industry-numbers .stats-value .display-number{font-size:clamp(53px,5vw,62px)}
  #industry-numbers .stats-value em{font-size:18px}
  #industry-numbers .stats-approx{font-size:16px}
  #industry-numbers .stats-kicker{font-size:25px}
  #industry-numbers .stats-label{font-size:18px}
}

/* Compact desktops keep the headline and figures alongside the corner canopy. */
@media(min-width:901px) and (max-width:1050px){
  #industry-numbers .numbers-canopy-layout{grid-template-columns:.8fr 1.4fr;gap:24px;min-height:530px}
  #industry-numbers .stats-title{font-size:34px}
  #industry-numbers .stats-tile,#industry-numbers .stats-tile:first-child{padding:20px 6px;min-height:220px}
  #industry-numbers .stats-value{gap:3px}
  #industry-numbers .stats-value .display-number{font-size:44px}
  #industry-numbers .stats-value em{font-size:17px}
  #industry-numbers .stats-approx{font-size:13px}
  #industry-numbers .stats-kicker{font-size:23px}
  #industry-numbers .stats-label{font-size:16px}
}

/* Tablets: headline beside the corner art, figures across the full width below. */
@media(min-width:681px) and (max-width:900px){
  #industry-numbers .numbers-canopy-layout{grid-template-columns:minmax(0,1fr);gap:27px;min-height:0}
  #industry-numbers .stats-editorial{grid-column:1}
  #industry-numbers .numbers-canopy-stage figcaption{display:none}
  #industry-numbers .stats-heading{flex-direction:column;align-items:flex-start;justify-content:center;gap:20px;margin-left:calc(40vw - 36px);min-height:calc(40vw - 32px);margin-bottom:22px}
  #industry-numbers .stats-title{font-size:32px}
  #industry-numbers .stats-period{align-self:flex-end;border-left:1px solid rgba(53,91,140,.25);padding:0 0 7px 18px;gap:12px;margin:0}
  #industry-numbers .stats-period-year{font-size:28px}
  #industry-numbers .stats-period-copy{display:block;font-size:15px;letter-spacing:.03em}
  #industry-numbers .stats-period-copy small{display:block;font-size:12px;line-height:1.7;margin-top:3px}
  #industry-numbers .stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  #industry-numbers .stats-tile,#industry-numbers .stats-tile:first-child{
    display:flex;flex-direction:column;justify-content:flex-start;
    min-height:0;padding:20px 12px 24px;
    border:0;border-left:1px solid rgba(84,104,120,.19);
    gap:0;aspect-ratio:auto;
  }
  #industry-numbers .stats-tile:first-child{padding-left:0;border-left:0}
  #industry-numbers .stats-tile::after{left:12px;bottom:0;width:56%;height:1px;display:block}
  #industry-numbers .stats-tile:first-child::after{left:0}
  #industry-numbers .stats-kicker{font-size:28px;line-height:1.4;letter-spacing:.08em;margin:0 0 10px;text-align:left}
  #industry-numbers .stats-value{align-self:flex-start;gap:6px}
  #industry-numbers .stats-value .display-number{font-size:clamp(58px,8.1vw,74px)}
  #industry-numbers .stats-value em{font-size:20px}
  #industry-numbers .stats-approx{font-size:16px;margin-right:-2px}
  #industry-numbers .stats-tile>.stats-label{align-self:auto;font-size:18px;line-height:1.6;letter-spacing:.03em;width:auto;max-width:none;text-align:left;margin:12px 0 0}
  #industry-numbers .stats-symbol{font-size:140px;right:0;top:20px}
  #industry-numbers .stats-source{margin-top:23px;padding-top:20px;gap:15px}
  #industry-numbers .numbers-note{font-size:14px;line-height:1.9}
}

/* Phones: compact two-row compositions. Each value has a genuinely reserved
   text column; the 78px override and 180px minimum height are intentionally gone. */
@media(max-width:680px){
  #industry-numbers .numbers-canopy-layout{grid-template-columns:minmax(0,1fr);gap:20px;min-height:0}
  #industry-numbers .stats-editorial{grid-column:1;padding-top:calc(40vw - 12px)}
  #industry-numbers .numbers-canopy-stage{width:43%}
  #industry-numbers .numbers-canopy-stage figcaption{display:none}
  #industry-numbers .stats-heading{flex-direction:column;align-items:flex-start;gap:17px;margin-bottom:14px}
  #industry-numbers .stats-title{font-size:clamp(31px,8.7vw,35px);line-height:1.28}
  #industry-numbers .stats-period{align-self:flex-start;border-left:0;padding:0 0 0 44px;gap:13px}
  #industry-numbers .stats-period-year{font-size:25px}
  #industry-numbers .stats-period-copy{display:flex;align-items:center;gap:9px;font-size:14px}
  #industry-numbers .stats-period-copy small{display:inline;font-size:12px;margin:0}
  #industry-numbers .stats-grid{grid-template-columns:minmax(0,1fr)}
  #industry-numbers .stats-tile,#industry-numbers .stats-tile:first-child{
    display:grid;grid-template-columns:minmax(0,1fr) 5em;
    grid-template-areas:"kicker kicker" "value label";
    align-items:center;justify-content:normal;
    min-height:0;aspect-ratio:auto;padding:18px 0 21px;
    border:0;border-top:1px solid rgba(84,104,120,.18);
    gap:5px 14px;font-size:18px;
  }
  #industry-numbers .stats-tile:first-child{border-top:0}
  #industry-numbers .stats-tile::after{left:0;bottom:0;width:48%;height:1px}
  #industry-numbers .stats-tile:last-child::after{display:none}
  #industry-numbers .stats-kicker{grid-area:kicker;font-size:30px;line-height:1.2;letter-spacing:.1em;align-self:auto;margin:0 0 2px;text-align:left}
  #industry-numbers .stats-value{grid-area:value;align-self:center;justify-self:start;min-width:0;gap:5px}
  #industry-numbers .stats-value .display-number{font-size:clamp(64px,18vw,76px);line-height:1.08}
  #industry-numbers .stats-value em{font-size:22px}
  #industry-numbers .stats-approx{font-size:17px;margin-right:-2px}
  #industry-numbers .stats-tile>.stats-label{grid-area:label;align-self:center;font-size:18px;line-height:1.55;letter-spacing:.02em;width:5em;max-width:5em;margin:0;text-align:right;text-wrap:balance}
  #industry-numbers .stats-symbol{font-size:126px;top:15px;right:0}
  #industry-numbers .stats-source{margin-top:6px;padding-top:18px;gap:12px}
  #industry-numbers .stats-source-seal{font-size:20px}
  #industry-numbers .numbers-note{font-size:12.5px;line-height:1.9}
}
@media(max-width:340px){
  #industry-numbers .stats-title{font-size:29px}
  #industry-numbers .stats-tile,#industry-numbers .stats-tile:first-child{grid-template-columns:minmax(0,1fr);grid-template-areas:"kicker" "value" "label";gap:7px}
  #industry-numbers .stats-tile>.stats-label{width:auto;max-width:none;text-align:left}
}
