/* =========================================================
   LifeBridge 2026 — layout, components, and theme styles.
   ========================================================= */
 :root {
    --lb-color-text: #1a1a1a;
    --lb-color-muted: #666;
    --lb-color-bg: #ffffff;
    --lb-color-bg-alt: #f5f5f5;
    --lb-color-border: #e3e3e3;
    --lb-color-primary: #1f4eaa;
    --lb-color-primary-hover: #163c84;
    --lb-color-secondary: #1a1a1a;
    --lb-color-accent: #f0a500;
    --lb-color-overlay: rgba(0, 0, 0, 0.5);

    --lb-radius: 0.4rem;
    --lb-radius-lg: 0.8rem;
    --lb-shadow: 0 0.2rem 0.6rem rgba(0,0,0,0.08);
    --lb-shadow-lg: 0 1.6rem 3.2rem rgba(0,0,0,0.12);

    --lb-container: 120rem;
    --lb-gap: 2.4rem;
    --lb-gap-lg: 4.8rem;
}
.lb-container {
    width: 100%;
    max-width: var(--lb-container);
    margin: 0 auto;
    padding: 0 2rem;
}

.lb-site-main { display: block; min-height: 50vh; }

/* ----- Buttons ----- */
.lb-btn {
    display: inline-block;
    padding: 1.2rem 2.4rem;
    font-size: 1.5rem;
    font-weight: 600;
    border-radius: var(--lb-radius);
    text-decoration: none;
    transition: background-color .2s ease, color .2s ease, transform .1s ease;
}
.lb-btn--primary {
    background: var(--lb-color-primary);
    color: #fff;
}
.lb-btn--primary:hover,
.lb-btn--primary:focus {
    background: var(--lb-color-primary-hover);
    color: #fff;
    text-decoration: none;
}
.lb-btn--secondary {
    background: transparent;
    color: var(--lb-color-secondary);
    border: 0.2rem solid var(--lb-color-secondary);
}
.lb-btn--secondary:hover,
.lb-btn--secondary:focus {
    background: var(--lb-color-secondary);
    color: #fff;
    text-decoration: none;
}
.lb-action-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 1.2rem;
    margin-top: 2.4rem;
    align-items: flex-start;
}

/* ----- Add-to-Calendar chooser ----- */
.lb-add-to-calendar {
    position: relative;
    display: inline-block;
}
.lb-add-to-calendar__toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
}
.lb-add-to-calendar__toggle:hover {color:var(--color-1) !important;}
.lb-add-to-calendar__toggle::before, .lb-add-to-calendar__toggle::after {display:none;}
.lb-add-to-calendar__caret {
    /* width: 0;
    height: 0;
    border-style: solid;
    border-width: 0.5rem 0.4rem 0 0.4rem;
    border-color: currentColor transparent transparent transparent; */
    display:inline-block; margin:0 -12px 0 0; transition: transform .2s ease;
}
.lb-add-to-calendar__toggle[aria-expanded="true"] .lb-add-to-calendar__caret {
    transform: rotate(180deg);
}
.lb-add-to-calendar__menu {
    position: absolute;
    top: calc(100% + 0.6rem);
    left: 0;
    min-width: 22rem;
    background: #fff;
    border: 1px solid var(--lb-color-border);
    border-radius: var(--lb-radius);
    box-shadow: var(--lb-shadow-lg);
    padding: 0.6rem 0;
    z-index: 50;
}
.lb-add-to-calendar__menu[hidden] { display: none; }
.lb-add-to-calendar__menu li { list-style: none; }
.lb-add-to-calendar__menu a {
    display: block;
    padding: 1rem 1.6rem;
    font-size: 1.4rem;
    color: var(--lb-color-text);
    text-decoration: none;
}
.lb-add-to-calendar__menu a:hover,
.lb-add-to-calendar__menu a:focus {
    background: var(--lb-color-bg-alt);
    text-decoration: none;
}

/* ----- Site header ----- */
.lb-site-header {
    background: #fff;
    border-bottom: 1px solid var(--lb-color-border);
    position: sticky;
    top: 0;
    z-index: 100;
}
.lb-site-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 1.6rem;
    padding-bottom: 1.6rem;
}
.lb-site-header__brand a {
    font-size: 2.0rem;
    font-weight: 700;
    text-decoration: none;
}
.lb-site-header__toggle {
    display: none;
    width: 4rem;
    height: 4rem;
    position: relative;
}
.lb-site-header__toggle-bars,
.lb-site-header__toggle-bars::before,
.lb-site-header__toggle-bars::after {
    content: '';
    position: absolute;
    left: 0.8rem;
    width: 2.4rem;
    height: 0.2rem;
    background: var(--lb-color-text);
    transition: transform .2s ease, opacity .2s ease;
}
.lb-site-header__toggle-bars { top: 1.9rem; }
.lb-site-header__toggle-bars::before { top: -0.7rem; }
.lb-site-header__toggle-bars::after  { top:  0.7rem; }

.lb-site-nav__list {
    display: flex;
    gap: 2.4rem;
}
.lb-site-nav__list a {
    font-size: 1.5rem;
    font-weight: 500;
    text-decoration: none;
    padding: 0.4rem 0;
}
.lb-site-nav__list a:hover { color: var(--lb-color-primary); }

/* ----- Site footer ----- */
.lb-site-footer {
    background: var(--lb-color-bg-alt);
    margin-top: 6.4rem;
    padding: 4.8rem 0;
}
.lb-site-footer__inner {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
    align-items: center;
    text-align: center;
}
.lb-site-footer__menu {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    justify-content: center;
}
.lb-site-footer__copy {
    font-size: 1.4rem;
    color: var(--lb-color-muted);
}

/* ----- Page (default subpage) ----- */
.lb-page__header {
    background: var(--lb-color-bg-alt);
    padding: 4.8rem 0;
    margin-bottom: 4rem;
}
.lb-page__title { font-size: 4rem; }
.lb-page__featured { margin-bottom: 3.2rem; }
.lb-page__body { font-size: 1.7rem; line-height: 1.7; }
.lb-page__body h2 { margin: 3.2rem 0 1.2rem; }
.lb-page__body h3 { margin: 2.4rem 0 1rem; }
.lb-page__body p, .lb-page__body ul, .lb-page__body ol { margin-bottom: 1.6rem; }
.lb-page__body ul, .lb-page__body ol { padding-left: 2rem; }
.lb-page__body ul li { list-style: disc; }
.lb-page__body ol li { list-style: decimal; }

/* ----- Generic archive ----- */
.lb-archive { padding: 4.8rem 0; }
.lb-archive__header { margin-bottom: 3.2rem; }
.lb-archive__title { font-size: 3.6rem; }
.lb-archive__description { color: var(--lb-color-muted); margin-top: 1rem; }
.lb-archive__empty { font-size: 1.8rem; color: var(--lb-color-muted); }

.lb-post-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(28rem, 1fr));
    gap: var(--lb-gap);
}
.lb-post-list__item {
    background: #fff;
    border: 1px solid var(--lb-color-border);
    border-radius: var(--lb-radius-lg);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.lb-post-list__image img { width: 100%; }
.lb-post-list__body { padding: 1.6rem 2rem 2.4rem; }
.lb-post-list__title { font-family:var(--font-sourcesans); font-size: 2.4rem; letter-spacing:0; margin-bottom: 0.4rem; }
.lb-post-list__title a { text-decoration: none; }
.lb-post-list__meta { font-size: 1.3rem; color: var(--lb-color-muted); margin-bottom: 1rem; }
.lb-post-list__excerpt { font-size: 1.5rem; }

.lb-search-list {display:flex; flex-direction:column;}
.lb-search-list__item {margin-bottom:2rem;}

/* ----- Front page ----- */
.lb-front-hero {
    position: relative;
    min-height: 60rem;
    background-color: #1a1a1a;
    background-size: cover;
    background-position: center;
    color: #fff;
    display: flex;
    align-items: center;
}
.lb-front-hero::before {
    content: '';
    position: absolute; inset: 0;
    background: var(--lb-color-overlay);
}
.lb-front-hero__inner {
    position: relative;
    padding: 8rem 2rem;
    max-width: 80rem;
}
.lb-front-hero__eyebrow {
    text-transform: uppercase;
    letter-spacing: 0.2rem;
    font-size: 1.4rem;
    margin-bottom: 1.6rem;
    color: var(--lb-color-accent);
}
.lb-front-hero__title { font-size: 5.6rem; line-height: 1.05; margin-bottom: 1.6rem; }
.lb-front-hero__subtitle { font-size: 2rem; margin-bottom: 2.4rem; max-width: 52rem; }

.lb-front-intro { padding: 6.4rem 2rem; max-width: 80rem; font-size: 1.8rem; }

.lb-front-panels { padding: 4.8rem 0; }
.lb-front-panel { padding: 4.8rem 0; }
.lb-front-panel:nth-child(even) { background: var(--lb-color-bg-alt); }
.lb-front-panel__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--lb-gap-lg);
    align-items: center;
}
.lb-front-panel--reverse .lb-front-panel__inner { direction: rtl; }
.lb-front-panel--reverse .lb-front-panel__inner > * { direction: ltr; }
.lb-front-panel__image img { border-radius: var(--lb-radius-lg); width: 100%; }
.lb-front-panel__title { font-size: 3.2rem; margin-bottom: 1.6rem; }
.lb-front-panel__copy { font-size: 1.7rem; line-height: 1.6; margin-bottom: 2rem; }

/* ----- I'm New ----- */
.lb-imnew-hero {
    background: var(--lb-color-bg-alt);
    padding: 6.4rem 0;
    text-align: center;
}
.lb-imnew-hero__title { font-size: 4.8rem; }
.lb-imnew-intro { padding: 6.4rem 0; }
.lb-imnew-intro__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--lb-gap-lg);
    align-items: center;
}
.lb-imnew-intro__image img { border-radius: var(--lb-radius-lg); width: 100%; }
.lb-imnew-intro__title { font-size: 3.2rem; margin-bottom: 1.6rem; }
.lb-imnew-intro__copy { font-size: 1.7rem; line-height: 1.7; }
.lb-imnew-intro__copy + .lb-imnew-intro__copy { margin-top: 1.6rem; }

.lb-imnew-expect { padding: 6.4rem 0; background: var(--lb-color-bg-alt); }
.lb-imnew-expect__title { font-size: 3.2rem; text-align: center; margin-bottom: 3.2rem; }
.lb-imnew-expect__list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(28rem, 1fr));
    gap: var(--lb-gap);
}
.lb-imnew-expect__item {
    background: #fff;
    padding: 2.4rem;
    border-radius: var(--lb-radius-lg);
    box-shadow: var(--lb-shadow);
}
.lb-imnew-expect__item-title { font-size: 2rem; margin-bottom: 0.8rem; }
.lb-imnew-expect__item-body { font-size: 1.5rem; color: var(--lb-color-muted); }

.lb-imnew-form { padding: 6.4rem 0; }
.lb-imnew-form__title { font-size: 3.2rem; margin-bottom: 2.4rem; text-align: center; }

/* ----- Scheduled CPTs (events/serve/groups) ----- */
.lb-scheduled__featured img { width: 100%; }
.lb-scheduled__inner { padding: 4.8rem 0 6.4rem; max-width: 80rem; }
.lb-scheduled__type {
    text-transform: uppercase;
    letter-spacing: 0.2rem;
    font-size: 1.3rem;
    color: var(--lb-color-primary);
    margin-bottom: 1rem;
}
.lb-scheduled__title { font-size: 4.4rem; margin-bottom: 1.6rem; }
.lb-scheduled__schedule { font-size: 2rem; font-weight: 600; }
.lb-scheduled__recurrence { font-size: 1.5rem; color: var(--lb-color-muted); margin-top: 0.4rem; }
.lb-scheduled__location { font-size: 1.5rem; margin-top: 0.4rem; }
.lb-scheduled__body { margin-top: 3.2rem; font-size: 1.7rem; line-height: 1.7; }
.lb-scheduled__body p { margin-bottom: 1.6rem; }

.lb-scheduled-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(28rem, 1fr));
    gap: var(--lb-gap);
}
.lb-scheduled-card {
    background: #fff;
    border: 1px solid var(--lb-color-border);
    border-radius: var(--lb-radius-lg);
    overflow: hidden;
    transition: transform .2s ease, box-shadow .2s ease;
}
.lb-scheduled-card:hover { transform: translateY(-0.2rem); box-shadow: var(--lb-shadow-lg); }
.lb-scheduled-card__link { text-decoration: none; display: block; color: inherit; }
.lb-scheduled-card__image img { width: 100%; height: 24rem; object-fit: cover; }
.lb-scheduled-card__body { padding: 1.8rem 2rem 2.4rem; }
.lb-scheduled-card__title { font-size: 2rem; margin-bottom: 0.6rem; }
.lb-scheduled-card__schedule { font-size: 1.4rem; font-weight: 600; color: var(--lb-color-primary); }
.lb-scheduled-card__location,
.lb-scheduled-card__excerpt { font-size: 1.4rem; color: var(--lb-color-muted); margin-top: 0.4rem; }

/* ----- Media Player ----- */
.lb-media-hero {
    position: relative;
    /* aspect-ratio:1440/734; */
    aspect-ratio:1920/800;
    background-color: #111;
    background-size: cover;
    background-position: center;
    color: #fff;
    display: flex;
    align-items: flex-end;
    overflow:hidden;
}
.lb-media-hero::before {
    content: '';
    position: absolute; inset: 0;
    background: linear-gradient( to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.2) 60%, transparent 100% );
}
.lb-media-hero__link { display: block; width: 100%; height:100%; text-decoration: none; position: relative; display:flex; flex-direction:column; justify-content:flex-end;}
.lb-media-hero__inner {max-width:100%; position: relative; padding: 4.8rem 5.5% 11.5rem; color:var(--color-1);}
.lb-media-hero__eyebrow {
    text-transform: uppercase; letter-spacing: 0.2rem;
    font-size: 1.3rem; color: var(--lb-color-accent); margin-bottom: 1rem;
}
.lb-media-hero .lbl {font-size:2.7rem; font-weight:900; line-height:2; letter-spacing:0; text-transform:uppercase;}
.lb-media-hero header {margin:0;}
  .lb-media-hero header h1 {font-size:6.9rem; letter-spacing:-1.66px; color:var(--color-1); margin:0;}
.lb-media-hero__meta {font-size:2rem; font-weight:600; letter-spacing:-0.48px; text-transform:uppercase; padding:4px 0 0;}

.lb-watch-btn {padding:24px 0 0; text-transform:uppercase;}
  .lb-watch-btn a {display:flex; align-items:center; gap:24px; color:var(--color-1); font-size:2.7rem; font-weight:700; letter-spacing:0;}
  .lb-watch-btn a:hover, .lb-watch-btn a:focus {text-decoration:none;}
    .lb-watch-btn a .play-btn {width:67px; height:67px;}
      .lb-watch-btn .play-btn .pbpath {transition:fill 0.25s, opacity 0.25s;}
      .lb-watch-btn a:hover .play-btn .pbpath {fill:var(--color-1); opacity:1;}
      .lb-watch-btn .play-btn .pbpath2 {transition:stroke 0.25s;}
      .lb-watch-btn a:hover .play-btn .pbpath2 {stroke:var(--color-0);}

.lb-media-series { padding: 6.4rem 0; }
.lb-media-series__header { margin-bottom: 3.2rem; }
.lb-media-series__title { font-size: 3.2rem; }

@media (max-width:992px) {
    .lb-media-hero__inner {padding-bottom:36px;}
}
@media (max-width:767px) {
  .lb-media-hero {margin-bottom:38rem; color:var(--color-drk); overflow:initial;}
    .lb-media-hero__link {height:auto; position:absolute; top:100%;}
      .lb-media-hero__inner {color:var(--color-drk); padding-top:40px; padding-bottom:40px;}
        .lb-media-hero .lbl {font-size:2rem; font-weight:700; line-height:1.5; letter-spacing:-0.4px;}
        .lb-media-hero header h1 {color:var(--color-drk); font-size:6.4rem; letter-spacing:-2.43px;}
        .lb-media-hero__meta {font-weight:700; letter-spacing:-0.4px; text-transform:none;}
        .lb-watch-btn a {color:var(--color-drk);}
          .lb-watch-btn a .play-btn {display:none;}
}
@media (max-width:374px) {
  .lb-media-hero header h1 {font-size:5.2rem; letter-spacing:-1.8px;}
}

.lb-series-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--lb-gap);
}
.lb-series-card {
    background: #fff;
    border-radius: var(--lb-radius-lg);
    overflow: hidden;
    border: 1px solid var(--lb-color-border);
    transition: transform .2s ease, box-shadow .2s ease;
}
.lb-series-card:hover { transform: translateY(-0.2rem); box-shadow: var(--lb-shadow-lg); }
.lb-series-card__link { display: block; text-decoration: none; color: inherit; }
.lb-series-card__image img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.lb-series-card__image--placeholder { aspect-ratio: 1 / 1; background: var(--lb-color-bg-alt); }
.lb-series-card__body { padding: 1.6rem 2rem 2rem; }
.lb-series-card__title { font-size: 2rem; }
.lb-series-card__date { font-size: 1.4rem; color: var(--lb-color-muted); margin-top: 0.4rem; }

.lb-load-more {
    margin-top: 4rem;
    text-align: center;
}
.lb-load-more .lb-btn[disabled] {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Series landing page */
.lb-series-detail { padding: 6.4rem 0; }
.lb-series-detail__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--lb-gap-lg);
    align-items: start;
}
.lb-series-detail__image img { width: 100%; border-radius: var(--lb-radius-lg); }
.lb-series-detail__title { font-size: 4.4rem; margin-bottom: 1rem; }
.lb-series-detail__date { font-size: 1.5rem; color: var(--lb-color-muted); margin-bottom: 1.6rem; }
.lb-series-detail__description { font-size: 1.7rem; line-height: 1.7; }

.lb-series-messages { padding: 4.8rem 0 6.4rem; background: var(--lb-color-bg-alt); }
.lb-series-messages__title { font-size: 2.8rem; margin-bottom: 2.4rem; }

.lb-message-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--lb-gap);
}
.lb-message-card {
    background: #fff;
    border-radius: var(--lb-radius-lg);
    overflow: hidden;
    border: 1px solid var(--lb-color-border);
}
.lb-message-card__link { display: block; text-decoration: none; color: inherit; }
.lb-message-card__image img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.lb-message-card__body { padding: 1.4rem 1.8rem 1.8rem; }
.lb-message-card__title { font-size: 1.8rem; }
.lb-message-card__date { font-size: 1.3rem; color: var(--lb-color-muted); margin-top: 0.4rem; }

/* Single message banner with play overlay */
.lb-message-banner {
    position: relative;
    width: 100%;
    background: #000;
}
.lb-message-banner__image {
    aspect-ratio: 1920/800;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow:hidden;
}
.lb-message-banner__play {
    width:100%;
    height:100%;
    border-radius:0;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform .2s ease;
}
  .lb-message-banner__play .play-btn .pbpath {transition:fill 0.25s, opacity 0.25s;}
  .lb-message-banner__play:hover .play-btn .pbpath {fill:var(--color-1); opacity:1;}
  .lb-message-banner__play .play-btn .pbpath2 {transition:stroke 0.25s;}
  .lb-message-banner__play:hover .play-btn .pbpath2 {stroke:var(--color-0);}
.lb-message-banner__video[hidden] { display: none; }
.lb-message-banner__video-inner {
    aspect-ratio: 16 / 9;
    width: 100%;
}
.lb-message-banner__video-inner iframe,
.lb-message-banner__video-inner video {
    width: 100%;
    height: 100%;
    display: block;
}

.lb-message-banner__audio {width:100%; background:var(--color-1); padding:6px 5.5%;}
@media (max-width:992px) {
    .lb-message-banner__audio {padding:6px 24px;}
}

.lb-message__inner {display:flex; justify-content:space-between; padding:32px 0;}
  .lb-message__meta {width:48%;}
  .lb-message__title { font-size:9.5rem; line-height:0.91; letter-spacing:-3.61px; }
  .lb-message__meta-info {display:flex; align-items:center; font-size:2.4rem; font-weight:700; letter-spacing:-0.48px;}
  .lb-message__body {width:50%;}
    .lb-message__body p { margin-bottom: 1.6rem; }
    .lb-message__body p:last-child { margin-bottom:0; }
.lb-message__buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 1.2rem;
    padding-top:32px;
}
.lb-message__description {letter-spacing:-0.68px;}

/* ----- Staff ----- */
.lb-staff { padding: 4.8rem 0 6.4rem; }
.lb-leaders { display: flex; flex-direction: column; gap: var(--lb-gap-lg); margin-bottom: 6.4rem; }
.lb-leader-card {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: var(--lb-gap-lg);
    align-items: start;
}
.lb-leader-card__image img { width: 100%; border-radius: var(--lb-radius-lg); }
.lb-leader-card__name { font-size: 3.2rem; margin-bottom: 0.4rem; }
.lb-leader-card__position { font-size: 1.5rem; color: var(--lb-color-primary); margin-bottom: 1.2rem; }
.lb-leader-card__bio { font-size: 1.6rem; line-height: 1.7; margin-top: 1.6rem; }

.lb-staff-grid-wrap { padding-top: 4.8rem; border-top: 1px solid var(--lb-color-border); }
.lb-staff-grid__title { font-size: 2.8rem; margin-bottom: 2.4rem; }
.lb-staff-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--lb-gap);
}
.lb-staff-card {
    text-align: center;
}
.lb-staff-card__image img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: var(--lb-radius-lg);
}
.lb-staff-card__body { padding-top: 1.2rem; }
.lb-staff-card__name { font-size: 1.8rem; margin-bottom: 0.2rem; }
.lb-staff-card__position { font-size: 1.4rem; color: var(--lb-color-muted); margin-bottom: 0.8rem; }

.lb-staff-single__inner {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: var(--lb-gap-lg);
    padding: 4.8rem 0 6.4rem;
}
.lb-staff-single__image img { width: 100%; border-radius: var(--lb-radius-lg); }
.lb-staff-single__name { font-size: 3.6rem; margin-bottom: 0.4rem; }
.lb-staff-single__position { font-size: 1.6rem; color: var(--lb-color-primary); margin-bottom: 1.2rem; }
.lb-staff-single__email { margin-top: 1rem; }
.lb-staff-single__bio { margin-top: 2rem; font-size: 1.6rem; line-height: 1.7; }

/* ----- Social ----- */
.lb-social {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin-top: 0.8rem;
    justify-content: center;
}
.lb-leader-card .lb-social,
.lb-staff-single__body .lb-social {
    justify-content: flex-start;
}
.lb-social__link {
    width: 3.2rem;
    height: 3.2rem;
    border-radius: 50%;
    background: var(--lb-color-bg-alt);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: background-color .2s ease;
}
.lb-social__link:hover { background: var(--lb-color-secondary); }
.lb-social__link:hover .lb-social__icon { filter: invert(1); }
.lb-social__icon {
    width: 1.6rem;
    height: 1.6rem;
    background-color: var(--lb-color-text);
    /* Using mask so we can recolor a single SVG sprite per network */
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: contain;
    -webkit-mask-position: center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: contain;
}

/* ----- 404 ----- */
.lb-404 { padding: 8rem 2rem; text-align: center; }
.lb-404__title { font-size: 6rem; margin-bottom: 1.6rem; }
.lb-404__body { font-size: 1.8rem; color: var(--lb-color-muted); margin-bottom: 2.4rem; }

/* ----- Pagination ----- */
.pagination,
.nav-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin-top: 4rem;
    justify-content: center;
}
.page-numbers {
    padding: 0.8rem 1.4rem;
    border: 1px solid var(--lb-color-border);
    border-radius: var(--lb-radius);
    text-decoration: none;
    font-size: 1.4rem;
}
.page-numbers.current,
.page-numbers:hover {
    background: var(--lb-color-secondary);
    color: #fff;
}

/* ----- Responsive ----- */
@media (max-width: 1024px) {
    .lb-front-panel__inner,
    .lb-imnew-intro__inner,
    .lb-series-detail__inner,
    .lb-message__inner,
    .lb-leader-card,
    .lb-staff-single__inner {
        grid-template-columns: 1fr;
    }
    .lb-front-panel--reverse .lb-front-panel__inner { direction: ltr; }
    .lb-staff-grid { grid-template-columns: repeat(3, 1fr); }
    .lb-series-grid,
    .lb-message-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
    h1 { font-size: 3.2rem; }
    h2 { font-size: 2.6rem; }
    .lb-front-hero__title { font-size: 4rem; }
    .lb-media-hero__title { font-size: 3.2rem; }
    .lb-staff-grid { grid-template-columns: repeat(2, 1fr); }
    .lb-site-header__toggle { display: inline-flex; }
    .lb-site-nav {
        position: absolute;
        top: 100%; left: 0; right: 0;
        background: #fff;
        border-bottom: 1px solid var(--lb-color-border);
        padding: 1.6rem 2rem;
        display: none;
    }
    .lb-site-nav.is-open { display: block; }
    .lb-site-nav__list { flex-direction: column; gap: 1.2rem; }
}

@media (max-width: 480px) {
    .lb-series-grid,
    .lb-message-grid,
    .lb-staff-grid { grid-template-columns: 1fr; }
}
