/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  GuidingLightHQ child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/

/* ── 1. BRAND TOKENS ─────────────────────────────────── */
:root {
  --gl-navy:        #070F2B;
  --gl-navy-deep:   #050A1F;
  --gl-gold:        #C6A24A;
  --gl-gold-dark:   #9E7C2F;
  --gl-white:       #FFFFFF;
  --gl-off-white:   #F8F7F4;
  --gl-warm-gray:   #F0EDE6;
  --gl-border:      #E2DDD4;
  --gl-text:        #0F1627;
  --gl-text-muted:  #6B7280;
  --gl-text-light:  #9CA3AF;
  --gl-max-width:   1200px;
  --gl-gap:         24px;
  --gl-radius:      2px;
  --gl-font-head:   'Merriweather', Georgia, serif;
  --gl-font-body:   'Open Sans', sans-serif;
}

/* ── 2. TOP BAR ──────────────────────────────────────── */
.gl-top-bar {
  background: var(--gl-navy);
  border-bottom: 1px solid rgba(198,162,74,.25);
}
.gl-top-bar__inner {
  max-width: var(--gl-max-width);
  margin: 0 auto;
  padding: 0 20px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.gl-top-bar__date {
  font-family: var(--gl-font-body);
  font-size: .72rem;
  color: rgba(255,255,255,.55);
}
.gl-top-bar__social { display: flex; align-items: center; gap: 14px; }
.gl-top-bar__label {
  font-family: var(--gl-font-body);
  font-size: .68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: rgba(255,255,255,.4);
}
.gl-top-bar__icon {
  color: rgba(255,255,255,.55);
  display: flex;
  align-items: center;
  transition: color .15s;
}
.gl-top-bar__icon:hover { color: var(--gl-gold); }

.gl-top-bar__icon svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  display: block;
}

/* ── 3. HEADER: logo left, nav + search right ────────── */
.site-header {
  background: var(--gl-navy-deep) !important;
  box-shadow: 0 2px 16px rgba(0,0,0,.35);
  position: sticky;
  top: 0;
  z-index: 100;
}
.inside-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 10px;
  padding-bottom: 10px;
}
.site-logo img,
.header-image { max-height: 44px; width: auto; }
.site-header .site-title,
.site-header .site-description { display: none; }

/* Nav lives inside the header */
.main-navigation,
.main-navigation .inside-navigation {
  background: transparent !important;
  border: 0;
  margin-left: auto;
}
.main-navigation .main-nav ul li a {
  font-family: var(--gl-font-body);
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: rgba(255,255,255,.85) !important;
  line-height: 44px;
  padding: 0 16px;
  background: none;
  transition: color .15s;
}
.main-navigation .main-nav ul li:hover > a,
.main-navigation .main-nav ul li.current-menu-item > a,
.main-navigation .main-nav ul li.current-menu-ancestor > a {
  color: var(--gl-gold) !important;
  background: none;
}
.main-navigation .main-nav ul li.current-menu-item > a {
  box-shadow: inset 0 -2px 0 var(--gl-gold);
}
.main-navigation .main-nav ul ul {
  background: var(--gl-navy-deep);
  border: 1px solid rgba(198,162,74,.2);
  border-top: 2px solid var(--gl-gold);
}
.main-navigation .main-nav ul ul li a { line-height: 1.4; padding: 10px 16px; }
.menu-toggle { color: var(--gl-gold) !important; background: none !important; }

/* ── 4. SEARCH ICON + DROPDOWN ───────────────────────── */
.gl-nav-search { position: relative; display: flex; align-items: center; }
.gl-nav-search__toggle {
  background: none;
  border: 0;
  cursor: pointer;
  color: rgba(255,255,255,.85);
  padding: 0 14px;
  height: 44px;
  display: flex;
  align-items: center;
  transition: color .15s;
}
.gl-nav-search__toggle:hover,
.gl-nav-search.is-open .gl-nav-search__toggle { color: var(--gl-gold); background: none; }
.gl-nav-search__form {
  display: none;
  position: absolute;
  right: 0;
  top: 100%;
  width: 300px;
  padding: 12px;
  background: var(--gl-navy-deep);
  border: 1px solid rgba(198,162,74,.2);
  border-top: 2px solid var(--gl-gold);
  z-index: 200;
}
.gl-nav-search.is-open .gl-nav-search__form { display: block; }
.gl-nav-search__form input {
  width: 100%;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(198,162,74,.35);
  color: #fff;
  border-radius: var(--gl-radius);
  font-family: var(--gl-font-body);
  font-size: .85rem;
  padding: 10px 12px;
}

/* ── 5. BREAKING TICKER ──────────────────────────────── */
.gl-ticker {
  background: var(--gl-gold);
  height: 36px;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.gl-ticker__label {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 16px;
  height: 100%;
  background: var(--gl-gold-dark);
  font-family: var(--gl-font-body);
  font-size: .7rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #fff;
  white-space: nowrap;
}
.gl-ticker__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #fff;
  flex-shrink: 0;
  animation: glPulse 1.5s ease-in-out infinite;
}
@keyframes glPulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%      { opacity: .5; transform: scale(.8); }
}
.gl-ticker__track-wrap { overflow: hidden; flex: 1; }
.gl-ticker__track {
  display: flex;
  width: max-content;
  white-space: nowrap;
  animation: glTicker 60s linear infinite;
}
@keyframes glTicker {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.gl-ticker__item {
  font-family: var(--gl-font-body);
  font-size: .75rem;
  font-weight: 600;
  color: var(--gl-navy);
  padding-right: 60px;
}
.gl-ticker__dot-sep { color: var(--gl-gold-dark); margin-left: 60px; }
.gl-ticker__item a { color: inherit; text-decoration: none; }
.gl-ticker__item a:hover { text-decoration: underline; }
.gl-ticker:hover .gl-ticker__track { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) {
  .gl-ticker__track { animation: none; }
  .gl-ticker__track-wrap { overflow-x: auto; }
}

/* ── 6. MOBILE ───────────────────────────────────────── */
@media (max-width: 768px) {
  .gl-top-bar__label { display: none; }
  .main-navigation,
  .main-navigation .inside-navigation { margin-left: 0; }
  .main-navigation .main-nav ul li a { line-height: 1.5; padding: 12px 20px; }
  .gl-nav-search__form { position: static; width: 100%; border: 0; }
  .gl-nav-search__toggle { padding: 12px 20px; height: auto; }
}

/* ── 7. FOOTER ───────────────────────────────────────── */
.site-footer .footer-widgets {
  background: var(--gl-navy-deep);
  border-top: 3px solid var(--gl-gold);
}

.site-footer .inside-footer-widgets {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
  gap: 40px;
  width: 100%;
  max-width: var(--gl-max-width);
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}
.site-footer .inside-footer-widgets > div {
  margin: 0 !important;
  min-width: 0;
}
.site-footer .footer-widgets .widget {
  margin: 0 0 16px;
  padding: 0;
}

/* Column titles */
.site-footer .gl-footer-title {
  font-family: var(--gl-font-head);
  font-size: .85rem;
  font-weight: 700;
  line-height: 1.4;
  color: var(--gl-gold);
  text-transform: uppercase;
  letter-spacing: .06em;
  margin: 0 0 14px;
  padding: 0;
  border: 0;
}

/* Brand tagline */
.site-footer .footer-widget-1 p,
.site-footer .gl-footer-tagline {
  font-family: var(--gl-font-body);
  font-size: .85rem;
  line-height: 1.7;
  color: rgba(255,255,255,.65) !important;
  margin: 14px 0 0;
  max-width: 320px;
}

/* Links + lists */
.site-footer .footer-widgets ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.site-footer .footer-widgets li { margin: 0; line-height: 1.4; }
.site-footer .footer-widgets a {
  font-family: var(--gl-font-body);
  font-size: .85rem;
  color: rgba(255,255,255,.65);
  text-decoration: none;
  transition: color .15s;
}
.site-footer .footer-widgets li a,
.site-footer .footer-widget-3 p a { display: block; padding: 5px 0; }
.site-footer .footer-widget-3 p { margin: 0; line-height: 1.4; }
.site-footer .footer-widget-3 br { display: none; }
.site-footer .footer-widgets a:hover { color: var(--gl-gold); }
.footer-widget-2 .wp-block-group { display: block; }

/* Social icons */
.site-footer .footer-widgets .gl-social {
  display: flex;
  gap: 10px;
}
.site-footer .footer-widgets .gl-social a {
  width: 38px;
  height: 38px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1.5px solid var(--gl-gold);
  border-radius: 50%;
  background: transparent;
  color: var(--gl-gold);
  transition: background .2s ease, color .2s ease;
}
.site-footer .footer-widgets .gl-social a:hover {
  background: var(--gl-gold);
  color: var(--gl-navy);
}
.site-footer .footer-widgets .gl-social svg {
  width: 18px;
  height: 18px;
  display: block;
}

/* Bottom bar */
.site-footer .site-info {
  background: var(--gl-navy);
  border-top: 1px solid rgba(255,255,255,.07);
  font-family: var(--gl-font-body);
  font-size: .78rem;
  color: rgba(255,255,255,.55);
}
.site-footer .inside-site-info {
  max-width: var(--gl-max-width);
  margin: 0 auto;
  padding: 16px 20px;
  box-sizing: border-box;
}
.site-footer .copyright-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px 20px;
  flex-wrap: wrap;
  width: 100%;
  text-align: left;
}
.site-footer .site-info a { color: var(--gl-gold); }
.site-footer .site-info a:hover { color: var(--gl-white); }

/* Responsive: brand on top, Navigate + Legal side by side, Follow below */
@media (max-width: 900px) {
  .site-footer .inside-footer-widgets {
    grid-template-columns: 1fr 1fr;
    gap: 28px 24px;
  }
  .site-footer .footer-widget-1,
  .site-footer .footer-widget-4 { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
  .site-footer .footer-widgets-container { padding-top: 40px; padding-bottom: 24px; }
  .site-footer .copyright-bar { flex-direction: column; text-align: center; }
}

/* ── 8. ALIGNMENT ── */
:root {
  /* 20px on small screens, centred 1200px column on wide ones */
  --gl-edge: max(20px, calc((100% - var(--gl-max-width)) / 2 + 20px));
}

/* Header: logo left edge and nav right edge match the top bar */
.site-header .inside-header {
  max-width: none;
  margin: 0;
  padding-left: var(--gl-edge);
  padding-right: var(--gl-edge);
}
.site-header .main-navigation .inside-navigation {
  padding-left: 0;
  padding-right: 0;
}
@media (min-width: 769px) {
  /* Pull the search icon flush with the right edge of the social icons */
  .gl-nav-search__toggle { margin-right: -14px; }
}

/* Footer widgets: same edge, grid fills the space between */
.site-footer .footer-widgets-container {
  padding-left: var(--gl-edge);
  padding-right: var(--gl-edge);
}
.site-footer .inside-footer-widgets {
  max-width: none;
  margin: 0;
  padding: 0;
}

/* ── 9. MOBILE SLIDEOUT MENU: solid panel ────────────── */
:root { --gp-slideout-width: 300px; }

.slideout-navigation.main-navigation {
  background: var(--gl-navy-deep) !important;
  margin-left: 0;
  box-shadow: -8px 0 30px rgba(0,0,0,.45);
}
.slideout-navigation.main-navigation .inside-navigation {
  background: transparent !important;
  margin: 0;
  padding: 0;
}
.slideout-navigation .main-nav ul li a {
  display: block;
  line-height: 1.4;
  padding: 16px 24px;
  text-align: left;
  color: rgba(255,255,255,.85) !important;
  background: transparent !important;
  border-bottom: 1px solid rgba(255,255,255,.07);
  box-shadow: none;
}
.slideout-navigation .main-nav ul li:hover > a {
  color: var(--gl-gold) !important;
  background: rgba(198,162,74,.08) !important;
}
.slideout-navigation .main-nav ul li[class*="current-menu-"] > a {
  color: var(--gl-gold) !important;
  background: transparent !important;
  box-shadow: inset 3px 0 0 var(--gl-gold);
}
.slideout-navigation button.slideout-exit {
  color: var(--gl-gold) !important;
  background: transparent !important;
  padding: 18px 24px;
}
.slideout-overlay { background: rgba(5,10,31,.6); }

/* ── 10. FOOTER ON MOBILE / TABLET ───────────────────── */
/* Hide the leftover mobile-only blank link in Navigate */
.site-footer .footer-widget-2 .hide-on-desktop { display: none !important; }

/* Legal links always left-aligned */
.site-footer .footer-widget-3 p,
.site-footer .footer-widget-3 .gb-text { text-align: left !important; }

/* ── 11. HOMEPAGE ([gl_home]) ────────────────────────── */
body{overflow-x:clip}
.home .site-content{padding:0}
.home .entry-content{margin:0}
.gh-band{width:100vw;margin-left:calc(50% - 50vw);padding:40px 0;background:#fff;border-top:1px solid var(--gl-border)}
.gh-alt{background:var(--gl-off-white)}
.gh-in{max-width:1160px;margin:0 auto;padding:0 20px}
.gh-grid,.gh-hero,.gh-split{display:grid;gap:20px}
.gh-hero{grid-template-columns:minmax(0,2.3fr) minmax(0,1fr);gap:24px}
.gh-split{grid-template-columns:minmax(0,1fr) 300px;gap:40px;align-items:start}
.gh-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.gh-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.gh a{color:inherit;text-decoration:none}
.gh-h{display:flex;align-items:center;gap:12px;margin:0 0 24px;font-size:1.15rem;color:var(--gl-navy)}
.gh-h::before{content:"";width:4px;height:22px;background:var(--gl-gold);border-radius:2px}
.gh-h::after{content:"";flex:1;height:1px;background:var(--gl-border)}
.gh-all{margin:24px 0 0;text-align:right}
.gh .gh-all a,.gh .gh-rm{font:700 .7rem var(--gl-font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--gl-gold-dark)}
.gh-pill{align-self:flex-start;display:inline-block;padding:2px 8px;font:700 .62rem/1.6 var(--gl-font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--gl-gold-dark);border:1px solid var(--gl-gold);border-radius:4px}
.gh-by{font-size:.72rem;color:var(--gl-text-light)}
.gh-by b{color:var(--gl-gold-dark);font-weight:600}

/* Hero big story */
.gh-main{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:10px;min-height:520px;padding:32px;overflow:hidden;border-radius:12px;background:var(--gl-navy)}
.gh-main>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 20%;transition:transform .6s}
.gh-main:hover>img{transform:scale(1.04)}
.gh-main::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(7,15,43,.95),rgba(7,15,43,.4) 55%,transparent)}
.gh-main>:not(img){position:relative;z-index:2}
.gh-main .gh-pill{color:var(--gl-gold)}
.gh-main h2{margin:0;font-size:clamp(1.4rem,2.6vw,2.1rem);line-height:1.3;color:#fff}
.gh-main p{margin:0;font-size:.9rem;line-height:1.65;color:rgba(255,255,255,.75);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.gh-main .gh-by{color:rgba(255,255,255,.65)}
.gh-main .gh-by b{color:var(--gl-gold)}
.gh-side{grid-template-rows:1fr 1fr}
.gh-side .gh-c__ex,.gh-side .gh-rm{display:none}
.gh-side .gh-c__foot{border:0;padding:0}

/* Cards */
.gh-c{display:flex;flex-direction:column;background:#fff;border:1px solid var(--gl-border);border-radius:12px;overflow:hidden;transition:box-shadow .2s,transform .2s}
.gh-c:hover{box-shadow:0 8px 28px rgba(7,15,43,.12);transform:translateY(-3px)}
.gh-c__img{display:block;aspect-ratio:3/2;overflow:hidden}
.gh-side .gh-c__img{aspect-ratio:16/9}
.gh-c__img img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 20%;transition:transform .5s}
.gh-c:hover .gh-c__img img{transform:scale(1.05)}
.gh-c__body{display:flex;flex-direction:column;flex:1;gap:10px;padding:16px}
.gh-c__t{margin:0;font-size:.98rem;line-height:1.45;color:var(--gl-navy)}
.gh-c:hover .gh-c__t a{color:var(--gl-gold-dark)}
.gh-c__ex{margin:0;font-size:.8rem;line-height:1.65;color:var(--gl-text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.gh-c__foot{margin-top:auto;display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px solid var(--gl-warm-gray)}

/* Sidebar */
.gh-aside{display:flex;flex-direction:column;gap:24px}
.gh-box{padding:22px;background:#fff;border:1px solid var(--gl-border);border-radius:12px}
.gh-box h3{margin:0 0 16px;padding-bottom:10px;font-size:1rem;color:var(--gl-navy);border-bottom:2px solid var(--gl-navy)}
.gh-box--dark{background:var(--gl-navy);border-color:var(--gl-navy);color:rgba(255,255,255,.7)}
.gh-box--dark h3{color:#fff;border-color:var(--gl-gold)}
.gh-box--dark p{margin:0 0 14px;font-size:.85rem}
.gh-mr{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.gh-mr li{display:flex;gap:12px}
.gh-mr b{flex:0 0 34px;font:900 1.5rem/1 var(--gl-font-head);color:var(--gl-gold);opacity:.5}
.gh-mr div{display:flex;flex-direction:column;gap:6px}
.gh-mr a{font:700 .82rem/1.45 var(--gl-font-head);color:var(--gl-text)}
.gh-ad{min-height:250px;display:flex;align-items:center;justify-content:center;border:2px dashed var(--gl-border);border-radius:12px;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gl-text-light)}
.gh-box .gl-social{display:flex;gap:10px}
.gh-box .gl-social a{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--gl-gold);border-radius:50%;color:var(--gl-gold);transition:background .2s,color .2s}
.gh-box .gl-social a:hover{background:var(--gl-gold);color:var(--gl-navy)}
.gh-box .gl-social svg{width:18px;height:18px}

/* Newsletter strip */
.gh-strip{width:100vw;margin-left:calc(50% - 50vw);padding:56px 0;background:var(--gl-gold);text-align:center}
.gh-strip .gh-in{max-width:640px}
.gh-strip span{font:700 .7rem var(--gl-font-body);letter-spacing:.1em;text-transform:uppercase;color:rgba(7,15,43,.6)}
.gh-strip h2{margin:8px 0;font-size:clamp(1.4rem,3vw,2.1rem);color:var(--gl-navy)}
.gh-strip p{margin:0 0 24px;color:rgba(7,15,43,.7)}
.gh-strip .gl-form{max-width:440px;margin:0 auto}

/* CF7 form */
.gl-form form{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.gl-form form p{display:contents;margin:0}
.gl-form br{display:none}
.gl-form .wpcf7-form-control-wrap{flex:1 1 0;min-width:0}
.gl-form input[type=email]{width:100%;height:46px;padding:0 16px;border:0;border-radius:8px;background:#fff;color:var(--gl-text);font-size:.9rem}
.gl-form input[type=submit]{height:46px;padding:0 22px;border:0;border-radius:8px;font:700 .72rem var(--gl-font-body);letter-spacing:.1em;text-transform:uppercase;background:var(--gl-navy);color:#fff;cursor:pointer;transition:opacity .15s}
.gl-form input[type=submit]:hover{background:var(--gl-navy);color:#fff;opacity:.88}
.gl-form .wpcf7-spinner{position:absolute;margin:0}
.gl-form .wpcf7-response-output{flex-basis:100%;margin:6px 0 0!important;font-size:.8rem;border-radius:8px}

@media(max-width:560px){.gl-form .wpcf7-form-control-wrap{flex:none;width:100%}}

/* Sidebar (dark card) */
.gh-box--dark .gl-form form{flex-direction:column}
.gh-box--dark .gl-form input[type=email]{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.15)}
.gh-box--dark .gl-form input[type=email]::placeholder{color:rgba(255,255,255,.55)}
.gh-box--dark .gl-form input[type=submit],.gh-box--dark .gl-form input[type=submit]:hover{background:var(--gl-gold);color:var(--gl-navy);width:100%}
.gh-box--dark .wpcf7-response-output{color:#fff}

/* Newsletter strip: small tweaks to match the design */
.gh-strip span{color:var(--gl-gold-dark)}
.gh-strip p{line-height:1.7}
@media(max-width:560px){.gl-form form{flex-direction:column}}

@media(max-width:1000px){.gh-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){
  .gh-hero,.gh-split{grid-template-columns:1fr}
  .gh-aside{display:none}
  .gh-main{min-height:400px}
  .gh-side{grid-template-columns:1fr 1fr;grid-template-rows:none}
  .gh-3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .gh-side,.gh-3,.gh-4{grid-template-columns:1fr}
  .gh-main{padding:22px}
  .gl-form{flex-direction:column}
}

/* ── 12. ARCHIVES + SINGLE POSTS ─────────────────────── */
.gl-archive-page .site-content,.gl-single-page .site-content{padding:0}
.gl-main{flex:none;width:100vw;margin-left:calc(50% - 50vw);background:var(--gl-off-white)}
.gl-shell{width:min(var(--gl-max-width),calc(100% - 40px));margin-inline:auto}
.gl-no-results{padding:40px 0}

/* Archive header */
.gl-archive-hero{padding:48px 0 42px;background:#fff;border-bottom:1px solid var(--gl-border)}
.gl-kicker{display:block;margin-bottom:17px;font:700 .65rem var(--gl-font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--gl-gold-dark)}
.gl-archive-hero__row{display:grid;grid-template-columns:auto 1fr;align-items:end;gap:44px}
.gl-archive-hero h1{margin:0;font-size:clamp(2.2rem,4.5vw,3.6rem);font-weight:900;line-height:1;white-space:nowrap;color:var(--gl-navy)}
.gl-archive-hero h1 i{font-style:normal;color:var(--gl-gold)}
.gl-archive-description{padding-left:26px;border-left:3px solid var(--gl-gold);font-size:.95rem;line-height:1.75;color:var(--gl-text-muted)}
.gl-archive-description p{margin:0}
.gl-content-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px;padding:44px 0 70px}
.gl-feed-heading{display:flex;justify-content:space-between;align-items:center;padding-bottom:13px;border-bottom:2px solid var(--gl-navy)}
.gl-feed-heading h2{margin:0;font-size:1.05rem;color:var(--gl-navy)}
.gl-feed-heading span{font:700 .62rem var(--gl-font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--gl-text-light)}

/* Story rows */
.gl-list-story{display:grid;grid-template-columns:260px minmax(0,1fr);gap:26px;padding:26px 0;border-bottom:1px solid var(--gl-border)}
.gl-list-story--lead{grid-template-columns:46% minmax(0,1fr);padding:30px 0 32px}
.gl-list-story__image{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;border-radius:12px;background:var(--gl-warm-gray)}
.gl-list-story__image img{width:100%;height:100%;object-fit:cover;object-position:center 20%;transition:transform .5s}
.gl-list-story__image:hover img{transform:scale(1.04)}
.gl-image-fallback{display:grid;height:100%;place-items:center;color:var(--gl-text-light)}
.gl-lead-flag{position:absolute;left:0;bottom:0;padding:8px 12px;background:var(--gl-navy);color:#fff;font:700 .56rem var(--gl-font-body);letter-spacing:.11em;text-transform:uppercase}
.gl-list-story__content{align-self:center}
.gl-category-label{display:inline-block;font:700 .58rem var(--gl-font-body);letter-spacing:.13em;text-transform:uppercase;color:var(--gl-gold-dark)}
.gl-category-label::before{content:"";display:inline-block;width:16px;height:2px;margin:0 7px 3px 0;background:var(--gl-gold)}
.gl-list-story__title{margin:8px 0 10px;font-size:1.25rem;line-height:1.34;color:var(--gl-navy)}
.gl-list-story--lead .gl-list-story__title{font-size:clamp(1.4rem,2.3vw,1.75rem)}
.gl-list-story__title a:hover{color:var(--gl-gold-dark)}
.gl-list-story__excerpt{margin-bottom:13px;font-size:.82rem;line-height:1.65;color:var(--gl-text-muted)}
.gl-list-story__excerpt p{margin:0}
.gl-byline{display:flex;flex-wrap:wrap;gap:7px;align-items:center;font-size:.68rem;color:var(--gl-text-light)}
.gl-byline a{font-weight:700;color:var(--gl-navy)}
.gl-byline>:nth-child(even){color:var(--gl-gold)}
.gl-read-link{display:inline-block;margin-top:17px;padding-bottom:3px;border-bottom:1px solid var(--gl-gold);font:700 .65rem var(--gl-font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--gl-gold-dark)}

/* Pagination */
.gl-pagination ul{display:flex;gap:7px;margin:34px 0 0;padding:0;list-style:none}
.gl-pagination li>.page-numbers{display:grid;min-width:38px;height:38px;padding:0 11px;place-items:center;background:#fff;border:1px solid var(--gl-border);border-radius:8px;font:700 .7rem var(--gl-font-body);color:var(--gl-navy)}
.gl-pagination a:hover,.gl-pagination .current{background:var(--gl-navy);border-color:var(--gl-navy);color:#fff}

/* Single: header */
.gl-breadcrumbs{display:flex;gap:9px;padding:20px 0;overflow:hidden;white-space:nowrap;font-size:.68rem;color:var(--gl-text-light)}
.gl-breadcrumbs a{color:var(--gl-gold-dark)}
.gl-breadcrumbs span:last-child{overflow:hidden;text-overflow:ellipsis}
.gl-article-header{padding:30px 0 36px;text-align:center}
.gl-article-header__inner{width:min(870px,100%);margin-inline:auto}
.gl-article-header h1{margin:16px auto 18px;font-size:clamp(1.7rem,4vw,2.6rem);font-weight:900;line-height:1.2;letter-spacing:-.02em;color:var(--gl-navy)}
.gl-article-dek{max-width:780px;margin:0 auto 25px;font-size:1.05rem;line-height:1.68;color:var(--gl-text-muted)}
.gl-article-author{display:flex;align-items:center;justify-content:center;gap:11px;text-align:left}
.gl-author-avatar{border:2px solid var(--gl-gold);border-radius:50%}
.gl-updated{display:block;margin-top:3px;font-size:.62rem;color:var(--gl-text-light)}
.gl-article-hero{width:min(870px,calc(100% - 40px));margin:0 auto 10px}
.gl-article-hero img{display:block;margin:0 auto;max-width:100%;max-height:640px;width:auto;height:auto;border-radius:12px}
.gl-article-hero figcaption{margin-top:8px;font-size:.62rem;color:var(--gl-text-light)}

/* Single: body + share rail */
.gl-article-layout{display:grid;grid-template-columns:56px minmax(0,700px) 300px;justify-content:center;gap:32px;padding:42px 0 70px}
.gl-article-layout .gh-aside{align-self:start}
@media(max-width:1000px){.gl-article-layout{grid-template-columns:56px minmax(0,1fr)}.gl-article-layout .gh-aside{display:none}}
.gl-share-rail{position:sticky;top:130px;align-self:start;display:flex;flex-direction:column;align-items:center;gap:9px}
.gl-share-rail span{font:700 .55rem var(--gl-font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--gl-text-light)}
.gl-share-rail a{display:grid;width:38px;height:38px;place-items:center;border:1.5px solid var(--gl-gold);border-radius:50%;color:var(--gl-gold-dark);transition:background .2s,color .2s}
.gl-share-rail a:hover{background:var(--gl-gold);color:var(--gl-navy)}
.gl-share-rail svg{width:16px;height:16px}
.gl-article-body{font:400 1rem/1.9 var(--gl-font-head);color:#292F3C}
.gl-article-body img{max-width:100%;height:auto;border-radius:12px}
.gl-article-body h2{margin:42px 0 16px;font-size:1.6rem;font-weight:900;line-height:1.28;color:var(--gl-navy)}
.gl-article-body h2::before{content:"";display:block;width:35px;height:3px;margin-bottom:13px;background:var(--gl-gold)}
.gl-article-body blockquote{margin:38px 0;padding:5px 0 5px 30px;border-left:3px solid var(--gl-gold);font-size:1.35rem;font-style:italic;font-weight:700;line-height:1.55;color:var(--gl-navy)}
.gl-key-points{margin:34px 0;padding:23px 27px;background:#fff;border-left:4px solid var(--gl-gold);border-radius:0 12px 12px 0;box-shadow:0 4px 18px rgba(7,15,43,.05);font:.82rem var(--gl-font-body)}
.gl-article-tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:38px;padding-top:20px;border-top:1px solid var(--gl-border);font-family:var(--gl-font-body)}
.gl-article-tags span{font-size:.6rem;text-transform:uppercase;color:var(--gl-text-light)}
.gl-article-tags a{padding:6px 10px;background:#fff;border:1px solid var(--gl-border);border-radius:8px;font-size:.65rem;color:var(--gl-navy)}

/* Recent posts: compact list */
.gl-recent{display:grid;gap:16px}
.gl-r{display:grid;grid-template-columns:84px 1fr;gap:12px;align-items:center;padding-bottom:16px;border-bottom:1px solid var(--gl-warm-gray)}
.gl-r:last-child{padding-bottom:0;border:0}
.gl-r img{width:84px;height:84px;object-fit:cover;object-position:center 20%;border-radius:8px}
.gl-r .gh-pill{display:block;width:fit-content;margin-bottom:5px}
.gl-r strong{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font:700 .8rem/1.4 var(--gl-font-head);color:var(--gl-navy)}
.gl-r:hover strong{color:var(--gl-gold-dark)}

/* Comments */
.gl-comments{margin-top:48px;padding-top:32px;border-top:1px solid var(--gl-border);font-family:var(--gl-font-body)}
.gl-comments .comments-title,.gl-comments #reply-title{margin:0 0 20px;font-size:1.3rem;font-weight:900;color:var(--gl-navy)}
.gl-comments .comments-title::before,.gl-comments #reply-title::before{content:"";display:block;width:35px;height:3px;margin-bottom:13px;background:var(--gl-gold)}
.gl-comments ol{list-style:none;margin:0 0 32px;padding:0}
.gl-comments .children{margin:16px 0 0 24px}
.gl-comments .comment-body{margin:0 0 16px;padding:20px;background:#fff;border:1px solid var(--gl-border);border-radius:12px}
.gl-comments .comment-meta,.gl-comments .comment-author-info{display:flex;align-items:center;gap:12px}
.gl-comments .avatar{width:40px;height:40px;border:2px solid var(--gl-gold);border-radius:50%}
.gl-comments .fn{font-weight:700;font-style:normal;color:var(--gl-navy)}
.gl-comments .comment-metadata,.gl-comments .comment-metadata a{font-size:.7rem;color:var(--gl-text-light)}
.gl-comments .comment-content{margin:12px 0;font-size:.9rem;line-height:1.7;color:var(--gl-text)}
.gl-comments .comment-content p{margin:0 0 .8em}
.gl-comments .reply a{font:700 .65rem var(--gl-font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--gl-gold-dark)}
.gl-comments .comment-form{display:grid;gap:14px}
.gl-comments .comment-form p{margin:0}
.gl-comments label{display:block;margin-bottom:6px;font-size:.75rem;font-weight:600;color:var(--gl-navy)}
.gl-comments textarea,.gl-comments input[type=text],.gl-comments input[type=email],.gl-comments input[type=url]{width:100%;padding:12px 14px;background:#fff;border:1px solid var(--gl-border);border-radius:8px;font:inherit;color:var(--gl-text)}
.gl-comments textarea:focus,.gl-comments input:focus{border-color:var(--gl-gold);outline:0}
.gl-comments .comment-form-cookies-consent{display:flex;gap:8px;align-items:center}
.gl-comments .comment-form-cookies-consent label{margin:0;font-weight:400}
.gl-comments input[type=submit]{height:46px;padding:0 24px;border:0;border-radius:8px;background:var(--gl-navy);color:#fff;font:700 .72rem var(--gl-font-body);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.gl-comments input[type=submit]:hover{background:var(--gl-gold);color:var(--gl-navy)}

/* Related */
.gl-related{padding:50px 0 60px;background:#fff;border-top:1px solid var(--gl-border)}
.gl-related .gl-shell{max-width:830px}
.gl-related .gl-list-story__excerpt,.gl-related .gl-read-link{display:none}

@media(max-width:900px){
  .gl-content-layout{grid-template-columns:1fr}
  .gl-archive-hero__row{grid-template-columns:1fr;gap:20px}
}
@media(max-width:760px){
  .gl-article-layout{grid-template-columns:1fr;padding-top:30px}
  .gl-share-rail{position:static;flex-direction:row;justify-content:flex-start}
  .gl-list-story,.gl-list-story--lead{grid-template-columns:200px 1fr}
}
@media(max-width:560px){
  .gl-list-story,.gl-list-story--lead{grid-template-columns:118px 1fr;gap:15px;padding:20px 0}
  .gl-list-story__image{aspect-ratio:1}
  .gl-lead-flag,.gl-list-story__excerpt,.gl-read-link{display:none}
  .gl-list-story__title,.gl-list-story--lead .gl-list-story__title{font-size:.95rem;line-height:1.38}
  .gl-article-body{font-size:.95rem}
}

/* ── 13. ABOUT + CONTACT ─────────────────────────────── */
.site-content:has(.gl-page),.inside-article:has(.gl-page){padding:0}
.inside-article:has(.gl-page) .entry-header{display:none}
.entry-content:has(.gl-page){margin:0}
.gl-page{width:100vw;margin-left:calc(50% - 50vw);overflow-x:clip}
.gl-eye{display:block;font:700 .65rem var(--gl-font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--gl-gold-dark)}
.gl-eye--l{color:var(--gl-gold)}
.gl-link{display:inline-block;padding-bottom:5px;border-bottom:1px solid var(--gl-gold);font:700 .68rem var(--gl-font-body);letter-spacing:.09em;text-transform:uppercase;color:var(--gl-gold-dark)}
.gl-btn,input.gl-btn{display:inline-flex;align-items:center;justify-content:center;height:46px;padding:0 24px;border:0;border-radius:8px;background:var(--gl-navy);color:#fff;font:700 .7rem var(--gl-font-body);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.gl-btn:hover,input.gl-btn:hover{background:var(--gl-navy-deep);color:var(--gl-gold)}
.gl-page h1,.gl-page h2{font-weight:900}

/* About */
.gl-ab-hero{position:relative;background:#fff}
.gl-ab-hero::before{content:"";position:absolute;inset:0 0 0 auto;width:36%;background:var(--gl-navy)}
.gl-ab-grid{position:relative;display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center;padding:70px 0}
.gl-ab-hero h1{margin:16px 0 22px;font-size:clamp(2rem,5.4vw,4rem);line-height:1.05;letter-spacing:-.03em;color:var(--gl-navy)}
.gl-ab-hero h1 span,.gl-mission h2 span,.gl-ct-hero h1 span{color:var(--gl-gold)}
.gl-ab-hero p{max-width:540px;margin:0 0 28px;font-size:1rem;line-height:1.8;color:var(--gl-text-muted)}
.gl-ab-img{position:relative;height:520px;margin:0 16px 0 0;border-radius:12px;box-shadow:-16px 16px 0 var(--gl-gold)}
.gl-ab-img img{width:100%;height:100%;object-fit:cover;border-radius:12px}
.gl-ab-img::after{content:"";position:absolute;inset:0;border-radius:12px;background:linear-gradient(to top,rgba(5,10,31,.6),transparent 50%)}
.gl-mission{padding:90px 0;background:var(--gl-off-white)}
.gl-mission__grid{display:grid;grid-template-columns:34% 1fr;gap:80px}
.gl-mission h2,.gl-cta h2{margin:12px 0 0;font-size:clamp(1.9rem,4vw,2.7rem);line-height:1.15;color:var(--gl-navy)}
.gl-mission p{max-width:700px;margin:0 0 19px;font-size:.92rem;line-height:1.85;color:var(--gl-text-muted)}
.gl-mission .gl-lead{margin-bottom:25px;font:700 1.3rem/1.65 var(--gl-font-head);color:var(--gl-navy)}
.gl-cta{padding:62px 0;background:var(--gl-gold)}
.gl-cta__in{display:flex;align-items:center;justify-content:space-between;gap:40px}
.gl-cta .gl-eye{color:rgba(7,15,43,.6)}
.gl-cta h2{max-width:700px;font-size:clamp(1.6rem,3.5vw,2.3rem)}

/* Contact */
.gl-ct-hero{padding:75px 0 80px;background:var(--gl-navy);text-align:center}
.gl-ct-hero .gl-shell{max-width:850px}
.gl-ct-hero h1{margin:16px 0;font-size:clamp(2.6rem,6vw,4.4rem);line-height:1.08;letter-spacing:-.03em;color:#fff}
.gl-ct-hero p{max-width:650px;margin:0 auto;font-size:.95rem;line-height:1.75;color:rgba(255,255,255,.6)}
.gl-ct-main{padding:75px 0 90px;background:var(--gl-off-white)}
.gl-ct-layout{display:grid;grid-template-columns:38% 1fr;gap:75px;align-items:start}
.gl-ct-layout h2{margin:12px 0 14px;font-size:2rem;line-height:1.2;color:var(--gl-navy)}
.gl-ct-intro{max-width:390px;margin:0 0 28px;font-size:.85rem;line-height:1.75;color:var(--gl-text-muted)}
.gl-route{display:grid;grid-template-columns:38px 1fr;gap:16px;padding:21px 0;margin-bottom:24px;border-block:1px solid var(--gl-border)}
.gl-route b{font:900 1.1rem/1.3 var(--gl-font-head);color:var(--gl-gold)}
.gl-route h3{margin:0 0 5px;font:700 .9rem/1.4 var(--gl-font-head);color:var(--gl-navy)}
.gl-route p{margin:0 0 7px;font-size:.75rem;line-height:1.6;color:var(--gl-text-muted)}
.gl-route a{font-size:.8rem;font-weight:700;color:var(--gl-gold-dark)}
.gl-ct-card{padding:42px 46px 46px;background:#fff;border-top:4px solid var(--gl-gold);border-radius:12px;box-shadow:0 15px 45px rgba(7,15,43,.08)}
.gl-ct-card h2{margin-bottom:6px}
.gl-ct-req{margin:0 0 22px;padding-bottom:22px;border-bottom:1px solid var(--gl-border);font-size:.75rem;color:var(--gl-text-muted)}

/* CF7 form */
.gl-cf{display:flex;flex-direction:column;gap:20px}
.gl-cf p{display:contents}
.gl-cf br{display:none}
.gl-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.gl-cf label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.04em;color:var(--gl-navy)}
.gl-cf label i{font-style:normal;color:var(--gl-gold-dark)}
.gl-cf .wpcf7-form-control-wrap{display:block;margin-top:7px}
.gl-cf input:not([type=submit]),.gl-cf select,.gl-cf textarea{width:100%;padding:11px 14px;background:#FBFAF8;border:1px solid #D9D5CC;border-radius:8px;font:400 .9rem var(--gl-font-body);color:var(--gl-text)}
.gl-cf input:not([type=submit]),.gl-cf select{height:45px}
.gl-cf textarea{min-height:130px;resize:vertical}
.gl-cf input:focus,.gl-cf select:focus,.gl-cf textarea:focus{outline:0;border-color:var(--gl-gold);box-shadow:0 0 0 3px rgba(198,162,74,.15)}
.gl-cf .wpcf7-submit{align-self:flex-start;margin-top:10px}
.gl-cf .wpcf7-spinner{position:absolute}
.gl-cf small{display:block;margin-top:-6px;font-size:.68rem;line-height:1.6;color:var(--gl-text-light)}
.wpcf7-not-valid-tip{margin-top:5px;font-size:.7rem;color:#A52A2A}
.gl-ct-card .wpcf7-response-output{margin:16px 0 0!important;padding:13px 15px;border:0!important;border-left:4px solid var(--gl-gold)!important;border-radius:8px;background:var(--gl-warm-gray);font-size:.8rem;color:var(--gl-navy)}

/* Response times strip */
.gl-note{padding:29px 0;background:var(--gl-warm-gray);border-top:1px solid var(--gl-border)}
.gl-note__in{display:grid;grid-template-columns:170px 1fr;gap:30px;align-items:center}
.gl-note strong{font:700 .9rem var(--gl-font-head);color:var(--gl-navy)}
.gl-note p{margin:0;padding-left:28px;border-left:2px solid var(--gl-gold);font-size:.8rem;line-height:1.65;color:var(--gl-text-muted)}

@media(max-width:900px){
  .gl-ab-hero::before{display:none}
  .gl-ab-grid,.gl-mission__grid,.gl-ct-layout,.gl-note__in{grid-template-columns:1fr;gap:36px}
  .gl-ab-img{height:min(520px,105vw)}
  .gl-mission,.gl-ct-main{padding:60px 0}
  .gl-cta__in{flex-direction:column;align-items:flex-start;gap:24px}
}
@media(max-width:560px){
  .gl-ct-card{padding:30px 20px}
  .gl-row{grid-template-columns:1fr}
  .gl-ct-hero{padding:55px 0}
}

/* Link colours (beat the theme's navy link rule) */
.gl-page a.gl-btn,.gl-page input.gl-btn{color:#fff}
.gl-page a.gl-btn:hover,.gl-page input.gl-btn:hover{color:var(--gl-gold)}
.gl-page a.gl-link{color:var(--gl-gold-dark)}
.gl-page .gl-route a{color:var(--gl-gold-dark)}

/* Contact: follow us + icons */
.gl-follow{margin:0 0 12px;font:700 .72rem var(--gl-font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--gl-navy)}
.gl-ct-layout .gl-social{display:flex;gap:10px}
.gl-ct-layout .gl-social a{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--gl-gold);border-radius:50%;color:var(--gl-gold-dark);transition:background .2s,color .2s}
.gl-ct-layout .gl-social a:hover{background:var(--gl-gold);color:var(--gl-navy)}
.gl-ct-layout .gl-social svg{width:18px;height:18px}