:root{
  /* Unified with the homepage/footer system (aa-home.css / aa-footer.css).
     Previously this file used a different palette/font/container than the
     rest of the site — now a single source of truth for both. */
  --aura-bg:#FAF7F1;
  --aura-surface:#FFFFFF;
  --aura-ink:#14120F;
  --aura-accent:#B08D57;
  --aura-accent-dark:#8A6D3F;
  --aura-support:#EFE9DD;
  --aura-line:rgba(20,18,15,0.12);
  --aura-heading:'Cormorant Garamond',serif;
  --aura-body:'Work Sans',sans-serif;
  --aura-radius-sm:0px;
  --aura-radius-md:2px;
  --aura-space-sm:8px;
  --aura-space-md:24px;
  --aura-space-lg:64px;
  --aura-container:1240px;
  --aura-ease:cubic-bezier(.22,.61,.36,1);
  --aura-dur:.7s;
}

.aura-wrap{max-width:var(--aura-container);margin:0 auto;padding:0 24px;}

/* ---- Motion primitives: content is ALWAYS visible by default, on every
   browser, with or without JS. Motion is a bonus slide-into-place effect
   layered on top — it must never be able to hide content. ---- */
.aura-reveal{opacity:1;transform:none;}
html.aura-js .aura-reveal{opacity:1;transform:translateY(16px);transition:transform var(--aura-dur) var(--aura-ease);}
html.aura-js .aura-reveal.is-visible{transform:translateY(0);}

.aura-reveal-stagger > *{opacity:1;transform:none;}
html.aura-js .aura-reveal-stagger > *{opacity:1;transform:translateY(14px);transition:transform .6s var(--aura-ease);}
html.aura-js .aura-reveal-stagger.is-visible > *{transform:translateY(0);}
html.aura-js .aura-reveal-stagger.is-visible > *:nth-child(1){transition-delay:.03s}
html.aura-js .aura-reveal-stagger.is-visible > *:nth-child(2){transition-delay:.11s}
html.aura-js .aura-reveal-stagger.is-visible > *:nth-child(3){transition-delay:.19s}
html.aura-js .aura-reveal-stagger.is-visible > *:nth-child(4){transition-delay:.27s}
html.aura-js .aura-reveal-stagger.is-visible > *:nth-child(5){transition-delay:.35s}
html.aura-js .aura-reveal-stagger.is-visible > *:nth-child(6){transition-delay:.43s}

.aura-hover-lift{transition:transform .45s var(--aura-ease),box-shadow .45s var(--aura-ease);}
.aura-hover-lift:hover{transform:translateY(-6px);}

.aura-img-zoom{overflow:hidden;display:block;}
.aura-img-zoom img{transition:transform .9s var(--aura-ease);will-change:transform;}
.aura-img-zoom:hover img{transform:scale(1.06);}

.aura-btn{display:inline-block;background:var(--aura-accent);color:#fff;font-family:var(--aura-body);font-weight:600;letter-spacing:.02em;padding:14px 30px;border-radius:var(--aura-radius-sm);border:none;text-decoration:none;transition:background .35s var(--aura-ease),transform .35s var(--aura-ease);}
.aura-btn:hover{background:var(--aura-ink);color:#fff;transform:translateY(-2px);}
.aura-btn.aura-btn-outline{background:transparent;color:var(--aura-ink);border:1px solid var(--aura-ink);}
.aura-btn.aura-btn-outline:hover{background:var(--aura-ink);color:#fff;}

.aura-eyebrow{display:inline-block;font-family:var(--aura-body);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--aura-accent);margin-bottom:14px;}

@media (prefers-reduced-motion: reduce){
  html.aura-js .aura-reveal,html.aura-js .aura-reveal-stagger > *,html.aura-js .aura-hero-entrance{transform:none !important;transition:none !important;}
  .aura-hover-lift:hover{transform:none;}
  .aura-img-zoom:hover img{transform:none;}
  .aura-btn:hover{transform:none;}
}

.aura-placeholder-img{width:100%;height:100%;object-fit:cover;display:block;}

/* Explicit header height, site-wide — previously undefined, could shift
   depending on cart/menu state. Fixed so header height is consistent
   across every page. */
#masthead .ast-primary-header-bar{min-height:88px;display:flex;align-items:center;}
