/** Shopify CDN: Minification failed

Line 352:0 Unexpected "{"

**/
/* ============================================================
   PIERRE MARSON — Base Styles
   Reset, typography scale, layout utilities, global components.
   Requires: pm-tokens.css loaded first.
   ============================================================ */

/* ── Contrast-corrected text tokens ─────────────────────────
   Applied as overrides; these supersede whatever pm-tokens.css
   declares for the three text roles below.
   ─────────────────────────────────────────────────────────── */
:root {
  --color-text-primary:   #1E1C1C;   /* warm near-black  — ≥14:1 on cream */
  --color-text-secondary: #6B6560;   /* warm taupe       — 5.1:1 on cream  */
  --color-text-accent:    #8C7A52;   /* antique brass    — 4.6:1 on cream  */
}

/* ── Reset ───────────────────────────────────────────────── */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body {
  font-family: var(--font-sans);
  font-weight: 300;
  font-size: var(--type-body);
  line-height: var(--leading-body);
  color: var(--color-text-primary);
  background-color: var(--color-bg-page);
  overflow-x: hidden;
}

img, video {
  display: block;
  max-width: 100%;
  height: auto;
}

a {
  color: inherit;
  text-decoration: none;
  transition: color var(--t-fast);
}

button {
  cursor: pointer;
  border: none;
  background: none;
  font-family: inherit;
  color: inherit;
}

ul, ol { list-style: none; }

input, select, textarea {
  font-family: inherit;
  font-size: inherit;
  color: inherit;
}

/* ── Typography ──────────────────────────────────────────── */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-serif);
  font-weight: 300;
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-normal);
  color: var(--color-text-primary);
}

h1 { font-size: var(--type-h1); }
h2 { font-size: var(--type-h2); }
h3 { font-size: var(--type-h3); }
h4 { font-size: var(--type-h4); font-weight: 400; }

p {
  font-size: var(--type-body-sm);
  font-weight: 350;              /* variable-font midpoint; falls back to 300 */
  line-height: var(--leading-body);
  color: var(--color-text-secondary);
}

/* Eyebrow — used everywhere for section/category labels */
.eyebrow {
  font-family: var(--font-sans);
  font-size: var(--type-eyebrow);
  font-weight: 400;
  letter-spacing: var(--tracking-widest);
  text-transform: uppercase;
  color: var(--color-text-accent);
  line-height: 1;
}

/* Editorial display headline */
.display-heading {
  font-family: var(--font-serif);
  font-size: var(--type-display);
  font-weight: 300;
  font-style: italic;
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-tight);
  color: var(--color-text-primary);  /* explicit — prevents light inheritance */
}

/* Price — always secondary, never dominant */
.price {
  font-family: var(--font-sans);
  font-size: var(--type-price);
  font-weight: 300;
  letter-spacing: var(--tracking-wide);
  color: var(--color-text-secondary);
}

.price--compare {
  text-decoration: line-through;
  opacity: 0.6;              /* was 0.5 — imperceptible on cream */
  margin-right: 0.5rem;
}

/* ── Layout ──────────────────────────────────────────────── */
.container {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 var(--space-4);
}

.container--narrow {
  max-width: var(--max-narrow);
  margin: 0 auto;
  padding: 0 var(--space-4);
}

.container--text {
  max-width: var(--max-text);
  margin: 0 auto;
  padding: 0 var(--space-4);
}

.section {
  padding: var(--space-section) 0;
}

.section--sm {
  padding: var(--space-10) 0;
}

/* ── Gold Hairline Divider ───────────────────────────────── */
.pm-divider {
  width: 32px;
  height: 1px;
  background: var(--pm-gold);
  margin: var(--space-4) 0;
}

.pm-divider--center { margin: var(--space-4) auto; }

/* ── Buttons ─────────────────────────────────────────────── */

/* Ghost — primary button style for Pierre Marson */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  font-family: var(--font-sans);
  font-size: var(--type-eyebrow);
  font-weight: 400;
  letter-spacing: var(--tracking-widest);
  text-transform: uppercase;
  padding: 1.1rem 2.8rem;
  border: 0.5px solid currentColor;
  background: transparent;
  transition: border-width var(--t-fast), letter-spacing var(--t-base);
  cursor: pointer;
  white-space: nowrap;
  min-width: 200px;
}

.btn:hover {
  border-width: 1px;
  letter-spacing: calc(var(--tracking-widest) + 0.03em);
}

/* On dark backgrounds */
.btn--light {
  color: var(--pm-white);
  border-color: rgba(255, 255, 255, 0.5);
}

.btn--light:hover {
  border-color: var(--pm-white);
}

/* On cream/light backgrounds */
.btn--dark {
  color: var(--pm-charcoal);
  border-color: rgba(38, 37, 37, 0.55);  /* was 0.4 — failed WCAG non-text contrast */
}

.btn--dark:hover {
  border-color: rgba(38, 37, 37, 0.85);
  letter-spacing: calc(var(--tracking-widest) + 0.03em);
}

/* Gold accent variant */
.btn--gold {
  color: var(--pm-gold);
  border-color: rgba(199, 164, 99, 0.65);  /* was 0.5 — too faint on light surfaces */
}

.btn--gold:hover {
  border-color: var(--pm-gold);
  background-color: rgba(199, 164, 99, 0.04);  /* micro warm wash */
}

/* Text link — for secondary actions */
.btn-text {
  font-family: var(--font-sans);
  font-size: var(--type-eyebrow);
  font-weight: 400;
  letter-spacing: var(--tracking-wider);
  text-transform: uppercase;
  color: var(--color-text-accent);
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  position: relative;
}

.btn-text::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 1px;               /* was 0.5px — subpixel; invisible on non-retina */
  background: currentColor;
  transition: width var(--t-base);
}

.btn-text:hover::after { width: 100%; }

/* ── Scroll Reveal ───────────────────────────────────────── */
.reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity var(--t-reveal), transform var(--t-reveal);
}

.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Stagger helpers */
.reveal-d1 { transition-delay: 0.08s; }
.reveal-d2 { transition-delay: 0.16s; }
.reveal-d3 { transition-delay: 0.24s; }
.reveal-d4 { transition-delay: 0.32s; }
.reveal-d5 { transition-delay: 0.40s; }

/* ── Skip Link (accessibility) ───────────────────────────── */
.skip-link {
  position: absolute;
  top: -100%;
  left: var(--space-4);
  z-index: 9999;
  padding: var(--space-2) var(--space-4);
  background: var(--pm-emerald);
  color: var(--pm-white);
  font-size: var(--type-caption);
  letter-spacing: var(--tracking-wide);
  transition: top 0.2s;
}

.skip-link:focus { top: var(--space-4); }

/* ── Visually Hidden (screen reader only) ────────────────── */
.sr-only {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

/* ── Overlays / Backdrops ────────────────────────────────── */
.pm-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(15, 43, 33, 0.6);
  z-index: 900;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--t-base);
}

.pm-backdrop.active {
  opacity: 1;
  pointer-events: all;
}

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 768px) {
  .container,
  .container--narrow,
  .container--text {
    padding: 0 var(--space-3);
  }

  .section { padding: var(--space-12) 0; }
  .section--sm { padding: var(--space-8) 0; }

  .btn { padding: 1rem 2rem; min-width: 160px; }
}
#template--29761120862550__contact-details,
[data-section-id="template--29761120862550__contact-details"] {
  color: #000000 !important;
}

#template--29761120862550__contact-details p,
#template--29761120862550__contact-details span,
#template--29761120862550__contact-details a,
[data-section-id="template--29761120862550__contact-details"] p,
[data-section-id="template--29761120862550__contact-details"] span,
[data-section-id="template--29761120862550__contact-details"] a {
  color: #000000 !important;
}
#shopify-section-template--29761120895318__hero_editorial_GDbqKC {
  padding-bottom: 0 !important;
}

#shopify-section-template--29761120895318__private-list {
  padding-top: 0 !important;
}
{
  gap: 2.5rem;
}