/* Patch utilities for classes used by templates but absent from spe-tailwind.css. */
.cv-card{content-visibility:auto;contain-intrinsic-size:auto 420px}
.-bottom-20{bottom:calc(var(--spacing) * -20)}
.-left-20{left:calc(var(--spacing) * -20)}
.-mt-16{margin-top:calc(var(--spacing) * -16)}
.inset-y-0{inset-block:calc(var(--spacing) * 0)}
.top-14{top:calc(var(--spacing) * 14)}
.right-1\/4{right:25%}
.left-\[4px\]{left:4px}
.z-20{z-index:20}
.z-\[60\]{z-index:60}
.my-12{margin-block:calc(var(--spacing) * 12)}
.mt-14{margin-top:calc(var(--spacing) * 14)}
.mt-24{margin-top:calc(var(--spacing) * 24)}
.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}
.ml-2{margin-left:calc(var(--spacing) * 2)}
.block{display:block}
.h-2\.5{height:calc(var(--spacing) * 2.5)}
.h-4\.5{height:calc(var(--spacing) * 4.5)}
.h-44{height:calc(var(--spacing) * 44)}
.h-72{height:calc(var(--spacing) * 72)}
.h-96{height:calc(var(--spacing) * 96)}
.min-h-\[36px\]{min-height:36px}
.min-h-\[40px\]{min-height:40px}
.max-h-\[85vh\]{max-height:85vh}
.w-2\.5{width:calc(var(--spacing) * 2.5)}
.w-4\.5{width:calc(var(--spacing) * 4.5)}
.w-7{width:calc(var(--spacing) * 7)}
.w-64{width:calc(var(--spacing) * 64)}
.w-72{width:calc(var(--spacing) * 72)}
.w-96{width:calc(var(--spacing) * 96)}
.w-\[4px\]{width:4px}
.min-w-\[36px\]{min-width:36px}
.min-w-\[40px\]{min-width:40px}
.max-w-sm{max-width:var(--container-sm,24rem)}
.appearance-none{appearance:none}
.items-stretch{align-items:stretch}
.justify-end{justify-content:flex-end}
.gap-x-8{column-gap:calc(var(--spacing) * 8)}
.gap-y-3{row-gap:calc(var(--spacing) * 3)}
.object-contain{object-fit:contain}
.not-italic{font-style:normal}
.outline-none{--tw-outline-style:none;outline-style:none}
.opacity-75{opacity:.75}
.p-0\.5{padding:calc(var(--spacing) * .5)}
.py-5{padding-block:calc(var(--spacing) * 5)}
.py-14{padding-block:calc(var(--spacing) * 14)}
.pt-4{padding-top:calc(var(--spacing) * 4)}
.pb-16{padding-bottom:calc(var(--spacing) * 16)}
.pr-10{padding-right:calc(var(--spacing) * 10)}
.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}
.bg-no-repeat{background-repeat:no-repeat}
.bg-\[length\:1\.25rem\]{background-size:1.25rem}
.bg-\[right_0\.75rem_center\]{background-position:right .75rem center}
.blur-3xl{--tw-blur:blur(64px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}
.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}
@keyframes ping{75%,to{transform:scale(2);opacity:0}}

.bg-emerald-400{background-color:var(--color-emerald-400)}
.bg-red-50{background-color:#fef2f2}
.bg-spe-paper\/95{background-color:#f0ebe3f2}
.bg-white\/10{background-color:#ffffff1a}
.bg-white\/20{background-color:#fff3}
.bg-black\/10{background-color:#0000001a}
.bg-white\/\[0\.08\]{background-color:#ffffff14}
.bg-white\/\[0\.15\]{background-color:#ffffff26}
.bg-spe-blue\/\[0\.08\]{background-color:#2789c214}
.bg-spe-cream\/40{background-color:#faf7f266}
.bg-spe-ink\/80{background-color:#0f1419cc}
@supports (color:color-mix(in lab,red,red)){
  .bg-spe-paper\/95{background-color:color-mix(in oklab,var(--color-spe-paper) 95%,transparent)}
  .bg-white\/10{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}
  .bg-white\/\[0\.08\]{background-color:color-mix(in oklab,var(--color-white) 8%,transparent)}
  .bg-white\/\[0\.15\]{background-color:color-mix(in oklab,var(--color-white) 15%,transparent)}
  .bg-spe-blue\/\[0\.08\]{background-color:color-mix(in oklab,var(--color-spe-blue) 8%,transparent)}
  .bg-spe-cream\/40{background-color:color-mix(in oklab,var(--color-spe-cream) 40%,transparent)}
  .bg-spe-ink\/80{background-color:color-mix(in oklab,var(--color-spe-ink) 80%,transparent)}
}

.border-amber-200\/60{border-color:oklch(92.4% .12 95.746 / .6)}
.border-emerald-200\/60{border-color:oklch(90.5% .093 164.15 / .6)}
.border-spe-divider\/60{border-color:#edf2f799}
.border-white\/20{border-color:#fff3}
.border-white\/30{border-color:#ffffff4d}
.border-white\/\[0\.15\]{border-color:#ffffff26}
.border-white\/\[0\.2\]{border-color:#fff3}
.border-l-spe-blue\/20{border-left-color:#2789c233}
.border-l-spe-gold\/20{border-left-color:#946d0a33}
.border-l-spe-gold\/30{border-left-color:#946d0a4d}
@supports (color:color-mix(in lab,red,red)){
  .border-spe-divider\/60{border-color:color-mix(in oklab,var(--color-spe-divider) 60%,transparent)}
  .border-white\/20{border-color:color-mix(in oklab,var(--color-white) 20%,transparent)}
  .border-white\/\[0\.15\]{border-color:color-mix(in oklab,var(--color-white) 15%,transparent)}
  .border-white\/\[0\.2\]{border-color:color-mix(in oklab,var(--color-white) 20%,transparent)}
  .border-l-spe-blue\/20{border-left-color:color-mix(in oklab,var(--color-spe-blue) 20%,transparent)}
  .border-l-spe-gold\/20{border-left-color:color-mix(in oklab,var(--color-spe-gold) 20%,transparent)}
  .border-l-spe-gold\/30{border-left-color:color-mix(in oklab,var(--color-spe-gold) 30%,transparent)}
}

.text-amber-500{color:var(--color-amber-500)}
.text-amber-800{color:#92400e}
.text-emerald-400{color:var(--color-emerald-400)}
.text-emerald-500{color:var(--color-emerald-500)}
.text-emerald-800{color:#065f46}
.text-red-500{color:#ef4444}
.text-spe-body{color:var(--color-spe-text)}
.text-spe-blue\/70{color:#2789c2b3}
.text-spe-muted\/20{color:#4a556833}
.text-spe-muted\/25{color:#4a556840}
.text-spe-muted\/30{color:#4a55684d}
.text-spe-muted\/40{color:#4a556866}
.text-spe-muted\/45{color:#4a556873}
.text-spe-muted\/60{color:#4a556899}
.text-spe-muted\/65{color:#4a5568a6}
@supports (color:color-mix(in lab,red,red)){
  .text-spe-blue\/70{color:color-mix(in oklab,var(--color-spe-blue) 70%,transparent)}
  .text-spe-muted\/20{color:color-mix(in oklab,var(--color-spe-muted) 20%,transparent)}
  .text-spe-muted\/25{color:color-mix(in oklab,var(--color-spe-muted) 25%,transparent)}
  .text-spe-muted\/30{color:color-mix(in oklab,var(--color-spe-muted) 30%,transparent)}
  .text-spe-muted\/40{color:color-mix(in oklab,var(--color-spe-muted) 40%,transparent)}
  .text-spe-muted\/45{color:color-mix(in oklab,var(--color-spe-muted) 45%,transparent)}
  .text-spe-muted\/60{color:color-mix(in oklab,var(--color-spe-muted) 60%,transparent)}
  .text-spe-muted\/65{color:color-mix(in oklab,var(--color-spe-muted) 65%,transparent)}
}

.from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-to) var(--tw-gradient-to-position))}
.from-white{--tw-gradient-from:var(--color-white);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-to) var(--tw-gradient-to-position))}
.from-black\/60{--tw-gradient-from:#0009;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-to) var(--tw-gradient-to-position))}
.via-spe-blue\/5{--tw-gradient-via:#2789c20d;--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-via) var(--tw-gradient-via-position),var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}
.via-spe-ink{--tw-gradient-via:var(--color-spe-ink);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-via) var(--tw-gradient-via-position),var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}
.via-white\/80{--tw-gradient-via:#fffc;--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-via) var(--tw-gradient-via-position),var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}
.via-white\/90{--tw-gradient-via:#ffffffe6;--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-via) var(--tw-gradient-via-position),var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}
.to-black\/20{--tw-gradient-to:#0003;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-to) var(--tw-gradient-to-position))}
.to-\[\#0a0f14\]{--tw-gradient-to:#0a0f14;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-to) var(--tw-gradient-to-position))}
@supports (color:color-mix(in lab,red,red)){
  .from-black\/60{--tw-gradient-from:color-mix(in oklab,var(--color-black) 60%,transparent)}
  .via-spe-blue\/5{--tw-gradient-via:color-mix(in oklab,var(--color-spe-blue) 5%,transparent)}
  .via-white\/80{--tw-gradient-via:color-mix(in oklab,var(--color-white) 80%,transparent)}
  .via-white\/90{--tw-gradient-via:color-mix(in oklab,var(--color-white) 90%,transparent)}
  .to-black\/20{--tw-gradient-to:color-mix(in oklab,var(--color-black) 20%,transparent)}
}

.underline-offset-2{text-underline-offset:2px}
.hover\:bg-spe-gold\/90:hover{background-color:#946d0ae6}
.hover\:bg-spe-teal:hover{background-color:var(--color-spe-teal)}
.hover\:bg-white\/25:hover{background-color:#ffffff40}
.hover\:bg-black\/20:hover{background-color:#0003}
.hover\:bg-white\/\[0\.1\]:hover{background-color:#ffffff1a}
.hover\:bg-white\/\[0\.15\]:hover{background-color:#ffffff26}
.hover\:bg-white\/\[0\.25\]:hover{background-color:#ffffff40}
.hover\:border-l-spe-blue:hover{border-left-color:var(--color-spe-blue)}
.hover\:border-l-spe-gold:hover{border-left-color:var(--color-spe-gold)}
.hover\:border-spe-blue\/40:hover{border-color:#2789c266}
.hover\:no-underline:hover{text-decoration-line:none}
.focus\:bg-white\/\[0\.12\]:focus{background-color:#ffffff1f}
.focus\:border-spe-blue\/40:focus{border-color:#2789c266}
.focus\:font-semibold:focus{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}
.focus\:py-2\.5:focus{padding-block:calc(var(--spacing) * 2.5)}
.focus\:ring-spe-blue\/10:focus{--tw-ring-color:#2789c21a}
.focus\:ring-spe-gold\/40:focus{--tw-ring-color:#946d0a66}
@supports (color:color-mix(in lab,red,red)){
  .hover\:bg-spe-gold\/90:hover{background-color:color-mix(in oklab,var(--color-spe-gold) 90%,transparent)}
  .hover\:bg-white\/25:hover{background-color:color-mix(in oklab,var(--color-white) 25%,transparent)}
  .hover\:bg-white\/\[0\.1\]:hover{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}
  .hover\:bg-white\/\[0\.15\]:hover{background-color:color-mix(in oklab,var(--color-white) 15%,transparent)}
  .hover\:bg-white\/\[0\.25\]:hover{background-color:color-mix(in oklab,var(--color-white) 25%,transparent)}
  .hover\:border-spe-blue\/40:hover{border-color:color-mix(in oklab,var(--color-spe-blue) 40%,transparent)}
  .focus\:bg-white\/\[0\.12\]:focus{background-color:color-mix(in oklab,var(--color-white) 12%,transparent)}
  .focus\:border-spe-blue\/40:focus{border-color:color-mix(in oklab,var(--color-spe-blue) 40%,transparent)}
  .focus\:ring-spe-blue\/10:focus{--tw-ring-color:color-mix(in oklab,var(--color-spe-blue) 10%,transparent)}
  .focus\:ring-spe-gold\/40:focus{--tw-ring-color:color-mix(in oklab,var(--color-spe-gold) 40%,transparent)}
}
.placeholder\:text-spe-muted\/40::placeholder{color:#4a556866}
.placeholder\:text-spe-muted\/60::placeholder{color:#4a556899}
.placeholder\:text-white\/35::placeholder{color:#ffffff59}
@supports (color:color-mix(in lab,red,red)){
  .placeholder\:text-spe-muted\/40::placeholder{color:color-mix(in oklab,var(--color-spe-muted) 40%,transparent)}
  .placeholder\:text-spe-muted\/60::placeholder{color:color-mix(in oklab,var(--color-spe-muted) 60%,transparent)}
  .placeholder\:text-white\/35::placeholder{color:color-mix(in oklab,var(--color-white) 35%,transparent)}
}
.group:hover .group-hover\:bg-spe-blue\/80{background-color:#2789c2cc}
.group:hover .group-hover\:gap-1\.5{gap:calc(var(--spacing) * 1.5)}
.group:hover .group-hover\:shadow-xl{--tw-shadow:0 20px 25px -5px rgb(0 0 0 / .1),0 8px 10px -6px rgb(0 0 0 / .1);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}
@supports (color:color-mix(in lab,red,red)){
  .group:hover .group-hover\:bg-spe-blue\/80{background-color:color-mix(in oklab,var(--color-spe-blue) 80%,transparent)}
}

.prose-lg{font-size:1.125rem;line-height:1.7777778}
.prose-lg :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)){margin-top:1.3333333em;margin-bottom:1.3333333em}
.prose-lg :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)){font-size:2.6666667em;line-height:1;margin-top:0;margin-bottom:.8333333em}
.prose-lg :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)){font-size:1.6666667em;line-height:1.3333333;margin-top:1.8666667em;margin-bottom:1.0666667em}
.prose-lg :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)){font-size:1.3333333em;line-height:1.5;margin-top:1.6666667em;margin-bottom:.6666667em}
.prose-headings\:font-serif :is(h1,h2,h3,h4,th){font-family:var(--font-serif)}
.prose-headings\:text-spe-ink :is(h1,h2,h3,h4,th){color:var(--color-spe-ink)}
.prose-p\:leading-relaxed :is(p){line-height:var(--leading-relaxed)}
.prose-p\:text-spe-body :is(p){color:var(--color-spe-text)}
.prose-a\:text-spe-blue :is(a){color:var(--color-spe-blue)}
.prose-a\:no-underline :is(a){text-decoration-line:none}
.hover\:prose-a\:underline:hover :is(a){text-decoration-line:underline}
.prose-strong\:text-spe-ink :is(strong){color:var(--color-spe-ink)}
.prose-ul\:text-spe-body :is(ul){color:var(--color-spe-text)}
.prose-ol\:text-spe-body :is(ol){color:var(--color-spe-text)}
.prose-img\:rounded-xl :is(img){border-radius:var(--radius-xl)}
.prose-img\:shadow-md :is(img){--tw-shadow:0 4px 6px -1px rgb(0 0 0 / .1),0 2px 4px -2px rgb(0 0 0 / .1);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}

@media(min-width:40rem){
  .sm\:col-span-2{grid-column:span 2/span 2}
  .sm\:grid-cols-\[140px_1fr_1fr\]{grid-template-columns:140px 1fr 1fr}
  .sm\:h-12{height:calc(var(--spacing) * 12)}
  .sm\:h-24{height:calc(var(--spacing) * 24)}
  .sm\:items-start{align-items:flex-start}
  .sm\:p-6{padding:calc(var(--spacing) * 6)}
  .sm\:py-18{padding-block:calc(var(--spacing) * 18)}
  .sm\:py-28{padding-block:calc(var(--spacing) * 28)}
  .sm\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}
  .sm\:w-12{width:calc(var(--spacing) * 12)}
  .sm\:w-24{width:calc(var(--spacing) * 24)}
  .sm\:w-auto{width:auto}
}
	@media(min-width:64rem){
	  .lg\:min-h-\[80vh\]{min-height:80vh}
	  .lg\:pt-14{padding-top:calc(var(--spacing) * 14)}
	  .lg\:py-12{padding-block:calc(var(--spacing) * 12)}
  .lg\:py-14{padding-block:calc(var(--spacing) * 14)}
  .lg\:py-16{padding-block:calc(var(--spacing) * 16)}
  .lg\:py-20{padding-block:calc(var(--spacing) * 20)}
  .lg\:py-24{padding-block:calc(var(--spacing) * 24)}
  .lg\:py-32{padding-block:calc(var(--spacing) * 32)}
  .lg\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}
  .lg\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}
	  .lg\:top-\[88px\]{top:88px}
	}

/* Typography refinements */
:root {
  --font-sans: "IBM Plex Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-serif: "IBM Plex Serif", Georgia, "Times New Roman", serif;
  --font-editorial: "IBM Plex Serif", Georgia, "Times New Roman", serif;
  --font-weight-black: 780;
  --spe-palette-navy: #0b2f4a;
  --spe-palette-ink: #0e1f2f;
  --spe-palette-deep: #04598a;
  --spe-palette-blue: #0678ba;
  --spe-palette-sky: #2789c2;
  --spe-palette-gold: #946d0a;
  --spe-palette-hero-gold: #f2c65a;
  --spe-palette-warm-gold: #8f611f;
  --spe-palette-calm-teal: #176f75;
  --spe-palette-warm-burgundy: #6b3b45;
  --spe-gradient-hero: linear-gradient(135deg, var(--spe-palette-navy) 0%, var(--spe-palette-deep) 50%, var(--spe-palette-blue) 100%);
  --spe-gradient-hero-dark: linear-gradient(135deg, var(--spe-palette-ink) 0%, var(--spe-palette-navy) 48%, var(--spe-palette-deep) 100%);
  --spe-gradient-soft: linear-gradient(135deg, rgba(11, 47, 74, 0.1) 0%, rgba(6, 120, 186, 0.05) 48%, var(--color-spe-paper) 100%);
  --color-spe-ink: var(--spe-palette-navy);
  --color-spe-deep2: var(--spe-palette-deep);
  --color-spe-deep: var(--spe-palette-blue);
  --color-spe-blue: var(--spe-palette-sky);
  --color-spe-gold: var(--spe-palette-gold);
  --color-spe-copper: var(--spe-palette-warm-gold);
  --color-spe-accent: var(--spe-palette-sky);
  --color-spe-teal: var(--spe-palette-calm-teal);
  --color-spe-burgundy: var(--spe-palette-warm-burgundy);
}

html,
body {
  font-family: var(--font-sans);
  letter-spacing: 0;
}

h1,
h2,
h3,
h4,
.font-serif,
.editorial-heading {
  letter-spacing: 0;
}

#main-content h1,
#main-content .editorial-heading {
  font-family: var(--font-editorial);
  font-weight: 760;
  line-height: 1.06;
}

#main-content > section:first-child h1,
#main-content section[class*="bg-gradient"] h1 {
  color: #fff;
}

#main-content h2,
#main-content h3,
#main-content h4 {
  font-weight: 640;
}

#main-content :is(
  .content-card,
  .news-card,
  .event-card,
  .podcast-card,
  .podcasts-card,
  .talks-card,
  .confreps-card,
  .dinners-card,
  .related-content-card,
  .speakers-hub-card,
  .reading-room-card,
  .search-card,
  [data-title]
) :is(h2, h3, h4),
#main-content .grid > a.group :is(h2, h3, h4) {
  display: block !important;
  overflow: visible !important;
  -webkit-line-clamp: initial !important;
  -webkit-box-orient: initial !important;
  font-family: var(--font-sans) !important;
  font-size: clamp(1.08rem, 1rem + 0.32vw, 1.2rem) !important;
  font-weight: 620 !important;
  line-height: 1.32 !important;
  letter-spacing: 0 !important;
}

#main-content :is(.books-card, .book-cover-card) :is(h2, h3, h4),
#main-content .grid > a.books-card.group :is(h2, h3, h4) {
  font-family: var(--font-sans) !important;
  font-size: clamp(0.96rem, 0.9rem + 0.22vw, 1.06rem) !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  overflow: visible !important;
  -webkit-line-clamp: initial !important;
}

#main-content :is(
  .content-card,
  .news-card,
  .event-card,
  .podcast-card,
  .podcasts-card,
  .talks-card,
  .confreps-card,
  .dinners-card,
  .related-content-card,
  .speakers-hub-card,
  .reading-room-card,
  .search-card,
  [data-title]
) time {
  letter-spacing: 0.08em;
}

#main-content :is(.news-card, .event-card, .content-card, .podcast-card) {
  border-radius: 0.625rem;
}

#main-content :is(.news-card, .event-card, .content-card, .podcast-card):hover {
  transform: translateY(-2px);
}

#main-content .section-label,
#main-content :is(p, span).text-spe-gold[class*="uppercase"][class*="tracking"],
#main-content :is(p, span).text-spe-copper[class*="uppercase"][class*="tracking"] {
  color: var(--spe-palette-warm-gold);
}

#main-content .section-label:before {
  background: var(--spe-palette-warm-gold);
}

#main-content > section:first-child[class*="bg-gradient"],
#main-content > section:first-child[style*="linear-gradient"],
#main-content > section:first-child > .absolute.inset-0[class*="bg-gradient"],
#main-content section[class*="from-spe-ink"][class*="via-spe-deep2"][class*="to-spe-deep"],
#main-content section[class*="from-spe-deep2"][class*="via-spe-blue"],
#main-content section[class*="from-spe-deep2"][class*="to-spe-accent"],
#main-content section[style*="#0c6e6e"],
#main-content section[style*="#1a3a5c"] {
  background: var(--spe-gradient-hero) !important;
  background-image: var(--spe-gradient-hero) !important;
}

#main-content [class*="from-spe-ink/10"][class*="via-spe-blue/5"],
#main-content [class*="from-spe-ink/8"][class*="via-spe-deep/4"],
#main-content [class*="from-spe-copper/"][class*="via-spe-gold/"],
#main-content [class*="from-spe-deep/15"][class*="via-spe-blue/8"] {
  background: var(--spe-gradient-soft) !important;
  background-image: var(--spe-gradient-soft) !important;
}

#main-content [class*="text-spe-copper"],
#main-content [class*="text-spe-accent"],
#main-content [class*="text-spe-burgundy"] {
  color: var(--color-spe-gold) !important;
}

#main-content [class*="text-spe-teal"] {
  color: var(--color-spe-deep) !important;
}

#main-content [class*="bg-spe-copper"],
#main-content [class*="bg-spe-accent"],
#main-content [class*="bg-spe-burgundy"] {
  background-color: var(--color-spe-gold) !important;
}

#main-content [class*="bg-spe-teal"] {
  background-color: var(--color-spe-deep) !important;
}

#main-content [class*="border-spe-copper"],
#main-content [class*="border-spe-accent"],
#main-content [class*="border-spe-burgundy"] {
  border-color: rgba(148, 109, 10, 0.35) !important;
}

#main-content > section:first-child div.inline-flex.items-center :is(
  [class*="text-spe-gold"],
  [class*="text-spe-copper"],
  [class*="text-spe-accent"]
),
#main-content section[class*="from-spe-ink"] div.inline-flex.items-center :is(
  [class*="text-spe-gold"],
  [class*="text-spe-copper"],
  [class*="text-spe-accent"]
),
#main-content section[style*="linear-gradient"] div.inline-flex.items-center :is(
  [class*="text-spe-gold"],
  [class*="text-spe-copper"],
  [class*="text-spe-accent"]
) {
  color: var(--spe-palette-hero-gold) !important;
  font-weight: 700 !important;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.28);
}

#main-content > section:first-child div.inline-flex.items-center > span:is(
  [class*="bg-spe-gold"],
  [class*="bg-spe-copper"],
  [class*="bg-spe-accent"]
),
#main-content section[class*="from-spe-ink"] div.inline-flex.items-center > span:is(
  [class*="bg-spe-gold"],
  [class*="bg-spe-copper"],
  [class*="bg-spe-accent"]
),
#main-content section[style*="linear-gradient"] div.inline-flex.items-center > span:is(
  [class*="bg-spe-gold"],
  [class*="bg-spe-copper"],
  [class*="bg-spe-accent"]
) {
  background-color: var(--spe-palette-hero-gold) !important;
  box-shadow: 0 0 14px rgba(242, 198, 90, 0.3);
  opacity: 1 !important;
}

#main-content .books-card:hover .home-book-cover {
  transform: translateY(-4px);
  box-shadow:
    0 4px 8px rgba(0, 0, 0, 0.08),
    0 12px 28px rgba(0, 0, 0, 0.1),
    0 20px 48px rgba(0, 0, 0, 0.06),
    -3px 0 6px rgba(0, 0, 0, 0.04) !important;
}

#main-content .books-card:hover .home-book-cover img {
  transform: scale(1.03);
}

/* CMS lede paragraphs read as a subtitle rather than plain body text. */
#main-content article p.intro,
#main-content .prose p.intro {
  font-family: "IBM Plex Serif", Georgia, serif;
  font-size: 1.3rem;
  line-height: 1.45;
  font-weight: 600;
  color: inherit;
}
