/*
 * dramatify-icons.css — self-hosted, subsetted Font Awesome 6 Free
 *
 * Replaces the full @fortawesome/fontawesome-free CDN bundle (jsdelivr,
 * ~276KB combined solid+brands woff2, ~98.9% unused — SEO audit, Critical
 * #8) with a subset containing only the 79 solid + 6 brands icon
 * glyphs actually referenced in this codebase (see the fa-solid/fa-brands
 * classes used across src/). Subset generated with fonttools pyftsubset.
 * (79 solid = 76 original + fa-comment-dots/fa-xmark/fa-paper-plane, added
 * 2026-08-19 for the HelpWidget chat popup — re-subsetted from the same
 * @fortawesome/fontawesome-free@6.7.2 package already pinned in
 * package.json, so existing glyphs are unchanged.)
 *
 * If you add a NEW fa-solid/fa-brands icon anywhere in the codebase, it
 * will render as a blank box until its glyph is added here and the fonts
 * are re-subsetted. To add one:
 *   1. Find its codepoint in node_modules/@fortawesome/fontawesome-free/metadata/icons.yml
 *   2. Add a `.fa-{name}:before { content: "\{codepoint}"; }` rule below
 *   3. Re-run pyftsubset with the codepoint added to --unicodes
 * Self-hosted (not jsdelivr) so there's no third-party DNS/TLS round trip
 * and no missing preconnect (SEO audit, Critical #8).
 */

@font-face {
  font-family: 'Font Awesome 6 Free';
  font-style: normal;
  font-weight: 900;
  font-display: block;
  src: url('/fonts/fontawesome/fa-solid-900.subset.woff2') format('woff2');
}

@font-face {
  font-family: 'Font Awesome 6 Brands';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url('/fonts/fontawesome/fa-brands-400.subset.woff2') format('woff2');
}

.fa-solid,
.fa-brands {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  text-rendering: auto;
}

.fa-solid { font-family: 'Font Awesome 6 Free'; font-weight: 900; }
.fa-brands { font-family: 'Font Awesome 6 Brands'; font-weight: 400; }

/* ── Solid icons ─────────────────────────────────────────────────────── */
.fa-address-book:before { content: "\f2b9"; }
.fa-arrow-right:before { content: "\f061"; }
.fa-arrow-up-right-from-square:before { content: "\f08e"; }
.fa-bars:before { content: "\f0c9"; }
.fa-box-open:before { content: "\f49e"; }
.fa-boxes-stacked:before { content: "\f468"; }
.fa-building:before { content: "\f1ad"; }
.fa-bullhorn:before { content: "\f0a1"; }
.fa-calendar-check:before { content: "\f274"; }
.fa-calendar-days:before { content: "\f073"; }
.fa-calendar-plus:before { content: "\f271"; }
.fa-calendar-week:before { content: "\f784"; }
.fa-camera:before { content: "\f030"; }
.fa-chart-bar:before { content: "\f080"; }
.fa-check:before { content: "\f00c"; }
.fa-chevron-left:before { content: "\f053"; }
.fa-chevron-right:before { content: "\f054"; }
.fa-clapperboard:before { content: "\e131"; }
.fa-comment-dots:before { content: "\f4ad"; }
.fa-clock:before { content: "\f017"; }
.fa-cloud:before { content: "\f0c2"; }
.fa-cloud-sun:before { content: "\f6c4"; }
.fa-coins:before { content: "\f51e"; }
.fa-couch:before { content: "\f4b8"; }
.fa-diagram-project:before { content: "\f542"; }
.fa-dice-d20:before { content: "\f6cf"; }
.fa-dollar-sign:before { content: "\24"; }
.fa-earth-americas:before { content: "\f57d"; }
.fa-envelope:before { content: "\f0e0"; }
.fa-file-contract:before { content: "\f56c"; }
.fa-file-import:before { content: "\f56f"; }
.fa-file-lines:before { content: "\f15c"; }
.fa-film:before { content: "\f008"; }
.fa-gauge-high:before { content: "\f625"; }
.fa-gear:before { content: "\f013"; }
.fa-handshake:before { content: "\f2b5"; }
.fa-house-chimney:before { content: "\e3af"; }
.fa-image:before { content: "\f03e"; }
.fa-layer-group:before { content: "\f5fd"; }
.fa-lightbulb:before { content: "\f0eb"; }
.fa-link:before { content: "\f0c1"; }
.fa-list-check:before { content: "\f0ae"; }
.fa-list-ol:before { content: "\f0cb"; }
.fa-location-dot:before { content: "\f3c5"; }
.fa-lock:before { content: "\f023"; }
.fa-magnifying-glass:before { content: "\f002"; }
.fa-masks-theater:before { content: "\f630"; }
.fa-music:before { content: "\f001"; }
.fa-note-sticky:before { content: "\f249"; }
.fa-paint-brush:before { content: "\f1fc"; }
.fa-paintbrush:before { content: "\f1fc"; }
.fa-paper-plane:before { content: "\f1d8"; }
.fa-pen-nib:before { content: "\f5ad"; }
.fa-people-arrows:before { content: "\e068"; }
.fa-photo-film:before { content: "\f87c"; }
.fa-plane-departure:before { content: "\f5b0"; }
.fa-plug:before { content: "\f1e6"; }
.fa-print:before { content: "\f02f"; }
.fa-puzzle-piece:before { content: "\f12e"; }
.fa-rotate:before { content: "\f2f1"; }
.fa-satellite-dish:before { content: "\f7c0"; }
.fa-scissors:before { content: "\f0c4"; }
.fa-scroll:before { content: "\f70e"; }
.fa-share-nodes:before { content: "\f1e0"; }
.fa-shield-halved:before { content: "\f3ed"; }
.fa-shirt:before { content: "\f553"; }
.fa-sitemap:before { content: "\f0e8"; }
.fa-table-list:before { content: "\f00b"; }
.fa-tags:before { content: "\f02c"; }
.fa-thumbs-down:before { content: "\f165"; }
.fa-thumbs-up:before { content: "\f164"; }
.fa-tower-broadcast:before { content: "\f519"; }
.fa-triangle-exclamation:before { content: "\f071"; }
.fa-tv:before { content: "\f26c"; }
.fa-user-group:before { content: "\f500"; }
.fa-users:before { content: "\f0c0"; }
.fa-video:before { content: "\f03d"; }
.fa-volleyball:before { content: "\f45f"; }
.fa-wand-magic-sparkles:before { content: "\e2ca"; }
.fa-xmark:before { content: "\f00d"; }

/* ── Brands icons ────────────────────────────────────────────────────── */
.fa-facebook-f:before { content: "\f39e"; }
.fa-instagram:before { content: "\f16d"; }
.fa-linkedin-in:before { content: "\f0e1"; }
.fa-whatsapp:before { content: "\f232"; }
.fa-x-twitter:before { content: "\e61b"; }
.fa-youtube:before { content: "\f167"; }
