/*
 Theme Name: Ollie Citizen News
 Theme URI: https://citizen.pw/
 Description: Longreads-inspired editorial child theme for Citizen News Briefings, preserving homepage, page featured images, archives, fallback images, and video briefings.
 Template: ollie
 Version: 2.16.0
 Author: Custom
*/

:root{
  --vc-bg:#f5f0e8;
  --vc-paper:#fffaf1;
  --vc-ink:#11100e;
  --vc-muted:#6f675d;
  --vc-line:#ded3c2;
  --vc-accent:#8a4f22;
  --vc-accent-2:#bb7a38;
  --vc-dark:#15120e;
  --vc-radius:18px;
  --vc-shadow:0 24px 70px rgba(20,16,10,.11);
  --vc-serif:Georgia,'Times New Roman',serif;
  --vc-sans:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}

html{scroll-behavior:smooth;}
body{
  background:var(--vc-bg);
  color:var(--vc-ink);
  font-family:var(--vc-sans);
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--vc-accent);text-decoration-thickness:.08em;text-underline-offset:.18em;}
a:hover{color:#56300f;}
.wp-site-blocks{position:relative;overflow-x:clip;}
.wp-site-blocks:before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(circle at 18% 10%, rgba(138,79,34,.10), transparent 28rem),
    radial-gradient(circle at 78% 20%, rgba(0,0,0,.045), transparent 26rem),
    linear-gradient(90deg, rgba(17,16,14,.035) 1px, transparent 1px) center/80px 80px;
  opacity:.45;
}

/* Header: minimal longform publication masthead */
.vc-header{
  max-width:1180px;margin:0 auto;padding:18px clamp(18px,3vw,38px) 14px;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  border-bottom:1px solid rgba(17,16,14,.18);
}
.vc-brand{
  color:var(--vc-ink);font-weight:850;letter-spacing:-.055em;font-size:clamp(1.15rem,1.8vw,1.55rem);
  text-decoration:none;line-height:.95;
}
.vc-brand span{display:block;font-size:.62rem;font-weight:650;letter-spacing:.12em;text-transform:uppercase;color:var(--vc-muted);margin-top:4px;}
.vc-nav{display:flex;align-items:center;gap:18px;font-size:.82rem;font-weight:700;letter-spacing:.02em;}
.vc-nav a{color:var(--vc-ink);text-decoration:none;}
.vc-nav a:hover{color:var(--vc-accent);}

/* Single article shell */
.single-video .vc-main,
.single-post .vc-main{padding:clamp(28px,5vw,72px) clamp(18px,3vw,40px) 0;}
.vc-article{max-width:1120px;margin:0 auto;}
.vc-kicker{
  font-size:.76rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase;color:var(--vc-accent);
  margin:0 0 16px;display:flex;align-items:center;gap:.7rem;
}
.vc-kicker:before{content:"";width:38px;height:2px;background:var(--vc-accent);display:inline-block;}
.single-video .wp-block-post-title,
.single-post .wp-block-post-title{
  max-width:960px;margin:0 0 18px;
  font-family:var(--vc-sans);font-size:clamp(2.15rem,5.2vw,5.6rem);line-height:.94;
  letter-spacing:-.075em;font-weight:900;text-wrap:balance;
}
.vc-meta{
  max-width:760px;display:flex;flex-wrap:wrap;gap:9px 10px;margin:0 0 clamp(24px,4vw,46px);
  color:var(--vc-muted);font-size:.84rem;font-weight:650;
}
.vc-pill{border:1px solid var(--vc-line);border-radius:999px;padding:6px 10px;background:rgba(255,250,241,.55);}

/* Content as elegant longform. No boxed blog strip. */
.single-video .wp-block-post-content,
.single-post .wp-block-post-content{
  max-width:760px;margin:0 auto;font-family:var(--vc-serif);font-size:19px;line-height:1.78;
}
.single-video .wp-block-post-content > *,
.single-post .wp-block-post-content > *{margin-left:auto;margin-right:auto;}
.single-video .wp-block-post-content p,
.single-post .wp-block-post-content p{margin-top:0;margin-bottom:1.22em;}
.single-video .wp-block-post-content > p:first-of-type,
.single-post .wp-block-post-content > p:first-of-type{
  font-family:var(--vc-sans);font-size:clamp(1.18rem,1.7vw,1.42rem);line-height:1.55;font-weight:520;
  color:#2a2825;margin-bottom:1.8em;padding-bottom:1.4em;border-bottom:1px solid var(--vc-line);
}
.single-video .wp-block-post-content h2,
.single-post .wp-block-post-content h2{
  font-family:var(--vc-sans);font-size:clamp(1.45rem,2vw,2.05rem);line-height:1.08;letter-spacing:-.035em;
  margin:2.7em 0 .72em;font-weight:850;
}
.single-video .wp-block-post-content h2:before,
.single-post .wp-block-post-content h2:before{
  content:"";display:block;width:54px;height:3px;background:var(--vc-accent);margin:0 0 .7em;
}
.single-video .wp-block-post-content h3,
.single-post .wp-block-post-content h3{
  font-family:var(--vc-sans);font-size:1.15rem;line-height:1.2;letter-spacing:-.02em;margin:2em 0 .65em;font-weight:850;
}
.single-video .wp-block-post-content ul,
.single-video .wp-block-post-content ol,
.single-post .wp-block-post-content ul,
.single-post .wp-block-post-content ol{padding-left:1.35em;margin:0 0 1.5em;}
.single-video .wp-block-post-content li,
.single-post .wp-block-post-content li{margin:.45em 0;padding-left:.2em;}
.single-video .wp-block-post-content blockquote,
.single-post .wp-block-post-content blockquote{
  max-width:860px;font-family:var(--vc-sans);font-size:1.25rem;line-height:1.45;font-weight:720;
  border-left:5px solid var(--vc-accent);padding:1rem 0 1rem 1.35rem;margin:2.1rem auto;color:#201c18;
}
.single-video .wp-block-post-content hr,
.single-post .wp-block-post-content hr{border:0;border-top:1px solid var(--vc-line);margin:2.4rem auto;}
.single-video .wp-block-post-content table,
.single-post .wp-block-post-content table{font-family:var(--vc-sans);font-size:.92rem;border-collapse:collapse;width:100%;margin:1.6rem auto;}
.single-video .wp-block-post-content th,.single-video .wp-block-post-content td,
.single-post .wp-block-post-content th,.single-post .wp-block-post-content td{border-bottom:1px solid var(--vc-line);padding:.72rem;text-align:left;}
.single-video .wp-block-post-content pre,
.single-post .wp-block-post-content pre{background:#171411;color:#fff6e8;border-radius:14px;padding:1rem;overflow:auto;font-size:.88rem;}

/* Video/image breaks out like Longreads media blocks */
.single-video .wp-block-post-content > .wp-block-embed.is-provider-youtube,
.single-post .wp-block-post-content > .wp-block-embed.is-provider-youtube,
.single-video .wp-block-post-content > .yvf-video-embed,
.single-post .wp-block-post-content > .yvf-video-embed{
  width:min(980px,94vw);max-width:none;margin:0 calc(50% - min(980px,94vw)/2) clamp(32px,4vw,54px);
  border-radius:16px;overflow:hidden;box-shadow:var(--vc-shadow);background:#000;
}
.single-video .wp-block-embed__wrapper,
.single-post .wp-block-embed__wrapper{border-radius:16px;overflow:hidden;}
.single-video .wp-block-embed iframe,.single-video .yvf-video-embed iframe,
.single-post .wp-block-embed iframe,.single-post .yvf-video-embed iframe{display:block;width:100%;aspect-ratio:16/9;height:auto;}
.single-video .wp-block-post-featured-image,
.single-post .wp-block-post-featured-image{width:min(980px,94vw);max-width:none;margin:0 calc(50% - min(980px,94vw)/2) 2.2rem;}
.single-video .wp-block-post-featured-image img,
.single-post .wp-block-post-featured-image img{border-radius:16px;box-shadow:var(--vc-shadow);}

/* Related/latest: large two-column editorial briefing cards on desktop */
.vc-latest{
  width:min(1320px,94vw);
  max-width:none;
  margin:clamp(54px,8vw,92px) calc(50% - min(1320px,94vw)/2) 0;
  padding-top:32px;
  border-top:1px solid rgba(17,16,14,.2);
}
.vc-latest h2{font-size:clamp(1.55rem,2.4vw,2.35rem);line-height:1.05;letter-spacing:-.045em;margin:0 0 8px;font-weight:900;}
.vc-latest p{color:var(--vc-muted);margin:0 0 28px;font-size:1rem;max-width:620px;}
.vc-latest .wp-block-query{width:100% !important;max-width:none !important;}
.vc-latest .wp-block-post-template{display:grid!important;width:100% !important;max-width:none !important;grid-template-columns:repeat(2,minmax(420px,1fr));gap:38px 42px;align-items:start;justify-content:stretch;}
.vc-latest .wp-block-post-template li{display:block!important;max-width:none;width:100% !important;min-width:0 !important;margin:0!important;background:transparent;border-top:1px solid rgba(17,16,14,.18);padding-top:18px;justify-self:stretch;}
.vc-latest .wp-block-post-featured-image{display:block!important;margin:0 0 15px!important;width:100%!important;max-width:none!important;}
.vc-latest .wp-block-post-featured-image img{aspect-ratio:16/9;object-fit:cover;border-radius:18px;box-shadow:0 14px 38px rgba(20,16,10,.10);width:100%;}
.vc-latest .wp-block-post-title{font-size:clamp(1.5rem,1.8vw,2rem)!important;line-height:1.05!important;letter-spacing:-.045em!important;margin:0 0 10px!important;font-weight:900!important;max-width:20ch;}
.vc-latest .wp-block-post-date{color:var(--vc-muted);font-size:1rem;}

/* Front page: Longreads-like index with large two-column briefing cards */
.home .vc-main{width:min(1320px,94vw);max-width:none;margin:0 auto;padding:clamp(40px,6vw,80px) clamp(18px,3vw,40px);}
.home .wp-block-query{width:100% !important;max-width:none !important;}
.home .wp-block-query .wp-block-post-template{display:grid!important;width:100% !important;max-width:none !important;grid-template-columns:repeat(2,minmax(420px,1fr));gap:38px 42px;justify-content:stretch;}
.home .wp-block-post-template li{display:block!important;max-width:none;width:100% !important;min-width:0 !important;margin:0!important;border-top:1px solid rgba(17,16,14,.2);padding-top:18px;justify-self:stretch;}
.home .wp-block-post-featured-image{display:block!important;width:100%!important;max-width:none!important;}
.home .wp-block-post-featured-image img{aspect-ratio:16/9;object-fit:cover;border-radius:18px;box-shadow:0 14px 38px rgba(20,16,10,.10);width:100%;}
.home .wp-block-post-title{font-size:clamp(1.5rem,1.8vw,2rem);line-height:1.05;letter-spacing:-.045em;font-weight:900;max-width:20ch;}
.home .wp-block-post-date{color:var(--vc-muted);font-size:1rem;}

/* Footer */
.vc-footer{margin-top:clamp(70px,10vw,120px);background:var(--vc-dark);color:#efe7dc;padding:46px clamp(18px,3vw,40px);}
.vc-footer-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:28px;}
.vc-footer a{color:#d9b88c;}
.vc-footer h2,.vc-footer h3{margin:0 0 10px;line-height:1.05;letter-spacing:-.04em;}
.vc-footer p{color:#c8bbaa;margin:0;font-size:.95rem;line-height:1.6;}


/* Tablet */
@media (min-width: 761px) and (max-width: 1100px){
  .vc-latest .wp-block-post-template,
  .home .wp-block-query .wp-block-post-template{grid-template-columns:repeat(2,minmax(320px,1fr));gap:28px 24px;}
}

@media (min-width: 1101px) and (max-width: 1360px){
  .vc-latest, .home .vc-main{width:min(1200px,94vw);max-width:none;}
}

/* Mobile */
@media (max-width: 760px){
  .wp-site-blocks:before{background:none;}
  .vc-header{padding:14px 16px;align-items:flex-start;}
  .vc-nav{gap:12px;font-size:.76rem;flex-wrap:wrap;justify-content:flex-end;}
  .single-video .vc-main,.single-post .vc-main{padding:24px 16px 0;}
  .vc-kicker{font-size:.68rem;margin-bottom:12px;}
  .vc-kicker:before{width:26px;}
  .single-video .wp-block-post-title,.single-post .wp-block-post-title{font-size:clamp(2rem,11vw,3.4rem);letter-spacing:-.068em;line-height:.96;margin-bottom:14px;}
  .vc-meta{font-size:.76rem;margin-bottom:22px;}
  .single-video .wp-block-post-content,.single-post .wp-block-post-content{font-size:18px;line-height:1.72;}
  .single-video .wp-block-post-content > p:first-of-type,.single-post .wp-block-post-content > p:first-of-type{font-size:1.08rem;line-height:1.5;}
  .single-video .wp-block-post-content > .wp-block-embed.is-provider-youtube,
  .single-post .wp-block-post-content > .wp-block-embed.is-provider-youtube,
  .single-video .wp-block-post-content > .yvf-video-embed,
  .single-post .wp-block-post-content > .yvf-video-embed{width:calc(100vw - 24px);margin-left:calc(50% - 50vw + 12px);margin-right:calc(50% - 50vw + 12px);border-radius:12px;}
  .vc-latest{width:auto;max-width:none;margin-top:54px;margin-left:0;margin-right:0;}
  .vc-latest .wp-block-post-template,.home .wp-block-query .wp-block-post-template{grid-template-columns:1fr;gap:20px;}
  .vc-latest .wp-block-post-featured-image img{aspect-ratio:16/9;}
  .vc-footer-inner{grid-template-columns:1fr;}
}


/* v1.11: Force latest/home cards to use real full-size responsive images, not tiny WP thumbnail dimensions. */
.vc-latest .wp-block-post-featured-image,
.home .wp-block-post-featured-image{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 0 15px !important;
}

.vc-latest .wp-block-post-featured-image a,
.home .wp-block-post-featured-image a{
  display:block !important;
  width:100% !important;
}

.vc-latest .wp-block-post-featured-image img,
.home .wp-block-post-featured-image img{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:100% !important;
  height:auto !important;
  aspect-ratio:16/9 !important;
  object-fit:cover !important;
}

@media (min-width: 761px){
  .vc-latest .wp-block-post-template li,
  .home .wp-block-post-template li{
    min-width:0 !important;
  }
}


/* v1.12: prevent desktop card images from collapsing to tiny thumbnail widths */
@media (min-width: 981px){
  .vc-latest .wp-block-post-template li,
  .home .wp-block-post-template li{
    min-width:398px !important;
  }

  .vc-latest .wp-block-post-featured-image,
  .home .wp-block-post-featured-image,
  .vc-latest .wp-block-post-featured-image a,
  .home .wp-block-post-featured-image a,
  .vc-latest .wp-block-post-featured-image img,
  .home .wp-block-post-featured-image img{
    min-width:398px !important;
  }

  .vc-latest .wp-block-post-featured-image img,
  .home .wp-block-post-featured-image img{
    min-height:248px !important;
    width:100% !important;
    height:auto !important;
    object-fit:cover !important;
  }
}


/* v1.13: harden desktop card sizing so latest/home query cards actually use large desktop widths */
@media (min-width: 981px){
  .vc-latest{width:min(1320px,94vw)!important;max-width:none!important;margin-left:calc(50% - min(1320px,94vw)/2)!important;margin-right:calc(50% - min(1320px,94vw)/2)!important;}
  .vc-latest .wp-block-query,.home .wp-block-query{width:100%!important;max-width:none!important;}
  .vc-latest .wp-block-post-template,.home .wp-block-query .wp-block-post-template{grid-template-columns:repeat(2,minmax(420px,1fr))!important;}
  .vc-latest .wp-block-post-featured-image,.home .wp-block-post-featured-image,.vc-latest .wp-block-post-featured-image a,.home .wp-block-post-featured-image a{display:block!important;width:100%!important;max-width:none!important;}
  .vc-latest .wp-block-post-featured-image img,.home .wp-block-post-featured-image img{display:block!important;width:100%!important;min-width:420px!important;max-width:none!important;height:auto!important;min-height:248px!important;object-fit:cover!important;}
}


/* v2: shortcode-rendered mixed post/video briefing grid */
.vc-latest-grid{
  display:grid!important;
  width:100%!important;
  max-width:none!important;
  grid-template-columns:repeat(2,minmax(420px,1fr));
  gap:38px 42px;
  align-items:start;
}
.vc-card{display:block!important;max-width:none;width:100%!important;min-width:0!important;margin:0!important;border-top:1px solid rgba(17,16,14,.18);padding-top:18px;}
.vc-card-thumb{display:block!important;width:100%!important;max-width:none!important;margin:0 0 15px!important;text-decoration:none;}
.vc-card-thumb img{display:block!important;width:100%!important;max-width:none!important;min-width:420px!important;min-height:248px!important;height:auto!important;aspect-ratio:16/9!important;object-fit:cover!important;border-radius:18px;box-shadow:0 14px 38px rgba(20,16,10,.10);}
.vc-card-kicker{font-size:.74rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase;color:var(--vc-accent);margin:0 0 8px;}
.vc-card-title{font-size:clamp(1.5rem,1.8vw,2rem)!important;line-height:1.05!important;letter-spacing:-.045em!important;margin:0 0 10px!important;font-weight:900!important;max-width:20ch;}
.vc-card-title a{color:var(--vc-ink);text-decoration:none;}
.vc-card-title a:hover{color:var(--vc-accent);}
.vc-card-date{color:var(--vc-muted);font-size:1rem;}
.vc-meta a{text-decoration:none;}
.vc-source-link{word-break:break-word;}

@media (min-width: 981px){
  .vc-latest-grid{grid-template-columns:repeat(2,minmax(420px,1fr))!important;}
}
@media (min-width: 761px) and (max-width: 1100px){
  .vc-latest-grid{grid-template-columns:repeat(2,minmax(320px,1fr));gap:28px 24px;}
  .vc-card-thumb img{min-width:320px!important;min-height:190px!important;}
}
@media (max-width: 760px){
  .vc-latest-grid{grid-template-columns:1fr;gap:20px;}
  .vc-card-thumb img{min-width:100%!important;min-height:auto!important;}
}


/* v2.1: keep desktop briefing cards in two large columns.
   This deliberately targets both shortcode-rendered cards and Query Loop cards,
   because WordPress may keep older FSE template markup in the database. */
@media (min-width: 981px){
  .vc-main > .wp-block-query,
  .vc-latest .wp-block-query,
  .vc-latest-grid{
    width:100% !important;
    max-width:none !important;
  }

  .vc-main > .wp-block-query .wp-block-post-template,
  .vc-latest .wp-block-post-template,
  .vc-latest-grid{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(420px, 1fr)) !important;
    gap:38px 42px !important;
    align-items:start !important;
    justify-content:stretch !important;
  }

  .vc-main > .wp-block-query .wp-block-post-template > li,
  .vc-latest .wp-block-post-template > li,
  .vc-latest-grid > .vc-card{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    justify-self:stretch !important;
  }

  .vc-main > .wp-block-query .wp-block-post-featured-image,
  .vc-latest .wp-block-post-featured-image,
  .vc-card-thumb,
  .vc-main > .wp-block-query .wp-block-post-featured-image a,
  .vc-latest .wp-block-post-featured-image a{
    display:block !important;
    width:100% !important;
    max-width:none !important;
  }

  .vc-main > .wp-block-query .wp-block-post-featured-image img,
  .vc-latest .wp-block-post-featured-image img,
  .vc-card-thumb img{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    min-width:420px !important;
    min-height:248px !important;
    aspect-ratio:16/9 !important;
    object-fit:cover !important;
  }
}


/* v2.2 final: force Latest briefings into two usable columns on desktop/tablet.
   Previous versions used 420px min-widths, which made grids collapse to one column
   when the latest section was constrained by the single-post layout. */
@media (min-width: 681px){
  .vc-latest{
    width:min(1320px, 94vw) !important;
    max-width:none !important;
    margin-left:calc(50% - min(1320px, 94vw)/2) !important;
    margin-right:calc(50% - min(1320px, 94vw)/2) !important;
  }

  .vc-latest .wp-block-shortcode,
  .vc-latest .vc-latest-grid,
  .vc-latest .wp-block-query,
  .vc-latest .wp-block-post-template,
  .vc-main > .wp-block-query,
  .vc-main > .wp-block-query .wp-block-post-template,
  .home .wp-block-query,
  .home .wp-block-query .wp-block-post-template{
    width:100% !important;
    max-width:none !important;
  }

  .vc-latest .vc-latest-grid,
  .vc-latest-grid,
  .vc-latest .wp-block-post-template,
  .vc-main > .wp-block-query .wp-block-post-template,
  .home .wp-block-query .wp-block-post-template{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:38px 42px !important;
    align-items:start !important;
  }

  .vc-latest-grid > .vc-card,
  .vc-latest .wp-block-post-template > li,
  .vc-main > .wp-block-query .wp-block-post-template > li,
  .home .wp-block-post-template > li{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    justify-self:stretch !important;
  }

  .vc-card-thumb,
  .vc-card-thumb img,
  .vc-latest .wp-block-post-featured-image,
  .vc-latest .wp-block-post-featured-image a,
  .vc-latest .wp-block-post-featured-image img,
  .vc-main > .wp-block-query .wp-block-post-featured-image,
  .vc-main > .wp-block-query .wp-block-post-featured-image a,
  .vc-main > .wp-block-query .wp-block-post-featured-image img,
  .home .wp-block-post-featured-image,
  .home .wp-block-post-featured-image a,
  .home .wp-block-post-featured-image img{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
  }

  .vc-card-thumb img,
  .vc-latest .wp-block-post-featured-image img,
  .vc-main > .wp-block-query .wp-block-post-featured-image img,
  .home .wp-block-post-featured-image img{
    aspect-ratio:16/9 !important;
    height:auto !important;
    min-height:0 !important;
    object-fit:cover !important;
    border-radius:18px !important;
  }
}

@media (max-width: 680px){
  .vc-latest{width:auto !important;max-width:none !important;margin-left:0 !important;margin-right:0 !important;}
  .vc-latest-grid,
  .vc-latest .vc-latest-grid,
  .vc-latest .wp-block-post-template,
  .vc-main > .wp-block-query .wp-block-post-template,
  .home .wp-block-query .wp-block-post-template{
    grid-template-columns:1fr !important;
  }
}


/* v2.3: Header/footer use editable WordPress blocks instead of hardcoded HTML. */
.vc-brand-wrap{margin:0;}
.vc-brand.wp-block-site-title{margin:0;line-height:.95;}
.vc-brand.wp-block-site-title a{
  color:var(--vc-ink);font-weight:850;letter-spacing:-.055em;font-size:clamp(1.15rem,1.8vw,1.55rem);
  text-decoration:none;line-height:.95;
}
.vc-brand-tagline{margin:4px 0 0;font-size:.62rem;font-weight:650;letter-spacing:.12em;text-transform:uppercase;color:var(--vc-muted);line-height:1.2;}
.vc-header .wp-block-navigation__container{gap:18px;}
.vc-footer .wp-block-site-title{margin:0 0 10px;line-height:1.05;letter-spacing:-.04em;}
.vc-footer .wp-block-site-title a{color:#efe7dc;text-decoration:none;}
.vc-footer .wp-block-site-tagline{color:#c8bbaa;margin:0;font-size:.95rem;line-height:1.6;}
.vc-footer .wp-block-navigation__container{gap:.35rem;}
.vc-page-main{padding:clamp(40px,6vw,80px) clamp(18px,3vw,40px) 0;}
.vc-page .wp-block-post-title{font-size:clamp(2.4rem,6vw,5.8rem);line-height:1.02;letter-spacing:-.06em;margin:0 0 28px;font-weight:900;}
.vc-page .wp-block-post-featured-image{
  width:min(980px,94vw);
  max-width:none;
  margin:0 calc(50% - min(980px,94vw)/2) clamp(28px,4vw,48px);
}
.vc-page .wp-block-post-featured-image img{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  border-radius:16px;
  box-shadow:var(--vc-shadow);
}
.vc-page .wp-block-post-content{
  font-size:19px;
  line-height:1.72;
  max-width:760px;
  margin:0 auto;
  font-family:var(--vc-serif);
}
.vc-page .wp-block-post-content > *{margin-left:auto;margin-right:auto;}
.vc-page .wp-block-post-content > p:first-of-type{
  font-family:var(--vc-sans);
  font-size:clamp(1.18rem,1.7vw,1.42rem);
  line-height:1.55;
  font-weight:520;
  color:#2a2825;
  margin-bottom:1.8em;
  padding-bottom:1.4em;
  border-bottom:1px solid var(--vc-line);
}
@media (max-width:760px){
  .vc-page .wp-block-post-featured-image{
    width:calc(100vw - 24px);
    margin-left:calc(50% - 50vw + 12px);
    margin-right:calc(50% - 50vw + 12px);
    border-radius:12px;
  }
  .vc-page .wp-block-post-featured-image img{border-radius:12px;}
}


/* v2.4: Clean WordPress Navigation submenu/dropdown styling. */
.vc-header .wp-block-navigation,
.vc-header .wp-block-navigation__responsive-container:not(.is-menu-open){
  overflow:visible;
}

.vc-header .wp-block-navigation-item{
  position:relative;
}

.vc-header .wp-block-navigation-item__content{
  color:var(--vc-ink);
  font-weight:800;
  text-decoration:none;
  line-height:1.2;
}

.vc-header .wp-block-navigation-item__content:hover,
.vc-header .wp-block-navigation-item__content:focus{
  color:var(--vc-accent);
}

.vc-header .wp-block-navigation__submenu-icon{
  width:.65rem;
  height:.65rem;
  margin-left:.35rem;
}

.vc-header .wp-block-navigation__submenu-container{
  background:var(--vc-paper) !important;
  border:1px solid rgba(17,16,14,.12) !important;
  border-radius:16px !important;
  box-shadow:0 22px 55px rgba(20,16,10,.14) !important;
  min-width:220px !important;
  padding:10px !important;
  z-index:1000 !important;
}

.vc-header .wp-block-navigation__submenu-container .wp-block-navigation-item{
  margin:0 !important;
  width:100%;
}

.vc-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content{
  display:block;
  width:100%;
  box-sizing:border-box;
  padding:12px 14px !important;
  border-radius:11px;
  color:var(--vc-ink) !important;
  font-size:.95rem;
  font-weight:850;
  letter-spacing:-.01em;
  white-space:nowrap;
}

.vc-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.vc-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus{
  background:rgba(138,79,34,.09);
  color:var(--vc-accent) !important;
  text-decoration:none;
}

.vc-header .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container{
  top:-10px !important;
  left:calc(100% + 10px) !important;
}

@media (min-width: 761px){
  .vc-header .wp-block-navigation__submenu-container{
    right:0 !important;
    left:auto !important;
    margin-top:12px !important;
  }

  .vc-header .wp-block-navigation__submenu-container:before{
    content:"";
    position:absolute;
    top:-8px;
    right:22px;
    width:14px;
    height:14px;
    background:var(--vc-paper);
    border-left:1px solid rgba(17,16,14,.12);
    border-top:1px solid rgba(17,16,14,.12);
    transform:rotate(45deg);
  }
}

@media (max-width: 760px){
  .vc-header .wp-block-navigation__responsive-container.is-menu-open{
    background:var(--vc-bg) !important;
    color:var(--vc-ink) !important;
    padding:24px;
  }

  .vc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container{
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    padding:6px 0 0 14px !important;
    min-width:0 !important;
  }

  .vc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content{
    padding:8px 0 !important;
  }
}


/* Full frontend archives */
.vc-archive-main{
  width:min(1180px,94vw);
  max-width:none;
  margin:0 auto;
  padding:clamp(42px,6vw,82px) clamp(18px,3vw,40px) 0;
}
.vc-archive-header{
  border-bottom:1px solid rgba(17,16,14,.2);
  margin-bottom:clamp(26px,4vw,44px);
  padding-bottom:clamp(18px,3vw,30px);
}
.vc-archive-header h1{
  font-size:clamp(2.6rem,7vw,6.2rem);
  line-height:.92;
  letter-spacing:-.075em;
  margin:0 0 14px;
}
.vc-archive-header p{
  color:var(--vc-muted);
  font-size:clamp(1rem,1.4vw,1.2rem);
  margin:0;
  max-width:680px;
}
.vc-archive-list{
  display:grid;
  gap:0;
}
.vc-archive-item{
  display:grid;
  grid-template-columns:minmax(220px,360px) minmax(0,1fr);
  gap:clamp(18px,3vw,34px);
  border-top:1px solid rgba(17,16,14,.18);
  padding:clamp(20px,3vw,30px) 0;
  align-items:start;
}
.vc-archive-item:first-child{
  border-top:0;
  padding-top:0;
}
.vc-archive-thumb{
  display:block;
  color:inherit;
  text-decoration:none;
}
.vc-archive-thumb img{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  border-radius:16px;
  box-shadow:0 14px 38px rgba(20,16,10,.10);
}
.vc-archive-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:10px;
  color:var(--vc-muted);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.vc-archive-meta span{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.vc-archive-meta span + span:before{
  content:"";
  width:4px;
  height:4px;
  border-radius:999px;
  background:rgba(17,16,14,.32);
}
.vc-archive-title{
  font-size:clamp(1.45rem,2.8vw,2.55rem);
  line-height:1.03;
  letter-spacing:-.055em;
  margin:0 0 12px;
  max-width:24ch;
}
.vc-archive-title a{
  color:var(--vc-ink);
  text-decoration:none;
}
.vc-archive-title a:hover{
  color:var(--vc-accent);
}
.vc-archive-excerpt{
  color:var(--vc-muted);
  font-size:1rem;
  line-height:1.55;
  max-width:68ch;
}
.vc-archive-excerpt p{
  margin:0;
}
.vc-archive-pagination{
  border-top:1px solid rgba(17,16,14,.18);
  margin-top:clamp(22px,4vw,38px);
  padding-top:22px;
}
.vc-archive-pagination ul{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  list-style:none;
  margin:0;
  padding:0;
}
.vc-archive-pagination a,
.vc-archive-pagination span{
  display:inline-flex;
  min-width:42px;
  min-height:42px;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(17,16,14,.18);
  border-radius:999px;
  padding:0 14px;
  color:var(--vc-ink);
  text-decoration:none;
  font-weight:800;
}
.vc-archive-pagination a:hover,
.vc-archive-pagination .current{
  background:var(--vc-ink);
  border-color:var(--vc-ink);
  color:var(--vc-bg);
}
.vc-archive-empty{
  color:var(--vc-muted);
  font-size:1.1rem;
}

@media (max-width: 760px){
  .vc-archive-main{
    width:auto;
    padding:32px 16px 0;
  }
  .vc-archive-item{
    grid-template-columns:1fr;
    gap:14px;
  }
  .vc-archive-title{
    font-size:clamp(1.55rem,8vw,2.3rem);
  }
}

/* Native WordPress archive templates: posts index and video CPT archive */
.vc-archive-query .vc-archive-list{
  list-style:none;
  margin:0;
  padding:0;
}
.vc-archive-query .vc-archive-list > li{
  margin:0;
  padding:0;
}
.vc-archive-query .vc-archive-thumb{
  margin:0;
}
.vc-archive-query .vc-archive-thumb a{
  display:block;
  color:inherit;
  text-decoration:none;
}
.vc-archive-query .vc-archive-thumb img{
  display:block;
  height:auto;
}
.vc-archive-query .vc-archive-meta{
  align-items:center;
}
.vc-archive-query .vc-archive-meta > *{
  margin:0;
}
.vc-archive-query .vc-archive-meta > * + *:before{
  content:"";
  display:inline-block;
  width:4px;
  height:4px;
  border-radius:999px;
  background:rgba(17,16,14,.32);
  margin:0 8px 2px 0;
  vertical-align:middle;
}
.vc-archive-query .vc-archive-title{
  margin-top:0;
}
.vc-archive-query .vc-archive-excerpt p{
  margin:0;
}
.vc-archive-query .wp-block-query-pagination{
  border-top:1px solid rgba(17,16,14,.18);
  margin-top:clamp(22px,4vw,38px);
  padding-top:22px;
  gap:8px;
}
.vc-archive-query .wp-block-query-pagination a,
.vc-archive-query .wp-block-query-pagination .page-numbers{
  display:inline-flex;
  min-width:42px;
  min-height:42px;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(17,16,14,.18);
  border-radius:999px;
  padding:0 14px;
  color:var(--vc-ink);
  text-decoration:none;
  font-weight:800;
}
.vc-archive-query .wp-block-query-pagination a:hover,
.vc-archive-query .wp-block-query-pagination .current{
  background:var(--vc-ink);
  border-color:var(--vc-ink);
  color:var(--vc-bg);
}


/* v2.7: polished native posts/video archive layouts */
.blog .vc-archive-main,
.archive .vc-archive-main,
.post-type-archive-video .vc-archive-main{
  box-sizing:border-box;
  width:min(1320px, 94vw) !important;
  max-width:none !important;
  margin:0 auto !important;
  padding:clamp(44px, 6vw, 78px) 0 0 !important;
}

.blog .vc-archive-header,
.archive .vc-archive-header,
.post-type-archive-video .vc-archive-header{
  max-width:780px;
  margin:0 0 clamp(30px, 5vw, 56px) !important;
  padding:0 0 clamp(20px, 3vw, 30px) !important;
  border-bottom:1px solid rgba(17,16,14,.18) !important;
}

.blog .vc-archive-header h1,
.archive .vc-archive-header h1,
.post-type-archive-video .vc-archive-header h1{
  font-size:clamp(3rem, 7vw, 6.8rem) !important;
  line-height:.9 !important;
  letter-spacing:-.085em !important;
  margin:0 0 16px !important;
  text-wrap:balance;
}

.blog .vc-archive-header p,
.archive .vc-archive-header p,
.post-type-archive-video .vc-archive-header p{
  color:var(--vc-muted) !important;
  font-size:clamp(1.02rem, 1.35vw, 1.25rem) !important;
  line-height:1.55 !important;
  max-width:640px !important;
  margin:0 !important;
}

.blog .vc-archive-query,
.archive .vc-archive-query,
.post-type-archive-video .vc-archive-query{
  width:100% !important;
  max-width:none !important;
}

.blog .vc-archive-query .vc-archive-list,
.archive .vc-archive-query .vc-archive-list,
.post-type-archive-video .vc-archive-query .vc-archive-list,
.blog .vc-main > .wp-block-query .vc-archive-list,
.archive .vc-main > .wp-block-query .vc-archive-list,
.post-type-archive-video .vc-main > .wp-block-query .vc-archive-list{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:clamp(32px, 4vw, 52px) clamp(28px, 4vw, 46px) !important;
  align-items:start !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}

.blog .vc-archive-query .vc-archive-list > li,
.archive .vc-archive-query .vc-archive-list > li,
.post-type-archive-video .vc-archive-query .vc-archive-list > li{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
}

.blog .vc-archive-item,
.archive .vc-archive-item,
.post-type-archive-video .vc-archive-item{
  display:block !important;
  border-top:1px solid rgba(17,16,14,.16) !important;
  padding:18px 0 0 !important;
  min-width:0 !important;
}

.blog .vc-archive-thumb,
.archive .vc-archive-thumb,
.post-type-archive-video .vc-archive-thumb{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin:0 0 18px !important;
}

.blog .vc-archive-thumb a,
.archive .vc-archive-thumb a,
.post-type-archive-video .vc-archive-thumb a{
  display:block !important;
  overflow:hidden;
  border-radius:18px;
  background:#201c18;
  box-shadow:0 18px 46px rgba(20,16,10,.11);
}

.blog .vc-archive-thumb img,
.archive .vc-archive-thumb img,
.post-type-archive-video .vc-archive-thumb img{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  height:auto !important;
  aspect-ratio:16/9 !important;
  object-fit:cover !important;
  border-radius:0 !important;
  box-shadow:none !important;
  transition:transform .22s ease, filter .22s ease;
}

.blog .vc-archive-thumb a:hover img,
.archive .vc-archive-thumb a:hover img,
.post-type-archive-video .vc-archive-thumb a:hover img{
  transform:scale(1.025);
  filter:saturate(1.04) contrast(1.02);
}

.blog .vc-archive-body,
.archive .vc-archive-body,
.post-type-archive-video .vc-archive-body{
  max-width:100% !important;
}

.blog .vc-archive-meta,
.archive .vc-archive-meta,
.post-type-archive-video .vc-archive-meta{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:8px 10px !important;
  color:var(--vc-accent) !important;
  font-size:.72rem !important;
  font-weight:900 !important;
  letter-spacing:.13em !important;
  line-height:1.3 !important;
  margin:0 0 10px !important;
  text-transform:uppercase !important;
}

.blog .vc-archive-meta > * + *:before,
.archive .vc-archive-meta > * + *:before,
.post-type-archive-video .vc-archive-meta > * + *:before{
  content:"";
  display:inline-block;
  width:4px;
  height:4px;
  border-radius:999px;
  background:rgba(138,79,34,.42);
  margin:0 9px 2px 0;
  vertical-align:middle;
}

.blog .vc-archive-title,
.archive .vc-archive-title,
.post-type-archive-video .vc-archive-title{
  font-size:clamp(1.55rem, 2.2vw, 2.25rem) !important;
  line-height:1.02 !important;
  letter-spacing:-.055em !important;
  font-weight:900 !important;
  max-width:24ch !important;
  margin:0 0 12px !important;
  text-wrap:balance;
}

.blog .vc-archive-title a,
.archive .vc-archive-title a,
.post-type-archive-video .vc-archive-title a{
  color:var(--vc-ink) !important;
  text-decoration:none !important;
}

.blog .vc-archive-title a:hover,
.archive .vc-archive-title a:hover,
.post-type-archive-video .vc-archive-title a:hover{
  color:var(--vc-accent) !important;
}

.blog .vc-archive-excerpt,
.archive .vc-archive-excerpt,
.post-type-archive-video .vc-archive-excerpt{
  color:#2b2722 !important;
  font-size:1rem !important;
  line-height:1.62 !important;
  max-width:62ch !important;
  margin:0 !important;
}

.blog .vc-archive-excerpt p,
.archive .vc-archive-excerpt p,
.post-type-archive-video .vc-archive-excerpt p{
  margin:0 !important;
}

.blog .vc-archive-query .wp-block-query-pagination,
.archive .vc-archive-query .wp-block-query-pagination,
.post-type-archive-video .vc-archive-query .wp-block-query-pagination{
  border-top:1px solid rgba(17,16,14,.18) !important;
  margin-top:clamp(42px, 6vw, 72px) !important;
  padding-top:24px !important;
  gap:10px !important;
}

.blog .vc-archive-query .wp-block-query-pagination a,
.archive .vc-archive-query .wp-block-query-pagination a,
.post-type-archive-video .vc-archive-query .wp-block-query-pagination a,
.blog .vc-archive-query .wp-block-query-pagination .page-numbers,
.archive .vc-archive-query .wp-block-query-pagination .page-numbers,
.post-type-archive-video .vc-archive-query .wp-block-query-pagination .page-numbers{
  min-width:40px !important;
  min-height:40px !important;
  border-radius:999px !important;
  font-size:.9rem !important;
}

@media (min-width: 1280px){
  .post-type-archive-video .vc-archive-query .vc-archive-list,
  .archive .vc-archive-query .vc-archive-list,
  .blog .vc-archive-query .vc-archive-list{
    gap:54px 52px !important;
  }
}

@media (max-width: 760px){
  .blog .vc-archive-main,
  .archive .vc-archive-main,
  .post-type-archive-video .vc-archive-main{
    width:auto !important;
    padding:34px 16px 0 !important;
  }

  .blog .vc-archive-query .vc-archive-list,
  .archive .vc-archive-query .vc-archive-list,
  .post-type-archive-video .vc-archive-query .vc-archive-list,
  .blog .vc-main > .wp-block-query .vc-archive-list,
  .archive .vc-main > .wp-block-query .vc-archive-list,
  .post-type-archive-video .vc-main > .wp-block-query .vc-archive-list{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }

  .blog .vc-archive-header h1,
  .archive .vc-archive-header h1,
  .post-type-archive-video .vc-archive-header h1{
    font-size:clamp(2.55rem, 13vw, 4.2rem) !important;
  }
}

/* v2.8: cleaner native archive pagination */
.blog .vc-archive-query .wp-block-query-pagination,
.archive .vc-archive-query .wp-block-query-pagination,
.post-type-archive-video .vc-archive-query .wp-block-query-pagination{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  column-gap:8px !important;
  row-gap:10px !important;
  border-top:1px solid rgba(17,16,14,.16) !important;
  margin-top:clamp(38px, 5vw, 64px) !important;
  padding-top:24px !important;
}

.blog .vc-archive-query .wp-block-query-pagination-numbers,
.archive .vc-archive-query .wp-block-query-pagination-numbers,
.post-type-archive-video .vc-archive-query .wp-block-query-pagination-numbers{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  margin:0 !important;
}

.blog .vc-archive-query .wp-block-query-pagination a,
.archive .vc-archive-query .wp-block-query-pagination a,
.post-type-archive-video .vc-archive-query .wp-block-query-pagination a,
.blog .vc-archive-query .wp-block-query-pagination-numbers .page-numbers,
.archive .vc-archive-query .wp-block-query-pagination-numbers .page-numbers,
.post-type-archive-video .vc-archive-query .wp-block-query-pagination-numbers .page-numbers{
  box-sizing:border-box !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:44px !important;
  height:44px !important;
  min-height:44px !important;
  padding:0 15px !important;
  border:1px solid rgba(17,16,14,.20) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.22) !important;
  color:var(--vc-ink) !important;
  font-size:.95rem !important;
  line-height:1 !important;
  font-weight:800 !important;
  text-decoration:none !important;
}

.blog .vc-archive-query .wp-block-query-pagination-previous,
.archive .vc-archive-query .wp-block-query-pagination-previous,
.post-type-archive-video .vc-archive-query .wp-block-query-pagination-previous,
.blog .vc-archive-query .wp-block-query-pagination-next,
.archive .vc-archive-query .wp-block-query-pagination-next,
.post-type-archive-video .vc-archive-query .wp-block-query-pagination-next{
  min-width:auto !important;
  padding-inline:20px !important;
  gap:8px !important;
}

.blog .vc-archive-query .wp-block-query-pagination a:hover,
.archive .vc-archive-query .wp-block-query-pagination a:hover,
.post-type-archive-video .vc-archive-query .wp-block-query-pagination a:hover,
.blog .vc-archive-query .wp-block-query-pagination-numbers .page-numbers:hover,
.archive .vc-archive-query .wp-block-query-pagination-numbers .page-numbers:hover,
.post-type-archive-video .vc-archive-query .wp-block-query-pagination-numbers .page-numbers:hover{
  background:rgba(17,16,14,.08) !important;
  border-color:rgba(17,16,14,.38) !important;
}

.blog .vc-archive-query .wp-block-query-pagination-numbers .page-numbers.current,
.archive .vc-archive-query .wp-block-query-pagination-numbers .page-numbers.current,
.post-type-archive-video .vc-archive-query .wp-block-query-pagination-numbers .page-numbers.current{
  background:var(--vc-ink) !important;
  border-color:var(--vc-ink) !important;
  color:var(--vc-bg) !important;
}

/* WordPress puts the arrow inside the previous/next link as a span. Do not style it as its own page bubble. */
.blog .vc-archive-query .wp-block-query-pagination-previous-arrow,
.archive .vc-archive-query .wp-block-query-pagination-previous-arrow,
.post-type-archive-video .vc-archive-query .wp-block-query-pagination-previous-arrow,
.blog .vc-archive-query .wp-block-query-pagination-next-arrow,
.archive .vc-archive-query .wp-block-query-pagination-next-arrow,
.post-type-archive-video .vc-archive-query .wp-block-query-pagination-next-arrow{
  display:inline !important;
  min-width:0 !important;
  min-height:0 !important;
  height:auto !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:inherit !important;
  font-size:1.05em !important;
  line-height:1 !important;
}

.blog .vc-archive-query .wp-block-query-pagination-numbers .dots,
.archive .vc-archive-query .wp-block-query-pagination-numbers .dots,
.post-type-archive-video .vc-archive-query .wp-block-query-pagination-numbers .dots{
  border-color:transparent !important;
  background:transparent !important;
  padding-inline:6px !important;
  min-width:auto !important;
}

@media (max-width: 640px){
  .blog .vc-archive-query .wp-block-query-pagination,
  .archive .vc-archive-query .wp-block-query-pagination,
  .post-type-archive-video .vc-archive-query .wp-block-query-pagination{
    justify-content:flex-start !important;
  }

  .blog .vc-archive-query .wp-block-query-pagination a,
  .archive .vc-archive-query .wp-block-query-pagination a,
  .post-type-archive-video .vc-archive-query .wp-block-query-pagination a,
  .blog .vc-archive-query .wp-block-query-pagination-numbers .page-numbers,
  .archive .vc-archive-query .wp-block-query-pagination-numbers .page-numbers,
  .post-type-archive-video .vc-archive-query .wp-block-query-pagination-numbers .page-numbers{
    min-width:38px !important;
    height:38px !important;
    min-height:38px !important;
    padding-inline:12px !important;
    font-size:.85rem !important;
  }
}

/* v2.9: mobile archive pagination layout — page numbers on one row, Newer/Older together below. */
@media (max-width: 640px){
  .blog .vc-archive-query .wp-block-query-pagination,
  .archive .vc-archive-query .wp-block-query-pagination,
  .post-type-archive-video .vc-archive-query .wp-block-query-pagination{
    display:grid !important;
    grid-template-columns:auto auto !important;
    justify-content:center !important;
    justify-items:center !important;
    align-items:center !important;
    column-gap:12px !important;
    row-gap:14px !important;
    width:100% !important;
  }

  .blog .vc-archive-query .wp-block-query-pagination-numbers,
  .archive .vc-archive-query .wp-block-query-pagination-numbers,
  .post-type-archive-video .vc-archive-query .wp-block-query-pagination-numbers{
    grid-column:1 / -1 !important;
    order:1 !important;
    width:100% !important;
    justify-content:center !important;
    gap:8px !important;
  }

  .blog .vc-archive-query .wp-block-query-pagination-previous,
  .archive .vc-archive-query .wp-block-query-pagination-previous,
  .post-type-archive-video .vc-archive-query .wp-block-query-pagination-previous{
    order:2 !important;
    margin:0 !important;
  }

  .blog .vc-archive-query .wp-block-query-pagination-next,
  .archive .vc-archive-query .wp-block-query-pagination-next,
  .post-type-archive-video .vc-archive-query .wp-block-query-pagination-next{
    order:3 !important;
    margin:0 !important;
  }

  .blog .vc-archive-query .wp-block-query-pagination-previous,
  .archive .vc-archive-query .wp-block-query-pagination-previous,
  .post-type-archive-video .vc-archive-query .wp-block-query-pagination-previous,
  .blog .vc-archive-query .wp-block-query-pagination-next,
  .archive .vc-archive-query .wp-block-query-pagination-next,
  .post-type-archive-video .vc-archive-query .wp-block-query-pagination-next{
    height:40px !important;
    min-height:40px !important;
    padding-inline:16px !important;
  }
}


/* v2.10: dedicated /news page and archive templates use the same polished briefing grid. */
.vc-news-page{
  box-sizing:border-box;
  width:min(1320px, 94vw) !important;
  max-width:none !important;
  margin:0 auto !important;
  padding:clamp(44px, 6vw, 78px) 0 0 !important;
}

.vc-news-page .vc-archive-header{
  max-width:780px;
  margin:0 0 clamp(30px, 5vw, 56px) !important;
  padding:0 0 clamp(20px, 3vw, 30px) !important;
  border-bottom:1px solid rgba(17,16,14,.18) !important;
}

.vc-news-page .vc-archive-header h1{
  font-size:clamp(3rem, 7vw, 6.8rem) !important;
  line-height:.9 !important;
  letter-spacing:-.085em !important;
  margin:0 0 16px !important;
  text-wrap:balance;
}

.vc-news-page .vc-archive-header p{
  color:var(--vc-muted) !important;
  font-size:clamp(1.02rem, 1.35vw, 1.25rem) !important;
  line-height:1.55 !important;
  max-width:640px !important;
  margin:0 !important;
}

.vc-news-page .vc-archive-query,
.vc-news-page .vc-archive-query .vc-archive-list{
  width:100% !important;
  max-width:none !important;
}

.vc-news-page .vc-archive-query .vc-archive-list{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:clamp(32px, 4vw, 52px) clamp(28px, 4vw, 46px) !important;
  align-items:start !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}

.vc-news-page .vc-archive-query .vc-archive-list > li{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
}

.vc-news-page .vc-archive-item{
  display:block !important;
  border-top:1px solid rgba(17,16,14,.16) !important;
  padding:18px 0 0 !important;
  min-width:0 !important;
}

.vc-news-page .vc-archive-thumb{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin:0 0 18px !important;
}

.vc-news-page .vc-archive-thumb a{
  display:block !important;
  overflow:hidden;
  border-radius:18px;
  background:#201c18;
  box-shadow:0 18px 46px rgba(20,16,10,.11);
}

.vc-news-page .vc-archive-thumb img{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  height:auto !important;
  aspect-ratio:16/9 !important;
  object-fit:cover !important;
  border-radius:0 !important;
  box-shadow:none !important;
  transition:transform .22s ease, filter .22s ease;
}

.vc-news-page .vc-archive-thumb a:hover img{
  transform:scale(1.025);
  filter:saturate(1.04) contrast(1.02);
}

.vc-news-page .vc-archive-meta{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:8px 10px !important;
  color:var(--vc-accent) !important;
  font-size:.72rem !important;
  font-weight:900 !important;
  letter-spacing:.13em !important;
  line-height:1.3 !important;
  margin:0 0 10px !important;
  text-transform:uppercase !important;
}

.vc-news-page .vc-archive-meta > *{margin:0 !important;}
.vc-news-page .vc-archive-meta > * + *:before{
  content:"";
  display:inline-block;
  width:4px;
  height:4px;
  border-radius:999px;
  background:rgba(138,79,34,.42);
  margin:0 9px 2px 0;
  vertical-align:middle;
}

.vc-news-page .vc-archive-title{
  font-size:clamp(1.55rem, 2.2vw, 2.25rem) !important;
  line-height:1.02 !important;
  letter-spacing:-.055em !important;
  font-weight:900 !important;
  max-width:24ch !important;
  margin:0 0 12px !important;
  text-wrap:balance;
}
.vc-news-page .vc-archive-title a{color:var(--vc-ink) !important;text-decoration:none !important;}
.vc-news-page .vc-archive-title a:hover{color:var(--vc-accent) !important;}
.vc-news-page .vc-archive-excerpt{color:#2b2722 !important;font-size:1rem !important;line-height:1.62 !important;max-width:62ch !important;margin:0 !important;}
.vc-news-page .vc-archive-excerpt p{margin:0 !important;}

.vc-news-page .wp-block-query-pagination{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  column-gap:8px !important;
  row-gap:10px !important;
  border-top:1px solid rgba(17,16,14,.16) !important;
  margin-top:clamp(38px, 5vw, 64px) !important;
  padding-top:24px !important;
}

@media (max-width:760px){
  .vc-news-page{width:auto !important;padding:34px 16px 0 !important;}
  .vc-news-page .vc-archive-query .vc-archive-list{grid-template-columns:1fr !important;gap:28px !important;}
  .vc-news-page .vc-archive-header h1{font-size:clamp(2.55rem, 13vw, 4.2rem) !important;}
}


/* v2.14: fallback featured images for posts/videos without thumbnails. */
.wp-block-post-featured-image.vc-fallback-featured-image,
.vc-fallback-featured-image{
  display:block;
  width:100%;
  max-width:none;
}

.wp-block-post-featured-image.vc-fallback-featured-image a,
.vc-fallback-featured-image a{
  display:block;
  width:100%;
  text-decoration:none;
  overflow:hidden;
  border-radius:18px;
  background:#201c18;
}

.wp-block-post-featured-image.vc-fallback-featured-image img,
.vc-fallback-featured-image img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  object-fit:cover;
}

.vc-card-thumb.vc-card-thumb-fallback{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0 0 15px!important;
}

.vc-card-thumb.vc-card-thumb-fallback img{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:420px!important;
  min-height:248px!important;
  height:auto!important;
  aspect-ratio:16/9!important;
  object-fit:cover!important;
  border-radius:18px;
  box-shadow:0 14px 38px rgba(20,16,10,.10);
}

.vc-news-page .vc-archive-thumb.vc-fallback-featured-image,
.vc-news-page .vc-archive-thumb .vc-fallback-featured-image{
  display:block!important;
  width:100%!important;
  max-width:none!important;
}

.vc-news-page .vc-archive-thumb.vc-fallback-featured-image img,
.vc-news-page .vc-archive-thumb .vc-fallback-featured-image img{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  aspect-ratio:16/9!important;
  object-fit:cover!important;
}

@media (max-width: 781px){
  .vc-card-thumb.vc-card-thumb-fallback img{
    min-width:100%!important;
    min-height:auto!important;
  }
}

/* v2.15: restore front-page/homepage content template spacing without affecting archives. */
body.home .vc-front-page-content,
body.front-page .vc-front-page-content,
body.page-template-front-page .vc-front-page-content,
.home .wp-site-blocks > .wp-block-post-content,
.front-page .wp-site-blocks > .wp-block-post-content{
  margin-block-start:0 !important;
}

.home .oc-homepage,
.front-page .oc-homepage{
  padding-top:clamp(0px,1.5vw,24px) !important;
  padding-bottom:clamp(72px,9vw,130px) !important;
}

.home .oc-homepage .oc-hero,
.front-page .oc-homepage .oc-hero{
  padding-top:0 !important;
  padding-bottom:clamp(44px,7vw,82px) !important;
}

.home .oc-homepage .oc-section-kicker,
.front-page .oc-homepage .oc-section-kicker{
  margin-bottom:14px !important;
  opacity:.78 !important;
  letter-spacing:.14em !important;
  font-size:.72rem !important;
  line-height:1.2 !important;
}

.home .oc-homepage .oc-hero h1,
.front-page .oc-homepage .oc-hero h1{
  max-width:900px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  margin-bottom:18px !important;
  font-size:clamp(3rem,5.6vw,5.2rem) !important;
  line-height:.94 !important;
  letter-spacing:-.035em !important;
  text-wrap:balance;
}

.home .oc-homepage .oc-hero-copy,
.front-page .oc-homepage .oc-hero-copy{
  max-width:760px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  margin-bottom:18px !important;
  font-size:clamp(1.1rem,1.45vw,1.35rem) !important;
  line-height:1.5 !important;
  text-wrap:pretty;
}

.home .oc-homepage .oc-hero-proof,
.front-page .oc-homepage .oc-hero-proof{
  margin-top:0 !important;
  margin-bottom:10px !important;
  font-size:clamp(1rem,1.2vw,1.1rem) !important;
  line-height:1.5 !important;
}

.home .oc-homepage .oc-hero-buttons,
.front-page .oc-homepage .oc-hero-buttons{
  margin-top:8px !important;
}

@media (max-width:781px){
  .home .oc-homepage,
  .front-page .oc-homepage{
    padding-top:18px !important;
  }

  .home .oc-homepage .oc-hero,
  .front-page .oc-homepage .oc-hero{
    padding-top:0 !important;
    padding-bottom:38px !important;
  }

  .home .oc-homepage .oc-section-kicker,
  .front-page .oc-homepage .oc-section-kicker{
    font-size:.66rem !important;
    letter-spacing:.12em !important;
    margin-bottom:12px !important;
  }

  .home .oc-homepage .oc-hero h1,
  .front-page .oc-homepage .oc-hero h1{
    font-size:clamp(2.35rem,10.4vw,3.55rem) !important;
    line-height:.95 !important;
    letter-spacing:-.03em !important;
    margin-bottom:14px !important;
  }

  .home .oc-homepage .oc-hero-copy,
  .front-page .oc-homepage .oc-hero-copy{
    font-size:1rem !important;
    line-height:1.48 !important;
    max-width:92% !important;
    margin-bottom:14px !important;
  }

  .home .oc-homepage .oc-hero-proof,
  .front-page .oc-homepage .oc-hero-proof{
    font-size:.96rem !important;
    margin-bottom:8px !important;
  }
}

/* v2.15: archive/news headings stay controlled and never inherit homepage hero sizing. */
.blog .vc-archive-header h1,
.archive .vc-archive-header h1,
.post-type-archive-video .vc-archive-header h1,
.vc-archive-main .vc-archive-header h1,
.vc-news-page .vc-archive-header h1{
  font-size:clamp(3rem,5.2vw,5.6rem) !important;
  line-height:.96 !important;
  letter-spacing:-.065em !important;
  max-width:980px !important;
  margin:0 0 18px !important;
  text-wrap:balance;
}

.blog .vc-archive-header,
.archive .vc-archive-header,
.post-type-archive-video .vc-archive-header,
.vc-archive-main .vc-archive-header{
  overflow:visible !important;
}

@media (max-width:760px){
  .blog .vc-archive-header h1,
  .archive .vc-archive-header h1,
  .post-type-archive-video .vc-archive-header h1,
  .vc-archive-main .vc-archive-header h1,
  .vc-news-page .vc-archive-header h1{
    font-size:clamp(2.55rem,13vw,4.2rem) !important;
    line-height:.96 !important;
    letter-spacing:-.06em !important;
  }
}

