html { background:#f8f4ea; }
body { overflow-x:hidden; }

/* Template wrapper sets overflow:hidden inline; that breaks sticky descendants. */
.body-content {
  overflow-x:hidden !important;
  overflow-y:visible !important;
}

.page-wrapper,
.content-wrapper,
#content,
.w1400,
#lightgallery,
.ema-content {
  overflow-y:visible;
}

#siteHeader.is-scrolled nav { background:rgba(248,244,234,.86); color:#0b2f20; border-color:rgba(11,47,32,.1); box-shadow:0 20px 60px rgba(11,47,32,.12); }
.reveal { opacity:0; transform:translateY(34px); transition:opacity .9s ease, transform .9s cubic-bezier(.22,1,.36,1); }
.reveal.is-visible { opacity:1; transform:translateY(0); }
.article-flow p + p { margin-top:1.6em; }
.dropcap:first-letter { float:left; font-family:'Cormorant Garamond',serif; font-size:6.4rem; line-height:.74; padding:.14em .14em 0 0; color:#0b2f20; }
.image-card { position:relative; overflow:hidden; border-radius:2.25rem; background:#0b2f20; box-shadow:0 30px 80px rgba(11,47,32,.15); }
.image-card img { width:100%; height:100%; min-height:430px; object-fit:cover; display:block; transform:scale(1.015); transition:transform .8s ease, filter .8s ease; }
.image-card:hover img { transform:scale(1.06); filter:saturate(1.08) contrast(1.03); }
.image-card figcaption { position:absolute; left:1rem; right:1rem; bottom:1rem; padding:1rem 1.15rem; border-radius:1.35rem; color:#fff; background:rgba(11,47,32,.45); backdrop-filter:blur(18px); font-size:.78rem; line-height:1.6; letter-spacing:.04em; }
.gallery-img { height:360px; width:100%; box-shadow:0 24px 70px rgba(11,47,32,.14); transition:transform .7s ease; }
.gallery-img:hover, .gallery-trigger:hover { transform:translateY(-8px) scale(1.015); }
.gallery-trigger { transition:transform .6s ease, filter .6s ease; box-shadow:0 20px 55px rgba(11,47,32,.13); }
.toc-link { position:relative; }
.toc-link:after { content:''; position:absolute; left:0; right:0; bottom:-5px; height:2px; background:#c99a4a; transform:scaleX(0); transform-origin:left; transition:transform .25s ease; }
.toc-link:hover:after { transform:scaleX(1); }
.top-left-text{width: 800px}
@media (prefers-reduced-motion: reduce) { .reveal, .parallax-img, .gallery-img, .gallery-trigger, .image-card img { transition:none!important; transform:none!important; } }
@media (max-width: 768px) { .dropcap:first-letter { font-size:4.5rem; } .image-card img { min-height:300px; } }

.chapter-one-hero { width:100%; overflow:hidden; border-radius:2.25rem; background:#0b2f20; box-shadow:0 30px 80px rgba(11,47,32,.15); }
.chapter-one-hero img { width:100%; height:clamp(320px,33vw,420px); object-fit:cover; display:block; transform:scale(1.015); transition:transform .8s ease, filter .8s ease; }
.chapter-one-hero:hover img { transform:scale(1.06); filter:saturate(1.08) contrast(1.03); }
.chapter-one-meta { margin-top:1.75rem; display:grid; grid-template-columns:minmax(0,1fr) 160px; gap:1.25rem; align-items:stretch; }
.chapter-one-titlecard, .chapter-one-icon { border-radius:2rem; background:rgba(255,255,255,.62); border:1px solid rgba(11,47,32,.08); box-shadow:0 18px 55px rgba(11,47,32,.10); backdrop-filter:blur(10px); }
.chapter-one-titlecard { display:flex; align-items:center; padding:1.75rem 1.6rem; }
.chapter-one-icon { display:grid; place-items:center; color:rgba(11,47,32,.45); }
.chapter-one-icon svg { width:76px; height:76px; }
.chapter-one-line { margin-top:1.8rem; height:160px; border-left:1px solid rgba(11,47,32,.14); border-bottom:1px solid rgba(11,47,32,.14); border-bottom-left-radius:56px; }
.v2l-image { display:block; width:100%; overflow:hidden; border-radius:2.4rem; background:#0b2f20; box-shadow:0 30px 80px rgba(11,47,32,.15); }
.v2l-image img { width:100%; height:clamp(360px,38vw,560px); object-fit:cover; object-position:center; display:block; transform:scale(1.015); transition:transform .8s ease, filter .8s ease; }
.v2l-image:hover img { transform:scale(1.06); filter:saturate(1.08) contrast(1.03); }
@media (max-width: 1023px) {
  .chapter-one-line { display:none; }
}
@media (max-width: 767px) {
  .chapter-one-meta { grid-template-columns:minmax(0,1fr) 110px; gap:1rem; }
  .chapter-one-titlecard { padding:1.25rem 1.15rem; }
  .chapter-one-icon svg { width:54px; height:54px; }
  .v2l-image img { height:320px; }
  .top-left-text { width:100%; }
}

/* Force key Tailwind-like utilities to win over Bootstrap/theme utilities. */
@media (min-width: 1024px) {
  .lg\:order-1 { order:1 !important; }
  .lg\:order-2 { order:2 !important; }
  .lg\:self-start { align-self:flex-start !important; }
  .lg\:sticky { position:sticky !important; }
  .lg\:top-28 { top:7rem !important; }

  .js-sticky-ready,
  .js-sticky-ready.is-visible {
    transform:none !important;
    opacity:1 !important;
    transition:opacity .9s ease !important;
  }

  .chapter-one-aside,
  .v2l-aside {
    will-change:auto;
  }
}
