:root{--ink:#071d36;--blue:#1268b3;--blue-deep:#0c4d86;--paper:#f7f8fa;--line:#d7dee7;--muted:#5b697a;--gold:#d4a24d}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Montserrat,Arial,sans-serif;line-height:1.65}.blog-site-header{min-height:92px;background:#fff;display:flex;gap:32px;justify-content:space-between;align-items:center;padding:18px clamp(20px,6vw,96px);border-bottom:1px solid var(--line);position:relative;z-index:1}.blog-wordmark{color:var(--ink);font-family:Oswald,sans-serif;font-size:27px;font-weight:600;letter-spacing:.06em;line-height:1.05;text-decoration:none;white-space:nowrap}.blog-wordmark span{font-weight:400}.blog-wordmark small{display:block;font-family:Montserrat,sans-serif;font-size:9px;font-weight:700;letter-spacing:.14em;margin-top:7px}.blog-site-header nav{display:flex;align-items:center;gap:clamp(14px,2.5vw,34px)}.blog-site-header nav a{color:var(--ink);font-size:12px;font-weight:700;letter-spacing:.07em;text-decoration:none;text-transform:uppercase}.blog-site-header nav a:hover,.blog-site-header nav a.is-active{color:var(--blue)}.blog-hero{background:linear-gradient(125deg,rgba(3,20,40,.94),rgba(8,58,103,.82)),url('/assets/22-charles-williams-speaking-at-naval-event.webp') center 57%/cover;padding:clamp(70px,10vw,132px) clamp(20px,10vw,180px);color:#fff}.blog-hero>*{max-width:750px}.eyebrow{color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.16em;margin:0 0 12px;text-transform:uppercase}.blog-hero .eyebrow{color:#a7d2fa}.blog-hero h1,.article-header h1,.not-found h1{font-family:Oswald,sans-serif;font-size:clamp(44px,7vw,88px);font-weight:500;letter-spacing:.01em;line-height:1.04;margin:0 0 18px;text-transform:uppercase}.blog-hero h1 em{color:#83bef0;font-style:normal}.blog-hero>p:last-child{font-size:18px;max-width:610px}.blog-content{margin:0 auto;max-width:1240px;padding:44px clamp(20px,5vw,72px) 80px}.category-nav{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 32px}.category-nav a{border:1px solid var(--line);border-radius:999px;color:var(--ink);font-size:12px;font-weight:700;padding:8px 14px;text-decoration:none}.category-nav a:hover,.category-nav a.is-selected{background:var(--ink);border-color:var(--ink);color:#fff}.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.post-card{background:#fff;border:1px solid var(--line);box-shadow:0 10px 24px rgba(5,30,57,.08);display:flex;flex-direction:column}.post-card__image{aspect-ratio:16/10;background:#112f4f;display:block;overflow:hidden}.post-card__image img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.post-card:hover img{transform:scale(1.035)}.post-card__fallback{align-items:center;color:#fff;display:flex;font-family:Oswald,sans-serif;font-size:54px;height:100%;justify-content:center;letter-spacing:.08em}.post-card__content{display:flex;flex:1;flex-direction:column;padding:22px}.post-card__content h2{font-family:Oswald,sans-serif;font-size:28px;font-weight:500;line-height:1.14;margin:0 0 13px;text-transform:uppercase}.post-card__content h2 a{color:var(--ink);text-decoration:none}.post-card__content p:not(.eyebrow){color:var(--muted);font-size:14px;margin:0 0 20px}.text-link,.back-link{color:var(--blue-deep);font-size:12px;font-weight:800;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}.text-link{margin-top:auto}.pagination{align-items:center;display:flex;justify-content:space-between;margin-top:42px}.pagination a{color:var(--blue-deep);font-size:13px;font-weight:800;text-decoration:none}.pagination span{color:var(--muted);font-size:13px}.empty-state{background:#fff;border:1px dashed var(--line);grid-column:1/-1;margin:0;padding:42px;text-align:center}.article-shell{margin:0 auto;max-width:950px;padding:48px clamp(20px,5vw,72px) 80px}.back-link{display:inline-block;margin-bottom:30px}.article-header{max-width:820px}.article-header h1{font-size:clamp(44px,6vw,78px)}.article-excerpt{color:var(--muted);font-size:19px;line-height:1.65;max-width:780px}.article-featured{background:#fff;border:8px solid #fff;box-shadow:0 15px 35px rgba(5,30,57,.14);margin:38px 0}.article-featured img{display:block;height:auto;max-height:650px;object-fit:cover;width:100%}.article-body{color:#253548;font-size:17px;line-height:1.85;margin:38px auto;max-width:760px}.article-body h2,.article-body h3,.article-body h4{color:var(--ink);font-family:Oswald,sans-serif;font-weight:500;line-height:1.15;margin:1.8em 0 .55em;text-transform:uppercase}.article-body h2{font-size:34px}.article-body h3{font-size:27px}.article-body a{color:var(--blue-deep);font-weight:700}.article-body blockquote{border-left:4px solid var(--gold);color:var(--ink);font-family:Oswald,sans-serif;font-size:26px;line-height:1.35;margin:30px 0;padding:8px 0 8px 22px}.article-actions{align-items:center;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:26px;justify-content:space-between;margin-top:48px;padding-top:28px}.about-charles-link,.button-link{background:var(--ink);color:#fff;display:inline-block;font-size:12px;font-weight:800;letter-spacing:.09em;padding:12px 18px;text-decoration:none;text-transform:uppercase}.about-charles-link:hover,.button-link:hover{background:var(--blue-deep)}.share-controls{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.share-controls>span{font-size:12px;font-weight:800;letter-spacing:.08em;margin-right:6px;text-transform:uppercase}.share-controls button{background:#fff;border:1px solid var(--line);color:var(--ink);cursor:pointer;font:700 11px Montserrat,Arial,sans-serif;letter-spacing:.04em;padding:9px 10px}.share-controls button:hover{border-color:var(--blue);color:var(--blue-deep)}.share-status{color:var(--blue-deep);font-size:12px;font-weight:700;min-height:18px;width:100%}.not-found{margin:0 auto;max-width:720px;padding:130px 24px;text-align:center}.not-found p:not(.eyebrow){color:var(--muted);font-size:18px;margin:0 0 28px}.blog-site-footer{align-items:center;background:var(--ink);color:#fff;display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;padding:28px clamp(20px,6vw,96px)}.blog-site-footer p,.blog-site-footer a{font-size:12px;margin:0}.blog-site-footer a{color:#a7d2fa;font-weight:700;text-decoration:none}@media(max-width:850px){.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-site-header{align-items:flex-start;flex-direction:column;gap:17px}.blog-site-header nav{flex-wrap:wrap;gap:16px}.article-actions{align-items:flex-start;flex-direction:column;gap:20px}}@media(max-width:560px){.post-grid{grid-template-columns:1fr}.blog-site-header{padding:18px 20px}.blog-wordmark{font-size:23px}.blog-site-header nav a{font-size:10px}.article-body{font-size:16px}.share-controls>span{width:100%}.blog-site-footer{align-items:flex-start;flex-direction:column}.blog-hero{padding:68px 24px}}

/* Shared Calendly action in the public Blog and Videos navigation. */
.blog-site-header nav a.blog-booking-cta {
  background: var(--blue);
  border: 1px solid var(--blue);
  border-radius: 3px;
  color: #fff;
  padding: 10px 15px;
  white-space: nowrap;
}
.blog-site-header nav a.blog-booking-cta:hover,
.blog-site-header nav a.blog-booking-cta:focus-visible {
  background: var(--blue-deep);
  border-color: var(--blue-deep);
  color: #fff;
}
.blog-site-header nav a.blog-booking-cta:focus-visible {
  outline: 3px solid #83bef0;
  outline-offset: 3px;
}
@media (max-width: 560px) {
  .blog-site-header nav a.blog-booking-cta { padding: 9px 12px; }
}

/* Keep the shared public navigation available while visitors read or watch. */
.blog-site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  box-shadow: 0 4px 16px rgba(5, 30, 57, 0.1);
}

/* Approved article text styles selected in the secure editor. */
.article-body .font-sans{font-family:Montserrat,Arial,sans-serif}
.article-body .font-serif{font-family:Georgia,serif}
.article-body .font-display{font-family:Oswald,Arial,sans-serif}
.article-body .text-size-small{font-size:.88em}
.article-body .text-size-normal{font-size:1em}
.article-body .text-size-large{font-size:1.25em}
.article-body .text-size-xl{font-size:1.5em}

/* A consistent black overlay improves hero-image contrast on Blog and Videos. */
.blog-hero,
.videos-hero {
  isolation: isolate;
  position: relative;
}
.blog-hero::before,
.videos-hero::before {
  background: rgba(0, 0, 0, 0.56);
  content: '';
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}
.blog-hero > *,
.videos-hero > * {
  position: relative;
  z-index: 1;
}
