/* ==========================================================================
   Guardian Insolvency 2026 — theme stylesheet
   Loaded after Bootstrap 5.3.8. Custom classes are prefixed .gi-
   Sections:
     1  Tokens          8  Feature panel (IVA)     15 Legacy (BS3) content
     2  Base            9  Service cards           16 Contact Form 7
     3  Buttons        10  Notice / CTA strip      17 WordPress core
     4  Header         11  Footer                  18 Motion
     5  Navigation     12  Inner page header       19 Responsive
     6  Hero           13  Entry content
     7  Why choose     14  Lists / sidebar / misc
   ========================================================================== */

/* ---------- 0. Web fonts ---------------------------------------------------
   Windows visitors see their own Segoe UI. Everyone else (Mac, iPhone,
   Android) gets the same look from the Segoe Pro files the original theme
   already hosted. Fonts download only when needed. */
@font-face { font-family: "Segoe Pro"; font-weight: 300; font-style: normal; font-display: swap; src: local("Segoe UI Semilight"), url("../fonts/SegoePro-Semilight.woff") format("woff"); }
@font-face { font-family: "Segoe Pro"; font-weight: 400; font-style: normal; font-display: swap; src: local("Segoe UI"), url("../fonts/SegoePro-Regular.woff") format("woff"); }
@font-face { font-family: "Segoe Pro"; font-weight: 400; font-style: italic; font-display: swap; src: local("Segoe UI Italic"), url("../fonts/SegoePro-Italic.woff") format("woff"); }
@font-face { font-family: "Segoe Pro"; font-weight: 600; font-style: normal; font-display: swap; src: local("Segoe UI Semibold"), url("../fonts/SegoePro-Semibold.woff") format("woff"); }
@font-face { font-family: "Segoe Pro"; font-weight: 700; font-style: normal; font-display: swap; src: local("Segoe UI Bold"), url("../fonts/SegoePro-Bold.woff") format("woff"); }

/* ---------- 1. Tokens ----------------------------------------------------- */
:root {
  /* Brand greens — shared with Financial Guardian 2026 */
  --gi-green-dark:  #026c3e;
  --gi-green-deep:  #014d2c;
  --gi-green:       #65c18c;
  --gi-green-pale:  #dcf7e1;
  --gi-green-ink:   #0b3a22;   /* text on mid green */

  /* Formal Consumer Debt Solutions panel only */
  --gi-navy:        #0f2a44;
  --gi-navy-deep:   #0a1d30;
  --gi-yellow:      #e0a526;

  --gi-ink:         #1f2a24;
  --gi-muted:       #5a6660;
  --gi-line:        #e2e9e4;
  --gi-surface:     #f4f8f5;
  --gi-white:       #ffffff;
  --gi-danger:      #b42318;

  --gi-radius:      14px;
  --gi-radius-sm:   8px;
  --gi-shadow-sm:   0 1px 2px rgba(1, 50, 28, .06), 0 2px 8px rgba(1, 50, 28, .05);
  --gi-shadow-md:   0 10px 30px -12px rgba(1, 50, 28, .28);

  --gi-font:        "Segoe UI", "Segoe Pro", Helvetica, sans-serif;   /* matches logo */
  --gi-header-h:    58px;                                /* sticky menu height, for anchor offset */

  --bs-body-font-family: var(--gi-font);
  --bs-body-color:       var(--gi-ink);
  --bs-body-line-height: 1.65;
  --bs-link-color:       var(--gi-green-dark);
  --bs-link-color-rgb:   2, 108, 62;
  --bs-link-hover-color: var(--gi-green-deep);
  --bs-link-hover-color-rgb: 1, 77, 44;
  --bs-primary:          var(--gi-green-dark);
  --bs-primary-rgb:      2, 108, 62;
  --bs-success:          var(--gi-green-dark);
  --bs-success-rgb:      2, 108, 62;
  --bs-border-radius:    var(--gi-radius-sm);
  --bs-focus-ring-color: rgba(101, 193, 140, .4);
}

/* ---------- 2. Base ------------------------------------------------------- */
html { scroll-padding-top: calc(var(--gi-header-h) + 1rem); }
body.gi-theme {
  font-family: var(--gi-font);
  font-weight: 400;
  color: var(--gi-ink);
  background: var(--gi-white);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
.gi-theme h1, .gi-theme h2, .gi-theme h3, .gi-theme h4, .gi-theme h5, .gi-theme h6 {
  font-family: var(--gi-font);
  font-weight: 600;                       /* Segoe UI Semibold */
  color: var(--gi-green-dark);
  letter-spacing: -0.01em;
  line-height: 1.2;
}
.gi-theme h3, .gi-theme h4, .gi-theme h5, .gi-theme h6 { color: var(--gi-ink); }
.gi-theme img { max-width: 100%; height: auto; }
.gi-theme ::selection { background: var(--gi-green-pale); color: var(--gi-green-deep); }
:focus-visible { outline: 3px solid var(--gi-green); outline-offset: 2px; }

.gi-skip {
  position: absolute; left: -9999px; top: 0; z-index: 2000;
  background: var(--gi-green-dark); color: #fff; padding: .75rem 1rem;
}
.gi-skip:focus { left: 1rem; top: 1rem; color: #fff; }

.gi-section      { padding: 3rem 0; }
.gi-section--alt { background: var(--gi-surface); }
.gi-eyebrow {
  display: inline-block; font-size: .8rem; font-weight: 600; line-height: 1;
  text-transform: uppercase; letter-spacing: .12em;
  color: var(--gi-green-dark); margin-bottom: .9rem;
}
.gi-section-title { font-size: clamp(1.75rem, 1.2rem + 1.6vw, 2.5rem); }
.gi-lead { font-size: 1.125rem; color: var(--gi-muted); }

/* ---------- 3. Buttons ---------------------------------------------------- */
.btn-gi, .btn-primary, .btn-success {
  --bs-btn-padding-x: 1.4rem; --bs-btn-padding-y: .75rem;
  --bs-btn-font-weight: 600; --bs-btn-border-radius: 999px;
  --bs-btn-color: #fff; --bs-btn-bg: var(--gi-green-dark); --bs-btn-border-color: var(--gi-green-dark);
  --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--gi-green-deep); --bs-btn-hover-border-color: var(--gi-green-deep);
  --bs-btn-active-color: #fff; --bs-btn-active-bg: var(--gi-green-deep); --bs-btn-active-border-color: var(--gi-green-deep);
  --bs-btn-focus-shadow-rgb: 101, 193, 140;
}
.btn-gi-outline, .btn-default, .btn-outline-primary, .btn-secondary {
  --bs-btn-padding-x: 1.4rem; --bs-btn-padding-y: .75rem;
  --bs-btn-font-weight: 600; --bs-btn-border-radius: 999px;
  --bs-btn-color: var(--gi-green-dark); --bs-btn-border-color: var(--gi-green); --bs-btn-bg: #fff;
  --bs-btn-hover-color: var(--gi-green-dark); --bs-btn-hover-bg: var(--gi-green-pale); --bs-btn-hover-border-color: var(--gi-green);
  --bs-btn-active-color: var(--gi-green-dark); --bs-btn-active-bg: var(--gi-green-pale); --bs-btn-active-border-color: var(--gi-green);
}
.btn-sm { --bs-btn-padding-x: 1rem; --bs-btn-padding-y: .4rem; }
.btn-lg { --bs-btn-padding-x: 1.8rem; --bs-btn-padding-y: .9rem; }

/* ---------- 4. Header ---------------------------------------------------
   The logo bar scrolls away with the page; only the menu bar is sticky. */
.gi-topbar { background: var(--gi-white); border-bottom: 1px solid var(--gi-line); }
.gi-topbar .container { min-height: 112px; }
.gi-logo img { height: 88px; width: auto; display: block; } /* SVG unchanged */

.gi-phone {
  display: inline-flex; align-items: center; gap: .75rem;
  text-decoration: none; color: var(--gi-green-dark);
}
.gi-phone:hover { color: var(--gi-green-deep); }
.gi-phone__icon {
  width: 44px; height: 44px; border-radius: 50%;
  display: grid; place-items: center; flex-shrink: 0;
  background: var(--gi-green-pale); color: var(--gi-green-dark); font-size: 1.1rem;
  transition: all .2s ease;
}
.gi-phone:hover .gi-phone__icon { transform: scale(1.06); background: var(--gi-green); color: #fff; }
.gi-phone__label { display: block; font-size: .8rem; color: var(--gi-muted); line-height: 1.2; }
.gi-phone__number { display: block; font-size: 1.35rem; font-weight: 600; line-height: 1.2; letter-spacing: .01em; transition: font-size .25s ease; }

/* ---------- 5. Navigation ------------------------------------------------- */
.gi-nav {
  position: sticky; top: 0; z-index: 1030;
  background: var(--gi-green-dark); padding: 0;
  transition: box-shadow .25s ease;
}
.admin-bar .gi-nav { top: 32px; }
@media (max-width: 782px) { .admin-bar .gi-nav { top: 46px; } }
@media (max-width: 600px) { .admin-bar .gi-nav { top: 0; } }
.gi-nav.is-stuck { box-shadow: 0 6px 20px -8px rgba(1, 50, 28, .5); }
.gi-nav__phone {
  margin-left: auto; color: #fff; font-weight: 600; text-decoration: none;
  display: inline-flex; align-items: center; gap: .4rem; padding: .5rem 0;
}
.gi-nav__phone:hover { color: var(--gi-green-pale); }
.gi-nav .navbar-nav .nav-link {
  color: rgba(255, 255, 255, .88);
  font-weight: 600;
  padding: .95rem 1rem;
  position: relative;
}
.gi-nav .navbar-nav .nav-link::after {
  content: ""; position: absolute; left: 1rem; right: 1rem; bottom: .55rem;
  height: 2px; background: var(--gi-green);
  transform: scaleX(0); transform-origin: left; transition: transform .25s ease;
}
.gi-nav .navbar-nav .nav-link:hover,
.gi-nav .navbar-nav .nav-link:focus,
.gi-nav .navbar-nav .nav-link.active,
.gi-nav .navbar-nav .show > .nav-link { color: #fff; }
.gi-nav .navbar-nav .nav-link:hover::after,
.gi-nav .navbar-nav .nav-link.active::after { transform: scaleX(1); }
.gi-nav .navbar-nav li:first-child .nav-link { padding-left: 0; }
.gi-nav .navbar-nav li:first-child .nav-link::after { left: 0; }
.gi-nav .dropdown-toggle::after { border: 0; }   /* replaced by underline */

.gi-nav .dropdown-menu {
  border: 0; border-radius: var(--gi-radius-sm);
  box-shadow: var(--gi-shadow-md); padding: .5rem; margin-top: 0;
  min-width: 15rem;
}
.gi-nav .dropdown-item {
  border-radius: 6px; padding: .55rem .8rem; font-weight: 500; color: var(--gi-ink); white-space: normal;
}
.gi-nav .dropdown-item:hover, .gi-nav .dropdown-item:focus { background: var(--gi-green-pale); color: var(--gi-green-dark); }
.gi-nav .dropdown-item.active { background: var(--gi-green-dark); color: #fff; }
.gi-nav .gi-dropdown-parent { font-weight: 600; color: var(--gi-green-dark); border-bottom: 1px solid var(--gi-line); border-radius: 6px 6px 0 0; margin-bottom: .25rem; }
@media (min-width: 992px) {
  .gi-nav .dropdown:hover > .dropdown-menu { display: block; }   /* hover-open on desktop */
}

.gi-nav .navbar-toggler {
  border: 1px solid rgba(255,255,255,.35); border-radius: 999px;
  padding: .4rem .9rem; margin: .5rem 0;
  display: inline-flex; align-items: center; gap: .5rem;
}
@media (min-width: 992px) { .gi-nav .navbar-toggler { display: none; } }
.gi-nav .navbar-toggler:focus { box-shadow: 0 0 0 .2rem rgba(101, 193, 140, .5); }
.gi-nav .navbar-toggler-icon { filter: invert(1); width: 1.2em; height: 1.2em; }
.gi-toggler-label { color: #fff; font-weight: 600; font-size: .95rem; }

/* ---------- 6. Hero ------------------------------------------------------- */
.gi-hero {
  position: relative;
  background:
    radial-gradient(1200px 620px at 88% -15%, rgba(101,193,140,.55), transparent 62%),
    radial-gradient(900px 520px at -5% 110%, rgba(101,193,140,.30), transparent 60%),
    linear-gradient(160deg, #e6f7ea 0%, #f3fbf5 45%, #ffffff 100%);
  padding: 2rem 0 2.5rem;
  overflow: hidden;
}
.gi-hero h1 { font-size: clamp(2.2rem, 1.4rem + 2.8vw, 3.5rem); margin-bottom: 1.25rem; }
.gi-hero h1 span { color: var(--gi-green); }
.gi-hero__intro { font-size: 1.2rem; color: var(--gi-ink); max-width: 36rem; }
.gi-hero__sub   { color: var(--gi-muted); max-width: 36rem; }

/* Two equal "paths" in the hero: personal debts / businesses */
.gi-hero__paths { margin-top: 1.25rem; max-width: 40rem; }
.gi-path {
  display: flex; flex-direction: column; height: 100%;
  padding: 1.1rem 1.2rem; border-radius: var(--gi-radius);
  background: #fff; border: 1px solid var(--gi-line); box-shadow: var(--gi-shadow-sm);
  color: var(--gi-ink); text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.gi-path:hover { transform: translateY(-3px); box-shadow: var(--gi-shadow-md); border-color: var(--gi-green); color: var(--gi-ink); }
.gi-path__icon {
  width: 40px; height: 40px; border-radius: 10px; display: grid; place-items: center;
  background: var(--gi-green-pale); color: var(--gi-green-dark); font-size: 1.15rem; margin-bottom: .6rem;
}
.gi-path__label { font-weight: 600; font-size: 1.1rem; color: var(--gi-green-dark); }
.gi-path__text  { font-size: .92rem; color: var(--gi-muted); margin: .25rem 0 .75rem; flex: 1; }
.gi-path__link  { font-weight: 600; font-size: .92rem; color: var(--gi-green-dark); display: inline-flex; gap: .35rem; align-items: center; }
.gi-path__link i { transition: transform .2s ease; }
.gi-path:hover .gi-path__link i { transform: translateX(3px); }
.gi-hero__media { position: relative; }
.gi-hero__media::before {
  content: ""; position: absolute; inset: 1.5rem -1.5rem -1.5rem 1.5rem;
  background: var(--gi-green-pale); border-radius: var(--gi-radius); z-index: 0;
}
.gi-hero__media img {
  position: relative; z-index: 1;
  border-radius: var(--gi-radius); box-shadow: var(--gi-shadow-md);
  aspect-ratio: 4 / 3; object-fit: cover; width: 100%;
}
.gi-hero__badge {
  position: absolute; left: -1.25rem; bottom: 1.5rem; z-index: 2;
  background: #fff; border-radius: var(--gi-radius-sm); box-shadow: var(--gi-shadow-md);
  border-left: 4px solid var(--gi-green);
  padding: .9rem 1.1rem; display: flex; gap: .75rem; align-items: center; max-width: 270px;
}
.gi-hero__badge i { font-size: 1.6rem; color: var(--gi-green-dark); }
.gi-hero__badge strong { display: block; color: var(--gi-green-dark); font-weight: 600; font-size: .95rem; line-height: 1.25; }
.gi-hero__badge small  { color: var(--gi-muted); font-size: .8rem; }

/* ---------- 7. Section spacing helper ------------------------------------ */
.gi-section.gi-section--tight { padding: 2.5rem 0; }
.gi-section--tight + .gi-section--alt { margin-top: 0; }


/* Icon chip used in page content */
.gi-icon {
  width: 52px; height: 52px; border-radius: 12px; flex-shrink: 0;
  display: grid; place-items: center;
  background: var(--gi-green-pale); color: var(--gi-green-dark); font-size: 1.4rem;
}

/* ---------- 8. Formal Consumer Debt Solutions — navy + yellow ------------- */
.gi-feature {
  background: var(--gi-navy); color: rgba(255,255,255,.88);
  border-radius: calc(var(--gi-radius) * 1.4); overflow: hidden;
  box-shadow: 0 10px 30px -12px rgba(10, 29, 48, .35);
}
.gi-theme .gi-feature h2, .gi-theme .gi-feature h3 { color: #fff; }
.gi-feature .gi-eyebrow { color: var(--gi-yellow); }
.gi-feature__body { padding: clamp(2rem, 1rem + 3vw, 3.5rem); }
/* Photo is pinned to its left edge so it always sits flush against the navy
   panel; any cropping happens on the right only. On narrow screens, where
   the photo stacks under the text, it is pinned top-left instead. */
.gi-feature__media { position: relative; min-height: 280px; height: 100%; overflow: hidden; }
.gi-feature__media img {
  position: absolute; inset: 0;
  width: 100%; height: 100%; display: block;
  object-fit: cover; object-position: left center;
}
@media (max-width: 991.98px) {
  .gi-feature__media { min-height: 0; aspect-ratio: 16 / 9; }
  .gi-feature__media img { object-position: left top; }
}
.gi-ticks { list-style: none; padding: 0; margin: 1.5rem 0 2rem; display: grid; gap: .7rem; }
@media (min-width: 576px) { .gi-ticks { grid-template-columns: 1fr 1fr; } }
.gi-ticks li { display: flex; gap: .6rem; align-items: center; color: #fff; font-weight: 600; }
.gi-ticks i  { color: var(--gi-yellow); font-size: 1.15rem; }
.gi-feature .btn-gi {
  --bs-btn-bg: var(--gi-yellow); --bs-btn-border-color: var(--gi-yellow); --bs-btn-color: var(--gi-navy-deep);
  --bs-btn-hover-bg: #fff; --bs-btn-hover-border-color: #fff; --bs-btn-hover-color: var(--gi-navy);
  --bs-btn-active-bg: #fff; --bs-btn-active-border-color: #fff; --bs-btn-active-color: var(--gi-navy);
}
.gi-feature__risk { font-size: .82rem; color: rgba(255,255,255,.65); margin-top: 1.25rem; }

/* ---------- 9. Service cards ---------------------------------------------- */
.gi-card {
  position: relative; background: #fff;
  border: 1px solid var(--gi-line); border-radius: var(--gi-radius);
  overflow: hidden; height: 100%; display: flex; flex-direction: column;
  box-shadow: var(--gi-shadow-sm);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.gi-card:hover { transform: translateY(-4px); box-shadow: var(--gi-shadow-md); border-color: var(--gi-green); }
.gi-card__img { aspect-ratio: 16 / 10; overflow: hidden; background: var(--gi-green-pale); }
.gi-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.gi-card:hover .gi-card__img img { transform: scale(1.04); }
.gi-card__img--icon {
  display: grid; place-items: center;
  background:
    radial-gradient(circle at 75% 20%, rgba(101,193,140,.45), transparent 55%),
    linear-gradient(135deg, var(--gi-green-pale), #c4ecd0);
}
.gi-card__img--icon i { font-size: 3.4rem; color: var(--gi-green-dark); transition: transform .3s ease; }
.gi-card:hover .gi-card__img--icon i { transform: scale(1.1); }
.gi-card__body { padding: 1.5rem; display: flex; flex-direction: column; flex: 1; }
.gi-card__tag {
  align-self: flex-start; font-size: .72rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
  color: var(--gi-green-dark); background: var(--gi-green-pale);
  padding: .3rem .6rem; border-radius: 999px; margin-bottom: .75rem;
}
.gi-theme .gi-card h3 { font-size: 1.25rem; margin-bottom: .6rem; color: var(--gi-green-dark); }
.gi-card p  { color: var(--gi-muted); font-size: .97rem; flex: 1; }
.gi-card__link {
  font-weight: 600; text-decoration: none; color: var(--gi-green-dark);
  display: inline-flex; align-items: center; gap: .4rem; margin-top: .5rem;
}
.gi-card__link i { transition: transform .2s ease; }
.gi-card__link:hover { color: var(--gi-green-deep); }
.gi-card:hover .gi-card__link i, .gi-card__link:hover i { transform: translateX(4px); }
.gi-card__link.stretched-link::after { z-index: 1; }

/* ---------- 10. Notice / CTA strip ---------------------------------------- */
/* Money Helper notice */
.gi-notice {
  display: flex; gap: 1rem; align-items: center;
  background: #dcf7e1; border-left: 4px solid #026c3e;
  border-radius: 8px; padding: 1.25rem 1.5rem;
}
.gi-notice i { font-size: 1.6rem; color: #026c3e; flex-shrink: 0; }
.gi-notice p { margin: 0; color: #1f2a24; }
.gi-notice a { font-weight: 600; }



@media (max-width: 767.98px) {
  .gi-section--tight + .gi-section--alt { margin-top: 1.5rem; }
  .gi-notice { align-items: flex-start; gap: .75rem; padding: 1rem 1.1rem; }
  .gi-notice i { font-size: 1.3rem; line-height: 1.5; }
}

.gi-cta {
  background: linear-gradient(120deg, var(--gi-green-deep) 0%, var(--gi-green-dark) 55%, #1f8f57 100%);
  color: rgba(255,255,255,.9); padding: 4rem 0;
}
.gi-theme .gi-cta h2 { color: #fff; font-size: clamp(1.6rem, 1.2rem + 1.2vw, 2.2rem); }
.gi-cta .gi-phone, .gi-cta .gi-phone:hover { color: #fff; }
.gi-cta .gi-phone__label { color: rgba(255,255,255,.75); }
.gi-cta .gi-phone__icon { background: var(--gi-green); color: #fff; }
.gi-cta .btn-light { color: var(--gi-green-dark); }

/* ---------- 11. Footer ---------------------------------------------------- */
.gi-footer {
  overflow-wrap: break-word;
  background: var(--gi-green-deep); color: rgba(255,255,255,.78);
  font-size: .92rem; padding: 4rem 0 0;
}
.gi-theme .gi-footer h4, .gi-footer .widget-title {
  color: #fff; font-size: .85rem; text-transform: uppercase; letter-spacing: .12em; margin-bottom: 1.25rem;
}
.gi-footer address { font-style: normal; }
.gi-footer a { color: rgba(255,255,255,.9); text-decoration: none; }
.gi-footer a:hover { color: var(--gi-green-pale); text-decoration: underline; }
.gi-footer__links { list-style: none; padding: 0; margin: 0; display: grid; gap: .55rem; }
.gi-footer__links a { display: inline-flex; gap: .5rem; align-items: baseline; }
.gi-footer__links a::before {
  content: "\F285"; font-family: "bootstrap-icons"; font-size: .7rem; color: var(--gi-green);
}
.gi-footer__extra { margin-top: 2.5rem; display: flex; flex-wrap: wrap; gap: 2rem; align-items: center; }
.gi-footer__extra img { max-height: 70px; width: auto; }
.gi-footer__bar {
  border-top: 1px solid rgba(255,255,255,.12);
  margin-top: 3rem; padding: 1.25rem 0; font-size: .82rem; color: rgba(255,255,255,.55);
}
.gi-totop {
  position: fixed; right: 1.25rem; bottom: 1.25rem; z-index: 1029;
  width: 46px; height: 46px; border-radius: 50%; border: 0;
  background: var(--gi-green-dark); color: #fff; box-shadow: var(--gi-shadow-md);
  opacity: 0; visibility: hidden; transform: translateY(10px); transition: all .25s ease;
}
.gi-totop.is-visible { opacity: 1; visibility: visible; transform: none; }
.gi-totop:hover { background: var(--gi-green-deep); }

/* ---------- 12. Inner page header ----------------------------------------- */
.gi-page-header {
  position: relative;
  background: var(--gi-green);
  padding: 1.75rem 0 3.75rem;
  margin-bottom: 1.75rem;            /* room for the icon circle */
}
.gi-theme .gi-page-title {
  font-size: clamp(2.1rem, 1.4rem + 2.4vw, 3.4rem);
  font-weight: 300;                  /* Segoe UI Semilight, as the logo */
  color: var(--gi-green-ink, #0b3a22);
  letter-spacing: -0.01em; margin: 0;
}
.gi-page-sub {
  color: var(--gi-green-ink, #0b3a22); font-weight: 300;
  font-size: clamp(1.15rem, 1rem + .6vw, 1.55rem); line-height: 1.45;
  margin: .9rem 0 0; max-width: 62rem;
}
.gi-breadcrumbs .breadcrumb {
  margin-bottom: 1rem; font-size: .9rem;
  --bs-breadcrumb-divider: "\203A"; --bs-breadcrumb-divider-color: var(--gi-green-ink, #0b3a22);
  --bs-breadcrumb-item-padding-x: .55rem;
}
.gi-breadcrumbs .breadcrumb-item a { color: var(--gi-green-ink, #0b3a22); text-decoration: none; font-weight: 600; }
.gi-breadcrumbs .breadcrumb-item a:hover { text-decoration: underline; }
.gi-breadcrumbs .breadcrumb-item.active { color: var(--gi-green-ink, #0b3a22); }
.gi-page-badge {
  position: absolute; left: 50%; bottom: 0; transform: translate(-50%, 50%); z-index: 2;
  width: 52px; height: 52px; border-radius: 50%;
  display: grid; place-items: center;
  background: var(--gi-green-dark); color: #fff; font-size: 1.35rem;
  border: 4px solid #fff; box-shadow: 0 6px 16px -6px rgba(1, 50, 28, .45);
}
.gi-page-header + .gi-main { padding-top: 1.5rem; }

/* ---------- 13. Entry content --------------------------------------------- */
.gi-main { padding: 3rem 0 4.5rem; }
.gi-entry { font-size: 1.05rem; overflow-wrap: break-word; }  /* long emails/URLs wrap on small phones */
.gi-entry > *:first-child { margin-top: 0; }
.gi-entry h1 { font-size: clamp(1.9rem, 1.3rem + 1.8vw, 2.6rem); margin: 0 0 1rem; }
.gi-entry h2 { font-size: 1.75rem; margin: 2.25rem 0 1rem; }
.gi-entry h3 { font-size: 1.35rem; margin: 1.75rem 0 .75rem; }
.gi-entry h4 { font-size: 1.15rem; margin: 1.5rem 0 .6rem; }
.gi-entry p, .gi-entry ul, .gi-entry ol { margin-bottom: 1.1rem; }
.gi-entry a:not(.btn) { text-decoration-thickness: 1px; text-underline-offset: 3px; }
.gi-entry ul:not([class]) { list-style: none; padding-left: 0; }
.gi-entry ul:not([class]) > li { position: relative; padding-left: 1.6rem; margin-bottom: .45rem; }
.gi-entry ul:not([class]) > li::before {
  content: "\F26A"; font-family: "bootstrap-icons"; position: absolute; left: 0; top: .05em;
  color: var(--gi-green); font-size: 1rem;
}
.gi-entry ol li { margin-bottom: .45rem; }
.gi-entry blockquote, .gi-entry .wp-block-quote {
  border-left: 4px solid var(--gi-green); background: var(--gi-surface);
  padding: 1.25rem 1.5rem; border-radius: 0 var(--gi-radius-sm) var(--gi-radius-sm) 0; margin: 1.5rem 0;
}
.gi-entry table:not(.table) { width: 100%; border-collapse: collapse; margin-bottom: 1.5rem; font-size: .97rem; }
.gi-entry table:not(.table) th, .gi-entry table:not(.table) td { padding: .65rem .8rem; border-bottom: 1px solid var(--gi-line); text-align: left; vertical-align: top; }
.gi-entry table:not(.table) thead th, .gi-entry table:not(.table) tr:first-child th { background: var(--gi-green-dark); color: #fff; }
.gi-entry table:not(.table) tbody tr:nth-child(even) { background: var(--gi-surface); }
.gi-entry .table { --bs-table-striped-bg: var(--gi-surface); }
.gi-entry hr { border-color: var(--gi-line); opacity: 1; margin: 2.5rem 0; }
.gi-entry img { border-radius: var(--gi-radius-sm); }
.gi-featured-img { width: 100%; border-radius: var(--gi-radius); margin-bottom: 1.5rem; }
.gi-meta { color: var(--gi-muted); font-size: .88rem; margin-bottom: 1rem; }
.gi-page-links { margin-top: 2rem; font-weight: 600; }

/* ---------- 14. Lists / sidebar / misc ------------------------------------ */
.gi-summary { padding: 1.75rem 0; border-bottom: 1px solid var(--gi-line); }
.gi-summary:first-child { padding-top: 0; }
.gi-summary__title { font-size: 1.4rem; margin-bottom: .4rem; }
.gi-summary__title a { text-decoration: none; }
.gi-summary__excerpt p { margin-bottom: .5rem; color: var(--gi-muted); }
.gi-pagination, .navigation.pagination { margin-top: 2.5rem; }
.nav-links { display: flex; flex-wrap: wrap; gap: .4rem; }
.page-numbers {
  display: inline-grid; place-items: center; min-width: 42px; height: 42px; padding: 0 .75rem;
  border-radius: 999px; border: 1px solid var(--gi-line); text-decoration: none; font-weight: 600;
}
.page-numbers.current, .page-numbers:hover { background: var(--gi-green-dark); border-color: var(--gi-green-dark); color: #fff; }
.gi-post-nav { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--gi-line); }
.gi-post-nav .nav-links { justify-content: space-between; }
.gi-post-nav a { text-decoration: none; font-weight: 600; }
.gi-empty { max-width: 40rem; }
.gi-search .form-control { border-radius: 999px 0 0 999px; padding: .7rem 1.1rem; border-color: var(--gi-line); }
.gi-search .btn { border-radius: 0 999px 999px 0; }
.form-control:focus, .form-select:focus { border-color: var(--gi-green); box-shadow: 0 0 0 .2rem rgba(101,193,140,.3); }

/* Sidebar — card menu (matches Financial Guardian 2026) */
.gi-sidebar__inner { position: sticky; top: calc(var(--gi-header-h) + 1.5rem); }
.admin-bar .gi-sidebar__inner { top: calc(var(--gi-header-h) + 32px + 1.5rem); }
.gi-side-card, .gi-sidebar .widget {
  background: #fff; border: 1px solid var(--gi-line); border-radius: var(--gi-radius);
  box-shadow: var(--gi-shadow-sm); padding: 1.25rem 1.25rem 1rem; margin-bottom: 1.5rem;
}
.gi-theme .gi-side-card__title, .gi-theme .gi-sidebar .widget-title,
.gi-theme .gi-sidebar .widget > h2, .gi-theme .gi-sidebar .widget > h3, .gi-theme .gi-sidebar .widget > h4,
.gi-theme .gi-sidebar .wp-block-heading {
  font-size: .82rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em;
  color: var(--gi-green-dark); margin: 0 0 .75rem; padding-bottom: .75rem;
  border-bottom: 2px solid var(--gi-green-pale);
}
.gi-side-menu, .gi-sidebar .widget ul { list-style: none; padding: 0; margin: 0; }
.gi-side-menu li, .gi-sidebar .widget li { margin: 0; padding: 0; border: 0; }
.gi-side-menu a, .gi-sidebar .widget_nav_menu a, .gi-sidebar .widget_pages a,
.gi-sidebar .wp-block-navigation a, .gi-sidebar .wp-block-page-list a {
  position: relative; display: block;
  padding: .7rem 2.2rem .7rem .75rem; margin-bottom: 2px; border-radius: var(--gi-radius-sm);
  color: var(--gi-ink); font-weight: 600; text-decoration: none; line-height: 1.3;
  transition: background-color .15s ease, color .15s ease;
}
.gi-side-menu a::after, .gi-sidebar .widget_nav_menu a::after, .gi-sidebar .widget_pages a::after {
  content: "\F285"; font-family: "bootstrap-icons"; position: absolute; right: .8rem; top: 50%;
  transform: translateY(-50%); font-size: .8rem; color: var(--gi-green); transition: transform .15s ease;
}
.gi-side-menu a:hover, .gi-sidebar .widget_nav_menu a:hover, .gi-sidebar .widget_pages a:hover {
  background: var(--gi-green-pale); color: var(--gi-green-dark);
}
.gi-side-menu a:hover::after, .gi-sidebar .widget_nav_menu a:hover::after { transform: translate(3px, -50%); }
.gi-side-menu .current-menu-item > a, .gi-side-menu .current_page_item > a, .gi-side-menu .current-menu-ancestor > a,
.gi-sidebar .widget_nav_menu .current-menu-item > a, .gi-sidebar .widget_pages .current_page_item > a {
  background: var(--gi-green-dark); color: #fff;
}
.gi-side-menu .current-menu-item > a::after, .gi-side-menu .current_page_item > a::after, .gi-side-menu .current-menu-ancestor > a::after,
.gi-sidebar .widget_nav_menu .current-menu-item > a::after, .gi-sidebar .widget_pages .current_page_item > a::after { color: #fff; }
.gi-sidebar .sub-menu, .gi-sidebar .children { padding-left: .75rem !important; }
.gi-sidebar .widget p:last-child { margin-bottom: 0; }
.gi-sidebar .widget.is-empty { display: none; }
@media (max-width: 991.98px) { .gi-sidebar__inner { position: static; } }

/* Footer widgets (the original theme's "Footer" widget area) */
.gi-footer-widget p { margin-bottom: .75rem; }
.gi-footer-widget p:last-child { margin-bottom: 0; }
.gi-footer-widget ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .55rem; }
.gi-footer-widget li { margin: 0; }
.gi-footer-widget .menu a, .gi-footer-widget .widget_nav_menu a, .gi-footer-widget.widget_nav_menu a,
.gi-footer-widget.widget_pages a { display: inline-flex; gap: .5rem; align-items: baseline; }
.gi-footer-widget.widget_nav_menu a::before, .gi-footer-widget.widget_pages a::before, .gi-footer-widget .menu a::before {
  content: "\F285"; font-family: "bootstrap-icons"; font-size: .7rem; color: var(--gi-green);
}
.gi-footer-widget strong { color: #fff; }
.gi-footer-widget img { max-width: 160px; height: auto; }
.gi-footer-widget.is-empty { display: none; }

.gi-comments { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--gi-line); }
.comment-list { padding-left: 0; list-style: none; }
.comment-body { padding: 1rem 0; border-bottom: 1px solid var(--gi-line); }

.wp-block-search__input { border: 1px solid #c9d6cd; border-radius: 999px 0 0 999px; padding: .6rem 1rem; }
.wp-block-search__button { background: var(--gi-green-dark); color: #fff; border: 0; border-radius: 0 999px 999px 0; padding: .6rem 1.1rem; font-weight: 600; margin-left: 0; }
.wp-block-search__button:hover { background: var(--gi-green-deep); }
.wp-block-search__label { font-weight: 600; color: var(--gi-green-dark); }

/* ---------- 15. Content helpers -------------------------------------------- */
/* Underlined section heading, used in page content: <h3 class="styled"> */
.gi-theme h2.styled, .gi-theme h3.styled {
  font-size: 1.4rem; color: var(--gi-green-dark);
  border-bottom: 2px solid var(--gi-green); margin: 0 0 .9rem; padding-bottom: .6rem;
}
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* ---------- 16. Contact Form 7 -------------------------------------------- */
.wpcf7 { max-width: 44rem; }
.wpcf7 label { display: block; font-weight: 600; margin-bottom: .35rem; }
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"],
.wpcf7 input[type="number"], .wpcf7 input[type="date"], .wpcf7 select, .wpcf7 textarea {
  display: block; width: 100%; padding: .7rem 1rem; font: inherit; color: var(--gi-ink);
  background: #fff; border: 1px solid #c9d6cd; border-radius: var(--gi-radius-sm);
  transition: border-color .15s ease, box-shadow .15s ease;
}
.wpcf7 input:focus, .wpcf7 select:focus, .wpcf7 textarea:focus {
  outline: 0; border-color: var(--gi-green); box-shadow: 0 0 0 .2rem rgba(101,193,140,.3);
}
.wpcf7 textarea { min-height: 150px; }
.wpcf7 p { margin-bottom: 1rem; }
.wpcf7-submit {
  background: var(--gi-green-dark); color: #fff; border: 0; border-radius: 999px;
  padding: .8rem 1.8rem; font-weight: 600; cursor: pointer; transition: background .2s ease;
}
.wpcf7-submit:hover { background: var(--gi-green-deep); }
.wpcf7-list-item { margin: 0 1rem .4rem 0; }
.wpcf7-not-valid { border-color: var(--gi-danger) !important; }
.wpcf7-not-valid-tip { color: var(--gi-danger); font-size: .85rem; margin-top: .3rem; }
.wpcf7 form .wpcf7-response-output { margin: 1.25rem 0 0; padding: .9rem 1.1rem; border-radius: var(--gi-radius-sm); border-width: 1px; }
.wpcf7 form.sent .wpcf7-response-output { border-color: var(--gi-green); background: var(--gi-green-pale); }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output { border-color: var(--gi-danger); background: #fdecea; }

/* ---------- 17. WordPress core -------------------------------------------- */
.alignleft  { float: left; margin: .3rem 1.5rem 1rem 0; }
.alignright { float: right; margin: .3rem 0 1rem 1.5rem; }
.aligncenter { display: block; margin: 1rem auto; }
.wp-caption { max-width: 100%; margin-bottom: 1.25rem; }
.wp-caption-text, .wp-element-caption { font-size: .85rem; color: var(--gi-muted); margin-top: .4rem; }
.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; background: #fff; padding: .75rem 1rem; z-index: 100000; }
.gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 1rem; }
.wp-block-button__link { background: var(--gi-green-dark); border-radius: 999px; font-weight: 600; }
.wp-block-button__link:hover { background: var(--gi-green-deep); color: #fff; }
.sticky, .bypostauthor { }
.gi-entry::after { content: ""; display: table; clear: both; }

/* ---------- 18. Motion ---------------------------------------------------- */
.gi-js .gi-reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
.gi-js .gi-reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .gi-js .gi-reveal { opacity: 1; transform: none; transition: none; }
  .gi-card, .gi-card__img img, .gi-totop, .gi-nav { transition: none; }
  html { scroll-behavior: auto; }
}

/* ---------- 19. Responsive ------------------------------------------------ */
@media (max-width: 991.98px) {
  .gi-section { padding: 3rem 0; }
  .gi-hero    { padding: 2.25rem 0 1.5rem; }
  .gi-section--tight + .gi-section--alt { margin-top: 1.5rem; }
  .gi-hero__badge { left: 1rem; }
  .gi-hero__media::before { inset: 1rem -.75rem -.75rem 1rem; }
  .gi-hero .row { --bs-gutter-y: 1.75rem; }  /* horizontal gutter comes from g-4 (fits the container padding) */
  .gi-hero__paths { margin-top: .75rem; }
  .gi-nav .navbar-collapse { max-height: calc(100vh - 70px); overflow-y: auto; padding-bottom: .75rem; }
  .gi-nav .navbar-nav .nav-link { padding: .75rem 0; border-top: 1px solid rgba(255,255,255,.1); }
  .gi-nav .navbar-nav .nav-link::after { display: none; }
  .gi-nav .nav-link .visually-hidden { position: static !important; width: auto !important; height: auto !important; margin: 0 0 0 .5rem !important; clip: auto !important; overflow: visible !important; white-space: normal !important; }
  .gi-nav .dropdown-menu { background: rgba(255,255,255,.06); box-shadow: none; padding: 0 0 .5rem 1rem; }
  .gi-nav .dropdown-item, .gi-nav .gi-dropdown-parent { color: rgba(255,255,255,.88); border: 0; }
  .gi-nav .dropdown-item:hover, .gi-nav .dropdown-item:focus { background: rgba(255,255,255,.1); color: #fff; }
  .alignleft, .alignright { float: none; margin: 1rem 0; }
}
@media (max-width: 575.98px) {
  :root { --gi-header-h: 56px; }
  .gi-phone__label { display: none; }
  .gi-notice { align-items: flex-start; gap: .75rem; padding: 1rem 1.1rem; }
  .gi-notice i { font-size: 1.3rem; line-height: 1.5; }
}

/* ---------- Print --------------------------------------------------------- */
@media print {
  .gi-nav { position: static; box-shadow: none; }
  .gi-nav .navbar-collapse, .gi-totop, .gi-cta { display: none !important; }
  .gi-js .gi-reveal { opacity: 1; transform: none; }
}

/* Keep the footer at the bottom of short pages */
body.gi-theme { display: flex; flex-direction: column; min-height: 100vh; }
body.gi-theme > .gi-site-content { flex: 1 0 auto; }
.gi-full-width > .container:last-child { padding-bottom: 3rem; }

/* Phone number in the menu bar appears only once the logo bar has scrolled away */
.gi-nav__phone { opacity: 0; visibility: hidden; transition: opacity .2s ease, visibility .2s ease; }
.gi-nav.is-stuck .gi-nav__phone { opacity: 1; visibility: visible; }

/* ---------- Logo bar sizes -------------------------------------------------
   Desktop: logo 88px tall (set above). Tablets: 72px.
   Phones (575px and below): the logo bar shows the logo only; the phone
   number is always shown in the green menu bar instead. */
@media (max-width: 991.98px) {
  .gi-topbar .container { min-height: 96px; }
  .gi-logo img { height: 72px; }
}
@media (max-width: 575.98px) {
  .gi-topbar .container { min-height: 84px; }
  .gi-topbar .gi-phone { display: none; }          /* number is in the green menu bar instead */
  .gi-logo { flex: 1 1 auto; min-width: 0; }
  .gi-logo img { height: auto; max-height: 72px; max-width: 100%; }
  .gi-nav__phone { opacity: 1; visibility: visible; }
}



/* Picture on the right of the page title band (the page's Featured image) */
.gi-page-header__img {
  display: block; width: 100%; aspect-ratio: 2 / 1; object-fit: cover;
  border-radius: var(--gi-radius);
  box-shadow: 0 10px 30px -14px rgba(1, 50, 28, .45);
}