/* Bespoke editorial choreography — extracted from inline <style> blocks
   on ~165 pages so they share a single cached file instead of duplicating
   ~3.5 KB of CSS per page. Generated by scripts/extract-bespoke-css.mjs. */

.gmp-pillar-studio {
  background: #fafafa !important;
  padding: clamp(80px, 9vw, 128px) clamp(24px, 4vw, 56px);
  margin: clamp(56px, 8vw, 96px) calc(-1 * (50vw - 50%)) 0;
}
.gmp-pillar-studio-inner { max-width: 1080px; margin: 0 auto; }
.gmp-pillar-studio h2 {
  font-family: "Newsreader", Georgia, serif !important;
  font-weight: 600 !important;
  font-style: normal !important;
  font-size: clamp(1.8rem, 3vw, 2.2rem) !important;
  letter-spacing: -.022em !important;
  line-height: 1.12 !important;
  text-align: center;
  color: #0a0a0a !important;
  margin: 0 auto 48px !important;
  max-width: 60ch;
}
.gmp-pillar-studio h2 em { font-style: italic; color: #c64a1f; }
.gmp-pillar-studio-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 40px;
}
.gmp-pillar-studio-q {
  position: relative;
  font-family: "Newsreader", Georgia, serif;
  font-style: italic;
  font-size: 1.16rem;
  line-height: 1.55;
  color: #1a1410;
  padding: 8px 0 8px 26px;
  border-left: 2px solid #f55a23;
  margin: 0 0 16px;
}
.gmp-pillar-studio-q::before {
  content: "\201C";
  position: absolute;
  left: 18px;
  top: -14px;
  font-size: 2.4rem;
  color: #f55a23;
  font-style: normal;
}
.gmp-pillar-studio-a {
  font-family: "Inter", sans-serif;
  font-size: .86rem;
  color: #737373;
  padding-left: 28px;
}
.gmp-pillar-studio-a strong { display: block; color: #0a0a0a; font-weight: 600; margin-bottom: 2px; }

.gmp-pillar-close {
  background: #0a0a0a !important;
  color: #fff;
  padding: clamp(80px, 11vw, 144px) clamp(24px, 4vw, 56px);
  margin: clamp(56px, 8vw, 96px) calc(-1 * (50vw - 50%)) 0;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.gmp-pillar-close::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, rgba(255, 255, 255, .03) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255, 255, 255, .03) 1px, transparent 1px);
  background-size: 48px 48px;
  -webkit-mask-image: radial-gradient(ellipse 60% 50% at 50% 50%, #000 30%, transparent 80%);
          mask-image: radial-gradient(ellipse 60% 50% at 50% 50%, #000 30%, transparent 80%);
}
.gmp-pillar-close-eyebrow {
  font-family: "Newsreader", Georgia, serif;
  font-style: italic;
  font-size: .82rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #f55a23;
  margin: 0 0 18px;
  display: inline-flex;
  align-items: baseline;
  gap: 10px;
}
.gmp-pillar-close-eyebrow::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: #f55a23;
  align-self: center;
}
.gmp-pillar-close h2 {
  font-family: "Newsreader", Georgia, serif !important;
  font-weight: 600 !important;
  font-size: clamp(2rem, 4vw, 3rem) !important;
  letter-spacing: -.022em !important;
  color: #fff !important;
  margin: 0 0 18px !important;
  max-width: 30ch;
  margin-inline: auto !important;
}
.gmp-pillar-close-rule { display: block; margin: 0 auto 24px; }
.gmp-pillar-close p {
  font-family: "Newsreader", Georgia, serif !important;
  font-style: italic !important;
  font-size: 1.06rem !important;
  line-height: 1.55 !important;
  color: #a3a3a3 !important;
  max-width: 56ch;
  margin: 0 auto 32px !important;
}
.gmp-pillar-close-cta {
  display: inline-block;
  background: #fff;
  color: #0a0a0a;
  border-radius: 999px;
  padding: 16px 30px;
  font-family: "Inter", sans-serif;
  font-weight: 600;
  font-size: 1rem;
  text-decoration: none;
  box-shadow: 0 14px 30px -10px rgba(0, 0, 0, .55);
  transition: background .25s ease, color .25s ease, transform .25s ease;
}
.gmp-pillar-close-cta:hover {
  background: #f55a23;
  color: #fff;
  transform: translateY(-1px);
}

/* Glossary "see also" rail */
.gmp-glossary-bespoke {
  background: #fafafa;
  padding: clamp(48px, 6vw, 72px) clamp(24px, 4vw, 56px);
  margin: clamp(48px, 6vw, 80px) calc(-1 * (50vw - 50%)) 0;
  border-top: 1px solid #e5e7eb;
}
.gmp-glossary-bespoke-inner { max-width: 900px; margin: 0 auto; }
.gmp-glossary-bespoke-eyebrow {
  font-family: "Newsreader", Georgia, serif;
  font-style: italic;
  font-size: .78rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #737373;
  margin: 0 0 14px;
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
}
.gmp-glossary-bespoke-eyebrow::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: #f55a23;
  align-self: center;
}
.gmp-glossary-bespoke h2 {
  font-family: "Newsreader", Georgia, serif !important;
  font-weight: 600 !important;
  font-size: clamp(1.4rem, 2.4vw, 1.8rem) !important;
  letter-spacing: -.018em !important;
  color: #0a0a0a !important;
  margin: 0 0 20px !important;
}
.gmp-glossary-bespoke h2 em { font-style: italic; color: #c64a1f; }
.gmp-glossary-related {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
  margin-bottom: 32px;
}
.gmp-glossary-related a {
  display: block;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 14px 16px;
  color: #0a0a0a;
  text-decoration: none;
  transition: border-color .2s ease, transform .2s ease;
}
.gmp-glossary-related a:hover { border-color: #ffe6d0; transform: translateY(-2px); }
.gmp-glossary-related strong {
  font-family: "Newsreader", Georgia, serif;
  font-weight: 600;
  font-size: 1rem;
  color: #0a0a0a;
  display: block;
  margin-bottom: 4px;
}
.gmp-glossary-related span {
  font-family: "Inter", sans-serif;
  font-size: .8rem;
  color: #525252;
  line-height: 1.4;
}
.gmp-glossary-cta {
  display: inline-block;
  padding: 12px 22px;
  background: #0a0a0a;
  color: #fff;
  border-radius: 10px;
  font-family: "Inter", sans-serif;
  font-weight: 600;
  font-size: .94rem;
  text-decoration: none;
  transition: background .2s ease, transform .2s ease;
}
.gmp-glossary-cta:hover { background: #f55a23; transform: translateY(-1px); }
.gmp-glossary-cta::after { content: " →"; }

/* ============================================================
   MANUAL ADDITIONS — not produced by scripts/extract-bespoke-css.mjs.
   If you regenerate this file, re-append everything below this banner.
   ============================================================ */

/* Shared category-hub decision wizard (SPEC_HUB §3). Used by the 7 hubs
   that were on the older gm-* template; the 4 token-based hubs scope their
   own copy. Hardcoded light hexes so it needs no token/components links. */
.gmp-wizard { background:#fff5ed; border:1px solid #f55a23; padding:28px 32px; border-radius:8px; margin:8px 0 4px; font-family:"Inter",system-ui,sans-serif; }
.gmp-wizard h2 { font-family:"Newsreader",Georgia,serif; font-size:1.4rem; margin:0 0 8px; color:#0a0a0a; }
.gmp-wizard > p { color:#525252; margin:6px 0 14px; }
.gmp-wz-q { margin:18px 0; }
.gmp-wz-label { font-weight:600; display:block; margin-bottom:8px; color:#0a0a0a; }
.gmp-wz-options { display:flex; flex-wrap:wrap; gap:8px; }
.gmp-wz-options button { padding:8px 14px; background:#fff; border:1px solid #e5e5e5; border-radius:4px; cursor:pointer; font-size:.92rem; color:#0a0a0a; font-family:inherit; }
.gmp-wz-options button:hover { border-color:#f55a23; }
.gmp-wz-options button.is-active { background:#f55a23; color:#fff; border-color:#f55a23; }
.gmp-wz-result { margin-top:22px; padding:18px 22px; background:#fff; border-left:3px solid #f55a23; display:none; }
.gmp-wz-result.is-active { display:block; }
.gmp-wz-result h3 { margin:0 0 8px; color:#0a0a0a; }
.gmp-wz-result p { margin:6px 0 12px; color:#525252; }
.gmp-wz-result a { color:#c64a1f; font-weight:600; text-decoration:none; border-bottom:2px solid #f55a23; }
.gmp-wz-fallback { width:100%; border-collapse:collapse; margin-top:16px; font-size:.88rem; }
.gmp-wz-fallback caption { text-align:left; color:#737373; font-size:.82rem; margin-bottom:6px; }
.gmp-wz-fallback th, .gmp-wz-fallback td { padding:8px 12px; border-bottom:1px solid #e5d5c8; text-align:left; vertical-align:top; }
.gmp-wz-fallback th { background:#fff; color:#0a0a0a; }
.gmp-wz-fallback a { color:#c64a1f; text-decoration:none; border-bottom:1px dotted #f55a23; }

/* Studio-notes illustrative disclaimer (testimonial integrity sweep, 2026-06). */
.gmp-pillar-studio-note { font-family:"Inter",sans-serif; font-size:.82rem; line-height:1.5; color:#8a8a8a; margin:-6px 0 22px; max-width:64ch; }

/* Shared category-hub floating ToC rail (SPEC_HUB chrome). The 7 gm-* hubs
   use full-bleed alternating sections, so a gmp-layout-with-toc grid would
   break the edge-to-edge backgrounds. Instead the ToC floats in the left
   gutter on wide screens (container is 1120px) and is hidden below 1500px.
   Hardcoded light hexes to match the rest of the gm-* hub chrome. */
.gm-hub-toc { display:none; }
@media (min-width:1500px){
  .gm-hub-toc {
    display:block; position:fixed; top:128px;
    left:max(20px, calc((100vw - 1120px)/2 - 196px));
    width:168px; z-index:30; font-family:"Inter",system-ui,sans-serif;
    font-size:.82rem; border-left:2px solid #e5e7eb; padding-left:16px;
    max-height:72vh; overflow-y:auto;
  }
  .gm-hub-toc h4 {
    font-family:"Newsreader",Georgia,serif; font-style:italic; font-weight:600;
    font-size:.72rem; letter-spacing:.1em; text-transform:uppercase;
    color:#737373; margin:0 0 10px;
  }
  .gm-hub-toc a {
    display:block; padding:5px 0; color:#525252; text-decoration:none;
    line-height:1.35; border:0; transition:color .2s ease;
  }
  .gm-hub-toc a:hover, .gm-hub-toc a.is-current { color:#f55a23; }
}
@media (prefers-reduced-motion: reduce){ .gm-hub-toc { scroll-behavior:auto; } }
