/* ── Blog: shared styles for /blogs/ listing + posts ─────────────────────── */

*,*::before,*::after{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-weight:var(--fw-medium);-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:inherit;}
ul,ol{margin:0;padding:0;list-style:none;}
p{margin:0;}
figure{margin:0;}

.container{max-width:1280px;margin:0 auto;padding:0 80px;}
@media(max-width:900px){.container{padding:0 32px;}}
@media(max-width:540px){.container{padding:0 24px;}}

/* Nav — copied verbatim from Website/index.html so blog pages match the homepage exactly.
   _shared.js sets --nav-progress to 1 on pages without a .hero, which makes the nav
   render in its "scrolled" (light) state from the first paint. */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;height:68px;display:flex;align-items:center;background:rgba(246,246,245,calc(.94 * var(--nav-progress, 0)));border-bottom:1px solid rgba(0,0,0,calc(.08 * var(--nav-progress, 0)));backdrop-filter:saturate(140%) blur(calc(10px * var(--nav-progress, 0)));-webkit-backdrop-filter:saturate(140%) blur(calc(10px * var(--nav-progress, 0)));}
.nav.is-scrolled{}
.nav__inner{width:100%;max-width:1280px;margin:0 auto;padding:0 80px;display:flex;align-items:center;justify-content:space-between;}
.nav__logo{height:56px;width:auto;display:block;}
.nav__links{display:flex;align-items:center;gap:36px;}
.nav__link{color:rgba(246,246,245,.72);text-decoration:none;font-size:14px;font-weight:var(--fw-medium);transition:color 140ms;}
.nav.is-scrolled .nav__link{color:var(--fg-muted);}
.nav__link:hover,.nav.is-scrolled .nav__link:hover{color:var(--lki-cta);}
.nav__socials{display:flex;align-items:center;gap:8px;margin-left:8px;}
.nav__social{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:1px solid rgba(246,246,245,.25);color:rgba(246,246,245,.6);text-decoration:none;transition:border-color 140ms,color 140ms;}
.nav__social:hover{border-color:var(--lki-cta);color:var(--lki-neutral);}
.nav.is-scrolled .nav__social{border-color:var(--border);color:var(--fg-muted);}
.nav.is-scrolled .nav__social:hover{border-color:var(--lki-cta);color:var(--fg);}
/* Buttons (subset needed for the nav pill) */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;text-decoration:none;border:none;font-family:var(--font-sans);font-weight:var(--fw-medium);transition:background 140ms,color 140ms;}
.btn--pill{background:var(--fg);color:var(--bg);border-radius:var(--radius-pill);padding:10px 10px 10px 22px;font-size:14px;}
.btn--pill:hover{background:#1d3245;border-color:var(--lki-cta);border:1px solid var(--lki-cta);}
.btn--pill .btn__arrow{width:34px;height:34px;border-radius:50%;background:var(--lki-neutral);color:var(--lki-dark);display:flex;align-items:center;justify-content:center;transition:transform 220ms cubic-bezier(.32,.72,.24,1);}
.btn--pill:hover .btn__arrow{transform:rotate(45deg);}
/* nav pill override — solid dark on hero, inverts on scrolled light nav */
.nav .btn--pill{background:#1d3245;color:var(--lki-neutral);border:1px solid transparent;}
.nav .btn--pill:hover{background:#1d3245;border-color:var(--lki-cta);}
.nav .btn--pill .btn__arrow{background:var(--lki-cta);color:var(--lki-neutral);}
.nav .btn--pill:hover .btn__arrow{color:var(--lki-neutral);}
.nav.is-scrolled .btn--pill{background:var(--lki-neutral);border:1px solid transparent;}
.nav.is-scrolled .btn--pill:hover{background:#fff;border-color:var(--lki-cta);}
.nav.is-scrolled .nav__link.btn--pill,.nav.is-scrolled .nav__link.btn--pill:hover{color:var(--fg);}
.nav.is-scrolled .btn--pill .btn__arrow{background:var(--lki-cta);color:var(--lki-neutral);}
.icon{display:inline-block;vertical-align:middle;flex-shrink:0;}
@media(max-width:900px){.nav__inner{padding:0 32px;}.nav__links .nav__link:not(.nav__link--cta){display:none;}.nav__socials{display:none;}}

/* Footer — copied verbatim from homepage so blog pages match */
.footer{background:var(--lki-dark);border-top:1px solid rgba(246,246,245,.08);padding:40px 0;margin-top:120px;}
.footer__inner{max-width:1280px;margin:0 auto;padding:0 80px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;font-size:13px;color:var(--fg-on-dark-subtle);}
.footer__nav{display:flex;gap:28px;}
.footer__link{color:var(--fg-on-dark-subtle);text-decoration:none;transition:color 140ms;}
.footer__link:hover{color:rgba(246,246,245,.85);}
.footer__socials{display:flex;align-items:center;gap:10px;}
.footer__social{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;border:1px solid rgba(246,246,245,.18);color:rgba(246,246,245,.45);text-decoration:none;transition:border-color 140ms,color 140ms;}
.footer__social:hover{border-color:var(--lki-cta);color:var(--lki-cta);}
@media(max-width:900px){.footer__inner{padding:0 32px;}}

/* ── Page-specific ──────────────────────────────────────────────────────── */
.blog-main{padding-top:148px;padding-bottom:96px;}

/* Listing */
.blog-hero{margin-bottom:72px;}
.blog-hero__eyebrow{font-size:11px;font-weight:var(--fw-bold);letter-spacing:.2em;text-transform:uppercase;color:var(--lki-green-primary);margin-bottom:16px;}
.blog-hero__h1{margin:0 0 20px;font-size:clamp(2.25rem,5vw,4rem);line-height:1.05;letter-spacing:-.02em;font-weight:var(--fw-bold);color:var(--fg);max-width:18ch;text-wrap:balance;}
.blog-hero__sub{max-width:560px;font-size:18px;line-height:1.6;font-weight:var(--fw-regular);color:var(--fg-muted);}

.blog-list{display:grid;grid-template-columns:1fr;gap:48px;border-top:1px solid var(--border);}
.blog-card{display:grid;grid-template-columns:280px 1fr;gap:40px;padding:40px 0;border-bottom:1px solid var(--border);text-decoration:none;color:inherit;align-items:start;transition:opacity 140ms;}
.blog-card:hover{opacity:.85;}
.blog-card:hover .blog-card__title{color:var(--lki-cta);}
.blog-card__thumb{aspect-ratio:4/3;background:var(--lki-grey-3);border-radius:var(--radius-md);overflow:hidden;}
.blog-card__thumb img{width:100%;height:100%;object-fit:cover;}
.blog-card__meta{font-size:11px;font-weight:var(--fw-bold);letter-spacing:.18em;text-transform:uppercase;color:var(--fg-subtle);margin-bottom:12px;}
.blog-card__title{margin:0 0 14px;font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.15;font-weight:var(--fw-semibold);letter-spacing:-.015em;color:var(--fg);transition:color 140ms;}
.blog-card__excerpt{font-size:16px;line-height:1.6;color:var(--fg-muted);font-weight:var(--fw-regular);max-width:60ch;}
@media(max-width:720px){.blog-card{grid-template-columns:1fr;gap:20px;}}

/* Article */
.article{max-width:760px;margin:0 auto;}
.article__meta{font-size:11px;font-weight:var(--fw-bold);letter-spacing:.2em;text-transform:uppercase;color:var(--lki-green-primary);margin-bottom:20px;}
.article__h1{margin:0 0 24px;font-size:clamp(2rem,4.5vw,3.5rem);line-height:1.1;letter-spacing:-.02em;font-weight:var(--fw-bold);color:var(--fg);text-wrap:balance;}
.article__byline{font-size:11px;font-weight:var(--fw-bold);letter-spacing:.2em;text-transform:uppercase;color:var(--fg-muted);margin:-8px 0 32px;}
.article__lede{font-size:20px;line-height:1.55;color:var(--fg-muted);font-weight:var(--fw-regular);margin-bottom:48px;max-width:62ch;}
.article__featured{margin:0 0 32px;border-radius:var(--radius-lg);overflow:hidden;background:var(--lki-grey-3);}
.article__featured img{display:block;width:100%;height:auto;}
.article figure{margin:32px 0;border-radius:var(--radius-md);overflow:hidden;}
.article figure img{display:block;width:100%;height:auto;}
.article__body{font-size:18px;line-height:1.7;color:var(--fg);font-weight:var(--fw-regular);}
.article__body p{margin:0 0 28px;}
.article__body h2{margin:56px 0 20px;font-size:1.75rem;line-height:1.2;font-weight:var(--fw-semibold);letter-spacing:-.015em;}
.article__body h3{margin:40px 0 16px;font-size:1.25rem;line-height:1.3;font-weight:var(--fw-semibold);}
.article__body a{color:var(--lki-cta);text-decoration:underline;text-underline-offset:3px;}
.article__body strong{font-weight:var(--fw-semibold);}
.article__body figure{margin:48px 0;}
.article__body figure img{border-radius:var(--radius-md);background:var(--lki-grey-3);}
.article__body figcaption{margin-top:12px;font-size:13px;color:var(--fg-subtle);font-style:italic;}
.article__body blockquote{margin:48px 0;padding-left:24px;border-left:3px solid var(--lki-green-primary);font-family:var(--font-serif);font-style:italic;font-size:1.5rem;line-height:1.4;color:var(--fg);}

.article__back{display:inline-flex;align-items:center;gap:8px;margin-bottom:48px;font-size:13px;color:var(--fg-muted);text-decoration:none;}
.article__back:hover{color:var(--lki-cta);}

/* Standard format — visual elements live inside the article text column for clean left alignment */
/* Sticky-scroll: text on the left, sticky image pinned to the right edge of the article */
.article__sticky{margin:48px 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px, 300px);gap:40px;align-items:start;}
.article__sticky-text{font-size:18px;line-height:1.7;color:var(--fg);}
.article__sticky-text p{margin:0 0 28px;}
.article__sticky-text > *:first-child{margin-top:0;}
.article__sticky-text > *:last-child{margin-bottom:0;}
.article__sticky-image{position:sticky;top:120px;align-self:start;background:transparent;height:calc(60vh + 100px);max-height:660px;overflow:hidden;margin:0;border:1px solid var(--border);border-radius:var(--radius-md);}
.article__sticky-image img{display:block;width:100%;height:auto;animation:sticky-autoscroll 40s linear infinite;}
@keyframes sticky-autoscroll{
  0%   {transform:translate3d(0, 0, 0);}
  10%  {transform:translate3d(0, 0, 0);}
  90%  {transform:translate3d(0, calc(-100% + 660px), 0);}
  100% {transform:translate3d(0, calc(-100% + 660px), 0);}
}
@media(prefers-reduced-motion:reduce){
  .article__sticky-image img{animation:none;}
}
@media(max-width:720px){
  .article__sticky{grid-template-columns:1fr;gap:24px;}
  .article__sticky-image{position:relative;top:auto;height:auto;max-height:none;max-width:60%;overflow:visible;border:0;}
  .article__sticky-image img{animation:none;transform:none !important;}
}

/* Inline strip — horizontal accent that fills the article column width */
.article__inline-strip{margin:48px 0;background:transparent;}
.article__inline-strip img{display:block;width:100%;height:auto;}
