/* Shared library, evidence and shop share the workspace's quiet light palette. */
.unified-page{--brand:#507c20;--brand-border:#d4e3bf;--text:#223820;--text-primary:#223820;--text-secondary:#52634c;--e-ink:#223820;--e-muted:#52634c;--e-line:#dce7d4;--e-bg:#fff;--e-surface:#f8fbf3;background:#fff;color:#223820}
.unified-page .ek-page{max-width:1370px;padding:120px 40px 50px;margin:auto}
.unified-page .ek-page-heading{padding:40px 0 30px;max-width:900px;margin:0;border:0;background:none;box-shadow:none}
.unified-page .ek-page-heading h1{font-size:clamp(40px,4.8vw,66px);line-height:1.06;margin:0 0 20px;letter-spacing:-.05em;color:#223820}
.unified-page .ek-page-heading p{font-size:16px;line-height:1.7;max-width:620px;color:#52634c;margin:0 0 22px}
.unified-page .ek-eyebrow{color:#4b741e}.unified-page h2,.unified-page h3{color:#223820}
.unified-page .ek-text-link{color:#426c1c}.unified-page .ek-section-heading{padding:24px 0;margin:0}.unified-page .ek-section-heading h2{font-size:32px}
.unified-page .ek-section-heading p{max-width:760px;line-height:1.7;color:#52634c}
.library-refresh .ek-library-explainer{margin:0 0 22px;border:0;border-bottom:1px solid #dce7d4;border-radius:0;background:none}
.library-refresh .ek-workspace-tabs{border-bottom:1px solid #dce7d4;background:transparent;padding:0;margin:24px 0;gap:24px}
.library-refresh .ek-workspace-tabs button{border:0;border-radius:0;background:none;color:#52634c;padding:15px 4px}
.library-refresh .ek-workspace-tabs button[aria-pressed=true]{background:none;color:#2e5018;border-bottom:3px solid #9ac94c}
.library-refresh .lighthouse-library{border:1px solid #dce7d4;border-radius:14px;background:#fff;box-shadow:0 12px 60px #a2cd4920;padding:26px}
.library-refresh .lh-library-results,.library-refresh .lh-library-detail{background:#fff;color:#223820}
.library-refresh .lh-band{margin:24px 0;padding:26px;background:#f5faee;border:1px solid #dce7d4;color:#223820;min-height:0}
.library-refresh .lh-band:before,.library-refresh .lh-band:after{display:none}.library-refresh .lh-band h2,.library-refresh .lh-band p{color:#223820}
.library-refresh .lighthouse-flow,.library-refresh .lighthouse-boundary{padding-block:24px}
.evidence-intro{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:36px;align-items:center;padding:20px 0 40px;border-bottom:1px solid #dce7d4}
.evidence-intro figure{margin:0;padding:24px;background:radial-gradient(ellipse,#edfacf,transparent 70%)}.evidence-intro img{width:100%;display:block}.evidence-intro figcaption{font-size:12px;color:#52634c}
.evidence-rail{border-left:1px solid #dce7d4;padding-left:28px}.evidence-rail>a{display:block;border-top:1px solid #dce7d4;padding:18px 0;text-decoration:none;color:#223820}.evidence-rail strong{display:block;font-weight:500}.evidence-rail span{display:block;font-size:12px;line-height:1.6;margin-top:6px;color:#52634c}.evidence-rail p{font-size:12px;line-height:1.6;color:#52634c}
.evidence-refresh .eklib-card,.evidence-refresh .ekrun-card{border:1px solid #dce7d4;border-radius:10px;background:#fff;box-shadow:none}.evidence-refresh .ek-chip[aria-pressed=true]{background:#e6f6cd;color:#28431d;border-color:#acc97f}
.merch-refresh .merch-page{padding:130px 40px 70px;background:transparent;color:#223820}.merch-refresh .merch-shell{max-width:1290px}
.merch-refresh .merch-hero{background:none;border:0;box-shadow:none;grid-template-columns:1fr 1fr;align-items:center;padding:24px 0 30px;gap:30px}
.merch-refresh .merch-hero h1{font-size:clamp(48px,5vw,76px);color:#223820;letter-spacing:-.055em;line-height:1.03}
.merch-refresh .merch-lede{color:#52634c;max-width:490px;font-size:16px}.merch-refresh .merch-hero-visual{background:radial-gradient(ellipse,#e4f7bd 0%,#f6fbe9 48%,transparent 72%);border:0;box-shadow:none;border-radius:16px;min-height:330px}
.merch-refresh .merch-hero-label,.merch-refresh .merch-hero-caption,.merch-refresh .merch-hero-stamp{color:#426129}.merch-refresh .merch-hero-stamp{background:#f4fae9;border-color:#ccdcb8}
.merch-refresh .merch-proof{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:26px;border-block:1px solid #dce7d4;padding:16px 0}.merch-refresh .merch-proof span{border:0;background:none;padding:0;color:#52634c;font-size:12px;font-weight:400}
.merch-refresh .merch-products{padding:0;border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none}.merch-refresh .merch-cart{background:#f9fbf5;border:1px solid #dce7d4;border-radius:12px;box-shadow:none;backdrop-filter:none;padding:24px}
.merch-refresh .merch-card{background:#fff;border:1px solid #dce7d4;box-shadow:none;border-radius:10px;overflow:hidden}.merch-refresh .merch-card-media{background:#f3f7ed}.merch-refresh .merch-card h3,.merch-refresh .merch-section-head h2,.merch-refresh .merch-cart h2,.merch-refresh .merch-card-price{color:#223820}
.merch-refresh .merch-card p,.merch-refresh .merch-empty,.merch-refresh .merch-count,.merch-refresh .merch-totals,.merch-refresh .merch-checkout-form label,.merch-refresh .merch-status,.merch-refresh .merch-pill{color:#52634c}
.merch-refresh input,.merch-refresh select{background:#fff;color:#223820;border:1px solid #cbdabf}.merch-refresh .btn{background:#c8f56b;color:#243617;border:1px solid #b4d882;border-radius:6px}.merch-refresh .btn:disabled{opacity:.55}
.ek-nav-actions .nav-merch{font-weight:500}.simple-home .ek-nav-actions{gap:8px}.simple-home .ek-nav .nav-link.active{color:#4d7919}
@media(max-width:1100px){.ek-nav .nav-links{gap:14px}.ek-nav-actions .ek-button{padding:10px;font-size:12px}.evidence-intro{grid-template-columns:minmax(0,1fr) 280px}}
@media(max-width:800px){.unified-page .ek-page{padding:105px 20px 30px}.evidence-intro{grid-template-columns:1fr;gap:12px}.evidence-rail{border-left:0;padding-left:0}.merch-refresh .merch-page{padding:105px 20px 40px}.merch-refresh .merch-hero,.merch-refresh .merch-layout{grid-template-columns:1fr}.merch-refresh .merch-hero-visual{min-height:280px}.merch-refresh .merch-cart{position:static}.library-refresh .lighthouse-library{padding:18px}.unified-page .ek-page-heading{padding-top:22px}}

/* Shared nav actions need room for their labels, including Merch which used
   to inherit the old circular icon-button width. */
nav.nav.ek-nav .ek-nav-actions { gap:10px; }
nav.nav.ek-nav .ek-nav-actions > a.ek-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:12px 16px;
  border-radius:7px;
  font:600 13px/1.4 Inter,Arial,sans-serif;
  white-space:nowrap;
}
nav.nav.ek-nav .ek-nav-actions > a.nav-merch {
  width:44px;
  min-width:44px;
  height:44px;
  margin-left:0;
  padding:0;
  border:1px solid #bfcfc3;
  border-radius:7px;
  background:#fffefa;
  color:var(--ek-green);
  font-size:20px;
  line-height:1;
}
nav.nav.ek-nav .ek-nav-actions > a.nav-merch:hover {
  background:#edf3eb;
  border-color:#789b86;
  box-shadow:none;
  transform:translateY(-1px);
}
nav.nav.ek-nav .ek-nav-actions > a.nav-download-link {
  border-color:#c8f56b;
  background:#c8f56b;
  color:#20310f;
}
nav.nav.ek-nav .ek-nav-actions > a.nav-download-link:hover {
  border-color:#d9ffa2;
  background:#d9ffa2;
}
nav.nav.ek-nav .ek-nav-actions > a:not(.nav-account):not(.nav-merch):not(.nav-download-link) {
  border:1px solid #bfcfc3;
  background:#fffefa;
  color:var(--ek-green);
}
nav.nav.ek-nav .ek-nav-actions > a:not(.nav-account):not(.nav-merch):not(.nav-download-link):hover {
  border-color:#789b86;
  background:#edf3eb;
}

/* Keep the floating utility quiet on the light pages: the arrow remains the
   visual anchor while the outer control no longer reads as a heavy badge. */
body.simple-home .btt-btn,
body.unified-page .btt-btn {
  background:transparent;
  background-image:none;
  border-color:transparent;
  box-shadow:none;
  color:#0d5b3d;
  backdrop-filter:none;
}
body.simple-home .btt-btn:hover,
body.simple-home .btt-btn:focus-visible,
body.unified-page .btt-btn:hover,
body.unified-page .btt-btn:focus-visible {
  background:transparent;
  border-color:transparent;
  box-shadow:none;
  color:#0d5b3d;
}
body.simple-home .btt-icon,
body.unified-page .btt-icon {
  background:#c8f56b;
  color:#173b29;
  box-shadow:0 7px 18px rgba(79,126,30,.22);
}
body.simple-home .btt-btn:hover .btt-icon,
body.unified-page .btt-btn:hover .btt-icon { background:#d9ffa2; }

/* The map caption is supporting copy, but it still needs to be legible at
   the rendered 760px artwork size. */
.simple-home .ek-map-figure figcaption {
  color:#3f5844;
  font-size:12px;
  font-weight:500;
  letter-spacing:.01em;
}

/* Lighthouse is the shared shelf behind the library: a clear hero, a small
   public marker and tabs that feel like a working surface rather than a
   second marketing section. Keep these rules last so the workspace shell wins
   over the older Lighthouse experiments above it. */
.library-refresh .lighthouse-hero-updated {
  max-width:none;
  min-height:0;
  margin:0 0 24px;
  padding:42px clamp(22px,4vw,54px);
  border:1px solid #d4e3bf;
  border-radius:22px;
  background:#f5faee;
  overflow:hidden;
}
.library-refresh .lighthouse-hero-updated::before {
  background-position:center 42%;
  opacity:.52;
}
.library-refresh .lighthouse-hero-updated::after {
  background:linear-gradient(96deg,rgba(250,254,246,.97) 0%,rgba(250,254,246,.9) 39%,rgba(250,254,246,.64) 58%,rgba(250,254,246,.28) 100%);
}
.library-refresh .lighthouse-hero-updated .lh-hero-grid {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(290px,.82fr);
  align-items:center;
  gap:clamp(28px,5vw,72px);
  width:100%;
  max-width:1180px;
  margin:0;
}
.library-refresh .lighthouse-hero-updated .lh-hero-copy,
.library-refresh .lighthouse-hero-updated .lh-hero-beacon { max-width:none; margin:0; }
.library-refresh .lighthouse-hero-updated .lh-hero-copy { text-align:left; }
.library-refresh .lighthouse-hero-updated .lh-hero-copy .ek-eyebrow { display:inline-flex; align-items:center; gap:9px; margin:0 0 16px; }
.library-refresh .lh-hero-icon { width:22px; height:22px; object-fit:contain; filter:drop-shadow(0 3px 5px rgba(53,91,30,.18)); }
.library-refresh .lighthouse-hero-updated h1 {
  max-width:620px;
  margin:0 0 18px;
  color:#18351f;
  font:600 clamp(42px,5.1vw,70px)/1.02 'Space Grotesk',Inter,sans-serif;
  letter-spacing:-.06em;
}
.library-refresh .lighthouse-hero-updated h1 em { color:#4d7919; font-style:normal; }
.library-refresh .lighthouse-hero-updated .lh-hero-copy>p:not(.ek-eyebrow):not(.lh-hero-principle) {
  max-width:590px;
  margin:0;
  color:#405344;
  font-size:16px;
  line-height:1.7;
}
.library-refresh .lh-hero-principle { margin:17px 0 0; color:#416b12; font-size:13px; font-weight:700; }
.library-refresh .lighthouse-hero-updated .ek-actions { display:flex; align-items:center; flex-wrap:wrap; gap:14px 22px; margin-top:24px; }
.library-refresh .lighthouse-hero-updated .ek-text-link { color:#416b12; font-weight:700; }
.library-refresh .lh-hero-beacon {
  padding:26px 27px 23px;
  border:1px solid rgba(85,126,45,.28);
  border-radius:18px;
  background:rgba(255,255,255,.78);
  box-shadow:0 20px 45px rgba(67,105,29,.12);
  backdrop-filter:blur(3px);
}
.library-refresh .lh-beacon-mark { display:flex; align-items:center; gap:12px; color:#416b12; font:700 10px/1.2 ui-monospace,monospace; letter-spacing:.12em; }
.library-refresh .lh-beacon-mark img { width:56px; height:56px; object-fit:contain; filter:drop-shadow(0 5px 8px rgba(53,91,30,.16)); }
.library-refresh .lh-hero-beacon h2 { max-width:15ch; margin:20px 0 10px; color:#203b22; font:600 clamp(22px,2.4vw,31px)/1.12 'Space Grotesk',Inter,sans-serif; letter-spacing:-.035em; }
.library-refresh .lh-hero-beacon p { margin:0; color:#52634c; font-size:13px; line-height:1.6; }
.library-refresh .lh-hero-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:22px; padding-top:17px; border-top:1px solid #dce7d4; }
.library-refresh .lh-hero-stats div { min-width:0; }
.library-refresh .lh-hero-stats strong { display:block; overflow:hidden; color:#2f5415; font:700 19px/1.15 Inter,sans-serif; text-overflow:ellipsis; white-space:nowrap; }
.library-refresh .lh-hero-stats span { display:block; margin-top:4px; color:#6b7a65; font-size:10px; text-transform:uppercase; letter-spacing:.07em; }
.library-refresh .ek-workspace-tabs {
  display:flex;
  width:max-content;
  max-width:100%;
  gap:5px;
  margin:22px 0;
  padding:5px;
  border:1px solid #d4e3bf;
  border-radius:12px;
  background:#f6faef;
}
.library-refresh .ek-workspace-tabs button { border:0; border-radius:8px; padding:10px 14px; color:#52634c; font-size:13px; }
.library-refresh .ek-workspace-tabs button[aria-pressed=true] { border:0; background:#223820; color:#fff; box-shadow:0 4px 10px rgba(34,56,32,.14); }
.library-refresh .ek-workspace-tabs button:focus-visible { outline:3px solid #b3e66b; outline-offset:2px; }
.library-refresh .lighthouse-library { padding:30px; border-radius:18px; box-shadow:0 18px 55px rgba(84,128,38,.1); }
.library-refresh .lighthouse-library-heading { align-items:flex-end; margin-bottom:22px; }
.library-refresh .lighthouse-library-heading h2 { margin-bottom:8px; color:#203b22; font-size:clamp(26px,3vw,36px); }
.library-refresh .lh-library-toolbar { border-color:#d4e3bf; background:#fbfef9; }
.library-refresh .lh-advanced-filters { border-color:#d4e3bf; background:#f8fbf4; box-shadow:none; }
.library-refresh .lh-library-card:hover { border-color:#9ac94c; box-shadow:0 12px 25px rgba(84,128,38,.12); }
.library-refresh .lh-library-card.is-selected { border-color:#4d7919; box-shadow:0 0 0 2px #4d7919,0 14px 30px rgba(84,128,38,.14); }
.library-refresh .lh-library-detail { background:linear-gradient(160deg,#f5faee,#eaf4e2); border-color:#c8dcb8; }
.library-refresh .lh-band { margin:26px 0; padding:34px 30px; border-radius:18px; background:#f5faee; border-color:#d4e3bf; }
.library-refresh .lh-band-inner h2 { max-width:30ch; color:#203b22; font-size:clamp(24px,3vw,34px); }
.library-refresh .lh-band-inner p { max-width:72ch; color:#52634c; font-size:14px; }
.library-refresh .lighthouse-flow { padding:28px 0 10px; }
.library-refresh .lh-step { background:#fbfef9; border-color:#d4e3bf; }
.library-refresh .lh-card { background:#fbfef9; border-color:#d4e3bf; }
.library-refresh .lighthouse-boundary { padding-top:30px; border-top-color:#d4e3bf; }
@media(max-width:860px){
  .library-refresh .lighthouse-hero-updated { padding:34px 24px; }
  .library-refresh .lighthouse-hero-updated .lh-hero-grid { grid-template-columns:1fr; gap:30px; }
  .library-refresh .lighthouse-hero-updated .lh-hero-copy { text-align:center; }
  .library-refresh .lighthouse-hero-updated .lh-hero-copy .ek-eyebrow,
  .library-refresh .lighthouse-hero-updated .ek-actions { justify-content:center; }
  .library-refresh .lighthouse-hero-updated h1 { margin-inline:auto; }
  .library-refresh .lighthouse-hero-updated .lh-hero-copy>p:not(.ek-eyebrow):not(.lh-hero-principle) { margin-inline:auto; }
  .library-refresh .lh-hero-beacon { max-width:480px; margin-inline:auto; text-align:left; }
}
@media(max-width:600px){
  .library-refresh .lighthouse-hero-updated { margin-inline:-4px; padding:28px 18px; border-radius:16px; }
  .library-refresh .lighthouse-hero-updated h1 { font-size:42px; }
  .library-refresh .ek-workspace-tabs { width:100%; overflow-x:auto; }
  .library-refresh .ek-workspace-tabs button { flex:1 0 auto; font-size:12px; padding-inline:11px; }
  .library-refresh .lighthouse-library { padding:20px 16px; }
  .library-refresh .lh-hero-beacon { padding:22px 20px; }
}
