/** Shopify CDN: Minification failed

Line 147:0 Unexpected "}"

**/
/* ==========================================================================
   EquiLongevity — Base / Tokens / Shared primitives
   Replaces Tailwind v4 @theme + @layer base from src/index.css
   All colors driven by CSS vars set in snippets/el-styles.liquid
   ========================================================================== */

:root {
  --el-ease: cubic-bezier(0.16, 1, 0.3, 1);
  --el-container: 80rem; /* max-w-7xl */
  --el-gutter: 1.5rem;   /* px-6 */
}

.el-section { color: var(--el-charcoal); font-family: var(--el-font-sans); }
.el-section *, .el-section *::before, .el-section *::after { box-sizing: border-box; }

/* Base typography (mirrors index.css @layer base) */
.el-section h1, .el-section h2, .el-section h3,
.el-section h4, .el-section h5, .el-section h6 {
  font-family: var(--el-font-serif);
  font-weight: 400;
  margin: 0;
}
.el-section p { font-size: 14px !important; margin: 0; }
@media (min-width: 768px) { .el-section p { font-size: 16px !important; } }
.el-section ::selection { background: color-mix(in srgb, var(--el-gold) 30%, transparent); }
.el-section img { display: block; max-width: 100%; }
.el-section a { text-decoration: none; color: inherit; }
.el-section button { font-family: inherit; background: none; border: 0; cursor: pointer; color: inherit; padding: 0; }
.el-section input, .el-section textarea { font-family: inherit; }

/* Container */
.el-container { max-width: var(--el-container); margin-inline: auto; padding-inline: var(--el-gutter); }

/* Eyebrow */
.el-eyebrow {
  display: block;
  color: var(--el-gold);
  letter-spacing: 0.2em;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
}

/* ---------------------------------------------------------------------- */
/* Buttons — mirrors components/ui/Button.tsx                              */
/* ---------------------------------------------------------------------- */
.el-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border-radius: 9999px;
  transition: color .3s ease-out, background-color .3s ease-out, border-color .3s ease-out;
  font-size: 12px;
  letter-spacing: 0.025em;
  font-weight: 500;
  border: 1px solid transparent;
  cursor: pointer;
  text-align: center;
  padding:20px;
  color: var(--el-forest);
}
@media (min-width: 768px) { .el-btn { font-size: 14px; } }
.el-btn:focus-visible { outline: none; box-shadow: 0 0 0 1px var(--el-forest); }
.el-btn:disabled { pointer-events: none; opacity: .5; }

.el-btn--primary { background: var(--el-forest); color: #fff; }
.el-btn--primary:hover { background: var(--el-green); }
.el-btn--secondary { background: var(--el-gold); color: #fff; }
.el-btn--secondary:hover { background: color-mix(in srgb, var(--el-gold) 90%, transparent); }
.el-btn--outline { border-color: var(--el-forest); color: var(--el-forest); background: transparent; }
.el-btn--outline:hover { background: var(--el-forest); color: #fff; }
.el-btn--outline-soft { border-color: color-mix(in srgb, var(--el-forest) 30%, transparent); color: var(--el-forest); background: transparent; }
.el-btn--outline-soft:hover { background: var(--el-forest); color: #fff; border-color: var(--el-forest); }
.el-btn--outline-white { border-color: #fff; color: #fff; background: transparent; }
.el-btn--outline-white:hover { background: #fff; color: var(--el-forest); }
.el-btn--ghost { color: var(--el-forest); }
.el-btn--ghost:hover { background: color-mix(in srgb, var(--el-sand) 50%, transparent); }

.el-btn--sm { height: 2.5rem; padding: 0.5rem 1.5rem; }
.el-btn--md { height: 3rem; padding: 0.75rem 2rem; }
.el-btn--lg { height: 3.5rem; padding: 1rem 2.5rem; }

/* ---------------------------------------------------------------------- */
/* Animation primitives (JS adds .el-in when in view)                      */
/* Duration/delay come from inline custom props set per element            */
/* ---------------------------------------------------------------------- */
@media (prefers-reduced-motion: no-preference) {
  [data-el-reveal] {
    opacity: 0;
    transform: translateY(var(--el-y, 30px)) translateX(var(--el-x, 0));
    transition:
      opacity var(--el-dur, .8s) var(--el-ease) var(--el-delay, 0s),
      transform var(--el-dur, .8s) var(--el-ease) var(--el-delay, 0s);
    will-change: opacity, transform;
  }

  [data-el-reveal].el-in {
    opacity: 1;
    transform: none;
  }
}

@media (prefers-reduced-motion: no-preference) {
  [data-el-reveal].el-in {
    color: #003C2D !important;
  }
}

  /* Masked line reveal (RevealText: overflow-hidden parent, y:100% child) */
  [data-el-mask] { overflow: hidden; }
  [data-el-mask] > .el-mask-inner {
    display: block;
    opacity: 0;
    transform: translateY(100%);
    transition:
      opacity var(--el-dur, .8s) var(--el-ease) var(--el-delay, 0s),
      transform var(--el-dur, .8s) var(--el-ease) var(--el-delay, 0s);
  }
  [data-el-mask].el-in > .el-mask-inner { opacity: 1; transform: none; }

  /* Character reveal (RevealCharacters) — spans injected by JS */
  [data-el-chars] .el-word { display: inline-block; margin-right: 0.2em; white-space: nowrap; }
  [data-el-chars] .el-char {
    display: inline-block;
    opacity: 0;
    transform: translateY(50px);
    transition: opacity .8s var(--el-ease), transform .8s var(--el-ease);
  }
  [data-el-chars].el-in .el-char { opacity: 1; transform: none; }

  /* Clip-path image reveal (Philosophy / FounderStory) */
  [data-el-clip="up"]   { clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%); transition: clip-path 1.2s var(--el-ease) var(--el-delay, 0s); }
  [data-el-clip="right"]{ clip-path: polygon(0 0, 0 0, 0 100%, 0 100%); transition: clip-path 1.5s var(--el-ease) var(--el-delay, 0s); }
  [data-el-clip].el-in  { clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); }
  [data-el-clip] > img  { transform: scale(1.1); transition: transform 1.5s ease-out; }
  [data-el-clip].el-in > img { transform: scale(1); }

  /* Crossfade helpers (tab/state switching) */
  .el-fade-swap { opacity: 0; transform: scale(1.05); transition: opacity .8s ease, transform .8s ease; }
  .el-fade-swap.el-active { opacity: 1; transform: scale(1); }
}
@media (prefers-reduced-motion: reduce) {
  [data-el-reveal], [data-el-mask] > .el-mask-inner, [data-el-chars] .el-char { opacity: 1 !important; transform: none !important; }
  [data-el-clip] { clip-path: none !important; }
}

/* Accordion height animation helper */
.el-collapse { display: grid; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows .4s var(--el-ease), opacity .35s ease, margin .4s var(--el-ease); }
.el-collapse > * { overflow: hidden; min-height: 0; }
.el-collapse.el-open { grid-template-rows: 1fr; opacity: 1; }

/* No-scrollbar horizontal rows */
.el-no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
.el-no-scrollbar::-webkit-scrollbar { display: none; }

/* Star row */
.el-stars { display: inline-flex; gap: 0.25rem; color: var(--el-gold); }
.el-stars svg { fill: currentColor; }

/* Icon sizing helper */
.el-icon { display: inline-flex; flex-shrink: 0; }
.el-icon svg { width: 100%; height: 100%; display: block; }
