/* GANTRY5 DEVELOPMENT MODE ENABLED.
 *
 * WARNING: This file is automatically generated by Gantry5. Any modifications to this file will be lost!
 *
 * For more information on modifying CSS, please read:
 *
 * http://docs.gantry.org/gantry5/configure/styles
 * http://docs.gantry.org/gantry5/tutorials/adding-a-custom-style-sheet
 */

@charset "UTF-8";
/* ------------------------------------
   Fix Flow Parts – Design Tokens
------------------------------------ */
:root {
  /* Brand & core colors */
  --ffp-primary: #0F2A44;
  /* Deep navy */
  --ffp-primary-contrast: #FFFFFF;
  /* White on navy */
  --ffp-secondary: #2DA4DF;
  /* Light blue */
  --ffp-secondary-contrast: #0F172A;
  /* Dark text on light blue */
  /* Neutrals */
  --ffp-bg: #F8FAFC;
  /* Slate 50 */
  --ffp-surface: #FFFFFF;
  /* White */
  --ffp-text: #0F172A;
  /* Slate 900 */
  --ffp-muted: #6B7280;
  /* Gray 500 */
  --ffp-border: #E5E7EB;
  /* Gray 200 */
  /* Status / utility */
  --ffp-accent: #C2410C;
  /* Orange 700 */
  --ffp-success: #15803D;
  /* Green 700 */
  --ffp-danger: #DC2626;
  /* Red 600 */
  --ffp-warning: #EAB308;
  /* Yellow 500 */
}
/* ------------------------------------
   Global Typography & Base
------------------------------------ */
html {
  font-size: 16px;
  /* Base size for rems */
}
body {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1rem;
  /* 16px */
  line-height: 1.6;
  color: var(--ffp-text);
  background-color: var(--ffp-bg);
}
/* Headings: responsive, readable */
h1, .h1 {
  font-size: clamp(2.25rem, 3vw, 2.75rem);
  /* ~36–44px */
  line-height: 1.2;
  font-weight: 700;
  color: var(--ffp-primary);
}
h2, .h2 {
  font-size: clamp(1.75rem, 2.4vw, 2.1rem);
  /* ~28–34px */
  line-height: 1.25;
  font-weight: 700;
  color: var(--ffp-primary);
}
h3, .h3 {
  font-size: 1.375rem;
  /* 22px */
  line-height: 1.35;
  font-weight: 600;
}
p {
  margin-bottom: 0.9rem;
  font-size: 1rem;
  /* 16px */
}
/* Small / meta text */
.text-sm {
  font-size: 0.875rem;
  /* 14px */
}
.text-xs {
  font-size: 0.75rem;
  /* 12px – use sparingly */
}
/* ------------------------------------
   Links
------------------------------------ */
a {
  color: var(--ffp-primary);
  text-decoration: none;
}
a:hover, a:focus {
  color: #1A3A5E;
  /* Slightly brighter navy */
  text-decoration: underline;
}
/* ------------------------------------
   Buttons
------------------------------------ */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  padding: 0.7rem 1.3rem;
  border-radius: 999px;
  font-size: 0.9375rem;
  /* 15px */
  font-weight: 600;
  border: 1px solid transparent;
  cursor: pointer;
  text-decoration: none;
  line-height: 1.2;
  white-space: nowrap;
}
.btn-primary {
  background: var(--ffp-primary);
  color: var(--ffp-primary-contrast);
  border-color: var(--ffp-primary);
}
.btn-primary:hover, .btn-primary:focus {
  filter: brightness(1.08);
}
.btn-secondary {
  background: var(--ffp-secondary);
  color: var(--ffp-secondary-contrast);
  /* Dark slate text */
  border-color: #2195CF;
  /* Slightly darker edge */
}
.btn-secondary:hover, .btn-secondary:focus {
  filter: brightness(0.97);
}
/* Ghost / outline option if needed later */
.btn-outline {
  background: transparent;
  color: var(--ffp-primary);
  border-color: var(--ffp-border);
}
.btn-outline:hover, .btn-outline:focus {
  background: #E2E8F0;
}
/* ------------------------------------
   Badges / Pills
------------------------------------ */
.badge {
  display: inline-flex;
  align-items: center;
  padding: 0.15rem 0.6rem;
  border-radius: 999px;
  font-size: 0.75rem;
  /* 12px */
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.badge-accent {
  background: var(--ffp-accent);
  color: #fff;
}
.badge-success {
  background: var(--ffp-success);
  color: #fff;
}
.badge-danger {
  background: var(--ffp-danger);
  color: #fff;
}
.badge-warning {
  background: var(--ffp-warning);
  color: var(--ffp-text);
}
/* ------------------------------------
   Blog Hero Component
------------------------------------ */
.blog-hero {
  background: radial-gradient(circle at top left, rgba(45, 164, 223, 0.22), transparent 55%), var(--ffp-primary);
  color: var(--ffp-primary-contrast);
  padding: 2.5rem 1.25rem 2.75rem;
  border-bottom: 1px solid rgba(15, 23, 42, 0.3);
}
.blog-hero__inner {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  gap: 1.8rem;
}
.blog-hero__content {
  max-width: 700px;
}
.blog-hero__eyebrow {
  margin-bottom: 0.75rem;
}
.blog-hero__title {
  font-size: clamp(2.2rem, 3vw, 2.9rem);
  line-height: 1.15;
  font-weight: 700;
  margin: 0 0 0.75rem;
  color: #FFFFFF;
}
.blog-hero__subtitle {
  font-size: 1.05rem;
  line-height: 1.7;
  color: rgba(241, 245, 249, 0.95);
  /* soft light text */
  margin-bottom: 1.3rem;
}
.blog-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 1rem;
}
.blog-hero__meta {
  font-size: 0.875rem;
  color: rgba(226, 232, 240, 0.9);
}
/* Optional: secondary text block on the right (e.g., “Most popular guides”) */
.blog-hero__aside {
  font-size: 0.9rem;
  color: rgba(226, 232, 240, 0.9);
  border-left: 1px solid rgba(148, 163, 184, 0.4);
  padding-left: 1.25rem;
}
/* ------------------------------------
   Responsive Layout
------------------------------------ */
@media (min-width: 768px) {
  .blog-hero {
    padding: 3rem 1.75rem 3.25rem;
  }
  .blog-hero__inner {
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
    align-items: center;
  }
}
@media (min-width: 1024px) {
  .blog-hero {
    padding: 3.5rem 2rem 3.5rem;
  }
  .blog-hero__title {
    font-size: clamp(2.6rem, 2.7vw, 3rem);
  }
  .blog-hero__subtitle {
    font-size: 1.1rem;
  }
}
/* Blog Hero – image-friendly variant */
.blog-hero {
  background: radial-gradient(circle at top left, rgba(45, 164, 223, 0.22), transparent 55%), var(--ffp-primary);
  color: var(--ffp-primary-contrast);
  padding: 2.5rem 1.25rem 2.75rem;
  border-bottom: 1px solid rgba(15, 23, 42, 0.3);
}
.blog-hero__inner {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  gap: 1.8rem;
}
.blog-hero__content {
  max-width: 700px;
}
.blog-hero__eyebrow {
  margin-bottom: 0.75rem;
}
.blog-hero__title {
  font-size: clamp(2.2rem, 3vw, 2.9rem);
  line-height: 1.15;
  font-weight: 700;
  margin: 0 0 0.75rem;
  color: #FFFFFF;
}
.blog-hero__subtitle {
  font-size: 1.05rem;
  line-height: 1.7;
  color: rgba(241, 245, 249, 0.95);
  margin-bottom: 1.3rem;
}
.blog-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 1rem;
}
.blog-hero__meta {
  font-size: 0.875rem;
  color: rgba(226, 232, 240, 0.9);
}
/* Right side: image */
.blog-hero__illustration {
  display: flex;
  justify-content: center;
  align-items: center;
}
.blog-hero__illustration img {
  max-width: 100%;
  height: auto;
  border-radius: 1.25rem;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.45);
}
/* Responsive layout */
@media (min-width: 768px) {
  .blog-hero {
    padding: 3rem 1.75rem 3.25rem;
  }
  .blog-hero__inner {
    grid-template-columns: minmax(0, 3fr) minmax(0, 2.4fr);
    align-items: center;
  }
}
@media (min-width: 1024px) {
  .blog-hero {
    padding: 3.5rem 2rem 3.5rem;
  }
  .blog-hero__title {
    font-size: clamp(2.6rem, 2.7vw, 3rem);
  }
  .blog-hero__subtitle {
    font-size: 1.1rem;
  }
}
/* ------------------------------------
   Home layout: full-width main content
   (Sidebar & Aside hidden)
------------------------------------ */
/* Hide the empty side columns on the Home outline */
.home-sidebar-column, .home-aside-column {
  display: none !important;
}
/* Let the main column expand to full width */
.home-main-column {
  width: 100% !important;
  flex: 0 0 100% !important;
  /* for flex-based Gantry grids */
  max-width: 100% !important;
}
/* Make the entire Header band white with dark text */
#g-header {
  background: var(--ffp-surface) !important;
  /* white */
  color: var(--ffp-text) !important;
  /* dark slate text */
}
/* Blog intro section inside the header */
.ffp-section--intro {
  background: transparent;
  /* use header's white background */
  color: var(--ffp-text);
  padding: 2.5rem 1.5rem;
  margin: 0;
  /* no extra card margin */
}
.ffp-section--intro .ffp-section__inner {
  max-width: 900px;
  margin: 0 auto;
}
/* Center just the heading text */
.ffp-section--intro h2, .ffp-section--intro h2.h2 {
  color: var(--ffp-primary);
  text-align: center;
  margin-bottom: 0.75rem;
}
/* Body text stays left-aligned, dark, readable */
.ffp-section--intro p {
  color: var(--ffp-text);
}
#eb .eb-mod-media-title {
  font-size: 21px !important;
  line-height: 28px !important;
}
.guides-view-all-wrapper {
  text-align: right;
  margin-top: 0.5rem;
}
/* View all guides link – styled to match brand buttons */
.guides-view-all-link {
  font-size: 1.25rem;
  /* nice and visible */
  font-weight: 600;
  text-decoration: none;
  display: inline-block;
  padding: 0.25rem 0;
  letter-spacing: 0.03em;
  color: var(--ffp-primary);
  /* deep navy */
  border-bottom: 2px solid transparent;
  transition: color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}
.guides-view-all-link:hover, .guides-view-all-link:focus {
  color: var(--ffp-secondary);
  /* light blue on hover */
  border-color: var(--ffp-secondary);
  transform: translateX(2px);
  /* subtle nudge to the right */
}
/* Latest Guides module title */
.ffp-home-subscribe-form .jl-h4, .latest-articles-module .jl-h4, .latest-guides-module .jl-h4 {
  font-size: 2rem;
  /* bigger */
  font-weight: 800;
  /* bolder */
  letter-spacing: 0.08em;
  /* spaced out */
  margin-bottom: 1rem;
  color: var(--ffp-primary);
  /* deep navy on light blue */
}
.guides-view-all-wrapper {
  margin-top: 1.5rem;
  /* reduce or increase as needed */
  margin-right: 2.5rem;
  /* pull it in from the right edge a bit */
}
/* ------------------------------------
   Legal / Policy pages
------------------------------------ */
.ffp-section--legal {
  background: var(--ffp-bg);
  /* soft light background */
  color: var(--ffp-text);
  padding: 3rem 1.5rem;
}
.ffp-section--legal .ffp-section__inner {
  max-width: 900px;
  margin: 0 auto;
}
/* Title + meta */
.ffp-legal__title {
  color: var(--ffp-primary);
  text-align: left;
  margin-bottom: 0.25rem;
}
.ffp-legal__meta {
  color: var(--ffp-muted);
  font-size: 0.9rem;
  margin-bottom: 1.5rem;
}
.ffp-legal__note {
  margin-bottom: 1rem;
}
.ffp-legal__disclaimer {
  margin: 1.25rem 0 2rem;
  padding: 1rem 1.25rem;
  border-left: 4px solid var(--ffp-warning);
  background: #fef9c3;
  /* light yellow-ish, pairs with warning */
  color: var(--ffp-text);
}
/* Headings inside the policy */
.ffp-legal__heading {
  color: var(--ffp-primary);
  margin-top: 2rem;
  margin-bottom: 0.75rem;
}
.ffp-legal__subheading {
  color: var(--ffp-text);
  font-weight: 600;
  margin-top: 1.5rem;
  margin-bottom: 0.5rem;
}
/* Lists and paragraphs */
.ffp-legal p {
  line-height: 1.7;
  margin-bottom: 0.75rem;
}
.ffp-legal ul, .ffp-legal ol {
  padding-left: 1.25rem;
  margin-bottom: 0.75rem;
}
.ffp-legal li {
  margin-bottom: 0.25rem;
}
/* Links */
.ffp-legal a {
  color: var(--ffp-primary);
  text-decoration: underline;
}
.ffp-legal a:hover {
  color: #1A3A5E;
  /* slightly brighter navy */
}
/* Contact block */
.ffp-legal__contact {
  margin-top: 1rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--ffp-border);
}
/* Category pill under Latest Articles cards */
.mod-post-type {
  display: inline-flex;
  align-items: center;
  padding: 0.3rem 0.9rem;
  margin-top: 0.6rem;
  margin-bottom: 0.5rem;
  background: var(--ffp-primary);
  /* deep navy */
  color: var(--ffp-primary-contrast);
  /* white */
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}
/* just in case any links sneak back in someday */
.mod-post-type a {
  color: inherit;
  text-decoration: none;
}
.mod-post-type a:hover {
  color: inherit;
}
.mod-post-type {
  /* keep your existing styles, just tweak margins a bit */
  margin-top: 0.5rem;
  margin-bottom: 0.25rem;
  /* was 0.5rem */
}
.mod-post-type {
  /* keep your existing settings, just adjust: */
  font-size: 0.8rem;
  /* a touch smaller */
  letter-spacing: 0.08em;
  /* slightly less wide */
}
/* ------------------------------------
   Author bio – Fix Flow Parts
------------------------------------ */
.ffp-author-bio {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.25rem 1.5rem;
  margin-top: 2rem;
  border-radius: 0.75rem;
  background: var(--ffp-bg);
  /* #F8FAFC */
  border: 1px solid var(--ffp-border);
  /* #E5E7EB */
}
.ffp-author-bio__avatar {
  flex: 0 0 auto;
  width: 3rem;
  height: 3rem;
  border-radius: 999px;
  background: var(--ffp-primary);
  /* deep navy */
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.2);
}
.ffp-author-bio__initials {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ffp-primary-contrast);
  /* white */
}
.ffp-author-bio__content {
  flex: 1 1 auto;
}
.ffp-author-bio__name {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  color: var(--ffp-primary);
  /* navy */
}
.ffp-author-bio__role {
  margin: 0.1rem 0 0.6rem;
  font-size: 0.85rem;
  color: var(--ffp-muted);
  /* slate/muted */
}
.ffp-author-bio__text {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.7;
  color: var(--ffp-text);
  /* main body text */
}
/* Optional: stack nicely on small screens */
@media (max-width: 600px) {
  .ffp-author-bio {
    flex-direction: row;
    align-items: flex-start;
  }
}
/* ------------------------------------
   EasyBlog "Stay Informed" subscribe box
------------------------------------ */
/* Outer card wrapper */
.eb-subscribe-form {
  max-width: 900px;
  margin: 2.5rem auto;
  padding: 0;
  /* inner handles padding */
  /* kill EasyBlog's background image / watermark */
  background: transparent !important;
  background-image: none !important;
}
/* Inner card */
.eb-subscribe-form__inner {
  background: var(--ffp-bg) !important;
  /* #F8FAFC */
  border-radius: 0.75rem !important;
  border: 1px solid var(--ffp-border) !important;
  /* #E5E7EB */
  padding: 2rem 2.5rem !important;
  text-align: left;
  box-shadow: none !important;
  background-image: none !important;
}
/* Title */
.eb-subscribe-form__title {
  font-size: 1.5rem;
  font-weight: 800;
  margin-bottom: 0.75rem;
  color: var(--ffp-primary);
  /* deep navy */
}
/* Description */
.eb-subscribe-form p {
  margin-bottom: 1rem;
  color: var(--ffp-text);
}
/* Form groups */
.eb-subscribe-form .form-group {
  margin-bottom: 0.75rem;
}
/* Inputs */
.eb-subscribe-form .form-control {
  max-width: 320px;
  width: 100%;
  padding: 0.55rem 0.75rem;
  border-radius: 0.35rem;
  border: 1px solid var(--ffp-border);
  font-size: 0.95rem;
  color: var(--ffp-text);
}
/* Button */
.eb-subscribe-form .btn.btn-primary.btn-block {
  display: inline-block;
  width: auto;
  margin-top: 0.75rem;
  padding: 0.6rem 1.75rem;
  border-radius: 999px;
}
/* Kill EasyBlog watermark behind subscribe box */
/* In case the watermark is drawn with ::before/::after */
[data-subscribe-cta]::before, [data-subscribe-cta]::after, .eb-subscribe-form::before, .eb-subscribe-form::after {
  content: none !important;
  display: none !important;
  background: none !important;
  background-image: none !important;
}
/* Make the band a flex container and center the card */
[data-subscribe-cta] {
  display: flex;
  flex-direction: column;
  /* in case EasyBlog adds other elements later */
  align-items: center;
  /* horizontally center children */
  justify-content: center;
  /* vertically center within the band */
  margin: 3rem 0;
  padding: 3rem 0;
  background: linear-gradient(180deg, #ECF7FF 0%, #E1F2FF 100%) !important;
}
/* Card wrapper */
.eb-subscribe-form {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  /* extra safety */
  padding: 0;
  background: transparent !important;
}
/* Inner white card */
.eb-subscribe-form__inner {
  background: #ffffff !important;
  border-radius: 1rem !important;
  border: 1px solid rgba(15, 42, 68, 0.06) !important;
  padding: 2.25rem 2.75rem !important;
  text-align: center;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.15) !important;
}
/* Title */
.eb-subscribe-form__title {
  font-size: 1.7rem;
  font-weight: 800;
  margin-bottom: 0.75rem;
  color: var(--ffp-primary);
}
/* Description text */
.eb-subscribe-form p {
  font-size: 0.98rem;
  max-width: 520px;
  margin: 0 auto 1.25rem;
  color: var(--ffp-text);
}
/* Fields + button */
.eb-subscribe-form .form-group, .eb-subscribe-form .form-control {
  margin-left: auto;
  margin-right: auto;
}
.eb-subscribe-form .form-control {
  max-width: 320px;
  width: 100%;
  padding: 0.55rem 0.75rem;
  border-radius: 0.35rem;
  border: 1px solid var(--ffp-border);
  font-size: 0.95rem;
}
.eb-subscribe-form .btn.btn-primary.btn-block {
  display: inline-block;
  width: auto;
  margin-top: 1rem;
  padding: 0.6rem 1.75rem;
  border-radius: 999px;
}
/* Mobile tweaks */
@media (max-width: 600px) {
  [data-subscribe-cta] {
    margin: 2.5rem 0;
    padding: 2.25rem 0;
  }
  .eb-subscribe-form__inner {
    padding: 1.75rem 1.5rem !important;
  }
}
/* ------------------------------------
   Home – Subscribe band (Expanded section)
------------------------------------ */
/* Entire Expanded band on Home (limit with body class if needed later) */
#g-expanded {
  /* light brand band */
  background: linear-gradient(180deg, #ECF7FF 0%, #E1F2FF 100%);
  padding: 3rem 0;
}
/* Inner two-column layout – make sure columns line up nicely */
.ffp-home-subscribe-form-block, .ffp-home-subscribe-visual-block {
  display: flex;
  align-items: center;
}
/* Left side – EasyBlog Subscription form */
.ffp-home-subscribe-form-block {
  justify-content: flex-end;
}
/* Right side – visual/text */
.ffp-home-subscribe-visual-block {
  justify-content: flex-start;
}
/* Limit width and layout inside the module instance */
.ffp-home-subscribe-form {
  width: 100%;
}
.ffp-home-subscribe-form .eb-subscribe-form__inner {
  background: #ffffff !important;
  border-radius: 1rem !important;
  border: 1px solid rgba(15, 42, 68, 0.06) !important;
  padding: 2rem 2.5rem !important;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.18);
  text-align: left;
}
/* Tidy heading + text inside the module */
.ffp-home-subscribe-form .eb-subscribe-form__title {
  font-size: 1.5rem;
  font-weight: 800;
  margin-bottom: 0.5rem;
  color: var(--ffp-primary);
}
.ffp-home-subscribe-form p {
  margin-bottom: 1rem;
  color: var(--ffp-text);
}
/* Inputs and button inside banner version */
.ffp-home-subscribe-form .form-control {
  max-width: 100%;
  margin-bottom: 0.75rem;
}
.ffp-home-subscribe-form .btn.btn-primary.btn-block {
  width: auto;
  padding: 0.6rem 1.75rem;
  border-radius: 999px;
}
/* Right side – text + image */
.ffp-home-subscribe-visual {
  width: 100%;
}
.ffp-home-subscribe-visual__inner {
  max-width: 460px;
  margin: 0 auto;
}
.ffp-home-subscribe-visual__badge {
  display: inline-block;
  padding: 0.2rem 0.7rem;
  border-radius: 999px;
  background: var(--ffp-secondary);
  color: var(--ffp-secondary-contrast);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 0.5rem;
}
.ffp-home-subscribe-visual__title {
  font-size: 1.6rem;
  font-weight: 800;
  margin: 0 0 0.5rem;
  color: var(--ffp-primary);
}
.ffp-home-subscribe-visual__text {
  margin: 0 0 1rem;
  color: var(--ffp-text);
  line-height: 1.6;
}
.ffp-home-subscribe-visual__image {
  margin-top: 1rem;
}
.ffp-home-subscribe-visual__image img {
  max-width: 320px;
  height: auto;
  display: block;
}
/* Responsive stacking */
@media (max-width: 960px) {
  #g-expanded {
    padding: 2.5rem 0;
  }
  .ffp-home-subscribe-form-block, .ffp-home-subscribe-visual-block {
    justify-content: center;
    margin-bottom: 1.75rem;
  }
  .ffp-home-subscribe-visual__inner {
    text-align: center;
  }
  .ffp-home-subscribe-visual__image img {
    margin: 0 auto;
  }
}
/* -----------------------------------
   Fix Flow Parts – Article styling
----------------------------------- */
.ffp-article {
  font-size: 1rem;
  line-height: 1.7;
  color: var(--ffp-text);
}
.ffp-article h1, .ffp-article h2, .ffp-article h3 {
  color: var(--ffp-primary);
  font-weight: 800;
  margin-top: 1.75rem;
  margin-bottom: 0.75rem;
}
.ffp-article h1 {
  font-size: 2rem;
}
.ffp-article h2 {
  font-size: 1.4rem;
}
.ffp-article h3 {
  font-size: 1.15rem;
}
.ffp-article p {
  margin: 0 0 1rem;
}
.ffp-article ul, .ffp-article ol {
  margin: 0 0 1rem 1.25rem;
  padding: 0;
}
.ffp-article li {
  margin-bottom: 0.4rem;
}
/* Lead paragraph */
.ffp-lead {
  font-size: 1.05rem;
  font-weight: 500;
  color: var(--ffp-text);
  margin-bottom: 1.5rem;
}
/* Callouts */
.ffp-callout {
  border-radius: 0.75rem;
  padding: 0.85rem 1rem;
  margin: 1rem 0 1.25rem;
  border: 1px solid var(--ffp-border);
  background: var(--ffp-bg);
  font-size: 0.95rem;
}
.ffp-callout strong {
  font-weight: 700;
}
/* Tip / success */
.ffp-callout--tip {
  border-color: rgba(21, 128, 61, 0.25);
  background: #ecfdf3;
}
/* Warning */
.ffp-callout--warning {
  border-color: rgba(234, 179, 8, 0.4);
  background: #fef9c3;
}
/* Danger */
.ffp-callout--danger {
  border-color: rgba(220, 38, 38, 0.4);
  background: #fef2f2;
}
/* Checklist block */
.ffp-checklist {
  border-radius: 0.75rem;
  padding: 1rem 1.1rem;
  margin: 1.5rem 0;
  background: #ffffff;
  border: 1px solid var(--ffp-border);
}
.ffp-checklist h3 {
  margin-top: 0;
  font-size: 1.1rem;
}
.ffp-checklist ul {
  margin-left: 1.1rem;
}
/* Small “pro tip” label style */
.ffp-label-tip {
  display: inline-block;
  padding: 0.15rem 0.5rem;
  border-radius: 999px;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  background: var(--ffp-secondary);
  color: var(--ffp-secondary-contrast);
  margin-bottom: 0.4rem;
}
.ffp-footer-about p {
  margin: 0 0 0.6rem;
}
.ffp-footer-disclosure {
  font-size: 0.9rem;
  opacity: 0.9;
  /* a touch softer than body text */
}
.ffp-eb-disclosure {
  text-align: center;
  font-size: 0.95rem;
  margin-top: 0.5rem;
  /* small gap under breadcrumb */
  margin-bottom: 2.5rem;
  /* bigger gap before the H1 */
  opacity: 0.9;
}
.ffp-eb-disclosure strong {
  text-transform: none;
  /* keep "Disclosure:" in normal case */
  letter-spacing: 0.03em;
  /* tiny bit of emphasis, optional */
}
@media (max-width: 767px) {
  /* Stack the kit cards in a single column on mobile */
  .grid.grid--3 {
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 767px) {
  .ffp-cards__grid.grid.grid--3 {
    grid-template-columns: 1fr !important;
  }
}
@media (min-width: 960px) {
  .jl-section {
    padding-top: 5px;
    padding-bottom: 70px;
  }
}
/* In custom.scss, AFTER the original rule */
em {
  color: #db3645;
  /* higher-contrast red */
  font-style: italic;
}
.ffp-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
/* Inline affiliate links inside article content */
.ffp-article a.ffp-affiliate-link-inline {
  color: #0F2A44;
  /* your primary navy or another branded link color */
  font-weight: 600;
  text-decoration: underline;
  /* always look like links */
}
.ffp-article a.ffp-affiliate-link-inline:hover, .ffp-article a.ffp-affiliate-link-inline:focus {
  text-decoration: none;
  border-bottom: 2px solid #0F2A44;
  /* subtle hover cue */
}
.ffp-part-link-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.45rem 1.1rem;
  border-radius: 999px;
  background: var(--ffp-primary);
  color: #ffffff !important;
  /* keep text white */
  border: 1px solid var(--ffp-primary);
  font-size: 0.95rem;
  font-weight: 600;
  text-decoration: none !important;
  /* avoid underlines */
  white-space: nowrap;
  transition: background 0.15s ease, transform 0.1s ease, box-shadow 0.15s ease;
}
.ffp-part-link-btn:hover, .ffp-part-link-btn:focus-visible, .ffp-part-link-btn:active {
  background: #092036;
  /* slightly darker navy */
  color: #2DA4DF !important;
  /* override global a:hover */
  text-decoration: none !important;
  transform: translateY(-1px);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18);
}
/* Keyboard focus outline for accessibility */
.ffp-part-link-btn:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 2px;
}
/* If a table cell is very tight, help center the button visually */
td .ffp-part-link-btn {
  margin: 0.15rem 0;
}
/*# sourceMappingURL=custom_33.css.map */