/*
 * American Book Founders brand layer
 * Kept separate from the recovered source styles so the original layout remains
 * maintainable and brand changes are centralised here.
 */
:root {
  --abf-navy: #02234c;
  --abf-navy-deep: #011a39;
  --abf-blue: #123b70;
  --abf-red: #c8141d;
  --abf-red-dark: #991018;
  --abf-soft: #fff7f7;
  --switchable-theme-color: var(--abf-red) !important;
  --combinated-color: var(--abf-navy) !important;
  --primary: var(--abf-red) !important;
}

html body {
  color: var(--abf-navy-deep);
}

a { color: var(--abf-red); }
a:hover, a:focus { color: var(--abf-red-dark); }

/* The recovered home design uses these local variables for its key colour. */
.wa-hero, .wa-header, .wa-footer, .wa-faq, .wa-services,
.wa-testimonials, .wa-portfolio, .wa-process, .wa-about {
  --wah-orange: var(--abf-red) !important;
  --wah-navy: var(--abf-navy) !important;
  --wah-navy-deep: var(--abf-navy-deep) !important;
}

/* Primary actions and form submits. */
.wa-top-cta, .wa-btn-solid, .wa-btn--primary, .btn-1, .btn-3,
.as-btn, .newcontact, .cta-btns a, .offr-frm button,
.contact-us-form-section button, .manuscript .btn-1,
.package-form button, button[type="submit"], input[type="submit"] {
  background: linear-gradient(135deg, #c8141d 0%, #e12b33 100%) !important;
  background-color: var(--abf-red) !important;
  border-color: var(--abf-red) !important;
  color: #fff !important;
}

.wa-top-cta:hover, .wa-btn-solid:hover, .wa-btn--primary:hover,
.btn-1:hover, .btn-3:hover, .as-btn:hover, .newcontact:hover,
.cta-btns a:hover, .offr-frm button:hover,
.contact-us-form-section button:hover, .manuscript .btn-1:hover,
.package-form button:hover, button[type="submit"]:hover,
input[type="submit"]:hover {
  background: linear-gradient(135deg, #991018 0%, #c8141d 100%) !important;
  background-color: var(--abf-red-dark) !important;
  border-color: var(--abf-red-dark) !important;
}

/* Navy surfaces keep the original hierarchy but match the ABF mark. */
.wa-header, .wa-footer, .wa-dark-section, .wa-hero-dark, .wa-ftr {
  background: linear-gradient(135deg, #011a39 0%, #02234c 55%, #123b70 100%) !important;
  background-color: var(--abf-navy) !important;
}

/* Shared navigation and footer: derived directly from the ABF logo palette. */
#wa-header, #wa-drawer {
  --wa-navy: var(--abf-navy) !important;
  --wa-navy-deep: var(--abf-navy-deep) !important;
  --wa-orange: var(--abf-red) !important;
  --wa-orange-dark: var(--abf-red-dark) !important;
}
#wa-header .wa-main {
  background: linear-gradient(105deg, #ffffff 0%, #ffffff 68%, #fff2f3 100%) !important;
  border-bottom: 3px solid var(--abf-red) !important;
}
#wa-header .wa-link, #wa-header .wa-brand, #wa-header .wa-caret {
  color: var(--abf-navy) !important;
}
#wa-header .wa-link:hover, #wa-header .wa-link:focus,
#wa-header .wa-item:hover > .wa-link, #wa-header .wa-caret:hover,
#wa-header .wa-overview, #wa-header .wa-panel a:hover {
  color: var(--abf-red) !important;
}
#wa-header .wa-panel, #wa-header .wa-drop, #wa-drawer {
  border-color: rgba(2, 35, 76, .16) !important;
}
.wa-ftr, .wa-ftr a, .wa-ftr p, .wa-ftr span, .wa-ftr li {
  color: #fff !important;
}

/* Hero and section overlays use the mark's navy-to-red energy without reducing readability. */
.wa-pintro, .inner-banner, .banner, .banner-sec, .wa-hero-dark {
  background-image: linear-gradient(120deg, rgba(1, 26, 57, .96) 0%, rgba(2, 35, 76, .9) 58%, rgba(200, 20, 29, .78) 100%) !important;
}

/* Use the same blue-gradient language on every service hero and CTA. */
.wa-shero, .wa-cta, .wa-dark-section, .wa-hero-dark,
.blue-bg, .bg-blue, .section-blue, .dark-bg {
  background:
    radial-gradient(720px 360px at 100% 0, rgba(200, 20, 29, .18), transparent 62%),
    linear-gradient(135deg, #011a39 0%, #02234c 55%, #123b70 100%) !important;
}
.wa-shero::before, .wa-cta::before {
  background-image: radial-gradient(rgba(255,255,255,.075) 1px, transparent 1.5px) !important;
}
.wa-shero h1, .wa-shero h2, .wa-shero h3, .wa-shero p,
.wa-cta h1, .wa-cta h2, .wa-cta h3, .wa-cta p,
.wa-shero-sub, .wa-cta-sub, .wa-cta-kicker {
  color: #fff !important;
}
.wa-shero .wa-shero-primary, .wa-cta .wa-cta-primary {
  background: linear-gradient(135deg, #c8141d 0%, #e12b33 100%) !important;
  border-color: #c8141d !important;
}

/* Homepage Creative Excellence controls use inline SVG, so they remain visible
   even if an icon font fails to load. */
.wa-gal-btn {
  color: var(--abf-navy) !important;
  background: #fff !important;
  border: 2px solid rgba(2, 35, 76, .2) !important;
}
.wa-gal-btn svg {
  display: none !important;
}
.wa-gal-btn[data-gal-prev]::after,
.wa-gal-btn[data-gal-next]::after {
  display: block;
  font-family: Arial, sans-serif;
  font-size: 31px;
  font-weight: 300;
  line-height: 1;
  transform: translateY(-2px);
}
.wa-gal-btn[data-gal-prev]::after { content: '\2039'; }
.wa-gal-btn[data-gal-next]::after { content: '\203A'; }

.abf-form-notice {
  margin: 14px 0 0 !important;
  padding: 12px 14px !important;
  border-left: 4px solid var(--abf-red) !important;
  border-radius: 6px !important;
  background: #fff3f4 !important;
  color: var(--abf-navy) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

/* Single shared ABF layout for every standard static page. */
.abf-site-header, .abf-site-header * { box-sizing: border-box; }
.abf-site-header {
  position: relative;
  z-index: 1000;
  background: linear-gradient(105deg, #ffffff 0%, #ffffff 66%, #edf3fd 100%);
  border-bottom: 3px solid var(--abf-red);
  box-shadow: 0 5px 20px rgba(2, 35, 76, .09);
}
.abf-header-inner {
  width: min(1320px, calc(100% - 40px));
  min-height: 112px;
  margin: auto;
  display: flex;
  align-items: center;
  gap: 42px;
}
.abf-site-logo { display: inline-flex; flex: none; }
.abf-site-logo img { display: block; width: 205px; height: auto; background: #fff; border-radius: 4px; }
.abf-site-nav { display: flex; align-items: center; justify-content: center; gap: 20px; flex: 1; padding: 0 14px; }
.abf-site-nav a { color: var(--abf-navy) !important; font-size: 14px; font-weight: 700; white-space: nowrap; text-decoration: none; }
.abf-site-nav a:hover, .abf-site-nav a:focus { color: var(--abf-red) !important; }
.abf-header-cta { display: inline-flex; align-items: center; justify-content: center; padding: 12px 20px; border-radius: 6px; color: #fff !important; font-weight: 700; text-decoration: none; white-space: nowrap; background: linear-gradient(135deg, #c8141d, #e12b33); box-shadow: 0 8px 18px rgba(200,20,29,.22); }
.abf-site-footer, .abf-site-footer * { box-sizing: border-box; }
.abf-site-footer { margin-top: 0; color: #fff; background: linear-gradient(135deg, #011a39 0%, #02234c 55%, #123b70 100%); }
.abf-footer-inner { width: min(1320px, calc(100% - 40px)); margin: auto; display: grid; grid-template-columns: 1.35fr 1fr 1.15fr; gap: 48px; padding: 58px 0 44px; }
.abf-footer-brand img { width: 180px; max-width: 100%; height: auto; display: block; background: #fff; border-radius: 4px; margin-bottom: 18px; }
.abf-footer-brand p, .abf-footer-contact p { margin: 0; color: rgba(255,255,255,.78) !important; font-size: 14px; line-height: 1.7; }
.abf-footer-links, .abf-footer-contact { display: flex; flex-direction: column; align-items: flex-start; gap: 11px; }
.abf-footer-links strong, .abf-footer-contact strong { color: #fff; margin-bottom: 6px; font-size: 17px; }
.abf-site-footer a { color: rgba(255,255,255,.86) !important; font-size: 14px; text-decoration: none; }
.abf-site-footer a:hover, .abf-site-footer a:focus { color: #fff !important; text-decoration: underline; text-decoration-color: var(--abf-red); text-underline-offset: 4px; }
.abf-footer-bottom { width: min(1320px, calc(100% - 40px)); margin: auto; padding: 20px 0; display: flex; justify-content: space-between; gap: 18px; border-top: 1px solid rgba(255,255,255,.18); color: rgba(255,255,255,.68); font-size: 13px; }
.abf-footer-bottom span:last-child { display: flex; flex-wrap: wrap; gap: 16px; }
@media (max-width: 1050px) { .abf-header-inner { gap: 20px; }.abf-site-nav { gap: 13px; padding: 0 6px; }.abf-site-nav a { font-size: 13px; }.abf-site-logo img { width: 178px; } }
@media (max-width: 820px) { .abf-header-inner { width: min(100% - 28px, 620px); padding: 16px 0; min-height: 0; flex-wrap: wrap; justify-content: space-between; }.abf-site-nav { order: 3; flex-basis: 100%; justify-content: flex-start; overflow-x: auto; padding-bottom: 4px; }.abf-footer-inner { grid-template-columns: 1fr 1fr; gap: 34px; }.abf-footer-brand { grid-column: 1 / -1; } }
@media (max-width: 540px) { .abf-site-logo img { width: 150px; }.abf-header-cta { padding: 10px 13px; font-size: 13px; }.abf-site-nav { gap: 16px; }.abf-footer-inner { grid-template-columns: 1fr; gap: 28px; padding: 42px 0 32px; }.abf-footer-brand { grid-column: auto; }.abf-footer-bottom { flex-direction: column; }.abf-footer-bottom span:last-child { gap: 11px; } }
.wa-gal-btn:hover, .wa-gal-btn:focus-visible {
  color: #fff !important;
  background: linear-gradient(135deg, #c8141d, #e12b33) !important;
  border-color: #c8141d !important;
  outline: none;
}
.wa-heading-accent, .spanheadingred, .spanheadingred *, .text-orange, .orange-text {
  background: linear-gradient(90deg, #c8141d 0%, #e12b33 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
}

/* Policy pages: long-form copy is presented as a focused, readable document. */
.wa-policy-clean {
  padding: 76px 0 !important;
  background:
    radial-gradient(circle at 100% 0, rgba(200, 20, 29, .09), transparent 30%),
    linear-gradient(180deg, #f7faff 0%, #fff7f7 100%) !important;
}
.wa-policy-clean .privacy {
  max-width: 980px !important;
}
.wa-policy-clean .text-center h4 {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--abf-navy) !important;
  font-size: clamp(30px, 4vw, 42px) !important;
  line-height: 1.18 !important;
  letter-spacing: -.025em;
  margin: 0 0 34px !important;
}
.wa-policy-clean .text-center h4::after {
  content: '';
  width: 42px;
  height: 4px;
  border-radius: 99px;
  background: linear-gradient(90deg, var(--abf-red), #ee4a51);
}
.wa-policy-clean .term-text {
  background: #fff;
  border: 1px solid rgba(2, 35, 76, .10);
  border-top: 5px solid var(--abf-red);
  border-radius: 16px;
  box-shadow: 0 18px 48px rgba(2, 35, 76, .10);
  padding: clamp(26px, 5vw, 54px);
}
.wa-policy-clean .term-text h2 {
  position: relative;
  color: var(--abf-navy) !important;
  font-size: clamp(18px, 2.3vw, 22px) !important;
  line-height: 1.3 !important;
  letter-spacing: -.01em;
  margin: 38px 0 15px !important;
  padding: 0 0 11px 16px;
  border-bottom: 1px solid #e6ebf2;
}
.wa-policy-clean .term-text h2::before {
  content: '';
  position: absolute;
  left: 0;
  top: 2px;
  bottom: 12px;
  width: 5px;
  border-radius: 8px;
  background: linear-gradient(180deg, var(--abf-red), #ef5960);
}
.wa-policy-clean .term-text h2:first-child {
  margin-top: 30px !important;
}
.wa-policy-clean .term-text p {
  color: #35445c !important;
  font-size: 16px !important;
  line-height: 1.85 !important;
  margin: 0 0 15px !important;
}
.wa-policy-clean .term-text > p:first-child {
  color: var(--abf-navy) !important;
  font-size: 17px !important;
  font-weight: 600;
  line-height: 1.75 !important;
  background: #f5f8fd;
  border-radius: 10px;
  padding: 18px 20px;
  margin-bottom: 30px !important;
}
.wa-policy-clean .term-text a {
  color: var(--abf-red) !important;
  font-weight: 700;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
@media (max-width: 575px) {
  .wa-policy-clean { padding: 48px 0 !important; }
  .wa-policy-clean .term-text { padding: 24px 20px; border-radius: 12px; }
  .wa-policy-clean .text-center h4 { display: flex; flex-direction: column; gap: 10px; }
  .wa-policy-clean .term-text p { font-size: 15px !important; line-height: 1.78 !important; }
}
.wa-ftr a:hover, .wa-ftr a:focus {
  color: #fff !important;
  text-decoration-color: var(--abf-red) !important;
}

/* Keep copy readable on the charcoal and red theme surfaces. */
.wa-header, .wa-header a, .wa-header p, .wa-header span,
.wa-footer, .wa-footer a, .wa-footer p, .wa-footer span,
.wa-dark-section, .wa-dark-section h1, .wa-dark-section h2,
.wa-dark-section h3, .wa-dark-section h4, .wa-dark-section p,
.wa-hero-dark, .wa-hero-dark h1, .wa-hero-dark h2,
.wa-hero-dark h3, .wa-hero-dark p,
.info-boxes, .info-boxes h1, .info-boxes h2, .info-boxes h3,
.info-boxes h4, .info-boxes h5, .info-boxes h6, .info-boxes p {
  color: #fff !important;
}

.wa-heading-accent, .wa-feature-kicker, .section-subtitle,
.text-orange, .orange-text, .highlight, .required {
  color: var(--abf-red) !important;
}

input:focus, textarea:focus, select:focus {
  border-color: var(--abf-red) !important;
  box-shadow: 0 0 0 .15rem rgba(200, 20, 29, .16) !important;
}

/* The supplied logo has a white canvas: preserve its proportions everywhere. */
img[src*="abf-logo.png"] {
  background: #fff;
  border-radius: 4px;
  box-sizing: border-box;
  object-fit: contain;
  object-position: center;
  padding: 3px;
}

header img[src*="abf-logo.png"], .header img[src*="abf-logo.png"],
.wa-header img[src*="abf-logo.png"] {
  width: 205px !important;
  height: auto !important;
  max-width: 56vw;
}

/* The actual shared navigation uses an ID rather than the .wa-header class. */
#wa-header .wa-brand img[src*="abf-logo.png"],
#wa-header.wa-stuck .wa-brand img[src*="abf-logo.png"] {
  width: 205px !important;
  height: auto !important;
  max-width: 56vw !important;
}

/* Shared header: make room for the larger ABF logo on every standard page. */
#wa-header .wa-main-in {
  min-height: 112px !important;
  height: auto !important;
}

footer img[src*="abf-logo.png"], .footer img[src*="abf-logo.png"],
.wa-footer img[src*="abf-logo.png"] {
  width: 180px !important;
  height: auto !important;
}

/* Replacement for the missing recovered press-logo sprite. */
.wa-press-wordmark {
  display: block;
  color: #34435c;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: 1;
  opacity: .68;
  transition: color .25s ease, opacity .25s ease, transform .25s ease;
}
.wa-press-wordmark--bbc { font-family: Georgia, serif; font-weight: 700; letter-spacing: .12em; }
.wa-press-wordmark--esquire { font-family: Georgia, serif; font-size: 21px; font-style: italic; font-weight: 700; }
.wa-press-wordmark--lat { font-family: Georgia, serif; font-size: 16px; font-weight: 700; }
.wa-press-wordmark--inc { font-family: Georgia, serif; font-size: 24px; font-weight: 700; }
.wa-press-wordmark--politico { font-family: Georgia, serif; font-size: 19px; font-weight: 800; letter-spacing: .03em; }
.wa-press-logos li:hover .wa-press-wordmark {
  color: var(--abf-navy);
  opacity: 1;
  transform: translateY(-2px);
}

@media (max-width: 575px) {
  header img[src*="abf-logo.png"], .header img[src*="abf-logo.png"],
  .wa-header img[src*="abf-logo.png"] {
    width: 160px !important;
  }
  #wa-header .wa-brand img[src*="abf-logo.png"],
  #wa-header.wa-stuck .wa-brand img[src*="abf-logo.png"] {
    width: 160px !important;
  }
  #wa-header .wa-main-in { min-height: 82px !important; }
}
/* The shared ABF footer replaces the copied template footer on standard pages. */
footer:not(.abf-site-footer) {
  display: none !important;
}

/* Approved shared standard-page layout. The 56 standard pages already carry
   the copied Westwood header/footer markup; expose that one approved layout
   and suppress only the temporary duplicate ABF wrapper. The special offers
   page has neither wrapper and is therefore not affected. */
.abf-site-header,
.abf-site-footer { display: none !important; }
footer.wa-ftr { display: block !important; }
#wa-header .wa-topbar { display: none !important; }
.call-icon-for-mob { display: none !important; }
.bd-example-modal-lg1 { display: none !important; }
.wa-ftr {
  background: linear-gradient(135deg, #011a39 0%, #02234c 55%, #123b70 100%) !important;
}
.wa-ftr-contact a:hover, .wa-ftr-contact svg,
.wa-ftr-social a:hover, .wa-ftr-links a::before,
.wa-ftr-legal a:hover { color: var(--abf-red) !important; }
.wa-ftr-social a:hover { background: var(--abf-red) !important; border-color: var(--abf-red) !important; }
.wa-ftr-links a::before { background: var(--abf-red) !important; }
.wa-ftr-social { display: none !important; }
.whf-card .whf-title { color: var(--abf-navy) !important; -webkit-text-fill-color: var(--abf-navy) !important; }
.whf-card .whf-sub { color: #4b5263 !important; -webkit-text-fill-color: #4b5263 !important; }

/* Shared service-page ABF accents for recovered inline sections. */
.wa-story-num, .wa-story-title em, .wa-exp-title em, .wa-exp-list li::before,
.wa-proc-title em, .wa-proc-num, .wa-faq-title em,
.wa-faq-q:hover, .wa-faq-item.wa-open .wa-faq-q,
.wa-faq-a-in li::marker { color: var(--abf-red) !important; -webkit-text-fill-color: var(--abf-red) !important; }
.wa-exp-list li::before { background: var(--abf-red) !important; }
.wa-story-primary, .wa-faq-chat, .wa-faq-item.wa-open .wa-faq-ico {
  background: linear-gradient(135deg, #c8141d, #e12b33) !important;
  border-color: var(--abf-red) !important; color: #fff !important;
}
.wa-story-primary:hover, .wa-faq-chat:hover {
  background: linear-gradient(135deg, #991018, #c8141d) !important;
  border-color: var(--abf-red-dark) !important;
}
.wa-popup-close:hover { background: var(--abf-red) !important; }
.wa-testi-card:hover { border-color: var(--abf-red) !important; }
.wa-testi-quote-ico {
  background: #fff2f3 !important;
  color: var(--abf-red) !important;
}
#entry-popup .wa-popup-close:hover {
  background: var(--abf-red) !important;
  color: #fff !important;
}

/* Video Trailers: clean native-player gallery with predictable placement. */
.book-trailer {
  padding: 72px 0 !important;
  background: #fff !important;
}
.book-trailer .txtwrp {
  max-width: 880px;
  margin: 0 auto 34px;
  text-align: center;
}
.book-trailer .txtwrp .main-heading { color: var(--abf-red) !important; }
.book-trailer .txtwrp .main-pera { margin: 14px auto 0; color: #566277; }
.book-trailer ul.row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 26px;
  margin: 0;
}
.book-trailer ul.row > li {
  width: 100%;
  max-width: none;
  padding: 0;
  margin: 0;
}
.book-trailer li video {
  display: block;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9;
  object-fit: contain;
  background: #071c38;
}
@media (min-width: 768px) {
  .book-trailer ul.row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 992px) {
  .book-trailer ul.row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .book-trailer { padding: 52px 0 !important; }
  .book-trailer ul.row { gap: 20px; }
}

#wa-header a[href*="featured-authors"],
#wa-header a[href*="manuscript-upload"],
#wa-drawer a[href*="featured-authors"],
#wa-drawer a[href*="manuscript-upload"],
.wa-ftr a[href*="featured-authors"],
.wa-ftr a[href*="manuscript-upload"] { display: none !important; }

/* Homepage prototype: retain the copied Westwood layout, with ABF identity. */
body.abf-home-prototype .abf-site-header,
body.abf-home-prototype .abf-site-footer { display: none !important; }
body.abf-home-prototype #wa-header .wa-topbar { display: none !important; }
body.abf-home-prototype .wa-ftr { display: block !important; }
body.abf-home-prototype #wa-header a[href*="featured-authors"],
body.abf-home-prototype #wa-header a[href*="manuscript-upload"],
body.abf-home-prototype #wa-drawer a[href*="featured-authors"],
body.abf-home-prototype #wa-drawer a[href*="manuscript-upload"],
body.abf-home-prototype .wa-ftr a[href*="featured-authors"],
body.abf-home-prototype .wa-ftr a[href*="manuscript-upload"],
body.abf-home-prototype .wa-ftr a[href*="facebook"],
body.abf-home-prototype .wa-ftr a[href*="instagram"] { display: none !important; }

/* Homepage: preserve the copied section layouts while replacing their remaining
   inherited orange/charcoal accents with the approved ABF palette. */
body.abf-home-prototype .wa-hero,
body.abf-home-prototype .wa-cta,
body.abf-home-prototype .wa-why,
body.abf-home-prototype .wa-final {
  background:
    radial-gradient(760px 400px at 88% -15%, rgba(200, 20, 29, .20), transparent 60%),
    radial-gradient(600px 380px at -5% 115%, rgba(18, 59, 112, .26), transparent 55%),
    linear-gradient(135deg, #011a39 0%, #02234c 55%, #123b70 100%) !important;
}
body.abf-home-prototype .wa-hero-badge,
body.abf-home-prototype .wa-hero h1 em,
body.abf-home-prototype .wa-cta-kicker,
body.abf-home-prototype .wa-cta-title em,
body.abf-home-prototype .wa-story-title em,
body.abf-home-prototype .wa-story-num,
body.abf-home-prototype .wa-why-title em,
body.abf-home-prototype .wa-why-icon {
  color: var(--abf-red) !important;
  -webkit-text-fill-color: var(--abf-red) !important;
}
body.abf-home-prototype .wa-story-media::before { background: #fff2f3 !important; }
body.abf-home-prototype .wa-story-media::after {
  background: radial-gradient(var(--abf-red) 2px, transparent 2.5px) !important;
}
body.abf-home-prototype .wa-why-icon {
  background: rgba(200, 20, 29, .16) !important;
  border-color: rgba(200, 20, 29, .35) !important;
}
body.abf-home-prototype .wa-cta-primary,
body.abf-home-prototype .wa-story-primary {
  background: linear-gradient(135deg, #c8141d 0%, #e12b33 100%) !important;
  border-color: var(--abf-red) !important;
  color: #fff !important;
  box-shadow: 0 14px 30px -10px rgba(200, 20, 29, .5) !important;
}
body.abf-home-prototype .wa-cta-primary:hover,
body.abf-home-prototype .wa-story-primary:hover {
  background: linear-gradient(135deg, #991018 0%, #c8141d 100%) !important;
  border-color: var(--abf-red-dark) !important;
}
body.abf-home-prototype .wa-story-ghost {
  border-color: var(--abf-navy) !important;
  color: var(--abf-navy) !important;
}
body.abf-home-prototype .wa-story-ghost:hover {
  background: var(--abf-navy) !important;
  border-color: var(--abf-navy) !important;
  color: #fff !important;
}
body.abf-home-prototype .wa-final-solid {
  color: var(--abf-navy) !important;
  background: #fff !important;
  border-color: #fff !important;
}
body.abf-home-prototype .wa-final-solid:hover {
  color: #fff !important;
  background: var(--abf-red) !important;
  border-color: var(--abf-red) !important;
}
body.abf-home-prototype .wa-final-ghost:hover { color: var(--abf-red) !important; }
body.abf-home-prototype .whf-card {
  --whf-orange: var(--abf-red) !important;
  --whf-orange-dark: var(--abf-red-dark) !important;
  --whf-navy: var(--abf-navy) !important;
  --whf-ink: var(--abf-navy-deep) !important;
}

/* Creative Excellence, service grid, and FAQ: copied homepage UI with ABF accents. */
body.abf-home-prototype .wa-gal-title,
body.abf-home-prototype .wa-serv-title,
body.abf-home-prototype .wa-faq-title,
body.abf-home-prototype .wa-serv-name,
body.abf-home-prototype .wa-faq-q {
  color: var(--abf-navy) !important;
  -webkit-text-fill-color: var(--abf-navy) !important;
}
body.abf-home-prototype .wa-gal-title em,
body.abf-home-prototype .wa-serv-title em,
body.abf-home-prototype .wa-faq-title em,
body.abf-home-prototype .wa-serv-name svg,
body.abf-home-prototype .wa-faq-q:hover,
body.abf-home-prototype .wa-faq-item.wa-open .wa-faq-q,
body.abf-home-prototype .wa-faq-a-in li::marker {
  color: var(--abf-red) !important;
  -webkit-text-fill-color: var(--abf-red) !important;
}
body.abf-home-prototype .wa-serv-item:hover { border-color: var(--abf-red) !important; }
body.abf-home-prototype .wa-serv-media::before {
  background: conic-gradient(var(--abf-red) 0deg 80deg, #e5e8ef 80deg 360deg) !important;
}
body.abf-home-prototype .wa-serv-item:hover .wa-serv-name { color: var(--abf-red) !important; }
body.abf-home-prototype .wa-faq-chat,
body.abf-home-prototype .wa-faq-item.wa-open .wa-faq-ico {
  background: linear-gradient(135deg, #c8141d 0%, #e12b33 100%) !important;
  border-color: var(--abf-red) !important;
  color: #fff !important;
  box-shadow: 0 14px 30px -10px rgba(200, 20, 29, .5) !important;
}
body.abf-home-prototype .wa-faq-chat:hover {
  background: linear-gradient(135deg, #991018 0%, #c8141d 100%) !important;
  border-color: var(--abf-red-dark) !important;
}

/* The legacy press sprite was not recovered. Provide accessible wordmarks so
   every publication remains visible without claiming a replacement graphic. */
body.abf-home-prototype .wa-press-logos .logo-icon-sprite {
  display: inline-flex !important;
  width: auto !important;
  height: auto !important;
  min-height: 30px;
  align-items: center;
  background: none !important;
  color: var(--abf-navy) !important;
  filter: none !important;
  opacity: .72 !important;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: .02em;
}
body.abf-home-prototype .wa-press-logos .logo-icon-sprite::after { display: block; }
body.abf-home-prototype .wa-press-logos .logo-icon-sprite-news-logo-1::after { content: 'NBC'; }
body.abf-home-prototype .wa-press-logos .logo-icon-sprite-news-logo-2::after { content: 'BBC'; }
body.abf-home-prototype .wa-press-logos .logo-icon-sprite-news-logo-3::after { content: 'ESQUIRE'; }
body.abf-home-prototype .wa-press-logos .logo-icon-sprite-news-logo-4::after { content: 'FORBES'; }
body.abf-home-prototype .wa-press-logos .logo-icon-sprite-news-logo-5::after { content: 'LOS ANGELES TIMES'; font-size: 13px; }
body.abf-home-prototype .wa-press-logos .logo-icon-sprite-news-logo-6::after { content: 'INC.'; }
body.abf-home-prototype .wa-press-logos .logo-icon-sprite-news-logo-7::after { content: 'NEWSWEEK'; font-size: 15px; }
body.abf-home-prototype .wa-press-logos .logo-icon-sprite-news-logo-8::after { content: 'POLITICO'; font-size: 15px; }

/* Service-page press sections use the same recovered-but-missing sprite. */
.wa-press-logos .logo-icon-sprite {
  display: inline-flex !important; width: auto !important; height: auto !important;
  min-height: 30px; align-items: center; background: none !important;
  color: var(--abf-navy) !important; filter: none !important; opacity: .72 !important;
  font-family: Georgia, 'Times New Roman', serif; font-size: 18px; font-weight: 700;
}
.wa-press-logos .logo-icon-sprite-news-logo-1::after { content: 'NBC'; }
.wa-press-logos .logo-icon-sprite-news-logo-2::after { content: 'BBC'; }
.wa-press-logos .logo-icon-sprite-news-logo-3::after { content: 'ESQUIRE'; }
.wa-press-logos .logo-icon-sprite-news-logo-4::after { content: 'FORBES'; }
.wa-press-logos .logo-icon-sprite-news-logo-5::after { content: 'LOS ANGELES TIMES'; font-size: 13px; }
.wa-press-logos .logo-icon-sprite-news-logo-6::after { content: 'INC.'; }
.wa-press-logos .logo-icon-sprite-news-logo-7::after { content: 'NEWSWEEK'; font-size: 15px; }
.wa-press-logos .logo-icon-sprite-news-logo-8::after { content: 'POLITICO'; font-size: 15px; }

/* The final conversion band is intentionally ABF red, with high-contrast CTAs. */
body.abf-home-prototype .wa-final {
  background:
    radial-gradient(700px 380px at 15% -25%, rgba(255,255,255,.18), transparent 60%),
    linear-gradient(135deg, #991018 0%, #c8141d 52%, #e12b33 100%) !important;
}
body.abf-home-prototype .wa-final-solid {
  color: var(--abf-navy) !important;
  background: #fff !important;
  border-color: #fff !important;
}
body.abf-home-prototype .wa-final-solid:hover {
  color: #fff !important;
  background: var(--abf-navy) !important;
  border-color: var(--abf-navy) !important;
}
body.abf-home-prototype .wa-final-ghost {
  color: #fff !important;
  border-color: rgba(255,255,255,.75) !important;
}
body.abf-home-prototype .wa-final-ghost:hover {
  color: var(--abf-navy) !important;
  background: #fff !important;
  border-color: #fff !important;
}
