/* LAM Shop — single source of design tokens (loaded first). Fonts self-hosted, latin subset. */
@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../fonts/dm-sans-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Fraunces";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/fraunces-600-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  /* Colour */
  --lam-bg: #faf8f4;
  --lam-bg-alt: #f3efe7;
  --lam-surface: #ffffff;
  --lam-media: #f3f1ec;
  --lam-ink: #162138;
  --lam-ink-hover: #24324f;
  --lam-ink-2: #3c4658;
  --lam-muted: #555e6e;
  --lam-line: #e7e2d8;
  --lam-line-strong: #d6d0c4;
  --lam-accent: #00b5b0;          /* decorative only (bars, dots, borders) */
  --lam-accent-ink: #0b6e6b;      /* accent for text / focus: 6.1:1 on white */
  --lam-accent-soft: #e3f6f5;
  --lam-sale: #c2410c;
  --lam-success: #2f7a4f;
  --lam-star: #c98a00;
  --lam-hover-bg: #f1eee8;

  /* Type */
  --lam-font: "DM Sans", "Segoe UI", system-ui, sans-serif;
  --lam-display: "Fraunces", Georgia, serif;
  --lam-fs-xs: .78rem;
  --lam-fs-sm: .875rem;
  --lam-fs-base: 1rem;
  --lam-fs-lg: 1.125rem;
  --lam-fs-h3: clamp(1.15rem, 1.05rem + .4vw, 1.3rem);
  --lam-fs-h2: clamp(1.6rem, 1.2rem + 1.4vw, 2.25rem);
  --lam-fs-h1: clamp(2rem, 1.4rem + 2.4vw, 3.25rem);

  /* Shape & depth */
  --lam-radius: 14px;
  --lam-radius-sm: 10px;
  --lam-radius-pill: 999px;
  --lam-shadow-sm: 0 1px 2px rgba(22, 33, 56, .05), 0 2px 8px rgba(22, 33, 56, .04);
  --lam-shadow: 0 10px 30px rgba(22, 33, 56, .08);
  --lam-shadow-lg: 0 24px 60px rgba(22, 33, 56, .18);

  /* Layout */
  --lam-max: 1240px;
  --lam-gutter: 16px;
  --lam-header-h: 68px;
  --lam-cta-h: 56px;
  --lam-section: clamp(56px, 8vw, 112px);
  --lam-ease: cubic-bezier(.2, .7, .2, 1);
}
@media (min-width: 768px) {
  :root { --lam-gutter: 24px; }
}
@media (max-width: 767px) {
  :root { --lam-header-h: 60px; }
}
