/* Craft Line color tokens — extracted verbatim from Craft Line Homepage.dc.html.
   Palette: black / gold / ivory / warm neutrals. Values are exact; do not snap. */
:root {
  /* ---- Gold accents ---- */
  --gold: #C7A05C;              /* primary button fill */
  --gold-hover: #D4AF6B;        /* primary button hover */
  --gold-link: #C9A25C;         /* nav/link hover gold */
  --gold-explore: #CB9C4F;      /* EXPLORE links on dark cards */
  --gold-eyebrow: #B8873B;      /* eyebrow + icons on light bg */
  --gold-eyebrow-on-dark: #C08A3E; /* eyebrow on dark bg */
  --gold-pressed: #96691F;      /* gold link hover-darken on light */

  /* ---- Dark surfaces (near-black, warm) ---- */
  --bg-dark: #0C0B09;           /* nav base */
  --bg-dark-deep: #0A0908;      /* hero base */
  --bg-dark-footer: #0B0A08;    /* CTA + footer */
  --surface-dark-raised: #14110B; /* dropdown menus */
  --surface-dark-card: #110E09; /* footer CTA card */
  --surface-dark-media: #15110C; /* image card base */

  /* ---- Dark borders ---- */
  --border-dark: #221D15;       /* nav underline */
  --border-dark-2: #2C2519;     /* dropdown border */
  --border-dark-3: #1F1A12;     /* footer rules */
  --border-dark-4: #2B2417;     /* footer card border */
  --border-dark-5: #332C1F;     /* social icon border */

  /* ---- Light surfaces (ivory / parchment) ---- */
  --bg-cream: #FFFDF7;          /* light page base */
  --surface-panel: #FCF9F2;     /* inset panel */
  --bg-parchment: #F5EFE4;      /* section frame */
  --bg-cream-deep: #F3EDDF;     /* trusted-by band */

  /* ---- Light borders ---- */
  --border-light: #E8DFCC;      /* panel border */
  --border-light-2: #E5DCC7;    /* carousel buttons */
  --border-ink: #2B261D;        /* outline button on light */

  /* ---- Text on dark (cream ramp) ---- */
  --text-on-dark-strong: #F6F0E2;  /* hero headline */
  --text-on-dark: #F4EEE1;         /* logo, h2 on dark ≈ #F5EFE1 */
  --text-on-dark-2: #F2ECDD;       /* outline button text */
  --text-on-dark-nav: #EAE3D3;     /* nav links */
  --text-on-dark-body: #CFC7B7;    /* body on dark ≈ #C9C1B0, #CFC6B4 */
  --text-on-dark-menu: #CFC6B4;    /* dropdown items */
  --text-on-dark-soft: #B3AA97;    /* social icons */
  --text-on-dark-label: #A79C87;   /* footer column labels */
  --text-on-dark-kicker: #A99F8C;  /* logo subtitle */
  --text-on-dark-muted: #8E8677;   /* footer links */
  --text-on-dark-faint: #7A7263;   /* legal line */

  /* ---- Text on light (ink ramp) ---- */
  --ink: #1B1712;               /* headings on light */
  --ink-strong: #221D15;        /* card titles ≈ #221D14 */
  --ink-logo: #2F2A21;          /* trusted-by logotypes */
  --text-body: #6A6254;         /* body on light */
  --text-muted: #7C7464;        /* small captions */
  --text-muted-2: #6F6858;      /* logotype subtitles */
  --arrow-ink: #3A3326;         /* carousel arrows */

  /* ---- Special ---- */
  --cream-button: #EDE2CD;      /* nav CTA fill */
  --ink-on-gold: #1B1508;       /* text on gold ≈ #1B150B */
  --chevron-soft: #C8BCA2;      /* step separators */

  /* ---- Semantic aliases ---- */
  --surface-page: var(--bg-cream);
  --surface-hero: var(--bg-dark-deep);
  --accent: var(--gold);
  --text-heading: var(--ink);
  --text-default: var(--text-body);
}

/* Responsive application layer.
   The original pages use inline desktop layout declarations, so these rules
   intentionally use !important inside breakpoints to provide one consistent
   mobile system without changing the desktop presentation. */
html, body {
  max-width: 100%;
}

/* Several internal pages rely entirely on the shared stylesheet. Reset the
   browser's default 8px body margin so their full-width shell reaches every
   viewport edge, matching the homepage and catalog. */
body {
  margin: 0;
}

img, svg, video, canvas {
  max-width: 100%;
}

.gxp-mobile-toggle,
.gxp-mobile-panel {
  display: none;
}

/* Readable desktop navigation without changing the established visual rhythm. */
@media (min-width: 981px) {
  [data-screen-label="Nav"] nav > a,
  [data-screen-label="Nav"] [data-dd] > div:first-child {
    font-size: 11.5px !important;
  }

  [data-screen-label="Nav"] [data-dd-menu] a {
    font-size: 11px !important;
  }

  [data-screen-label="Nav"] > div > a[href="/contact/"] {
    font-size: 11px !important;
  }
}

/* Connected-platform story on the Level 1 homepage. */
.cl-ecosystem {
  overflow: hidden;
  background: #0b0a08;
  color: #f4eee1;
  font-family: var(--cl-sans, 'Montserrat', 'Helvetica Neue', Arial, sans-serif);
}

.cl-ecosystem__proof {
  display: grid;
  position: relative;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 42px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  background: #f5efe4;
  border-top: 1px solid #e2d7c2;
  border-bottom: 1px solid #e2d7c2;
  box-shadow: 0 0 0 100vmax #f5efe4;
  clip-path: inset(0 -100vmax);
}

.cl-ecosystem__proof-item {
  display: flex;
  min-height: 94px;
  padding: 23px 26px;
  align-items: center;
  gap: 16px;
  border-right: 1px solid #ded2bd;
}

.cl-ecosystem__proof-item:first-child {
  border-left: 1px solid #ded2bd;
}

.cl-ecosystem__proof-item svg {
  width: 34px;
  height: 34px;
  flex: none;
  fill: none;
  stroke: #c7a05c;
  stroke-width: 1.35;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cl-ecosystem__proof-item strong,
.cl-ecosystem__proof-item span {
  display: block;
}

.cl-ecosystem__proof-item strong {
  color: #221d15;
  font-size: 12px;
  line-height: 1.45;
  letter-spacing: 1.45px;
  text-transform: uppercase;
}

.cl-ecosystem__proof-item span {
  margin-top: 5px;
  color: #6a6254;
  font-size: 11px;
  line-height: 1.45;
}

.cl-ecosystem__body {
  display: grid;
  max-width: 1400px;
  margin: 0 auto;
  padding: 68px 42px 76px;
  grid-template-columns: 320px minmax(0, 1fr);
  gap: 58px;
}

.cl-ecosystem__eyebrow {
  color: #c08a3e;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2.5px;
}

.cl-ecosystem__intro h2 {
  margin: 16px 0 0;
  color: #f6f0e2;
  font-family: var(--cl-serif, 'Playfair Display', Georgia, serif);
  font-size: 35px;
  font-weight: 500;
  line-height: 1.17;
}

.cl-ecosystem__intro h2 em {
  color: #c7a05c;
  font-weight: 400;
}

.cl-ecosystem__intro p {
  margin: 22px 0 0;
  color: #aaa18f;
  font-size: 13px;
  line-height: 1.8;
}

.cl-ecosystem__intro > a {
  display: inline-flex;
  margin-top: 26px;
  align-items: center;
  gap: 9px;
  color: #c7a05c;
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 1.7px;
  text-decoration: none;
}

.cl-ecosystem__participants {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.cl-participant {
  position: relative;
  min-width: 0;
  color: inherit;
  text-decoration: none;
}

.cl-participant__media {
  position: relative;
  display: block;
  height: 148px;
  overflow: hidden;
  border: 1px solid #2b2417;
  background: #15110c;
}

.cl-participant__media::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(9,8,6,0) 45%, rgba(9,8,6,.5));
  content: "";
  pointer-events: none;
}

.cl-participant__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s cubic-bezier(.22,.61,.21,1), filter .45s ease;
}

.cl-participant__media--client img {
  object-position: 53% center;
}

.cl-participant:hover .cl-participant__media img {
  transform: scale(1.035);
  filter: brightness(1.06);
}

.cl-participant__number {
  display: block;
  margin-top: 16px;
  color: #b8873b;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 1.7px;
}

.cl-participant > strong,
.cl-participant > span:last-child {
  display: block;
}

.cl-participant > strong {
  margin-top: 6px;
  color: #f3ecde;
  font-size: 12.5px;
  letter-spacing: .7px;
  text-transform: uppercase;
}

.cl-participant > span:last-child {
  margin-top: 7px;
  color: #aaa18f;
  font-size: 11.5px;
  line-height: 1.55;
}

[data-screen-label="Footer"] div[style*="display:grid;gap:11px"] a {
  color: #aaa18f !important;
  font-size: 12.5px !important;
}

/* Catalog categories should read as compact controls, not stretched labels. */
[data-filter-list] {
  min-width: 0;
  flex: 1 1 auto;
}

[data-filter-list] [data-filter] {
  flex: none;
  padding: 9px 13px !important;
  border-radius: 999px !important;
  font-size: 9px !important;
  letter-spacing: .85px !important;
}

.cl-product-card {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  transition: transform .4s cubic-bezier(.22,.61,.21,1);
}

.cl-product-card:hover {
  transform: translateY(-6px);
}

.cl-product-card__image {
  position: relative;
  display: block;
  height: 264px;
  overflow: hidden;
  border-radius: 6px;
  background: #15110c;
  box-shadow: 0 2px 10px rgba(30,22,8,.06);
}

.cl-product-card__image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .55s cubic-bezier(.22,.61,.21,1);
}

.cl-product-card:hover .cl-product-card__image img {
  transform: scale(1.025);
}

.cl-product-card__category,
.cl-product-card__title,
.cl-product-card__description,
.cl-product-card__link {
  display: block;
}

.cl-product-card__category {
  margin-top: 15px;
  color: #b8873b;
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.cl-product-card__title {
  margin-top: 6px;
  color: #1b1712;
  font-family: var(--cl-serif, 'Playfair Display', Georgia, serif);
  font-size: 17px;
}

.cl-product-card__description {
  margin-top: 5px;
  color: #7c7464;
  font-size: 11.5px;
  line-height: 1.6;
}

.cl-product-card__link {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: 11px;
  color: #b8873b;
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 1.9px;
}

@media (max-width: 980px) {
  html, body {
    min-width: 0 !important;
    width: 100%;
    overflow-x: hidden;
  }

  body {
    -webkit-text-size-adjust: 100%;
  }

  [data-screen-label="Nav"] > div {
    min-height: 68px;
    gap: 16px !important;
    padding: 13px 22px !important;
  }

  [data-screen-label="Nav"] > div > nav,
  [data-screen-label="Nav"] > div > a[href="/contact/"] {
    display: none !important;
  }

  .gxp-mobile-toggle {
    display: inline-flex;
    width: 44px;
    height: 44px;
    margin-left: auto;
    padding: 0;
    flex: none;
    align-items: center;
    justify-content: center;
    border: 1px solid #332c1f;
    background: #14110b;
    color: #f4eee1;
    cursor: pointer;
  }

  .gxp-mobile-toggle-box {
    display: grid;
    gap: 5px;
  }

  .gxp-mobile-toggle-line {
    display: block;
    width: 19px;
    height: 1px;
    background: currentColor;
    transition: transform .2s ease, opacity .2s ease;
  }

  .gxp-mobile-toggle[aria-expanded="true"] .gxp-mobile-toggle-line:nth-child(1) {
    transform: translateY(6px) rotate(45deg);
  }

  .gxp-mobile-toggle[aria-expanded="true"] .gxp-mobile-toggle-line:nth-child(2) {
    opacity: 0;
  }

  .gxp-mobile-toggle[aria-expanded="true"] .gxp-mobile-toggle-line:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg);
  }

  .gxp-mobile-panel {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    z-index: 100;
    padding: 10px 22px 22px;
    border-top: 1px solid #221d15;
    border-bottom: 1px solid #332c1f;
    background: #0c0b09;
    box-shadow: 0 20px 40px rgba(0,0,0,.4);
  }

  .gxp-mobile-panel.is-open {
    display: grid;
  }

  .gxp-mobile-panel a {
    display: flex;
    min-height: 46px;
    align-items: center;
    border-bottom: 1px solid #221d15;
    color: #eae3d3;
    font: 600 11px/1.4 var(--font-sans, Montserrat, sans-serif);
    letter-spacing: 1.4px;
    text-decoration: none;
  }

  .gxp-mobile-panel a:last-child {
    min-height: 48px;
    margin-top: 12px;
    justify-content: center;
    border: 0;
    background: #c7a05c;
    color: #1b1508;
    font-weight: 700;
  }

  body.gxp-menu-open {
    overflow: hidden;
  }

  .cl-ecosystem__proof {
    padding: 0 24px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cl-ecosystem__proof-item {
    min-height: 82px;
    padding: 19px 20px;
    border-bottom: 1px solid #ded2bd;
  }

  .cl-ecosystem__body {
    padding: 58px 28px 66px;
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .cl-ecosystem__intro {
    max-width: 620px;
  }

  .cl-ecosystem__participants {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 18px;
  }

  .cl-participant__media {
    height: 210px;
  }

  [style*="grid-template-columns:repeat(var(--cl-cols,4),1fr)"],
  [style*="grid-template-columns:repeat(4,1fr)"],
  [style*="grid-template-columns:repeat(3,1fr)"],
  [style*="grid-template-columns:repeat(5,1fr)"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  [data-grid] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    min-width: 0 !important;
  }

  [style*="grid-template-columns:1.4fr .75fr .75fr .9fr 1.2fr"] {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 30px !important;
  }

  [style*="grid-template-columns:1fr auto 1fr"] {
    grid-template-columns: 1fr auto !important;
    gap: 16px !important;
  }

  [style*="padding:58px 42px 46px"] {
    padding: 48px 28px 38px !important;
  }

  [style*="padding:16px 42px 18px"] {
    padding: 16px 28px 18px !important;
  }
}

@media (max-width: 620px) {
  .cl-ecosystem__proof {
    padding: 0 18px;
    grid-template-columns: 1fr;
  }

  .cl-ecosystem__proof-item,
  .cl-ecosystem__proof-item:first-child {
    min-height: 72px;
    padding: 16px 4px;
    border-right: 0;
    border-left: 0;
  }

  .cl-ecosystem__proof-item svg {
    width: 30px;
    height: 30px;
  }

  .cl-ecosystem__body {
    padding: 48px 20px 56px;
  }

  .cl-ecosystem__intro h2 {
    font-size: 31px;
  }

  .cl-ecosystem__participants {
    grid-template-columns: 1fr;
  }

  .cl-participant__media {
    height: 220px;
  }
}

@media (max-width: 680px) {
  [data-screen-label="Nav"] > div {
    min-height: 64px;
    padding: 11px 16px !important;
  }

  [data-screen-label="Nav"] > div > a:first-child > div:first-child {
    font-size: 18px !important;
    letter-spacing: 3px !important;
  }

  [data-screen-label="Nav"] > div > a:first-child > div:last-child {
    font-size: 6.5px !important;
    letter-spacing: 2.2px !important;
  }

  .gxp-mobile-panel {
    padding: 8px 16px 18px;
  }

  [data-filter-list] {
    width: 100%;
    flex-basis: 100%;
    flex-wrap: nowrap !important;
    overflow-x: auto;
    padding: 2px 0 8px;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  [data-filter-list]::-webkit-scrollbar {
    display: none;
  }

  [data-filter-list] [data-filter] {
    scroll-snap-align: start;
  }

  h1 {
    max-width: 100% !important;
    font-size: clamp(34px, 10.5vw, 46px) !important;
    line-height: 1.1 !important;
    overflow-wrap: anywhere;
  }

  h2 {
    max-width: 100% !important;
    font-size: clamp(28px, 8vw, 36px) !important;
    line-height: 1.16 !important;
  }

  p {
    max-width: 100%;
  }

  #hero > div:first-child {
    width: 100% !important;
    opacity: .5;
  }

  #hero > div:nth-child(2) {
    padding: 76px 20px 82px !important;
  }

  #hero > div:nth-child(2) > div {
    max-width: 100% !important;
  }

  #hero [style*="display:flex"][style*="flex-wrap:wrap"] a,
  #cta a {
    width: 100%;
    box-sizing: border-box;
    justify-content: center;
    text-align: center;
  }

  section[style*="padding:92px 42px 60px"],
  section[style*="padding:88px 42px"],
  section[style*="padding:82px 42px"],
  section[style*="padding:78px 42px"],
  section[style*="padding:72px 42px"] {
    padding: 62px 20px 44px !important;
  }

  [style*="padding:82px clamp(24px"],
  [style*="padding:74px clamp(24px"],
  [style*="padding:64px clamp(24px"] {
    padding: 58px 20px 30px !important;
  }

  [style*="padding:0 clamp(24px"],
  [style*="padding:14px clamp(24px"],
  [style*="padding:44px clamp(24px"] {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }

  [style*="grid-template-columns:45% 55%"],
  [style*="grid-template-columns:56% 44%"],
  [style*="grid-template-columns:1.15fr .85fr"],
  [style*="grid-template-columns:1.3fr .7fr"],
  [style*="grid-template-columns:1.1fr .9fr"],
  [style*="grid-template-columns:1fr 440px"],
  [style*="grid-template-columns:1fr 1fr"],
  [style*="grid-template-columns:1fr 1.02fr"] {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  [style*="grid-template-columns:repeat(var(--cl-cols,4),1fr)"],
  [style*="grid-template-columns:repeat(4,1fr)"],
  [style*="grid-template-columns:repeat(3,1fr)"],
  [style*="grid-template-columns:repeat(2,1fr)"],
  [style*="grid-template-columns:repeat(5,1fr)"] {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  [data-grid] {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  [style*="grid-template-columns:1.4fr .75fr .75fr .9fr 1.2fr"] {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 28px !important;
  }

  [style*="grid-template-columns:1fr auto 1fr"] {
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: start !important;
  }

  [style*="height:600px"],
  [style*="height:560px"],
  [style*="height:460px"],
  [style*="height:420px"] {
    height: 340px !important;
    min-height: 0 !important;
  }

  [style*="height:360px"],
  [style*="height:340px"],
  [style*="height:320px"],
  [style*="height:300px"] {
    height: 250px !important;
  }

  [style*="padding:58px 42px 46px"] {
    padding: 46px 20px 34px !important;
  }

  [style*="padding:16px 42px 18px"] {
    padding: 16px 20px 20px !important;
  }

  #how-it-works [style*="align-items:flex-start"][style*="justify-content:center"] {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 30px 16px !important;
  }

  #how-it-works [style*="height:64px"][style*="flex:none"] {
    display: none !important;
  }

  [style*="position:sticky"] {
    position: relative !important;
    top: auto !important;
  }

  input, select, textarea, button {
    max-width: 100%;
    font-size: 16px;
  }

  body > header nav {
    width: 100% !important;
    box-sizing: border-box;
    max-width: 100vw !important;
    justify-content: flex-start !important;
    gap: 24px !important;
    padding-right: 20px !important;
    padding-left: 20px !important;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  body > header nav::-webkit-scrollbar {
    display: none;
  }

  [data-screen-label$="Header"] > div {
    min-width: 0 !important;
    padding: 16px 20px !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
  }

  [data-screen-label$="Header"] > div > nav {
    display: none !important;
  }

  [data-screen-label$="Header"] [style*="min-width:190px"] {
    display: none !important;
  }

  [style*="max-width:700px"][style*="justify-content:center"],
  [style*="max-width:720px"][style*="justify-content:center"] {
    max-width: 100% !important;
    justify-content: flex-start !important;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  [style*="max-width:700px"][style*="justify-content:center"]::-webkit-scrollbar,
  [style*="max-width:720px"][style*="justify-content:center"]::-webkit-scrollbar {
    display: none;
  }

  /* Template previews use several bespoke inline layouts. Keep their small-screen
     treatment here so the previews remain faithful without editing each theme. */
  [style*="grid-template-columns:1.5fr .8fr .8fr .8fr 1.25fr"],
  [style*="grid-template-columns:1.4fr .8fr .8fr .8fr"] {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 28px !important;
    padding-right: 20px !important;
    padding-left: 20px !important;
  }

  [style*="padding:20px 40px"][style*="justify-content:center"][style*="letter-spacing:1.6px"] {
    flex-wrap: wrap !important;
    gap: 10px 14px !important;
    padding: 16px 20px !important;
    text-align: center;
  }

  [style*="border-bottom:1px"][style*="padding:22px 44px"] {
    padding: 16px 20px !important;
  }

  [style*="max-width:640px"][style*="justify-content:space-between"] {
    max-width: 100% !important;
    justify-content: flex-start !important;
    gap: 16px !important;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  [style*="max-width:640px"][style*="justify-content:space-between"] > span[style*="flex:1"] {
    flex: 0 0 24px !important;
    margin: 0 !important;
  }
}

@media (max-width: 420px) {
  #how-it-works [style*="align-items:flex-start"][style*="justify-content:center"] {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* Craft Line typography tokens — exact values from the homepage. */
:root {
  /* Families */
  --font-serif: 'Playfair Display', Georgia, serif;       /* display, headings, logotype */
  --font-sans: 'Montserrat', 'Helvetica Neue', Arial, sans-serif; /* everything else */

  /* Display / headings (serif, weight 500) */
  --text-h1-size: 63px;      --text-h1-line: 1.13;  --text-h1-spacing: .3px;
  --text-h2-size: 40px;      --text-h2-line: 1.25;  --text-h2-spacing: .2px;
  --text-h2-cta-size: 46px;  /* final CTA heading */
  --heading-weight: 500;

  /* Eyebrow (sans, uppercase) */
  --text-eyebrow-size: 10px;      /* 10–10.5px in source */
  --text-eyebrow-weight: 700;
  --text-eyebrow-spacing: 2.6px;

  /* Nav links (sans, uppercase) */
  --text-nav-size: 10.5px;   --text-nav-weight: 600;  --text-nav-spacing: 1.6px;

  /* Buttons (sans, uppercase) */
  --text-button-size: 10.5px;  --text-button-weight: 700;  --text-button-spacing: 1.9px;

  /* Body */
  --text-body-size: 14px;      --text-body-line: 1.8;   /* 14–15px / 1.75–1.8 */
  --text-body-lg-size: 15px;   --text-body-lg-line: 1.75;

  /* Small / captions */
  --text-small-size: 11.5px;   --text-small-line: 1.65;
  --text-caption-size: 11px;   --text-caption-line: 1.6;

  /* Card titles (sans) */
  --text-card-title-size: 19px; --text-card-title-weight: 600; --text-card-title-line: 1.3;

  /* Logotype */
  --logo-size: 22px;  --logo-spacing: 4px;      /* Playfair 500 */
  --logo-sub-size: 7.5px;  --logo-sub-spacing: 3.4px;  /* Montserrat 600 */
}

/* Craft Line spacing, radii, borders, shadows, motion — from the homepage. */
:root {
  /* Layout */
  --container-max: 1400px;
  --container-pad: 42px;
  --section-pad-y: 88px;        /* light sections 88/78 */
  --section-pad-y-hero: 106px;  /* hero 106/116 */

  /* Gaps */
  --gap-card: 16px;             /* collection carousel */
  --gap-feature: 22px;          /* feature grid */
  --gap-footer: 44px;           /* footer columns */

  /* Radii — Craft Line is square-cornered by default */
  --radius-none: 0;             /* buttons, panels, footer card */
  --radius-media: 6px;          /* collection/image cards only */
  --radius-full: 50%;           /* carousel arrow buttons */

  /* Borders */
  --border-width: 1px;          /* all rules and outlines are hairline */

  /* Shadows (warm-tinted, soft, large) */
  --shadow-card-hover: 0 22px 44px rgba(24,17,6,.25);
  --shadow-menu: 0 22px 44px rgba(0,0,0,.5);
  --shadow-arrow: 0 8px 22px rgba(30,22,8,.16);

  /* Motion */
  --ease-reveal: cubic-bezier(.22,.61,.21,1);
  --duration-reveal: .85s;      /* scroll reveal: fade + 26px rise */
  --duration-hover: .25s;       /* color/background transitions */
  --duration-lift: .4s;         /* card translateY(-8px) lift */
}
