:root{
  color-scheme: light;
  --gh-header-bg: #333645;
  --gh-header-accent: #ffb13b;
  --gh-header-text: #ffffff;
}

*{box-sizing:border-box}
html{font-size:var(--gh-font-size,16px)}
body{
  margin:0;
  font-family:var(--gh-font-body, system-ui);
  background:var(--gh-bg,#fff);
  color:var(--gh-text,#111);
  line-height:1.6;
}

a{color:var(--gh-link,#0b57d0); text-decoration: none;}
a:hover{text-decoration: underline;}

.container{
  width: min(100% - 2rem, var(--gh-container,1120px));
  margin-inline:auto;
}

.skip-link{
  position:absolute; left:-999px; top:auto;
}
.skip-link:focus{
  left:1rem; top:1rem;
  background:#fff; padding:.5rem .75rem;
  border:1px solid #ddd; border-radius:8px;
  z-index:9999;
}

.site-header{
  background:var(--gh-header-bg);
  position:relative;
  display:block;
  height:auto;
  min-height:0;
  padding:0;
  color:inherit;
  user-select:auto;
}

main{
  margin-top:0;
}

.site-header .container{
  width:min(100% - 2.5rem, 1320px);
  margin-inline:auto;
}
.site-header__inner{
  display:flex;
  align-items:center;
  gap:2rem;
  min-height:72px;
  padding:.65rem 0;
}

.site-header__brand{
  flex:0 0 auto;
}

.header-actions{
  flex:0 0 auto;
}

.site-branding{
  flex-shrink:0;
}
.site-branding .site-title{
  font-family:var(--gh-font-heading, 'Montserrat', system-ui, sans-serif);
  font-weight:800;
  font-size:1.1rem;
  color:var(--gh-header-text);
  text-transform:uppercase;
  letter-spacing:.04em;
  text-decoration:none;
}
.site-branding .site-title:hover{
  color:var(--gh-header-accent);
}
.site-logo{
  line-height:0;
}
.site-logo .custom-logo-link{
  display:inline-block;
  text-decoration:none;
}
.site-logo img,
.site-logo .custom-logo{
  display:block;
  width:auto;
  height:48px;
  max-height:48px;
}

.primary-nav{
  flex:1 1 auto;
  display:flex;
  justify-content:center;
}
.primary-nav__list,
.primary-nav ul{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:2.25rem;
  flex-wrap:wrap;
}
.primary-nav a{
  display:inline-block;
  padding:.35rem 0;
  color:var(--gh-header-text);
  font-family:var(--gh-font-heading, 'Montserrat', system-ui, sans-serif);
  font-size:.8125rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
  transition:color .2s ease;
}
.primary-nav a:hover,
.primary-nav .current-menu-item > a,
.primary-nav .current-menu-ancestor > a,
.primary-nav .current_page_item > a{
  color:var(--gh-header-accent);
  text-decoration:none;
}

.header-cta{
  display:inline-flex;
  align-items:stretch;
  min-height:44px;
  background:var(--gh-header-accent);
  color:var(--gh-header-text);
  text-decoration:none;
  font-family:var(--gh-font-heading, 'Montserrat', system-ui, sans-serif);
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  border-radius:2px;
  overflow:hidden;
  transition:background .2s ease;
}
.header-cta:hover{
  background:#e9a032;
  color:var(--gh-header-text);
  text-decoration:none;
}
.header-cta__icon{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 .85rem;
  border-right:1px solid rgba(255,255,255,.35);
}
.header-cta__text{
  display:flex;
  align-items:center;
  padding:0 1.15rem;
  white-space:nowrap;
}

.nav-toggle{
  display:none;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  width:44px;
  height:44px;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
  flex-shrink:0;
}
.nav-toggle__bar{
  display:block;
  width:22px;
  height:2px;
  margin-inline:auto;
  background:var(--gh-header-text);
  border-radius:1px;
  transition:transform .2s ease, opacity .2s ease;
}

.screen-reader-text{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.gh-btn{
  display:inline-block;
  padding:.6rem .9rem;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.15);
  background:transparent;
  text-decoration:none;
  font-weight:600;
}
.gh-btn--primary{
  background:var(--gh-primary,#0b57d0);
  border-color:var(--gh-primary,#0b57d0);
  color:#fff;
}
.gh-btn--primary:hover{opacity:.92; text-decoration:none;}

.content-area{min-width:0;}

.post-title, .archive-title{
  font-family:var(--gh-font-heading, system-ui);
  line-height:1.25;
  margin:.2rem 0 .75rem;
}

.post-meta{opacity:.8; font-size:.92rem}
.post-content{margin-top:1rem}
.post-content :where(h2,h3){
  font-family:var(--gh-font-heading, system-ui);
  line-height:1.3;
}

.pagination{margin-top:1rem}

/* Mobile nav behavior */
@media (max-width: 960px){
  .site-header__inner{
    flex-wrap:wrap;
    gap:0;
    min-height:64px;
    padding:.5rem 0;
  }

  .site-header__brand{
    flex:1 1 auto;
    order:1;
  }

  .nav-toggle{
    display:flex;
    order:2;
    margin-left:auto;
  }

  .header-actions{
    display:none;
  }

  .primary-nav{
    order:3;
    flex:1 1 100%;
    display:none;
    padding:.75rem 0 0;
    justify-content:flex-start;
  }
  .primary-nav.is-open{
    display:flex;
  }
  .primary-nav__list,
  .primary-nav ul{
    flex-direction:column;
    align-items:flex-start;
    gap:.65rem;
  }
}

/* Fidelcrest site footer */
.fc-site-footer,
.site-footer.fc-site-footer{
  background:#212121;
  color:#e0e0e0;
  padding:10px 0 0;
}
.fc-site-footer__inner{
  width:min(100% - 2.5rem, 1024px);
  margin:0 auto;
  padding:10px 20px;
  color:#fff;
}
.fc-site-footer__grid{
  display:flex;
  flex-wrap:wrap;
  gap:30px;
  margin-top:50px;
}
.fc-site-footer__grid--secondary{
  margin-top:50px;
}
.fc-site-footer .footer-column{
  flex:0 0 100%;
  max-width:100%;
}
.fc-footer-heading{
  color:#ffaa06;
  padding:0 10px 10px 0;
  margin:0 0 10px;
  font-family:var(--gh-font-heading, Montserrat, system-ui, sans-serif);
  font-size:1rem;
  font-weight:700;
}
.fc-footer-brand{
  margin:15px 0 9px;
}
.fc-footer-brand__link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#fff;
  text-decoration:none;
}
.fc-footer-brand__link:hover{
  text-decoration:none;
}
.fc-footer-brand__link--image{
  display:inline-block;
}
.fc-footer-brand__mark{
  width:58px;
  height:auto;
}
.fc-footer-brand__text{
  display:flex;
  flex-direction:column;
  font-family:Montserrat,var(--gh-font-heading,system-ui),sans-serif;
  letter-spacing:2px;
}
.fc-footer-brand__name{
  font-size:16px;
  font-weight:600;
}
.fc-footer-brand__est{
  opacity:.75;
  font-size:9px;
  letter-spacing:.5px;
  text-align:center;
}
.fc-footer-logo{
  width:auto;
  max-height:64px;
}
.fc-footer-text{
  opacity:.75;
  padding:10px 0;
  line-height:1.39;
  font-size:14px;
  margin:0;
}
.fc-footer-text--accent{
  color:#ffaa06;
}
.fc-footer-link{
  display:block;
  padding:10px 0;
  font-size:14px;
  color:#e0e0e0;
  text-decoration:none;
}
.fc-footer-link:hover{
  color:#ffaa06;
  text-decoration:none;
}
.fc-footer-link--inline{
  display:inline;
  padding:0;
}
.fc-livechat-badge{
  display:block;
  max-width:180px;
  margin:20px 0 0;
  padding:7px 1px 2px;
  background:#fff;
  border-radius:20px;
  text-align:center;
  text-decoration:none;
}
.fc-livechat-badge svg{
  display:block;
  width:100%;
  max-width:160px;
  height:auto;
  margin:0 auto;
}
.fc-trustpilot-widget{
  display:block;
  padding:10px 0;
  max-width:200px;
  min-height:24px;
}
.fc-trustpilot-widget a{
  color:#e0e0e0;
  font-size:14px;
}
.fc-payment-methods{
  margin:20px 0 0;
  padding:9px 0 9px 10px;
  background:#fff;
  width:180px;
  border-radius:20px;
}
.fc-payment-methods img{
  display:block;
  margin:4px 0;
  max-width:100%;
  height:28px;
  width:auto;
  padding: 5px;
}
.fc-site-footer__awards{
  display:flex;
  flex-wrap:wrap;
  gap:30px;
  margin-top:50px;
}
.fc-footer-award{
  display:block;
  color:#fff;
  text-decoration:none;
  padding-top:10px;
}
.fc-footer-award:hover{
  text-decoration:none;
  color:#fff;
}
.fc-footer-award__frame{
  position:relative;
  display:block;
  width:160px;
  height:160px;
}
.fc-footer-award__laurel{
  position:absolute;
  inset:0;
  width:160px;
  height:160px;
  opacity:.25;
}
.fc-footer-award__label{
  position:absolute;
  top:50%;
  left:50%;
  width:160px;
  transform:translate(-50%, -65%);
  text-align:center;
  opacity:.75;
  font-size:11px;
  font-weight:700;
  line-height:1.35;
}
.fc-site-footer__legal{
  padding:60px 0 100px;
  text-align:left;
  opacity:.75;
  font-size:14px;
}
.fc-site-footer__legal p{
  margin:0 0 1rem;
}
.fc-footer-risk-link{
  display:inline-block;
  color:#ffaa06;
  border-bottom:2px solid #ffaa06;
  text-decoration:none;
  font-weight:600;
}
.fc-footer-risk-link:hover{
  color:#ffb13b;
  text-decoration:none;
}
.fc-site-footer__copy{
  padding:20px 0 40px;
  margin:0;
}

.site-main--marketing,
.site-main--single,
.site-main--archive{padding:0;}

.fc-archive{
  max-width:1500px;
  margin:0 auto;
  padding:30px 20px 60px;
}
.fc-archive__header{text-align:center;margin-bottom:30px;}
.fc-archive__title{
  margin:0;
  font-family:Montserrat,var(--gh-font-heading,system-ui),sans-serif;
  font-size:clamp(28px,4vw,42px);
  font-weight:900;
}
.fc-archive__description{
  margin:16px auto 0;
  max-width:760px;
  font-size:16px;
  line-height:1.6;
  opacity:.85;
}
.fc-archive__pagination{
  margin-top:40px;
  padding:10px 0 20px;
  text-align:center;
}
.fc-archive__pagination .navigation.pagination{
  margin:0;
}
.fc-archive__pagination .nav-links{
  display:inline-flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.fc-archive__pagination .page-numbers{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  min-height:44px;
  padding:0 14px;
  border:1px solid #d2d2d2;
  border-radius:8px;
  background:#fff;
  color:#333645;
  font-family:Montserrat,var(--gh-font-heading,system-ui),sans-serif;
  font-size:15px;
  font-weight:700;
  line-height:1;
  text-decoration:none;
  transition:background .2s ease,border-color .2s ease,color .2s ease;
}
.fc-archive__pagination a.page-numbers:hover{
  border-color:var(--gh-header-accent,#ffb13b);
  color:#111;
  text-decoration:none;
}
.fc-archive__pagination .page-numbers.current{
  background:var(--gh-header-bg,#333645);
  border-color:var(--gh-header-bg,#333645);
  color:#fff;
  cursor:default;
}
.fc-archive__pagination .page-numbers.dots{
  min-width:auto;
  padding:0 6px;
  border:none;
  background:transparent;
  color:#666;
  font-weight:600;
}
.fc-archive__pagination a.prev.page-numbers,
.fc-archive__pagination a.next.page-numbers{
  padding:0 18px;
}
.fc-archive__empty{text-align:center;opacity:.8;}

.fc-post-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:30px;
  max-width:1500px;
  margin:0 auto;
  padding:30px;
}
.fc-post-card{
  background:#fff;
  border:1px solid #d2d2d2;
  border-radius:12px;
  overflow:hidden;
}
.fc-post-image{
  display:block;
  aspect-ratio:1/1;
  overflow:hidden;
  background:#f5f5f5;
}
.fc-post-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  border:0;
  border-radius:0;
  max-height:none;
}
.fc-post-content{
  background:#fff;
  min-height:112px;
  padding:22px 24px 20px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.fc-post-title{
  margin:0;
  font-size:28px;
  line-height:1.28;
  font-weight:700;
  text-align:center;
}
.fc-post-title a{
  color:#000;
  text-decoration:none;
}
@media (max-width:1024px){
  .fc-post-grid{grid-template-columns:repeat(2,1fr);gap:24px;}
  .fc-post-title{font-size:24px;}
}
@media (max-width:640px){
  .fc-post-grid{grid-template-columns:1fr;padding:20px;}
  .fc-post-title{font-size:22px;}
}

.gh-fusion-notice{
  margin:2rem 0;
  padding:1rem 1.25rem;
  border:1px dashed #cc8800;
  background:#fff8e6;
  border-radius:8px;
}
.site-main--full-width .container{max-width:none;width:100%;padding:0;}

.site-main--full-width .page > .post-content.entry-content{
  padding:1.5rem 1rem 2.5rem;
  box-sizing:border-box;
}

.site-main--full-width .fc-single__content{
  max-width:none;
  padding-left:1rem;
  padding-right:1rem;
}

.page-content-container{
  width:min(100% - 2rem, var(--gh-container, 1120px));
  margin-left:auto;
  margin-right:auto;
  padding:1.5rem 1rem 2.5rem;
  box-sizing:border-box;
}
.page-content-container > .post-content.entry-content{
  margin-top:0;
}
.page-content-container .post-content.entry-content > .post-content{
  margin-top:0;
}

/* Page hero banner (Knowledge Base style) */
.fc-page-hero{
  position:relative;
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  min-height:220px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:48px 20px;
  color:#fff;
  text-align:center;
  background-color:#333645;
  background-position:center;
  background-repeat:no-repeat;
  background-size:cover;
  border-top:1px solid rgba(142,156,180,.35);
  box-sizing:border-box;
}
.fc-page-hero__inner{
  width:100%;
  max-width:var(--gh-container,1120px);
  margin:0 auto;
  text-align:center;
}
.fc-page-hero__title{
  margin:0;
  font-family:Montserrat,var(--gh-font-heading,system-ui),sans-serif;
  font-size:clamp(28px,8vmin,42px);
  font-weight:700;
  line-height:1.2;
  padding:0 20px;
  color:#fff;
  text-align:center;
}
.site-main--full-width .fc-page-hero,
.site-main--default .fc-page-hero,
.site-main--single .fc-page-hero{
  margin-bottom:0;
}
.site-main--single:has(.fc-page-hero) .fc-single__body{
  padding-top:0;
}

.fc-single__media--lead{
  max-width:var(--fc-max, 1200px);
  margin:0 auto 2rem;
  padding:0 24px;
}

.page > .post-content{
  margin-top:0;
}
.page > .page-content-container > .post-content{
  margin-top:0;
}
.fc-marketing-page .entry-content{max-width:100%;}

/* Shared site search form */
.fc-site-search{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.fc-site-search__input{
  flex:1 1 220px;
  min-height:48px;
  padding:0 16px;
  border:1px solid #d2d2d2;
  border-radius:8px;
  font:inherit;
  font-size:16px;
  color:var(--gh-text,#111);
  background:#fff;
  transition:border-color .2s ease, box-shadow .2s ease;
}

.fc-site-search__input:focus{
  outline:none;
  border-color:var(--gh-header-accent,#ffb13b);
  box-shadow:0 0 0 3px rgba(255,177,59,.18);
}

.fc-site-search__btn{
  min-height:48px;
  padding:0 22px;
  border:0;
  border-radius:8px;
  background:var(--gh-header-accent,#ffb13b);
  color:#fff;
  font-family:Montserrat,var(--gh-font-heading,system-ui),sans-serif;
  font-size:13px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  cursor:pointer;
  transition:background .2s ease;
}

.fc-site-search__btn:hover{
  background:#e9a032;
}

.fc-not-found__card .fc-site-search{
  margin-bottom:24px;
}

/* Search page */
.site-main--search{padding:0;}

.fc-search{
  display:flex;
  flex-direction:column;
}

.fc-search__hero{
  background:var(--gh-header-bg,#333645);
  color:#fff;
  text-align:center;
  padding:clamp(48px,7vw,88px) 20px clamp(40px,6vw,64px);
}

.fc-search__title{
  margin:0 0 12px;
  font-family:Montserrat,var(--gh-font-heading,system-ui),sans-serif;
  font-size:clamp(28px,4vw,42px);
  font-weight:900;
  line-height:1.15;
}

.fc-search__lead{
  max-width:640px;
  margin:0 auto;
  font-size:17px;
  line-height:1.6;
  opacity:.88;
}

.fc-search__form-wrap{
  max-width:680px;
  margin:28px auto 0;
}

.fc-search__body{
  max-width:1500px;
  margin:0 auto;
  padding:clamp(32px,5vw,48px) 20px 64px;
}

.fc-search__empty{
  max-width:560px;
  margin:0 auto;
  padding:24px 0 8px;
  text-align:center;
}

.fc-search__empty-text{
  margin:0 0 24px;
  font-size:17px;
  line-height:1.6;
  opacity:.85;
}

.fc-search__home{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 22px;
  border:1px solid var(--gh-header-bg,#333645);
  border-radius:8px;
  color:var(--gh-header-bg,#333645);
  font-family:Montserrat,var(--gh-font-heading,system-ui),sans-serif;
  font-size:13px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  text-decoration:none;
  transition:background .2s ease,border-color .2s ease,color .2s ease;
}

.fc-search__home:hover{
  background:var(--gh-header-bg,#333645);
  border-color:var(--gh-header-bg,#333645);
  color:#fff;
  text-decoration:none;
}

@media (max-width:640px){
  .fc-site-search__btn{
    width:100%;
  }
}

/* 404 page */
.site-main--404{padding:0;}

.fc-not-found{
  display:flex;
  flex-direction:column;
  min-height:clamp(520px, 72vh, 760px);
}

.fc-not-found__hero{
  position:relative;
  overflow:hidden;
  background:var(--gh-header-bg,#333645);
  color:#fff;
  text-align:center;
  padding:clamp(56px,9vw,104px) 20px clamp(72px,11vw,128px);
}

.fc-not-found__code{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-58%);
  margin:0;
  font-family:Montserrat,var(--gh-font-heading,system-ui),sans-serif;
  font-size:clamp(128px,24vw,260px);
  font-weight:900;
  line-height:1;
  color:rgba(255,177,59,.11);
  pointer-events:none;
  user-select:none;
}

.fc-not-found__title{
  position:relative;
  margin:0 0 14px;
  font-family:Montserrat,var(--gh-font-heading,system-ui),sans-serif;
  font-size:clamp(30px,4.5vw,44px);
  font-weight:900;
  line-height:1.15;
}

.fc-not-found__lead{
  position:relative;
  max-width:560px;
  margin:0 auto;
  font-size:17px;
  line-height:1.65;
  opacity:.88;
}

.fc-not-found__body{
  position:relative;
  z-index:1;
  width: 100%;
  max-width:680px;
  margin:-52px auto 0;
  padding:0 20px 64px;
}

.fc-not-found__card{
  background:#fff;
  border:1px solid #e3e3e3;
  border-radius:16px;
  padding:clamp(24px,4vw,36px);
  box-shadow:0 16px 48px rgba(51,54,69,.1);
}

.fc-not-found__actions{
  display:flex;
  justify-content:center;
}

.fc-not-found__home{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 22px;
  border:1px solid var(--gh-header-bg,#333645);
  border-radius:8px;
  color:var(--gh-header-bg,#333645);
  font-family:Montserrat,var(--gh-font-heading,system-ui),sans-serif;
  font-size:13px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  text-decoration:none;
  transition:background .2s ease,border-color .2s ease,color .2s ease;
}

.fc-not-found__home:hover{
  background:var(--gh-header-bg,#333645);
  border-color:var(--gh-header-bg,#333645);
  color:#fff;
  text-decoration:none;
}

@media (max-width:640px){
  .fc-not-found__body{
    margin-top:-40px;
    padding-bottom:48px;
  }
}

@media (min-width:670px){
  .fc-site-footer .footer-column{flex:0 0 44%;}
}
@media (min-width:920px){
  .fc-site-footer .footer-column{flex:0 0 22%;}
}
@media (max-width:919px){
  .fc-site-footer .footer-column{flex:0 0 90%;}
}
