
:root{
  --fr-ink:#0c1425; --fr-navy:#0e1626; --fr-blue:#2a3e59; --fr-slate:#54728c;
  --fr-gold:#f2d98d; --fr-clay:#a6786d; --fr-coral:#d9665b;
  --fr-line:rgba(242,217,141,.18); --fr-line-soft:rgba(255,255,255,.12);
  --fr-font-display:'Archivo','Poppins',system-ui,sans-serif;
  --fr-font-body:'Inter','Poppins',system-ui,sans-serif;
  --fr-pad-x:44px; --fr-util-h:46px; --fr-main-h:92px; --fr-main-h-scrolled:70px;
  --fr-offset:138px; --fr-admin:0px;
  --fr-anim:200ms; --fr-ease:cubic-bezier(.4,0,.2,1);
}

/* This plugin owns the header and footer. Any Elementor Theme Builder header/footer
   template that is still published gets hidden outright — collapsing it to zero height
   is not enough, because its widgets keep painting outside the collapsed box. */
.elementor-location-header{ display:none !important; }
.elementor-location-footer{ display:none !important; }

body{ padding-top:var(--fr-offset) !important; }
body.elementor-editor-active, body.elementor-editor-preview{ padding-top:0 !important; }

.fr-head *,.fr-foot *{ box-sizing:border-box; }

/* ---------- shared bits ---------- */
.fr-btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:var(--fr-font-display); font-weight:700; font-size:13px; letter-spacing:.6px;
  text-transform:uppercase; text-decoration:none; padding:13px 24px; border-radius:4px;
  white-space:nowrap; transition:background var(--fr-anim) var(--fr-ease), color var(--fr-anim) var(--fr-ease), border-color var(--fr-anim); }
.fr-btn--gold{ background:var(--fr-gold); color:var(--fr-ink) !important; }
.fr-btn--gold:hover,.fr-btn--gold:focus{ background:#fff; color:var(--fr-ink) !important; }
.fr-btn--ghost{ background:transparent; color:#fff !important; border:1px solid var(--fr-line-soft); }
.fr-btn--ghost:hover{ border-color:var(--fr-gold); color:var(--fr-gold) !important; }
.fr-ic{ color:currentColor; flex:0 0 auto; }

/* ---------- header shell ---------- */
.fr-head{ position:fixed !important; top:var(--fr-admin); left:0; right:0; z-index:9990;
  background:var(--fr-blue); font-family:var(--fr-font-body);
  transition:background var(--fr-anim) var(--fr-ease), box-shadow var(--fr-anim) var(--fr-ease); }
.fr-head.is-scrolled{ background:rgba(14,22,38,.94); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  box-shadow:0 12px 30px rgba(12,20,37,.28); }

/* utility bar */
/* overflow is visible at rest so a search suggestions panel can hang below the bar,
   and only clipped once scrolled, when the bar collapses to zero height. */
.fr-head__utility{ display:flex !important; flex-direction:row !important; align-items:center;
  justify-content:space-between; gap:24px; height:var(--fr-util-h); padding:0 var(--fr-pad-x);
  background:var(--fr-navy); border-bottom:1px solid var(--fr-line-soft); overflow:visible;
  transition:height var(--fr-anim) var(--fr-ease), opacity var(--fr-anim) var(--fr-ease); }
.fr-head.is-scrolled .fr-head__utility{ overflow:hidden; }
.fr-head.is-scrolled .fr-head__utility{ height:0; opacity:0; border-bottom-color:transparent; pointer-events:none; }
.fr-head__tagline{ margin:0; color:#fff; font-size:13px; letter-spacing:.2px; white-space:nowrap;
  overflow:hidden; text-overflow:ellipsis; }
.fr-head__search{ flex:0 1 420px; min-width:0; position:relative; }

/* search field — quiet until focused, then a gold scan line */
/* Renamed from .fr-search to avoid colliding with the Faith Radar Search plugin,
   which owns that namespace. These rules style only the built-in fallback form. */
.fr-head__form{ display:flex; align-items:center; gap:0; }
.fr-head__form input[type="search"]{ flex:1 1 auto; height:34px; min-width:0; padding:0 14px;
  font:400 13.5px/1 var(--fr-font-body); color:var(--fr-ink); background:#fff;
  border:1px solid transparent; border-radius:3px 0 0 3px; outline:none;
  transition:border-color var(--fr-anim), box-shadow var(--fr-anim); }
.fr-head__form input[type="search"]::placeholder{ color:#7b8899; }
.fr-head__form input[type="search"]:focus{ border-color:var(--fr-gold); box-shadow:0 0 0 2px rgba(242,217,141,.35); }
.fr-head__form button{ display:inline-flex; align-items:center; justify-content:center; height:34px; width:44px;
  border:0; border-radius:0 3px 3px 0; cursor:pointer; background:var(--fr-gold); color:var(--fr-ink);
  transition:background var(--fr-anim); }
.fr-head__form button:hover{ background:#fff; }

/* main row */
.fr-head__main{ display:flex !important; flex-direction:row !important; align-items:center;
  justify-content:space-between; gap:28px; height:var(--fr-main-h); padding:0 var(--fr-pad-x);
  transition:height var(--fr-anim) var(--fr-ease); }
.fr-head.is-scrolled .fr-head__main{ height:var(--fr-main-h-scrolled); }
.fr-head__logo{ display:inline-flex; align-items:center; flex:0 0 auto; line-height:0; }
.fr-head__logo img{ display:block; width:auto !important; height:auto !important;
  max-width:260px !important; max-height:54px !important;
  transition:max-height var(--fr-anim) var(--fr-ease); }
.fr-head.is-scrolled .fr-head__logo img{ max-height:42px !important; }
.fr-head__wordmark{ font-family:var(--fr-font-display); font-weight:800; font-size:22px; letter-spacing:2px; color:#fff; }

/* desktop nav — gold scan line on hover / current */
.fr-head__nav{ flex:1 1 auto; display:flex; justify-content:center; }
.fr-menu{ list-style:none; margin:0; padding:0; display:flex; align-items:center; gap:32px; }
.fr-menu li{ position:relative; }
.fr-menu a{ position:relative; display:inline-block; padding:10px 0; text-decoration:none;
  font-family:var(--fr-font-display); font-size:14.5px; font-weight:600; letter-spacing:.5px; color:#fff; }
.fr-head__nav .fr-menu > li > a::before{ content:""; position:absolute; left:0; right:0; bottom:0; height:2px;
  background:var(--fr-gold); transform:scaleX(0); transform-origin:left center;
  transition:transform var(--fr-anim) var(--fr-ease); }
.fr-head__nav .fr-menu > li > a:hover::before,
.fr-head__nav .fr-menu > li.current-menu-item > a::before,
.fr-head__nav .fr-menu > li.current-menu-ancestor > a::before{ transform:scaleX(1); }
.fr-head__nav .fr-menu > li > a:hover{ color:var(--fr-gold); }
.fr-menu .menu-item-has-children > a::after{ content:""; display:inline-block; width:5px; height:5px; margin-left:7px;
  border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg) translateY(-2px); opacity:.65; }

/* dropdown */
.fr-menu .sub-menu{ list-style:none; margin:0; padding:8px 0; position:absolute; top:100%; left:0; min-width:230px;
  background:#fff; border-radius:6px; border-top:3px solid var(--fr-gold);
  box-shadow:0 18px 38px rgba(12,20,37,.22); opacity:0; visibility:hidden; transform:translateY(6px);
  transition:all var(--fr-anim) var(--fr-ease); z-index:5; }
.fr-menu li:hover > .sub-menu,.fr-menu li:focus-within > .sub-menu{ opacity:1; visibility:visible; transform:translateY(0); }
.fr-menu .sub-menu a{ display:block; padding:9px 18px; font-family:var(--fr-font-body); font-size:14px;
  font-weight:400; letter-spacing:0; color:var(--fr-ink); }
.fr-menu .sub-menu a:hover{ background:#f4f6f9; color:var(--fr-blue); }

/* mega panel */
.fr-head__nav .fr-menu .fr-has-mega{ position:static; }
.fr-mega{ display:none; position:absolute; left:0; right:0; top:100%; background:#fff;
  border-top:3px solid var(--fr-gold); box-shadow:0 24px 44px rgba(12,20,37,.22); z-index:20; }
@keyframes frMegaIn{ from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:translateY(0);} }
@media (min-width:981px){
  .fr-head__nav .fr-has-mega:hover > .fr-mega,
  .fr-head__nav .fr-has-mega:focus-within > .fr-mega{ display:block; animation:frMegaIn var(--fr-anim) var(--fr-ease) both; }
}
.fr-mega__inner{ display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:26px 40px;
  max-width:1240px; margin:0 auto; padding:28px var(--fr-pad-x) 32px; }
.fr-mega__cat{ display:block; font-family:var(--fr-font-display); font-size:13px; font-weight:700;
  letter-spacing:.9px; text-transform:uppercase; color:var(--fr-blue); text-decoration:none;
  padding-bottom:9px; margin-bottom:8px; border-bottom:2px solid var(--fr-gold); }
.fr-mega__cat:hover{ color:var(--fr-slate); }
.fr-mega__list{ list-style:none; margin:0; padding:0; }
.fr-mega__list a{ display:block; padding:7px 0; font-family:var(--fr-font-body); font-size:14px;
  color:#33465e; text-decoration:none; }
.fr-mega__list a:hover{ color:var(--fr-blue); }
.fr-mtoggle{ display:none; }

/* actions + account */
.fr-head__actions{ display:flex; align-items:center; gap:14px; flex:0 0 auto; }
.fr-acct{ position:relative; }
.fr-acct__signin{ display:inline-flex; align-items:center; gap:7px; color:#fff !important; text-decoration:none;
  font-family:var(--fr-font-display); font-size:13px; font-weight:600; letter-spacing:.5px;
  transition:color var(--fr-anim); }
.fr-acct__signin:hover{ color:var(--fr-gold) !important; }
.fr-acct__toggle{ display:inline-flex; align-items:center; gap:9px; padding:5px 10px 5px 5px; cursor:pointer;
  background:rgba(255,255,255,.06) !important; border:1px solid var(--fr-line-soft); border-radius:999px;
  -webkit-appearance:none; appearance:none; color:#fff; box-shadow:none !important;
  transition:border-color var(--fr-anim), background var(--fr-anim); }
.fr-acct__toggle:hover{ border-color:var(--fr-gold); }
.fr-acct__toggle:focus-visible{ outline:2px solid var(--fr-gold); outline-offset:2px; }
.fr-acct__avatar{ width:30px; height:30px; border-radius:50%; display:block; }
.fr-acct__name{ font-family:var(--fr-font-display); font-size:13px; font-weight:600; max-width:120px;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fr-acct__caret{ width:5px; height:5px; border-right:2px solid currentColor; border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateY(-2px); opacity:.7; }
.fr-acct__menu{ position:absolute; right:0; top:calc(100% + 12px); min-width:220px; padding:8px 0;
  background:#fff; border-radius:6px; border-top:3px solid var(--fr-gold);
  box-shadow:0 18px 38px rgba(12,20,37,.24); z-index:30; }
.fr-acct__menu[hidden]{ display:none; }
.fr-acct__hello{ margin:0; padding:8px 18px 10px; font-size:12px; color:#6b7a8d;
  border-bottom:1px solid #eceff3; }
.fr-acct__hello strong{ color:var(--fr-ink); }
.fr-acct__menu a{ display:block; padding:9px 18px; font-size:14px; color:var(--fr-ink); text-decoration:none; }
.fr-acct__menu a:hover{ background:#f4f6f9; color:var(--fr-blue); }
.fr-acct__out{ margin-top:6px; border-top:1px solid #eceff3; color:var(--fr-clay) !important; }

/* burger */
.fr-head__burger{ display:none; width:42px; height:42px; padding:0; border:0; cursor:pointer;
  -webkit-appearance:none; appearance:none; background:none !important; box-shadow:none !important;
  flex-direction:column; justify-content:center; align-items:center; gap:6px; }
.fr-head__burger:focus-visible{ outline:2px solid var(--fr-gold); outline-offset:2px; }
.fr-head__burger span{ display:block; width:25px; height:2px; flex:0 0 auto; border-radius:2px;
  background:#fff !important; transition:transform var(--fr-anim) var(--fr-ease), opacity var(--fr-anim); }
.fr-head__burger[aria-expanded="true"] span:nth-child(1){ transform:translateY(8px) rotate(45deg); }
.fr-head__burger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.fr-head__burger[aria-expanded="true"] span:nth-child(3){ transform:translateY(-8px) rotate(-45deg); }

/* mobile panel */
.fr-head__mobile{ display:none; background:var(--fr-navy); border-top:1px solid var(--fr-line-soft);
  max-height:calc(100vh - var(--fr-offset)); overflow-y:auto; }
.fr-head__mobile.is-open{ display:block; }
.fr-head__msearch{ padding:16px 20px 6px; }
.fr-head__mnav .fr-menu{ flex-direction:column; align-items:stretch; gap:0; padding:6px 0; }
.fr-head__mnav .fr-menu > li{ display:flex; flex-wrap:wrap; align-items:stretch;
  border-bottom:1px solid var(--fr-line-soft); }
.fr-head__mnav .fr-menu > li > a{ flex:1 1 auto; }
.fr-head__mnav .fr-menu a{ display:block; padding:14px 20px; font-size:15px; }
.fr-head__mnav .menu-item-has-children > a::after{ display:none; }
.fr-head__mnav .fr-mtoggle{ display:flex; align-items:center; justify-content:center; width:52px; flex:0 0 auto;
  border:0; border-left:1px solid var(--fr-line-soft); background:none; cursor:pointer;
  -webkit-appearance:none; appearance:none; }
.fr-head__mnav .fr-mtoggle::after{ content:""; width:8px; height:8px; margin-top:-3px;
  border-right:2px solid var(--fr-gold); border-bottom:2px solid var(--fr-gold); transform:rotate(45deg);
  transition:transform var(--fr-anim) var(--fr-ease); }
.fr-head__mnav .is-expanded > .fr-mtoggle::after{ transform:rotate(-135deg); margin-top:3px; }
.fr-head__mnav .fr-mega{ position:static; display:none; box-shadow:none; border-top:0; background:transparent; flex:1 1 100%; animation:none; }
.fr-head__mnav .fr-has-mega.is-expanded > .fr-mega{ display:block; }
.fr-head__mnav .menu-item-has-children > .sub-menu{ position:static; display:none; flex:1 1 100%;
  opacity:1; visibility:visible; transform:none; box-shadow:none; border:0; border-radius:0;
  padding:0; background:rgba(255,255,255,.04); }
.fr-head__mnav .menu-item-has-children.is-expanded > .sub-menu{ display:block; }
.fr-head__mnav .sub-menu a{ color:#dfe6ef; padding-left:36px; }
.fr-head__mnav .fr-mega__inner{ display:block; max-width:none; margin:0; padding:0; }
.fr-head__mnav .fr-mega__col{ display:flex; flex-wrap:wrap; align-items:stretch; border-top:1px solid var(--fr-line-soft); }
.fr-head__mnav .fr-mega__cat{ flex:1 1 auto; padding:12px 20px; margin:0; border-bottom:0; color:var(--fr-gold); background:rgba(255,255,255,.04); }
.fr-head__mnav .fr-mega__col > .fr-mega__list{ flex:1 1 100%; display:none; }
.fr-head__mnav .fr-mega__col.is-expanded > .fr-mega__list{ display:block; }
.fr-head__mnav .fr-mega__list a{ padding:11px 20px 11px 36px; color:#dfe6ef; }
.fr-head__mactions{ display:grid; gap:10px; padding:18px 20px 24px; }
.fr-head__mactions .fr-btn{ width:100%; padding:14px; }

/* ---------- footer ---------- */
.fr-foot{ background:var(--fr-navy); color:#c9d3e0; font-family:var(--fr-font-body); }
.fr-foot__inner{ display:grid; grid-template-columns:1.15fr 1.6fr; gap:56px;
  max-width:1240px; margin:0 auto; padding:66px var(--fr-pad-x) 50px; }
.fr-foot__brand{ position:relative; }
.fr-rings{ position:absolute; top:-26px; left:-58px; width:220px; height:220px; color:var(--fr-gold);
  opacity:.06; pointer-events:none; }
.fr-foot__logo{ display:inline-block; line-height:0; margin-bottom:18px; position:relative; }
.fr-foot__logo img{ display:block; max-height:56px; width:auto; }
.fr-foot__about{ position:relative; margin:0 0 20px; font-size:14.5px; line-height:1.65; max-width:38ch; }
.fr-foot__social{ display:flex; gap:14px; }
.fr-foot__social a{ display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px;
  border:1px solid var(--fr-line-soft); border-radius:50%; color:#c9d3e0;
  transition:color var(--fr-anim), border-color var(--fr-anim); }
.fr-foot__social a:hover{ color:var(--fr-gold); border-color:var(--fr-gold); }

.fr-foot__right{ display:flex; flex-direction:column; gap:34px; min-width:0; }
.fr-foot__cols{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.fr-foot h2.fr-foot__h,
h2.fr-foot__h,
.fr-foot__h {
  margin: 0 0 16px !important;
  font-family: var(--fr-font-display) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 1.4px !important;
  text-transform: uppercase !important;
  color: var(--fr-gold) !important;
  padding: 0 !important;
  border: none !important;
}
.fr-foot__eyebrow{ margin:0 0 12px; font-family:var(--fr-font-display); font-size:12px; font-weight:700;
  letter-spacing:1.4px; text-transform:uppercase; color:var(--fr-gold); }
.fr-foot__votd {
  padding: 22px 24px;
  background: rgba(84, 114, 140, .16);
  border-left: 2px solid var(--fr-gold);
  border-radius: 0 6px 6px 0;
  font-size: 15px;
  line-height: 1.7;
  color: #e4ebf3;
}
 
/* Force all VOTD child elements to light colours on the dark footer background */
.fr-foot__votd .fr-votd,
.fr-foot__votd .fr-votd * {
  color: #e4ebf3;
}
 
.fr-foot__votd p,
.fr-foot__votd .fr-votd__verse,
.fr-foot__votd blockquote,
.fr-foot__votd q {
  color: #e4ebf3 !important;
}
 
.fr-foot__votd cite,
.fr-foot__votd .fr-votd__ref,
.fr-foot__votd .fr-votd__citation,
.fr-foot__votd small {
  color: rgba(228, 235, 243, .7) !important;
}
 
/* Keep the "VERSE OF THE DAY" eyebrow label gold */
.fr-foot__votd .fr-foot__eyebrow {
  color: var(--fr-gold) !important;
}

.fr-foot__legal{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px;
  max-width:1240px; margin:0 auto; padding:18px var(--fr-pad-x) 26px; border-top:1px solid var(--fr-line-soft);
  font-size:13px; color:#8fa0b5; }
.fr-foot__legal p{ margin:0; }
.fr-foot__mail{ color:#8fa0b5; text-decoration:none; }
.fr-foot__mail:hover{ color:var(--fr-gold); }

/* plain menu shortcode (footer columns + legal bar) */
.fr-fmenu{ --fr-fmenu-gap:10px; --fr-fmenu-cols:1; display:block; }
.fr-fmenu__list,.fr-fmenu__sub{ list-style:none; margin:0; padding:0; }
.fr-fmenu a{ color:inherit; text-decoration:none; display:inline-block; font-size:14px;
  transition:color var(--fr-anim) var(--fr-ease); }
.fr-fmenu a:hover,.fr-fmenu a:focus-visible{ color:var(--fr-gold); }
.fr-fmenu .is-current > a{ color:var(--fr-gold); }
.fr-fmenu--column .fr-fmenu__list{ display:flex; flex-direction:column; gap:var(--fr-fmenu-gap); }
.fr-fmenu--column .fr-fmenu__sub{ display:flex; flex-direction:column; gap:calc(var(--fr-fmenu-gap) * .7);
  margin:calc(var(--fr-fmenu-gap) * .7) 0 0 14px; opacity:.85; }
.fr-fmenu--row .fr-fmenu__list{ display:flex; flex-direction:row; flex-wrap:wrap; align-items:center; gap:var(--fr-fmenu-gap); }
.fr-fmenu--row .fr-fmenu__sub{ display:none; }
.fr-fmenu--cols.fr-fmenu--column .fr-fmenu__list{ display:block; columns:var(--fr-fmenu-cols); column-gap:32px; }
.fr-fmenu--cols.fr-fmenu--column .fr-fmenu__list > li{ break-inside:avoid; margin-bottom:var(--fr-fmenu-gap); }
.fr-fmenu__error{ color:var(--fr-coral); font:13px/1.4 system-ui,sans-serif; }

/* ---------- responsive ---------- */
@media (max-width:1180px){
  :root{ --fr-pad-x:24px; }
  .fr-menu{ gap:18px; }
  .fr-menu a{ font-size:13.5px; }
  .fr-acct__name{ display:none; }
}
@media (max-width:980px){
  :root{ --fr-main-h:80px; --fr-offset:126px; }
  .fr-head__nav{ display:none; }
  .fr-head__cta{ display:none; }
  .fr-head__burger{ display:flex; }
  .fr-head__logo{ margin-right:auto; }
  .fr-head__logo img,.fr-head.is-scrolled .fr-head__logo img{ max-height:44px !important; }
  .fr-head__mobile{ display:block; }
  .fr-head__mobile:not(.is-open){ display:none; }
  .fr-foot__inner{ grid-template-columns:1fr; gap:44px; }
}
@media (max-width:760px){
  :root{ --fr-util-h:52px; --fr-offset:132px; }
  .fr-head__tagline{ display:none; }
  .fr-head__search{ flex:1 1 100%; }
  .fr-head__utility{ padding:0 22px; }
  .fr-foot__inner{ grid-template-columns:1fr; gap:36px; padding:48px 22px 36px; }
  .fr-foot__cols{ grid-template-columns:1fr 1fr; gap:26px; }
  .fr-foot__legal{ flex-direction:column; align-items:flex-start; padding:18px 22px 28px; }
  .fr-rings{ left:-70px; top:-40px; }
}
@media (prefers-reduced-motion:reduce){
  .fr-head,.fr-head *,.fr-foot *{ transition:none !important; animation:none !important; }
}
