/* GENERATED by factory/design.py from this site's src/data/design.json.
   Do not hand-edit: stamp_site.py regenerates it on every run. To change
   the look, edit design.json (site-local — a re-stamp never clobbers it)
   and re-stamp. Adding a NEW token is a change to factory/design.py.

   archetype: editorial   type pair: vollkorn+albert-sans
   shape: slab radius / rule border / none shadow
   furniture: banner-quote hero, photo-left cards
   imagery: editorial-photography */

/* Self-hosted faces. No third-party font request: a shared Google Fonts
   URL is a cross-property footprint on sites that must not look related,
   and it is one more consent-layer problem in the EU. Drop the .woff2
   files under public/fonts/ before building.
   font-display: optional (task #1177): with the upright faces preloaded
   by Base.astro, a face that arrives within the ~100 ms block period is
   used; one that doesn't is skipped for that page view instead of
   swapping in later, so a cold first visit never shifts layout (CLS 0).
   The next page view has it cached. */
@font-face {
  font-family: "Vollkorn";
  src: url("/fonts/vollkorn-600.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: optional;
}
@font-face {
  font-family: "Albert Sans";
  src: url("/fonts/albert-sans-400.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: optional;
}
@font-face {
  font-family: "Albert Sans";
  src: url("/fonts/albert-sans-700.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: optional;
}


:root {
  /* colour ramp */
  --c-bg: #f8f6f0;
  --c-bg-alt: #ede7da;
  --c-surface: #fffdf8;
  --c-surface-alt: #f4efe4;
  --c-ink: #23231f;
  --c-ink-soft: #57544a;
  --c-ink-faint: #7a7568;
  --c-brand: #7d6a43;
  --c-brand-ink: #54462a;
  --c-brand-soft: #efe6d2;
  --c-on-brand: #ffffff;
  --c-accent: #2e5d6b;
  --c-accent-soft: #dcebee;
  --c-accent-ink: #1d3f49;
  --c-on-accent: #ffffff;
  --c-line: #ddd5c4;
  --c-line-strong: #b8ad96;
  --c-danger: #9b3b2f;
  --c-link: #7d6a43;

  /* type */
  --font-body: "Albert Sans", "Segoe UI", system-ui, sans-serif;
  --font-heading: "Vollkorn", Georgia, "Times New Roman", serif;
  --fs-0: 0.8rem;
  --fs-1: 1.0rem;
  --fs-2: 1.25rem;
  --fs-3: 1.5625rem;
  --fs-4: 1.9531rem;
  --fs-5: 2.4414rem;
  --lh-body: 1.65;
  --lh-tight: 1.12;
  --heading-weight: 600;
  --heading-tracking: -0.021em;
  --heading-tracking-sub: -0.008em;
  --heading-transform: none;

  /* space & shape */
  --sp-1: 0.45rem;
  --sp-2: 0.85rem;
  --sp-3: 1.35rem;
  --sp-4: 2.1rem;
  --sp-5: 3.4rem;
  --radius: 3px;
  --radius-lg: 5px;
  --radius-pill: 4px;
  --border-width: 2px;
  --border-style: solid;
  --rule-width: 2px;
  --shadow: none;
  --shadow-lg: none;

  /* layout */
  --maxw: 42rem;
  --maxw-wide: 74rem;
  --gutter: 1.25rem;
}

h1, h2, h3, .h-display {
  font-family: var(--font-heading);
  font-weight: var(--heading-weight);
  text-transform: var(--heading-transform);
}
h1, .h-display { letter-spacing: var(--heading-tracking); }
h2, h3 { letter-spacing: var(--heading-tracking-sub); }

/* Compact print body is shared by main and dedicated print routes. */
.eia-print-route{margin:var(--sp-4) auto;padding:0 var(--sp-3);max-width:var(--maxw-wide);background:var(--c-bg);color:var(--c-ink)}
.eia-print{font-family:var(--font-body);font-size:var(--fs-0);line-height:var(--lh-tight);color:var(--c-ink)}
.eia-print *{box-sizing:border-box}
.eia-print h1{font-family:var(--font-heading);font-size:var(--fs-3);margin:0 0 var(--sp-2)}
.eia-print p.print-title{font-family:var(--font-heading);font-size:var(--fs-3);margin:0 0 var(--sp-2);font-weight:var(--heading-weight)}
.eia-print h2{font-family:var(--font-heading);font-size:var(--fs-2);margin:var(--sp-3) 0 var(--sp-1);break-after:avoid}
.eia-print h3{font-family:var(--font-heading);font-size:var(--fs-1);margin:var(--sp-2) 0 var(--sp-1);break-after:avoid}
.eia-print p,.eia-print ul{font-size:var(--fs-0);line-height:var(--lh-tight);max-width:none;margin:var(--sp-1) 0}
.eia-print ul{padding-left:var(--sp-3)}
.eia-print li{margin:var(--sp-1) 0}
.eia-print table{display:table;width:100%;table-layout:fixed;border-collapse:collapse;font-size:var(--fs-0);line-height:var(--lh-tight);overflow:visible;margin:var(--sp-2) 0}
.eia-print caption{text-align:left;font-weight:var(--heading-weight);margin:var(--sp-1) 0;break-after:avoid}
.eia-print th,.eia-print td{display:table-cell;border-bottom:var(--border-width) var(--border-style) var(--c-line);padding:calc(var(--sp-1)/2);text-align:left;vertical-align:top;overflow-wrap:normal;word-break:normal;hyphens:none;white-space:normal}
.eia-print thead{background:var(--c-accent-soft);display:table-header-group}
.eia-print tr{display:table-row;break-inside:avoid}
.eia-print .series{break-inside:avoid;margin:var(--sp-2) 0}
.eia-print .sort-label[hidden]{display:inline!important}
.eia-print [data-sort-field]{display:none!important}
.eia-print a{color:inherit;overflow-wrap:anywhere}
.eia-print a:after{content:none!important}
@media screen and (max-width:720px){
 .eia-print .national-values thead{display:none}
 .eia-print .national-values tr,.eia-print .national-values td,.eia-print .national-values th{display:block;width:100%}
 .eia-print .national-values td:before{content:attr(data-label) ': ';font-weight:var(--heading-weight)}
 .eia-print .overview thead{display:none}
 .eia-print .overview tr,.eia-print .overview td,.eia-print .overview th{display:block;width:100%}
 .eia-print .overview td:before{content:attr(data-label) ': ';font-weight:var(--heading-weight)}
 .eia-print .state-values thead{display:none}
 .eia-print .state-values tbody tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
 .eia-print .state-values tbody th{grid-column:1 / -1}
 .eia-print .state-values tbody td:before{display:block;content:attr(data-label);min-height:calc(var(--fs-0)*var(--lh-tight)*3)}
}
@media print{
 .eia-print-route{max-width:none;margin:0;padding:0;background:var(--c-surface)}
 .eia-print-route .back{display:none}
 .eia-print{display:block!important}
 .eia-print .state-values th:first-child,.eia-print .overview th:first-child{width:28%}
 .eia-print .national-values th:first-child{width:15%}
 .eia-print table{display:table!important}
 .eia-print th,.eia-print td{display:table-cell!important}
 .eia-print tr{display:table-row!important}
 .eia-print thead{display:table-header-group!important;position:static;width:auto;height:auto;clip-path:none;overflow:visible}
 .eia-print td:before{content:none!important}
}
