/* ==========================================================================
   Financial Guardian 2026 — theme styles (Bootstrap 5.3.8)
   --------------------------------------------------------------------------
   1. Tokens          5. Front page        9.  Contact Form 7
   2. Base & type     6. Inner pages       10. WordPress core classes
   3. Buttons         7. Legacy components 11. Footer
   4. Header          8. BS3 compatibility 12. Motion & utilities
   ========================================================================== */

/* ---------- 1. Tokens ---------- */
:root {
  /* Brand palette */
  --fg-green-dark: #026c3e;
  --fg-green: #65c18c;
  --fg-green-pale: #dcf7e1;
  /* Derived shades */
  --fg-green-deep: #01502e;     /* hover states */
  --fg-green-ink: #0b3a22;      /* text on #65c18c (AA contrast) */
  --fg-ink: #1f2a24;            /* body text */
  --fg-muted: #4f5d55;
  --fg-line: #d6e6db;
  --fg-mist: #f4fbf6;           /* very light green panels */
  --fg-white: #ffffff;
  --fg-danger: #b42318;

  --fg-radius: 1rem;
  --fg-radius-sm: .6rem;
  --fg-shadow: 0 1px 2px rgba(2, 60, 34, .06), 0 8px 24px rgba(2, 60, 34, .08);
  --fg-shadow-lg: 0 2px 4px rgba(2, 60, 34, .06), 0 18px 40px rgba(2, 60, 34, .14);

  /* Same font stack as the logo and the original site */
  --fg-font-body: "Segoe UI", Helvetica, sans-serif;
  --fg-font-head: "Segoe UI Semilight", "Segoe UI", Helvetica, sans-serif;

  /* Bootstrap overrides */
  --bs-body-font-family: var(--fg-font-body);
  --bs-body-font-size: 1rem;
  --bs-body-line-height: 1.6;
  --bs-body-color: var(--fg-ink);
  --bs-body-bg: var(--fg-white);
  --bs-emphasis-color: var(--fg-ink);
  --bs-secondary-color: var(--fg-muted);
  --bs-link-color: var(--fg-green-dark);
  --bs-link-color-rgb: 2, 108, 62;
  --bs-link-hover-color: var(--fg-green-deep);
  --bs-link-hover-color-rgb: 1, 80, 46;
  --bs-border-color: var(--fg-line);
  --bs-primary: var(--fg-green-dark);
  --bs-primary-rgb: 2, 108, 62;
  --bs-success: var(--fg-green-dark);
  --bs-success-rgb: 2, 108, 62;
  --bs-focus-ring-color: rgba(101, 193, 140, .45);
}

/* ---------- 2. Base & type ---------- */
body.fg-theme {
  font-family: var(--fg-font-body);
  color: var(--fg-ink);
  background: var(--fg-white);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.fg-theme h1, .fg-theme h2, .fg-theme h3,
.fg-theme .h1, .fg-theme .h2, .fg-theme .h3, .fg-theme .fg-display {
  font-family: var(--fg-font-head);
  font-weight: 350;            /* Segoe UI Semilight; falls back to Light/Regular */
  letter-spacing: -0.01em;
  line-height: 1.2;
  color: var(--fg-green-dark);
}
.fg-theme h4, .fg-theme h5, .fg-theme h6 { font-weight: 600; color: var(--fg-ink); }
.fg-theme a { text-underline-offset: .2em; }
.fg-theme :focus-visible {
  outline: 3px solid var(--fg-green);
  outline-offset: 3px;
  border-radius: 4px;
}
.fg-theme ::selection { background: var(--fg-green-pale); color: var(--fg-ink); }
.fg-theme img { max-width: 100%; height: auto; }

.fg-skip {
  position: absolute; left: 1rem; top: -4rem; z-index: 2000;
  background: var(--fg-green-dark); color: #fff; padding: .6rem 1rem; border-radius: .5rem;
  transition: top .2s;
}
.fg-skip:focus { top: 1rem; color: #fff; }

.fg-eyebrow {
  display: inline-flex; align-items: center; gap: .5rem;
  font-size: .8rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
  color: var(--fg-green-dark);
}
.fg-eyebrow::before { content: ""; width: 1.5rem; height: 2px; background: currentColor; border-radius: 2px; }

/* ---------- 3. Buttons ---------- */
.fg-btn-primary, .btn-primary, .btn-success {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--fg-green-dark);
  --bs-btn-border-color: var(--fg-green-dark);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--fg-green-deep);
  --bs-btn-hover-border-color: var(--fg-green-deep);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--fg-green-deep);
  --bs-btn-active-border-color: var(--fg-green-deep);
  --bs-btn-disabled-bg: var(--fg-green-dark);
  --bs-btn-disabled-border-color: var(--fg-green-dark);
  --bs-btn-focus-shadow-rgb: 101, 193, 140;
  --bs-btn-font-weight: 600;
  --bs-btn-padding-x: 1.4rem;
  --bs-btn-padding-y: .7rem;
  --bs-btn-border-radius: 999px;
}
.fg-btn-outline, .btn-default, .btn-outline-primary {
  --bs-btn-color: var(--fg-green-dark);
  --bs-btn-bg: transparent;
  --bs-btn-border-color: var(--fg-green-dark);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--fg-green-dark);
  --bs-btn-hover-border-color: var(--fg-green-dark);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--fg-green-deep);
  --bs-btn-active-border-color: var(--fg-green-deep);
  --bs-btn-focus-shadow-rgb: 101, 193, 140;
  --bs-btn-font-weight: 600;
  --bs-btn-padding-x: 1.4rem;
  --bs-btn-padding-y: .7rem;
  --bs-btn-border-radius: 999px;
}
.fg-btn-ghost {
  --bs-btn-color: var(--fg-green-ink);
  --bs-btn-border-color: var(--fg-green-ink);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--fg-green-dark);
  --bs-btn-hover-border-color: var(--fg-green-dark);
  --bs-btn-font-weight: 600;
  --bs-btn-padding-x: 1.4rem;
  --bs-btn-padding-y: .7rem;
  --bs-btn-border-radius: 999px;
}
.fg-btn-call {
  --bs-btn-color: var(--fg-green-dark);
  --bs-btn-bg: var(--fg-green-pale);
  --bs-btn-border-color: transparent;
  --bs-btn-hover-color: var(--fg-green-ink);
  --bs-btn-hover-bg: var(--fg-green);
  --bs-btn-hover-border-color: var(--fg-green);
  --bs-btn-active-color: var(--fg-green-ink);
  --bs-btn-active-bg: var(--fg-green);
  --bs-btn-font-weight: 700;
  --bs-btn-border-radius: 999px;
  --bs-btn-padding-x: 1.1rem;
  white-space: nowrap;
  align-items: center;
}
.btn-lg { --bs-btn-padding-x: 1.8rem; --bs-btn-padding-y: .85rem; }
.btn-sm, .btn-xs { --bs-btn-padding-x: .9rem; --bs-btn-padding-y: .35rem; }

/* ---------- 4. Header (dark green so the white-text logo shows) ---------- */
.fg-header {
  background: var(--fg-green-dark);
  border-bottom: 1px solid transparent;
  transition: box-shadow .25s, border-color .25s;
  z-index: 1030;
}
.fg-header.is-scrolled { box-shadow: 0 6px 20px rgba(1, 50, 29, .25); border-bottom-color: var(--fg-green-deep); }
.fg-header .navbar {
  --bs-navbar-padding-y: 0;
  --bs-navbar-brand-padding-y: 0;
  --bs-navbar-brand-margin-end: 0;
  background: transparent; border: 0; margin: 0; min-height: 0; border-radius: 0;
}
.fg-header.is-scrolled .navbar { --bs-navbar-padding-y: 0; }
.fg-header .navbar-brand { padding: 0; margin-right: 1rem; }

/* Logo — the existing SVG, inline (see inc/template-tags.php) */
.fg-logo { display: block; line-height: 0; }
.fg-logo svg, img.fg-logo { display: block; height: 100px; width: auto; max-width: 100%; transition: height .25s; }
.fg-header.is-scrolled .fg-logo svg, .fg-header.is-scrolled img.fg-logo { height: 72px; }
/* Strapline "helping you out of debt" is black in the file: show it pale green on the dark header */
.fg-logo-inline .st1 { fill: var(--fg-green-pale); stroke: none; }

.fg-header .navbar-nav { --bs-nav-link-padding-y: .5rem; margin: 0; }
.fg-header .nav-link {
  --bs-nav-link-color: #fff;
  --bs-nav-link-hover-color: var(--fg-green-pale);
  --bs-navbar-active-color: #fff;
  color: #fff;
  font-weight: 600;
  padding-inline: .9rem !important;
  position: relative;
  background: transparent !important;
}
.fg-caret { font-size: .75em; margin-left: .25rem; display: inline-block; transition: transform .2s; }
.fg-header .nav-link.show .fg-caret { transform: rotate(180deg); }
@media (min-width: 992px) {
  .fg-header .nav-link::after {
    content: ""; position: absolute; left: .9rem; right: .9rem; bottom: .15rem;
    height: 3px; background: var(--fg-green); border-radius: 2px;
    transform: scaleX(0); transform-origin: left; transition: transform .25s;
    border: 0; margin: 0; vertical-align: 0;  /* neutralise Bootstrap's dropdown caret */
  }
  .fg-header .nav-link:hover::after,
  .fg-header .nav-link.active::after,
  .fg-header .current-menu-item > .nav-link::after,
  .fg-header .current-menu-ancestor > .nav-link::after { transform: scaleX(1); }
}
.fg-header .dropdown-toggle::after { border: 0; }
.fg-header .dropdown-menu {
  --bs-dropdown-border-color: var(--fg-line);
  --bs-dropdown-border-radius: var(--fg-radius-sm);
  --bs-dropdown-link-color: var(--fg-ink);
  --bs-dropdown-link-hover-color: var(--fg-green-dark);
  --bs-dropdown-link-hover-bg: var(--fg-green-pale);
  --bs-dropdown-link-active-color: #fff;
  --bs-dropdown-link-active-bg: var(--fg-green-dark);
  --bs-dropdown-item-padding-y: .55rem;
  box-shadow: var(--fg-shadow-lg);
  padding: .5rem;
  min-width: 17rem;
}
.fg-header .dropdown-item { border-radius: .4rem; font-weight: 500; white-space: normal; }
.fg-header .nav-link.show, .fg-header .nav-link.active, .fg-header .nav-link:focus { color: #fff; }
.fg-header .nav-link:hover { color: var(--fg-green-pale); }
.fg-header .navbar-toggler { border: 0; padding: .3rem .45rem; color: #fff; font-size: 1.9rem; line-height: 1; }
.fg-header .navbar-toggler:focus { box-shadow: none; }
.fg-header :focus-visible { outline-color: var(--fg-green-pale); box-shadow: none; }
.fg-header .navbar-right { margin-left: .5rem; }
.fg-header .top-phone { display: inline-flex; }

@media (max-width: 991.98px) {
  .fg-header .navbar-collapse { border-top: 1px solid rgba(255,255,255,.18); margin-top: .6rem; padding: .4rem 0 .8rem; }
  .fg-header .nav-link { padding-block: .7rem; }
  .fg-header .dropdown-menu {
    --bs-dropdown-bg: transparent;
    --bs-dropdown-link-color: rgba(255,255,255,.9);
    --bs-dropdown-link-hover-color: #fff;
    --bs-dropdown-link-hover-bg: rgba(255,255,255,.1);
    --bs-dropdown-link-active-bg: rgba(255,255,255,.16);
    --bs-dropdown-divider-bg: rgba(255,255,255,.18);
    box-shadow: none; border: 0; padding: 0 0 0 .75rem; min-width: 0;
  }
  .fg-header .navbar-brand { margin-right: .5rem; }
  .fg-logo svg, img.fg-logo { width: min(58vw, 270px); height: auto; max-height: 72px; }
  .fg-header.is-scrolled .fg-logo svg, .fg-header.is-scrolled img.fg-logo { height: auto; max-height: 52px; }
}
.fg-no-menu .fg-header .navbar { --bs-navbar-padding-y: 0; }

/* ---------- 5. Front page ---------- */
.fg-hero { position: relative; background: var(--fg-green); color: var(--fg-ink); }
.fg-hero h1 {
  color: var(--fg-green-ink);
  font-size: clamp(2.3rem, 5vw, 3.9rem);
  font-weight: 350;
  line-height: 1.08;
}
.fg-hero h1 em {
  font-style: normal;
  background: linear-gradient(transparent 62%, var(--fg-green-pale) 62%, var(--fg-green-pale) 92%, transparent 92%);
  padding-inline: .08em;
}
.fg-hero .fg-lead { font-size: clamp(1.05rem, 1.6vw, 1.22rem); color: #12261b; max-width: 36rem; line-height: 1.6; }
.fg-hero .fg-eyebrow { color: var(--fg-green-ink); }
.fg-trust { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.fg-trust li {
  display: inline-flex; align-items: center; gap: .45rem;
  font-size: .85rem; font-weight: 600; color: var(--fg-green-ink);
  padding: .4rem .8rem; border-radius: 999px;
  background: rgba(255,255,255,.45); border: 1px solid rgba(2,108,62,.25);
}
.fg-trust i { color: var(--fg-green-dark); }
.fg-hero-photo {
  margin: 0; border-radius: calc(var(--fg-radius) * 1.4); overflow: hidden;
  box-shadow: 0 20px 45px rgba(1, 50, 29, .28);
  border: 6px solid rgba(255,255,255,.55);
}
.fg-hero-photo img { display: block; width: 100%; height: auto; aspect-ratio: 815 / 544; object-fit: cover; }

.fg-notice {
  position: relative; z-index: 2; margin-top: -2.5rem;
  background: #fff; border-radius: var(--fg-radius);
  box-shadow: var(--fg-shadow-lg); border-left: 5px solid var(--fg-green-dark);
}
.fg-notice-icon {
  flex: 0 0 3rem; width: 3rem; height: 3rem; border-radius: 50%;
  display: grid; place-items: center;
  background: var(--fg-green-pale); color: var(--fg-green-dark); font-size: 1.35rem;
}
.fg-notice h2 { font-size: 1.2rem; margin-bottom: .25rem; }
.fg-notice p { color: var(--fg-muted); }

.fg-section { padding-block: clamp(3.5rem, 8vw, 6rem); }
.fg-section-sand { background: var(--fg-green-pale); }
.fg-section-title { font-size: clamp(1.9rem, 3.6vw, 2.75rem); line-height: 1.15; }
.fg-section-sub { color: var(--fg-muted); font-size: 1.1rem; max-width: 40rem; }

.fg-card {
  --bs-card-border-color: var(--fg-line);
  --bs-card-border-radius: var(--fg-radius);
  --bs-card-bg: #fff;
  height: 100%;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s;
}
.fg-card:hover, .fg-card:focus-within { transform: translateY(-4px); box-shadow: var(--fg-shadow-lg); border-color: transparent; }
.fg-card .card-body { padding: 1.6rem; display: flex; flex-direction: column; }
.fg-card-icon {
  width: 3.1rem; height: 3.1rem; border-radius: .85rem;
  display: grid; place-items: center; font-size: 1.4rem;
  background: var(--fg-green-pale); color: var(--fg-green-dark);
  margin-bottom: 1.1rem; transition: background .25s, color .25s;
}
.fg-card:hover .fg-card-icon { background: var(--fg-green-dark); color: #fff; }
.fg-theme .fg-card h3 { font-size: 1.4rem; margin-bottom: .6rem; line-height: 1.25; }
.fg-card p { color: var(--fg-muted); font-size: .97rem; line-height: 1.6; }
.fg-card .fg-warning {
  font-size: .82rem; color: var(--fg-ink);
  background: var(--fg-green-pale); border-radius: .5rem; padding: .55rem .7rem;
  border-left: 3px solid var(--fg-green);
}
.fg-card-link { margin-top: auto; padding-top: .75rem; font-weight: 700; text-decoration: none; color: var(--fg-green-dark); display: inline-block; align-self: flex-start; }
.fg-card-link i { display: inline-block; margin-left: .3rem; transition: transform .2s; }
.fg-card-link:hover i { transform: translateX(4px); }
.fg-card-link.stretched-link::after { border-radius: var(--fg-radius); }
.fg-card-featured { --bs-card-bg: var(--fg-green-dark); --bs-card-border-color: var(--fg-green-dark); color: #fff; }
.fg-theme .fg-card-featured h3 { color: #fff; }
.fg-card-featured p { color: rgba(255,255,255,.85); }
.fg-card-featured .fg-card-icon { background: rgba(220,247,225,.16); color: var(--fg-green-pale); }
.fg-card-featured:hover .fg-card-icon { background: var(--fg-green-pale); color: var(--fg-green-dark); }
.fg-card-featured .fg-card-link { color: var(--fg-green-pale); }
.fg-card-featured .fg-warning { background: rgba(255,255,255,.1); color: #fff; border-left-color: var(--fg-green); }

.fg-photo {
  border-radius: calc(var(--fg-radius) * 1.4);
  min-height: 340px; height: 100%;
  background-color: var(--fg-green-dark);
  background-image: var(--fg-photo, none),
    radial-gradient(circle at 30% 30%, rgba(220,247,225,.5), transparent 55%),
    linear-gradient(135deg, var(--fg-green) 0%, var(--fg-green-dark) 100%);
  background-size: cover; background-position: center;
  position: relative; overflow: hidden; box-shadow: var(--fg-shadow-lg);
}
.fg-photo-caption {
  position: absolute; left: 1rem; bottom: 1rem; right: 1rem;
  background: rgba(255,255,255,.94); border-radius: .75rem;
  padding: .8rem 1rem; font-size: .9rem; color: var(--fg-ink);
  display: flex; gap: .7rem; align-items: center;
}
.fg-photo-caption i { color: var(--fg-green-dark); font-size: 1.3rem; }
.fg-values { list-style: none; padding: 0; margin: 0; display: grid; gap: 1rem; }
.fg-values li { display: flex; gap: .9rem; align-items: flex-start; }
.fg-values i {
  flex: 0 0 2.2rem; height: 2.2rem; border-radius: 50%;
  display: grid; place-items: center; font-size: 1rem;
  background: #fff; color: var(--fg-green-dark);
}
.fg-values strong { display: block; color: var(--fg-green-dark); }
.fg-values span { color: var(--fg-muted); font-size: .95rem; }
.fg-talk, .fg-contact-panel {
  background: #fff; border: 1px solid var(--fg-line);
  border-radius: var(--fg-radius); padding: 1.5rem;
  display: flex; flex-direction: column; gap: 1rem;
  box-shadow: var(--fg-shadow);
}
.fg-theme .fg-talk h3, .fg-theme .fg-contact-panel h2, .fg-theme .fg-entry .fg-contact-panel h2 { font-size: 1.35rem; margin: 0 0 .3rem; }
.fg-talk p, .fg-contact-panel p { color: var(--fg-muted); margin: 0; }
.fg-contact-panel { margin: 2rem 0; max-width: 46rem; }
.fg-full-width .fg-contact-panel { margin: 2.5rem auto; width: min(46rem, 100% - 1.5rem); }
@media (max-width: 991.98px) { .fg-notice { margin-top: -1.5rem; } }

/* ---------- 6. Inner pages ---------- */
.fg-main { padding-block: clamp(2rem, 5vw, 3.5rem) clamp(3rem, 6vw, 5rem); }
.fg-entry { font-size: 1.04rem; }
.fg-entry > :first-child { margin-top: 0; }
/* Content pages: the page's first heading sits level with the top of the sidebar */
.fg-main #content .fg-entry > p:empty { display: none; }
.fg-theme .fg-main #content .fg-entry > h1:first-of-type,
.fg-theme .fg-main #content .fg-archive-title {
  margin-top: 0; font-weight: 600; line-height: 1.1;
  font-family: "Segoe UI Semibold", "Segoe UI", Helvetica, sans-serif;
}
.fg-theme .fg-entry h1, .fg-theme .fg-archive-title { font-size: clamp(2rem, 4vw, 2.8rem); margin-bottom: 1.25rem; }
.fg-theme .fg-entry h2 { font-size: clamp(1.5rem, 2.6vw, 1.95rem); margin: 2rem 0 .75rem; }
.fg-theme .fg-entry h3 { font-size: 1.35rem; margin: 1.6rem 0 .6rem; text-transform: none; }
.fg-entry h4 { font-size: 1.1rem; margin: 1.4rem 0 .5rem; }
.fg-entry p, .fg-entry li { color: #2b362f; }
.fg-entry ul, .fg-entry ol { padding-left: 1.3rem; }
.fg-entry li { margin-bottom: .35rem; }
.fg-entry ul li::marker { color: var(--fg-green-dark); }
.fg-entry a:not(.btn) { font-weight: 600; }
.fg-entry blockquote {
  margin: 1.5rem 0; padding: 1rem 1.25rem; border-left: 4px solid var(--fg-green);
  background: var(--fg-mist); border-radius: 0 var(--fg-radius-sm) var(--fg-radius-sm) 0; font-size: 1.08rem;
}
.fg-entry blockquote > :last-child, .green_box > :last-child, .info_box > :last-child, .grey_box > :last-child { margin-bottom: 0; }
.fg-entry table { width: 100%; margin: 1.25rem 0; border-collapse: collapse; font-size: .97rem; }
.fg-entry th, .fg-entry td { padding: .6rem .75rem; border-bottom: 1px solid var(--fg-line); text-align: left; vertical-align: top; }
.fg-entry th { background: var(--fg-mist); color: var(--fg-green-dark); font-weight: 600; }
.fg-entry hr { margin: 2rem 0; border-color: var(--fg-line); opacity: 1; }

/* Full-width pages: content sets its own containers and coloured bands.
   Loose paragraphs/headings outside a container are kept to the page width. */
.fg-full-width .fg-entry > :is(p, h1, h2, h3, h4, h5, h6, ul, ol, table, blockquote, form, .wpcf7) {
  width: min(1296px, 100% - 1.5rem); margin-inline: auto;
}
.fg-full-width .fg-entry > :is(p, h1, h2, h3, h4, ul, ol):first-child { margin-top: 2.5rem; }
.fg-full-width .fg-entry > :is(p, ul, ol, table, .wpcf7):last-child { margin-bottom: 3rem; }
/* Full-width pages whose content starts with a plain container (e.g. Contact):
   give it the same breathing room under the header as the standard pages. */
.fg-full-width .fg-entry > :is(.container, .container-fluid, .row):first-child { padding-top: clamp(2rem, 5vw, 3.5rem); }
.fg-full-width .fg-entry > :is(.container, .container-fluid, .row):last-child { padding-bottom: clamp(2.5rem, 6vw, 4rem); }
.fg-full-width .fg-entry > :is(.container, .container-fluid):first-child h1:first-of-type,
.fg-theme .fg-full-width .fg-entry > :is(.container, .container-fluid):first-child > .row:first-child > [class*="col-"] > :first-child { margin-top: 0; }
.fg-theme .fg-full-width .fg-entry > :is(.container, .container-fluid):first-child h1:first-of-type,
.fg-theme .fg-full-width .fg-entry > h1:first-child {
  font-weight: 600; line-height: 1.1; font-family: "Segoe UI Semibold", "Segoe UI", Helvetica, sans-serif;
}

.fg-post-summary { padding-bottom: 1.5rem; margin-bottom: 1.5rem; border-bottom: 1px solid var(--fg-line); }
.fg-post-summary h2 a { text-decoration: none; }
.fg-search-result { padding: 1rem 0; border-bottom: 1px solid var(--fg-line); }
.fg-notfound {
  background: var(--fg-mist); border: 1px solid var(--fg-line); border-radius: var(--fg-radius);
  padding: clamp(1.5rem, 4vw, 2.5rem);
}
.fg-theme .fg-notfound h2 { margin-top: 0; }
.fg-readmore { font-weight: 600; text-decoration: none; }
.pagination { --bs-pagination-color: var(--fg-green-dark); --bs-pagination-active-bg: var(--fg-green-dark); --bs-pagination-active-border-color: var(--fg-green-dark); --bs-pagination-hover-bg: var(--fg-green-pale); --bs-pagination-border-radius: .5rem; gap: .25rem; margin-top: 2rem; }
.fg-page-links { margin: 2rem 0; font-weight: 600; }

/* Sidebar (incl. the Custom Sidebars "Solutions" menu) */
.sidebar { position: sticky; top: 7rem; }
/* Only the outer wrapper of each widget gets the card look. Plugins such as Custom Sidebars
   can add their own wrapper inside ours, which would otherwise draw a box within a box. */
.sidebar > * {
  background: #fff; border: 1px solid var(--fg-line); border-radius: var(--fg-radius);
  padding: 1.25rem; margin-bottom: 1.5rem; box-shadow: var(--fg-shadow);
}
.sidebar > * :is(section, aside, .widget, .fg-widget) {
  background: none; border: 0; border-radius: 0; padding: 0; margin: 0; box-shadow: none;
}
/* Widgets that output nothing visible are hidden by assets/js/theme.js */
.sidebar > .fg-empty-widget { display: none; }
.sidebar h4, .sidebar .widget-title, .sidebar .widgettitle {
  font-size: .8rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
  color: var(--fg-green-dark); margin: 0 0 .9rem; padding-bottom: .75rem; border-bottom: 2px solid var(--fg-green-pale);
}
.sidebar ul, .sidebar ol { list-style: none; padding: 0; margin: 0; }
.sidebar li { margin: 0; }
.sidebar .menu li a, .sidebar .widget_pages li a, .sidebar .widget_nav_menu li a {
  display: flex; align-items: center; justify-content: space-between; gap: .5rem;
  padding: .55rem .75rem; border-radius: .5rem; color: var(--fg-ink); text-decoration: none; font-weight: 500;
}
.sidebar .menu li a::after, .sidebar .widget_nav_menu li a::after {
  font-family: "bootstrap-icons"; content: "\f285"; font-size: .8rem; color: var(--fg-green); transition: transform .2s;
}
.sidebar .menu li a:hover, .sidebar .widget_nav_menu li a:hover { background: var(--fg-green-pale); color: var(--fg-green-dark); }
.sidebar .menu li a:hover::after { transform: translateX(3px); }
.sidebar .menu .current-menu-item > a, .sidebar .menu .current_page_item > a {
  background: var(--fg-green-dark); color: #fff;
}
.sidebar .menu .current-menu-item > a::after { color: var(--fg-green-pale); }
.sidebar .sub-menu { padding-left: .75rem; }
@media (max-width: 991.98px) { .sidebar { position: static; } }

/* ---------- 7. Legacy components (original theme classes, restyled) ---------- */

/* Icon font used by shortcodes and old content (assets/fonts/dg.*) */
@font-face {
  font-family: "dg";
  src: url("../fonts/dg.woff") format("woff"), url("../fonts/dg.ttf") format("truetype");
  font-weight: normal; font-style: normal; font-display: block;
}
[data-icon]::before { font-family: "dg" !important; content: attr(data-icon); font-style: normal; font-weight: normal; line-height: 1; speak: never; }
[class^="icon-"]::before, [class*=" icon-"]::before {
  font-family: "dg" !important; font-style: normal !important; font-weight: normal !important;
  font-variant: normal !important; text-transform: none !important; line-height: 1;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
.icon-android-home::before { content: "\62"; }
.icon-umbrella::before { content: "\63"; }
.icon-screen::before { content: "\64"; }
.icon-users::before { content: "\65"; }
.icon-umbrella-1::before { content: "\6a"; }
.icon-android-favorite-outline::before { content: "\6b"; }
.icon-android-chat::before { content: "\6d"; }
.icon-ios-home::before { content: "\73"; }
.icon-ios-help-outline::before { content: "\74"; }
.icon-android-hand::before { content: "\76"; }
.icon-hand-stop::before { content: "\44"; }
.icon-happy-smiley::before { content: "\45"; }
.icon-like::before { content: "\4a"; }
.icon-heart::before { content: "\4b"; }
.icon-calendar-1::before { content: "\4c"; }
.icon-quote-left::before { content: "\4f"; }
.icon-quote-right::before { content: "\50"; }
.icon-angel::before { content: "\58"; }
.icon-ccj::before { content: "\31"; }
.icon-credit-cards::before { content: "\32"; }
.icon-pound-sterling::before { content: "\33"; }
.icon-pound-coin-on-hand::before { content: "\61"; }
.icon-businessman-showing-calculator::before { content: "\66"; }
.icon-check-mark::before { content: "\6e"; }
.icon-remove-delete-two::before { content: "\78"; }
.icon-phone-1-1::before { content: "\77"; }
.icon-arrow-circle-1-left::before { content: "\71"; }
.icon-arrow-circle-1-right::before { content: "\72"; }
.icon-arrow-right-c::before { content: "\68"; }
.icon-arrow-circle-1-down::before { content: "\67"; }
.i-2x { font-size: 2em; } .i-4x { font-size: 4em; } .i-45x { font-size: 4.5em; }
/* Font Awesome warning icon used in [show_bankruptcy_dislaimer] (Font Awesome isn't loaded) */
.fa.fa-exclamation-triangle { font-style: normal; }
.fa.fa-exclamation-triangle::before { font-family: "bootstrap-icons"; content: "\f33a"; margin-right: .25rem; }

/* Old homepage content (shown only if the editor content is used on another page) */
.homewrap { background: var(--fg-green); padding: clamp(2.5rem, 6vw, 5rem) 0 !important; }
.fg-theme h1.sitetitle { color: var(--fg-green-ink); font-size: clamp(2rem, 4vw, 3rem); margin: 0 0 1rem; background: none; padding: 0; }
.fg-theme h2.sitetitle { color: #12261b; font-size: 1.15rem; font-family: var(--fg-font-body); font-weight: 400; line-height: 1.6; background: none; padding: 0; margin: 0 0 1rem; }
.img-container img { border-radius: var(--fg-radius); }
.homewrap .col-md-offset-6 { margin-left: 0; }

/* Bands */
.pale-band, .primary-band, .debts-band, .bullets-band, .top-band, .reviewwrap { position: relative; }
.pale-band { padding: clamp(2.5rem, 6vw, 4rem) 0; background: var(--fg-green-pale); color: var(--fg-ink); }
/* Section divider: a round icon badge sitting on the seam between bands
   (replaces the old triangular pointer). */
.pale-band::after, .debts-band::after, .top-band::after {
  content: "\f52f";                      /* bi-shield-check — same icon on every divider */
  font-family: "bootstrap-icons"; font-size: 1.35rem; line-height: 1;
  position: absolute; top: 100%; left: 50%; z-index: 5; pointer-events: none;
  width: 3.2rem; height: 3.2rem; display: grid; place-items: center;
  transform: translate(-50%, -50%);
  border-radius: 50%; border: 4px solid #fff;
  background: var(--fg-green-pale); color: var(--fg-green-dark);
  box-shadow: 0 6px 16px rgba(1, 50, 29, .18);
}
.pale-band.orange, .orange { background: #fbefd2 !important; }
.pale-band.orange::after { background: #fbefd2; color: #7a5200; }
.primary-band { padding: 2rem 0; background: var(--fg-green); color: var(--fg-green-ink); font-size: .97rem; }
.primary-band p { color: var(--fg-green-ink); }
.primary-band a { color: var(--fg-green-ink) !important; text-decoration: underline; font-weight: 600; }
.debts-band { background: var(--fg-green-dark); padding: clamp(2.5rem, 6vw, 4rem) 0 1.5rem; color: #fff; }
.debts-band::after { background: var(--fg-green-dark); color: var(--fg-green-pale); }
.fg-theme .debts-band h2, .fg-theme .debts-band h3, .debts-band p { color: #fff; text-align: center; }
.debts-band .row + .row { margin-top: .5rem; }
.debts-band [class*="col-"] p { margin-top: .4rem; font-weight: 500; }
.debts-band .i-4x, .debts-band .i-45x { color: var(--fg-green-pale) !important; text-align: center; display: block; }
.debts-band p.disclaimer { color: rgba(255,255,255,.75); padding: 1.25rem 0 0; font-size: .9rem; }
.top-band { padding: clamp(2.5rem, 6vw, 4rem) 0; background: var(--fg-green); color: var(--fg-green-ink); text-align: left; }
/* Title band: same centred badge, with the shield-and-tick icon from the logo */
.top-band::after {
  content: "\f52f";                      /* bi-shield-check */
  background: var(--fg-green-dark); color: #fff;
}
.fg-theme .top-band h1, .fg-theme .top-band h2 { color: var(--fg-green-ink); margin: 0; }
.fg-theme .top-band h1 { font-size: clamp(2.1rem, 4.6vw, 3.4rem); line-height: 1.12; }
.fg-theme .top-band h2 { font-size: clamp(1.15rem, 2.2vw, 1.55rem); line-height: 1.4; margin-top: 1rem; color: #12261b; max-width: 52rem; }

.bullets-band { padding: 2.25rem 0 1.5rem; background: var(--fg-mist); color: var(--fg-ink); border-bottom: 1px solid var(--fg-line); }
.bullets-band [class*="col-"] { position: relative; }
.fg-theme .bullets-band h3 { margin: .6rem 0 .35rem 3.4rem; font-size: 1.15rem; font-family: var(--fg-font-body); font-weight: 600; color: var(--fg-ink); text-transform: none; }
.bullets-band p { margin: 0 0 .9rem 3.4rem; color: var(--fg-muted); }
.bullets-band ul { margin: 0 0 1rem 3.4rem; padding-left: 1rem; }
.bullets-band .tick::before, .bullets-band .cross::before {
  position: absolute; left: calc(var(--bs-gutter-x) * .5); top: .35rem;
  width: 2.4rem; height: 2.4rem; border-radius: 50%; display: grid; place-items: center;
  font-family: "bootstrap-icons"; font-size: 1.3rem; line-height: 1;
}
.bullets-band .tick::before { content: "\f633"; background: var(--fg-green-pale); color: var(--fg-green-dark); }
.bullets-band .cross::before { content: "\f659"; background: #fde7e5; color: var(--fg-danger); }
.bullets-band .green::before { background: var(--fg-green-dark); color: #fff; }

/* Headings */
.fg-theme h2.styled, .fg-theme h3.styled {
  font-size: 1.5rem; color: var(--fg-green-dark); letter-spacing: -.01em;
  border-bottom: 3px solid var(--fg-green); margin: 0 0 .9rem; padding-bottom: .6rem; text-transform: none;
}
.fg-theme h3.styled { font-size: 1.35rem; }
.fg-theme h4.styled { margin: 10px 0 0; padding: .9rem 1rem; color: #fff; background: var(--fg-green-dark); border-radius: .6rem .6rem 0 0; font-weight: 600; }
.fg-theme h4.styled + p { padding: 1rem; background: var(--fg-mist); border: 1px solid var(--fg-line); border-top: 0; border-radius: 0 0 .6rem .6rem; }
.fg-theme h2.band { font-size: clamp(1.8rem, 3.4vw, 2.4rem); margin: 0; padding-bottom: .5rem; text-align: center; color: var(--fg-green-dark); }
.fg-theme h3.band { font-size: 1.12rem; color: var(--fg-muted); margin: 0 auto 2rem; text-transform: none; text-align: center; font-family: var(--fg-font-body); font-weight: 400; max-width: 46rem; }
.fg-theme .debts-band h2.band, .fg-theme .debts-band h3.band { color: #fff; }
.fg-theme .debts-band h3.band { color: rgba(255,255,255,.8); }
.yellow { color: var(--fg-green-dark); }
.intro { font-size: 1.2em; font-weight: 500; color: var(--fg-green-dark); }
.title strong { font-weight: 700; }

/* Card-like columns inside bands (e.g. homepage/solutions content) */
.pale-band .padding30 { padding-bottom: 1.5rem; }
.padding30 { padding-bottom: 30px; }
.padding40 { display: block; height: 40px; }
.padding30 > p:last-child, .padding30 > p[align] { margin-bottom: 0; }

/* Buttons with the old arrow glyph */
.btn.arrow::after, .arrow::after { font-family: "bootstrap-icons"; content: "\f138"; margin-left: .45rem; vertical-align: -.125em; display: inline-block; transition: transform .2s; }
.btn.arrow:hover::after { transform: translateX(3px); }

/* Boxes */
.wp-caption { background: var(--fg-green-pale); border-radius: var(--fg-radius); overflow: hidden; min-width: 0; margin: 1.5rem 0; max-width: 100%; }
.wp-caption p { padding: 1rem 1.25rem; margin: 0; font-weight: 600; color: var(--fg-green-dark); font-size: 1.05em; }
.wp-caption img { display: block; width: 100%; border: 0; }
.wp-caption .wp-caption-text { padding: .6rem 1rem; font-size: .9rem; font-weight: 500; color: var(--fg-muted); }
.circle {
  width: 2.8rem; height: 2.8rem; border-radius: 50%; float: left; display: grid; place-items: center;
  font-size: 1.35rem; font-weight: 600; background: var(--fg-green-dark); color: #fff; padding: 0;
}
.summary { padding: 1.25rem; background: var(--fg-mist); margin: 1.5rem 0; border: 1px solid var(--fg-line); border-radius: var(--fg-radius-sm); }
.grey_box { position: relative; background: var(--fg-mist); border: 1px solid var(--fg-line); padding: 1rem 1.25rem 1.25rem; margin: 1.5rem 0; border-radius: var(--fg-radius-sm); }
.fg-theme .grey_box h3 { margin: 0 0 .6rem; padding: .25rem 0 .6rem; font-size: 1.25rem; color: var(--fg-green-dark); border-bottom: 2px solid var(--fg-green); }
.grey_box h4 { color: var(--fg-green-dark); }
.arrow_box { position: relative; background: var(--fg-green); color: var(--fg-green-ink); padding: .9rem 1rem; margin: 0 0 1.5rem; border-radius: var(--fg-radius-sm); text-align: center; }
.arrow_box::after { content: ""; position: absolute; top: 100%; left: 50%; margin-left: -12px; border: 12px solid transparent; border-top-color: var(--fg-green); }
.green_box { position: relative; background: var(--fg-green-dark); padding: 1rem 1.25rem; margin: 1.5rem 0; border-radius: var(--fg-radius-sm); color: #fff; }
.green_box p { display: flex; gap: .75rem; align-items: flex-start; margin-bottom: .5rem; color: #fff; }
.green_box p::before { font-family: "bootstrap-icons"; content: "\f26a"; color: var(--fg-green); font-size: 1.2rem; line-height: 1.3; }
.fg-theme .green_box h3, .fg-theme .arrow_box h3 { margin: 0 0 .25rem; padding: 0; color: inherit; }
/* Cons / considerations: same layout as .green_box, danger colour with a cross icon */
.red_box { position: relative; background: #9b1c1c; padding: 1rem 1.25rem; margin: 1.5rem 0; border-radius: var(--fg-radius-sm); color: #fff; }
.red_box p { display: flex; gap: .75rem; align-items: flex-start; margin-bottom: .5rem; color: #fff; }
.red_box p::before { font-family: "bootstrap-icons"; content: "\f622"; color: #fca5a5; font-size: 1.2rem; line-height: 1.3; }
.red_box > :last-child { margin-bottom: 0; }
.fg-entry .red_box :is(p, li, strong) { color: inherit; }
.red_box a { color: #fff; text-decoration: underline; }
.info_box { background: var(--fg-green-dark); padding: 1.25rem; margin: 1.5rem 0; color: var(--fg-green-pale); font-size: 1.05em; border-radius: var(--fg-radius-sm); }
.info_box a { color: #fff; }
/* Text inside coloured boxes keeps the box's colour (not the page text colour) */
.fg-entry .info_box :is(p, li, strong, h3, h4), .fg-entry .green_box :is(p, li, strong) { color: inherit; }
.info_box { color: #fff; }
.info_box strong { color: var(--fg-green-pale); }
/* First heading inside a box sits at the top of the box */
:is(.summary, .grey_box, .info_box, .green_box, .well) > :is(h2, h3, h4):first-child,
.fg-theme .fg-entry :is(.summary, .grey_box, .info_box, .green_box, .well) > :is(h2, h3, h4):first-child { margin-top: 0; }
.fg-theme .fg-entry .grey_box h4 { margin: 1.25rem 0 .4rem; font-size: 1.02rem; }
p.disclaimer, .disclaimer { font-size: .9rem; color: var(--fg-muted); }
.below_menu { margin-top: 0 !important; }

/* White band (plain section between coloured bands) */
.white-band { position: relative; padding: clamp(2.5rem, 6vw, 4rem) 0; background: #fff; }
/* Cards (.panel) laid out in a row inside a band: equal heights, gap when stacked */
:is(.pale-band, .white-band) .row { row-gap: 1.5rem; }
:is(.pale-band, .white-band) .row > [class*="col-"] > .panel:only-child { height: 100%; margin-bottom: 0; border-radius: var(--fg-radius); box-shadow: var(--fg-shadow); }
:is(.pale-band, .white-band) .row > [class*="col-"] > .panel:only-child > .panel-body { padding: 1.5rem; }
.panel-body > :last-child, .alert > :last-child { margin-bottom: 0; }
/* Links inside dark boxes stay readable */
.fg-entry :is(.green_box, .red_box, .info_box, .debts-band) a:not(.btn) { color: #fff; text-decoration: underline; text-decoration-color: rgba(255,255,255,.5); }
.fg-entry :is(.green_box, .red_box, .info_box, .debts-band) a:not(.btn):hover { text-decoration-color: #fff; }
/* No divider badge on the very last band before the footer */
.fg-entry > :is(.pale-band, .debts-band, .top-band):last-child::after { display: none; }

/* Box padding: Bootstrap p-3 (1rem) on phones, p-4 (1.5rem) from tablet/desktop up */
.fg-theme :is(.arrow_box, .green_box, .red_box, .info_box, .grey_box, .summary) { padding: 1rem !important; }
@media (min-width: 768px) {
  .fg-theme :is(.arrow_box, .green_box, .red_box, .info_box, .grey_box, .summary) { padding: 1.5rem !important; }
}

/* Reviews blocks from the old Debt Guardians site — hidden until a reviews feed exists */
.reviewwrap, .tp-wrap, #reviews_slider, #reviews { display: none !important; }

/* BS3 accordions (.panel) */
.panel { background: #fff; border: 1px solid var(--fg-line); border-radius: var(--fg-radius-sm); margin-bottom: .75rem; overflow: hidden; }
.panel-heading { padding: 0; background: var(--fg-mist); }
.fg-theme .panel-title { margin: 0; font-size: 1.05rem; font-family: var(--fg-font-body); font-weight: 600; }
.panel-title a { display: flex; align-items: center; gap: .6rem; padding: .9rem 1.1rem; color: var(--fg-green-dark); text-decoration: none; }
.panel-title a::before { font-family: "bootstrap-icons"; content: "\f63b"; font-size: 1rem; transition: transform .2s; }
.panel-title a.collapsed::before { content: "\f64d"; }
.panel-body { padding: 1.1rem 1.25rem; }
.panel-footer { padding: .75rem 1.25rem; background: var(--fg-mist); border-top: 1px solid var(--fg-line); }
.panel-default, .panel-primary, .panel-success, .panel-info, .panel-warning, .panel-danger { border-color: var(--fg-line); }
.panel-primary > .panel-heading, .panel-success > .panel-heading { background: var(--fg-green-dark); }
.panel-primary > .panel-heading .panel-title, .panel-primary > .panel-heading a,
.panel-success > .panel-heading .panel-title, .panel-success > .panel-heading a { color: #fff; }
.well { background: var(--fg-mist); border: 1px solid var(--fg-line); border-radius: var(--fg-radius-sm); padding: 1.25rem; margin-bottom: 1.25rem; }
.label { display: inline-block; padding: .2em .6em; font-size: .78em; font-weight: 700; border-radius: .4rem; background: var(--fg-green-dark); color: #fff; }
.lead { font-size: 1.2rem; font-weight: 400; color: var(--fg-muted); }
.alert-info { --bs-alert-bg: var(--fg-green-pale); --bs-alert-color: var(--fg-green-ink); --bs-alert-border-color: #b9e7c6; }
.bg-success { background-color: var(--fg-green-pale) !important; }
.bg-info { background-color: var(--fg-mist) !important; }
.text-primary, .text-success { color: var(--fg-green-dark) !important; }

/* ---------- 8. Bootstrap 3 compatibility (old classes still in page content) ---------- */
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.sr-only-focusable:focus { position: static !important; width: auto !important; height: auto !important; margin: 0 !important; overflow: visible !important; clip: auto !important; white-space: normal !important; }
.img-responsive { display: block; max-width: 100%; height: auto; }
.img-rounded { border-radius: var(--fg-radius-sm); }
.img-circle { border-radius: 50%; }
.center-block { display: block; margin-left: auto; margin-right: auto; }
.pull-left { float: left !important; }
.pull-right { float: right !important; }
.text-left { text-align: left !important; }
.text-right { text-align: right !important; }
.hidden { display: none !important; }
.collapse.in { display: block; }
.fade.in { opacity: 1; }
.navbar-right { float: none; }
.form-group { margin-bottom: 1rem; }
.help-block { display: block; margin-top: .3rem; font-size: .875rem; color: var(--fg-muted); }
.btn-block { display: block; width: 100%; }
.input-lg { padding: .65rem 1rem; font-size: 1.1rem; }
.caret { display: inline-block; width: 0; height: 0; margin-left: .3em; border-top: .3em solid; border-right: .3em solid transparent; border-left: .3em solid transparent; vertical-align: middle; }
.list-inline > li { display: inline-block; padding-inline: .3rem; }
.dl-horizontal dt { font-weight: 600; }
@media (max-width: 575.98px) { .hidden-xs { display: none !important; } }
@media (min-width: 576px) and (max-width: 767.98px) { .hidden-sm { display: none !important; } }
@media (min-width: 768px) and (max-width: 991.98px) { .hidden-md { display: none !important; } }
@media (min-width: 992px) { .hidden-lg { display: none !important; } }
.visible-xs, .visible-sm, .visible-md, .visible-lg { display: none !important; }
@media (max-width: 575.98px) { .visible-xs { display: block !important; } }
@media (min-width: 576px) and (max-width: 767.98px) { .visible-sm { display: block !important; } }
@media (min-width: 768px) and (max-width: 991.98px) { .visible-md { display: block !important; } }
@media (min-width: 992px) { .visible-lg { display: block !important; } }
/* Old content often wraps paragraphs in <p align="left"> */
p[align="center"] { text-align: center; }
p[align="right"] { text-align: right; }

/* ---------- Bootstrap 3 grid compatibility (generated) ---------- */
/* col-xs-* (removed in Bootstrap 5) work again; the responsive col-* rules are
   re-stated after them so, as in Bootstrap 3, larger breakpoints still win. */
.row > .col-xs-1 { flex: 0 0 auto; width: 8.333333%; }
.row > .col-xs-2 { flex: 0 0 auto; width: 16.666667%; }
.row > .col-xs-3 { flex: 0 0 auto; width: 25%; }
.row > .col-xs-4 { flex: 0 0 auto; width: 33.333333%; }
.row > .col-xs-5 { flex: 0 0 auto; width: 41.666667%; }
.row > .col-xs-6 { flex: 0 0 auto; width: 50%; }
.row > .col-xs-7 { flex: 0 0 auto; width: 58.333333%; }
.row > .col-xs-8 { flex: 0 0 auto; width: 66.666667%; }
.row > .col-xs-9 { flex: 0 0 auto; width: 75%; }
.row > .col-xs-10 { flex: 0 0 auto; width: 83.333333%; }
.row > .col-xs-11 { flex: 0 0 auto; width: 91.666667%; }
.row > .col-xs-12 { flex: 0 0 auto; width: 100%; }
.col-xs-offset-0 { margin-left: 0; }
.col-xs-offset-1 { margin-left: 8.333333%; }
.col-xs-offset-2 { margin-left: 16.666667%; }
.col-xs-offset-3 { margin-left: 25%; }
.col-xs-offset-4 { margin-left: 33.333333%; }
.col-xs-offset-5 { margin-left: 41.666667%; }
.col-xs-offset-6 { margin-left: 50%; }
.col-xs-offset-7 { margin-left: 58.333333%; }
.col-xs-offset-8 { margin-left: 66.666667%; }
.col-xs-offset-9 { margin-left: 75%; }
.col-xs-offset-10 { margin-left: 83.333333%; }
.col-xs-offset-11 { margin-left: 91.666667%; }
.col-xs-offset-12 { margin-left: 100%; }
@media (min-width: 576px) {
  .row > .col-sm { flex: 1 0 0%; width: auto; }
  .row > .col-sm-auto { flex: 0 0 auto; width: auto; }
  .row > .col-sm-1 { flex: 0 0 auto; width: 8.333333%; }
  .row > .col-sm-2 { flex: 0 0 auto; width: 16.666667%; }
  .row > .col-sm-3 { flex: 0 0 auto; width: 25%; }
  .row > .col-sm-4 { flex: 0 0 auto; width: 33.333333%; }
  .row > .col-sm-5 { flex: 0 0 auto; width: 41.666667%; }
  .row > .col-sm-6 { flex: 0 0 auto; width: 50%; }
  .row > .col-sm-7 { flex: 0 0 auto; width: 58.333333%; }
  .row > .col-sm-8 { flex: 0 0 auto; width: 66.666667%; }
  .row > .col-sm-9 { flex: 0 0 auto; width: 75%; }
  .row > .col-sm-10 { flex: 0 0 auto; width: 83.333333%; }
  .row > .col-sm-11 { flex: 0 0 auto; width: 91.666667%; }
  .row > .col-sm-12 { flex: 0 0 auto; width: 100%; }
  .col-sm-offset-0 { margin-left: 0; }
  .col-sm-offset-1 { margin-left: 8.333333%; }
  .col-sm-offset-2 { margin-left: 16.666667%; }
  .col-sm-offset-3 { margin-left: 25%; }
  .col-sm-offset-4 { margin-left: 33.333333%; }
  .col-sm-offset-5 { margin-left: 41.666667%; }
  .col-sm-offset-6 { margin-left: 50%; }
  .col-sm-offset-7 { margin-left: 58.333333%; }
  .col-sm-offset-8 { margin-left: 66.666667%; }
  .col-sm-offset-9 { margin-left: 75%; }
  .col-sm-offset-10 { margin-left: 83.333333%; }
  .col-sm-offset-11 { margin-left: 91.666667%; }
  .col-sm-offset-12 { margin-left: 100%; }
  .col-sm-push-0 { position: relative; left: auto; }
  .col-sm-pull-0 { position: relative; right: auto; }
  .col-sm-push-1 { position: relative; left: 8.333333%; }
  .col-sm-pull-1 { position: relative; right: 8.333333%; }
  .col-sm-push-2 { position: relative; left: 16.666667%; }
  .col-sm-pull-2 { position: relative; right: 16.666667%; }
  .col-sm-push-3 { position: relative; left: 25%; }
  .col-sm-pull-3 { position: relative; right: 25%; }
  .col-sm-push-4 { position: relative; left: 33.333333%; }
  .col-sm-pull-4 { position: relative; right: 33.333333%; }
  .col-sm-push-5 { position: relative; left: 41.666667%; }
  .col-sm-pull-5 { position: relative; right: 41.666667%; }
  .col-sm-push-6 { position: relative; left: 50%; }
  .col-sm-pull-6 { position: relative; right: 50%; }
  .col-sm-push-7 { position: relative; left: 58.333333%; }
  .col-sm-pull-7 { position: relative; right: 58.333333%; }
  .col-sm-push-8 { position: relative; left: 66.666667%; }
  .col-sm-pull-8 { position: relative; right: 66.666667%; }
  .col-sm-push-9 { position: relative; left: 75%; }
  .col-sm-pull-9 { position: relative; right: 75%; }
  .col-sm-push-10 { position: relative; left: 83.333333%; }
  .col-sm-pull-10 { position: relative; right: 83.333333%; }
  .col-sm-push-11 { position: relative; left: 91.666667%; }
  .col-sm-pull-11 { position: relative; right: 91.666667%; }
  .col-sm-push-12 { position: relative; left: 100%; }
  .col-sm-pull-12 { position: relative; right: 100%; }
}
@media (min-width: 768px) {
  .row > .col-md { flex: 1 0 0%; width: auto; }
  .row > .col-md-auto { flex: 0 0 auto; width: auto; }
  .row > .col-md-1 { flex: 0 0 auto; width: 8.333333%; }
  .row > .col-md-2 { flex: 0 0 auto; width: 16.666667%; }
  .row > .col-md-3 { flex: 0 0 auto; width: 25%; }
  .row > .col-md-4 { flex: 0 0 auto; width: 33.333333%; }
  .row > .col-md-5 { flex: 0 0 auto; width: 41.666667%; }
  .row > .col-md-6 { flex: 0 0 auto; width: 50%; }
  .row > .col-md-7 { flex: 0 0 auto; width: 58.333333%; }
  .row > .col-md-8 { flex: 0 0 auto; width: 66.666667%; }
  .row > .col-md-9 { flex: 0 0 auto; width: 75%; }
  .row > .col-md-10 { flex: 0 0 auto; width: 83.333333%; }
  .row > .col-md-11 { flex: 0 0 auto; width: 91.666667%; }
  .row > .col-md-12 { flex: 0 0 auto; width: 100%; }
  .col-md-offset-0 { margin-left: 0; }
  .col-md-offset-1 { margin-left: 8.333333%; }
  .col-md-offset-2 { margin-left: 16.666667%; }
  .col-md-offset-3 { margin-left: 25%; }
  .col-md-offset-4 { margin-left: 33.333333%; }
  .col-md-offset-5 { margin-left: 41.666667%; }
  .col-md-offset-6 { margin-left: 50%; }
  .col-md-offset-7 { margin-left: 58.333333%; }
  .col-md-offset-8 { margin-left: 66.666667%; }
  .col-md-offset-9 { margin-left: 75%; }
  .col-md-offset-10 { margin-left: 83.333333%; }
  .col-md-offset-11 { margin-left: 91.666667%; }
  .col-md-offset-12 { margin-left: 100%; }
  .col-md-push-0 { position: relative; left: auto; }
  .col-md-pull-0 { position: relative; right: auto; }
  .col-md-push-1 { position: relative; left: 8.333333%; }
  .col-md-pull-1 { position: relative; right: 8.333333%; }
  .col-md-push-2 { position: relative; left: 16.666667%; }
  .col-md-pull-2 { position: relative; right: 16.666667%; }
  .col-md-push-3 { position: relative; left: 25%; }
  .col-md-pull-3 { position: relative; right: 25%; }
  .col-md-push-4 { position: relative; left: 33.333333%; }
  .col-md-pull-4 { position: relative; right: 33.333333%; }
  .col-md-push-5 { position: relative; left: 41.666667%; }
  .col-md-pull-5 { position: relative; right: 41.666667%; }
  .col-md-push-6 { position: relative; left: 50%; }
  .col-md-pull-6 { position: relative; right: 50%; }
  .col-md-push-7 { position: relative; left: 58.333333%; }
  .col-md-pull-7 { position: relative; right: 58.333333%; }
  .col-md-push-8 { position: relative; left: 66.666667%; }
  .col-md-pull-8 { position: relative; right: 66.666667%; }
  .col-md-push-9 { position: relative; left: 75%; }
  .col-md-pull-9 { position: relative; right: 75%; }
  .col-md-push-10 { position: relative; left: 83.333333%; }
  .col-md-pull-10 { position: relative; right: 83.333333%; }
  .col-md-push-11 { position: relative; left: 91.666667%; }
  .col-md-pull-11 { position: relative; right: 91.666667%; }
  .col-md-push-12 { position: relative; left: 100%; }
  .col-md-pull-12 { position: relative; right: 100%; }
}
@media (min-width: 992px) {
  .row > .col-lg { flex: 1 0 0%; width: auto; }
  .row > .col-lg-auto { flex: 0 0 auto; width: auto; }
  .row > .col-lg-1 { flex: 0 0 auto; width: 8.333333%; }
  .row > .col-lg-2 { flex: 0 0 auto; width: 16.666667%; }
  .row > .col-lg-3 { flex: 0 0 auto; width: 25%; }
  .row > .col-lg-4 { flex: 0 0 auto; width: 33.333333%; }
  .row > .col-lg-5 { flex: 0 0 auto; width: 41.666667%; }
  .row > .col-lg-6 { flex: 0 0 auto; width: 50%; }
  .row > .col-lg-7 { flex: 0 0 auto; width: 58.333333%; }
  .row > .col-lg-8 { flex: 0 0 auto; width: 66.666667%; }
  .row > .col-lg-9 { flex: 0 0 auto; width: 75%; }
  .row > .col-lg-10 { flex: 0 0 auto; width: 83.333333%; }
  .row > .col-lg-11 { flex: 0 0 auto; width: 91.666667%; }
  .row > .col-lg-12 { flex: 0 0 auto; width: 100%; }
  .col-lg-offset-0 { margin-left: 0; }
  .col-lg-offset-1 { margin-left: 8.333333%; }
  .col-lg-offset-2 { margin-left: 16.666667%; }
  .col-lg-offset-3 { margin-left: 25%; }
  .col-lg-offset-4 { margin-left: 33.333333%; }
  .col-lg-offset-5 { margin-left: 41.666667%; }
  .col-lg-offset-6 { margin-left: 50%; }
  .col-lg-offset-7 { margin-left: 58.333333%; }
  .col-lg-offset-8 { margin-left: 66.666667%; }
  .col-lg-offset-9 { margin-left: 75%; }
  .col-lg-offset-10 { margin-left: 83.333333%; }
  .col-lg-offset-11 { margin-left: 91.666667%; }
  .col-lg-offset-12 { margin-left: 100%; }
  .col-lg-push-0 { position: relative; left: auto; }
  .col-lg-pull-0 { position: relative; right: auto; }
  .col-lg-push-1 { position: relative; left: 8.333333%; }
  .col-lg-pull-1 { position: relative; right: 8.333333%; }
  .col-lg-push-2 { position: relative; left: 16.666667%; }
  .col-lg-pull-2 { position: relative; right: 16.666667%; }
  .col-lg-push-3 { position: relative; left: 25%; }
  .col-lg-pull-3 { position: relative; right: 25%; }
  .col-lg-push-4 { position: relative; left: 33.333333%; }
  .col-lg-pull-4 { position: relative; right: 33.333333%; }
  .col-lg-push-5 { position: relative; left: 41.666667%; }
  .col-lg-pull-5 { position: relative; right: 41.666667%; }
  .col-lg-push-6 { position: relative; left: 50%; }
  .col-lg-pull-6 { position: relative; right: 50%; }
  .col-lg-push-7 { position: relative; left: 58.333333%; }
  .col-lg-pull-7 { position: relative; right: 58.333333%; }
  .col-lg-push-8 { position: relative; left: 66.666667%; }
  .col-lg-pull-8 { position: relative; right: 66.666667%; }
  .col-lg-push-9 { position: relative; left: 75%; }
  .col-lg-pull-9 { position: relative; right: 75%; }
  .col-lg-push-10 { position: relative; left: 83.333333%; }
  .col-lg-pull-10 { position: relative; right: 83.333333%; }
  .col-lg-push-11 { position: relative; left: 91.666667%; }
  .col-lg-pull-11 { position: relative; right: 91.666667%; }
  .col-lg-push-12 { position: relative; left: 100%; }
  .col-lg-pull-12 { position: relative; right: 100%; }
}
@media (min-width: 1200px) {
  .row > .col-xl { flex: 1 0 0%; width: auto; }
  .row > .col-xl-auto { flex: 0 0 auto; width: auto; }
  .row > .col-xl-1 { flex: 0 0 auto; width: 8.333333%; }
  .row > .col-xl-2 { flex: 0 0 auto; width: 16.666667%; }
  .row > .col-xl-3 { flex: 0 0 auto; width: 25%; }
  .row > .col-xl-4 { flex: 0 0 auto; width: 33.333333%; }
  .row > .col-xl-5 { flex: 0 0 auto; width: 41.666667%; }
  .row > .col-xl-6 { flex: 0 0 auto; width: 50%; }
  .row > .col-xl-7 { flex: 0 0 auto; width: 58.333333%; }
  .row > .col-xl-8 { flex: 0 0 auto; width: 66.666667%; }
  .row > .col-xl-9 { flex: 0 0 auto; width: 75%; }
  .row > .col-xl-10 { flex: 0 0 auto; width: 83.333333%; }
  .row > .col-xl-11 { flex: 0 0 auto; width: 91.666667%; }
  .row > .col-xl-12 { flex: 0 0 auto; width: 100%; }
  .col-xl-offset-0 { margin-left: 0; }
  .col-xl-offset-1 { margin-left: 8.333333%; }
  .col-xl-offset-2 { margin-left: 16.666667%; }
  .col-xl-offset-3 { margin-left: 25%; }
  .col-xl-offset-4 { margin-left: 33.333333%; }
  .col-xl-offset-5 { margin-left: 41.666667%; }
  .col-xl-offset-6 { margin-left: 50%; }
  .col-xl-offset-7 { margin-left: 58.333333%; }
  .col-xl-offset-8 { margin-left: 66.666667%; }
  .col-xl-offset-9 { margin-left: 75%; }
  .col-xl-offset-10 { margin-left: 83.333333%; }
  .col-xl-offset-11 { margin-left: 91.666667%; }
  .col-xl-offset-12 { margin-left: 100%; }
  .col-xl-push-0 { position: relative; left: auto; }
  .col-xl-pull-0 { position: relative; right: auto; }
  .col-xl-push-1 { position: relative; left: 8.333333%; }
  .col-xl-pull-1 { position: relative; right: 8.333333%; }
  .col-xl-push-2 { position: relative; left: 16.666667%; }
  .col-xl-pull-2 { position: relative; right: 16.666667%; }
  .col-xl-push-3 { position: relative; left: 25%; }
  .col-xl-pull-3 { position: relative; right: 25%; }
  .col-xl-push-4 { position: relative; left: 33.333333%; }
  .col-xl-pull-4 { position: relative; right: 33.333333%; }
  .col-xl-push-5 { position: relative; left: 41.666667%; }
  .col-xl-pull-5 { position: relative; right: 41.666667%; }
  .col-xl-push-6 { position: relative; left: 50%; }
  .col-xl-pull-6 { position: relative; right: 50%; }
  .col-xl-push-7 { position: relative; left: 58.333333%; }
  .col-xl-pull-7 { position: relative; right: 58.333333%; }
  .col-xl-push-8 { position: relative; left: 66.666667%; }
  .col-xl-pull-8 { position: relative; right: 66.666667%; }
  .col-xl-push-9 { position: relative; left: 75%; }
  .col-xl-pull-9 { position: relative; right: 75%; }
  .col-xl-push-10 { position: relative; left: 83.333333%; }
  .col-xl-pull-10 { position: relative; right: 83.333333%; }
  .col-xl-push-11 { position: relative; left: 91.666667%; }
  .col-xl-pull-11 { position: relative; right: 91.666667%; }
  .col-xl-push-12 { position: relative; left: 100%; }
  .col-xl-pull-12 { position: relative; right: 100%; }
}
@media (min-width: 1400px) {
  .row > .col-xxl { flex: 1 0 0%; width: auto; }
  .row > .col-xxl-auto { flex: 0 0 auto; width: auto; }
  .row > .col-xxl-1 { flex: 0 0 auto; width: 8.333333%; }
  .row > .col-xxl-2 { flex: 0 0 auto; width: 16.666667%; }
  .row > .col-xxl-3 { flex: 0 0 auto; width: 25%; }
  .row > .col-xxl-4 { flex: 0 0 auto; width: 33.333333%; }
  .row > .col-xxl-5 { flex: 0 0 auto; width: 41.666667%; }
  .row > .col-xxl-6 { flex: 0 0 auto; width: 50%; }
  .row > .col-xxl-7 { flex: 0 0 auto; width: 58.333333%; }
  .row > .col-xxl-8 { flex: 0 0 auto; width: 66.666667%; }
  .row > .col-xxl-9 { flex: 0 0 auto; width: 75%; }
  .row > .col-xxl-10 { flex: 0 0 auto; width: 83.333333%; }
  .row > .col-xxl-11 { flex: 0 0 auto; width: 91.666667%; }
  .row > .col-xxl-12 { flex: 0 0 auto; width: 100%; }
}


/* ---------- 9. Contact Form 7 (+ jQuery Validation and CAPTCHA add-ons) ---------- */
.wpcf7 { --fg-field-radius: .6rem; max-width: 46rem; }
.wpcf7 form > p, .wpcf7 form > div { margin-bottom: 1rem; }
.wpcf7 label { display: block; font-weight: 600; color: var(--fg-ink); margin-bottom: .35rem; }
.wpcf7 .wpcf7-form-control-wrap { display: block; margin-top: .35rem; position: relative; }
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 input[type="url"],
.wpcf7 input[type="number"], .wpcf7 input[type="date"], .wpcf7 input[type="password"], .wpcf7 select, .wpcf7 textarea {
  display: block; width: 100%;
  padding: .7rem .9rem; font: inherit; font-weight: 400; color: var(--fg-ink);
  background: #fff; border: 1px solid #b9cbbf; border-radius: var(--fg-field-radius);
  transition: border-color .15s, box-shadow .15s;
}
.wpcf7 textarea { min-height: 9rem; resize: vertical; }
.wpcf7 select { appearance: auto; }
.wpcf7 input:focus, .wpcf7 select:focus, .wpcf7 textarea:focus {
  outline: 0; border-color: var(--fg-green-dark); box-shadow: 0 0 0 .25rem rgba(101,193,140,.35);
}
.wpcf7 ::placeholder { color: #7d8a82; }
.wpcf7 input[type="submit"], .wpcf7 .wpcf7-submit {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .75rem 1.8rem; font: inherit; font-weight: 600; color: #fff;
  background: var(--fg-green-dark); border: 1px solid var(--fg-green-dark); border-radius: 999px; cursor: pointer;
  transition: background .15s, border-color .15s;
}
.wpcf7 input[type="submit"]:hover, .wpcf7 .wpcf7-submit:hover { background: var(--fg-green-deep); border-color: var(--fg-green-deep); }
.wpcf7 input[type="submit"]:disabled { opacity: .6; cursor: not-allowed; }
.wpcf7 .wpcf7-spinner { background-color: var(--fg-green-dark); margin: 0 .75rem; vertical-align: middle; }
.wpcf7 .wpcf7-list-item { display: block; margin: .3rem 0; }
.wpcf7 .wpcf7-list-item label { display: inline-flex; gap: .55rem; align-items: flex-start; font-weight: 400; }
.wpcf7 input[type="checkbox"], .wpcf7 input[type="radio"] { width: 1.15rem; height: 1.15rem; margin-top: .2rem; accent-color: var(--fg-green-dark); flex: 0 0 auto; }
.wpcf7 .wpcf7-acceptance .wpcf7-list-item { margin: 0; }
/* Validation messages (CF7's own and the jQuery Validation plugin's label.error) */
.wpcf7 .wpcf7-not-valid { border-color: var(--fg-danger) !important; }
.wpcf7 .wpcf7-not-valid-tip, .wpcf7 label.error, .wpcf7 span.error {
  display: block; margin-top: .35rem; font-size: .875rem; font-weight: 600; color: var(--fg-danger);
}
.wpcf7 input.error, .wpcf7 textarea.error, .wpcf7 select.error { border-color: var(--fg-danger); }
.wpcf7 form .wpcf7-response-output {
  margin: 1.25rem 0 0; padding: .9rem 1.1rem; border: 0; border-left: 4px solid var(--fg-green-dark);
  border-radius: var(--fg-radius-sm); background: var(--fg-green-pale); color: var(--fg-green-ink); font-weight: 500;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
  border-left-color: #b7791f; background: #fff7e6; color: #5c3d00;
}
.wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.aborted .wpcf7-response-output, .wpcf7 form.spam .wpcf7-response-output {
  border-left-color: var(--fg-danger); background: #fdecea; color: #6b1a12;
}
/* CAPTCHA image + answer field side by side */
.wpcf7 img { vertical-align: middle; border-radius: .4rem; margin: .25rem .5rem .25rem 0; }
.wpcf7 .wpcf7-captchar, .wpcf7 [class*="captcha"] input[type="text"] { max-width: 12rem; display: inline-block; }
.wpcf7 .screen-reader-response { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
/* Forms placed in a coloured band */
.pale-band .wpcf7, .grey_box .wpcf7 { background: #fff; padding: 1.5rem; border-radius: var(--fg-radius); box-shadow: var(--fg-shadow); }

/* Generic Bootstrap form controls */
.form-control, .form-select { border-color: #b9cbbf; border-radius: .6rem; padding: .65rem .9rem; }
.form-control:focus, .form-select:focus { border-color: var(--fg-green-dark); box-shadow: 0 0 0 .25rem rgba(101,193,140,.35); }

/* ---------- 10. WordPress core classes ---------- */
.alignleft { float: left; margin: .3rem 1.5rem 1rem 0; }
.alignright { float: right; margin: .3rem 0 1rem 1.5rem; }
.aligncenter { display: block; margin: 1rem auto; }
.alignnone { margin: 1rem 0; }
@media (max-width: 575.98px) { .alignleft, .alignright { float: none; margin: 1rem auto; display: block; } }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); white-space: nowrap; }
.screen-reader-text:focus { clip: auto; width: auto; height: auto; padding: .6rem 1rem; background: #fff; z-index: 2000; }
.gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 1rem; margin: 1.5rem 0; }
.gallery img { border-radius: .5rem; }
.sticky, .bypostauthor { position: relative; }
.wp-block-image img, .entry-content img { border-radius: .5rem; }

/* ---------- 11. Footer (widgets from Appearance > Widgets > Footer) ---------- */
.bottom-band { background: var(--fg-green-dark); color: rgba(255,255,255,.88); font-size: .95rem; padding: clamp(2.5rem, 6vw, 4rem) 0; }
.site-footer h4, .site-footer .widget-title, .site-footer .widgettitle {
  font-family: var(--fg-font-body); font-size: .8rem; font-weight: 700; letter-spacing: .12em;
  text-transform: uppercase; color: #fff; margin: 0 0 1rem;
}
.site-footer p, .site-footer li, .site-footer address { color: rgba(255,255,255,.85); }
.site-footer a { color: #fff; text-decoration: none; }
.site-footer a:hover { color: var(--fg-green-pale); text-decoration: underline; }
.site-footer ul, .site-footer ol { list-style: none; padding: 0; margin: 0; display: grid; gap: .5rem; }
.site-footer li { margin: 0; }
.site-footer img { max-width: 100%; height: auto; }
/* Logo / image widgets in the footer: smaller and centred in their column */
.site-footer .fg-widget:has(img) { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.site-footer .fg-widget img, .site-footer .fg-widget svg { display: block; width: 150px; max-width: 100%; height: auto; max-height: 160px; object-fit: contain; margin-inline: auto; }
.site-footer .sub-menu { margin-top: .5rem; padding-left: .75rem; }
.fg-footer-base {
  margin-top: clamp(2rem, 5vw, 3rem); padding: 1.4rem 0;
  border-top: 1px solid rgba(255,255,255,.18); font-size: .84rem; color: rgba(255,255,255,.8);
}
.fg-regulated {
  display: inline-flex; align-items: center; gap: .5rem;
  border: 1px solid rgba(255,255,255,.22); border-radius: 999px; padding: .35rem .85rem;
  font-size: .82rem; color: #fff;
}
.fg-regulated i { color: var(--fg-green-pale); }
.bottom-band :focus-visible { outline-color: var(--fg-green-pale); }

/* ---------- 12. Motion & utilities ---------- */
.fg-to-top {
  position: fixed; right: 1.25rem; bottom: 1.25rem; z-index: 1030;
  width: 2.9rem; height: 2.9rem; border-radius: 50%; border: 0;
  background: var(--fg-green-dark); color: #fff; box-shadow: var(--fg-shadow-lg);
  display: grid; place-items: center; font-size: 1.2rem;
  opacity: 0; visibility: hidden; transform: translateY(10px);
  transition: opacity .25s, transform .25s, visibility .25s;
}
.fg-to-top.is-visible { opacity: 1; visibility: visible; transform: none; }
.fg-to-top:hover { background: var(--fg-green-deep); }
.fg-js .fg-reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
.fg-js .fg-reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .fg-js .fg-reveal { opacity: 1; transform: none; transition: none; }
  .fg-card, .fg-card-link i, .fg-header, .fg-logo svg { transition: none; }
  .fg-card:hover { transform: none; }
}
@media print {
  .fg-header, .bottom-band, .fg-to-top, #sidebar { display: none !important; }
  .fg-hero { background: none; }
}
