/** Shopify CDN: Minification failed

Line 64:0 All "@import" rules must come first

**/
/* =============================================================================
   NORTHLETTER — Announcement Bar Marquee
   Scoped entirely to .nl-mq-* classes. Nothing else affected.
   ============================================================================= */

/* Clip overflow so text scrolls inside the bar */
.announcement-bar__message.nl-mq-active {
  overflow: hidden !important;
  display: block !important;
  width: 100% !important;
  white-space: nowrap !important;
}

/* Track: two copies side-by-side, animates -50% for seamless loop */
.nl-mq-track {
  display: inline-flex !important;
  white-space: nowrap !important;
  will-change: transform !important;
  animation: nl-marquee-scroll 45s linear infinite !important;
}

/* Pause on hover */
.announcement-bar:hover .nl-mq-track {
  animation-play-state: paused !important;
}

.nl-mq-item {
  display: inline-block !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

/* Separator dot between loops */
.nl-mq-sep {
  opacity: 0.4 !important;
  letter-spacing: 0 !important;
}

@keyframes nl-marquee-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* Respect reduced-motion preference */
@media (prefers-reduced-motion: reduce) {
  .nl-mq-track {
    animation: none !important;
  }
}

/* =============================================================================
   NORTHLETTER — Layout, Spacing & Hierarchy
   Theme: Copy of Dawn (#149983821917)

   Scope: typography, section spacing, dividers, vertical rhythm, trust bar.
   NOT touched: product images, aspect ratios, object-fit, footer background.
   ============================================================================= */

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;1,9..40,400&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&display=swap');

/* ── DESIGN TOKENS ──────────────────────────────────────────────────────────── */
:root {
  --nl-serif:   'Cormorant Garamond', Georgia, serif;
  --nl-sans:    'DM Sans', -apple-system, sans-serif;
  --nl-bark:    #2E2620;
  --nl-charcoal:#1f1f1f;
  --nl-body:    #3a3a3a;
  --nl-soft:    #5a4e46;
  --nl-muted:   #7a6e68;
  --nl-divider: #e5e0da;
  --nl-ivory:   #f7f3ee;
}

/* ── BASE TYPOGRAPHY ────────────────────────────────────────────────────────── */
body {
  font-family: var(--nl-sans) !important;
  color: var(--nl-body) !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--nl-serif) !important;
  font-weight: 400 !important;
  color: var(--nl-charcoal) !important;
  letter-spacing: 0.02em !important;
}

p, li, label, input, textarea, select {
  font-family: var(--nl-sans) !important;
  color: var(--nl-body) !important;
  opacity: 1 !important;
}

/* ── ANNOUNCEMENT BAR ───────────────────────────────────────────────────────── */
.announcement-bar {
  padding: 9px 0 !important;
  border-bottom: 1px solid var(--nl-divider) !important;
}

.announcement-bar__message,
.announcement-bar__message p,
.announcement-bar__message a,
.announcement-bar__message span {
  font-family: var(--nl-sans) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.07em !important;
  color: var(--nl-bark) !important;
  opacity: 1 !important;
}

/* ── HEADER ─────────────────────────────────────────────────────────────────── */
.header-wrapper {
  border-bottom: 1px solid var(--nl-divider) !important;
}

.header {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

.header__menu-item span,
.header__active-menu-item span,
.header__menu-item,
.header__active-menu-item {
  font-family: var(--nl-sans) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
  color: var(--nl-charcoal) !important;
  opacity: 1 !important;
}

/* ── PAGE WIDTH ─────────────────────────────────────────────────────────────── */
.page-width {
  max-width: 1240px !important;
  padding-left: 40px !important;
  padding-right: 40px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ── SECTION DIVIDERS ───────────────────────────────────────────────────────── */
/* Thin ruled line between every homepage section */
.shopify-section + .shopify-section {
  border-top: 1px solid var(--nl-divider) !important;
}

/* ── VERTICAL RHYTHM — section padding ─────────────────────────────────────── */
.featured-collection {
  padding-top: 72px !important;
  padding-bottom: 72px !important;
}

.image-with-text {
  padding-top: 80px !important;
  padding-bottom: 80px !important;
}

.rich-text {
  padding-top: 64px !important;
  padding-bottom: 64px !important;
}

.multicolumn {
  padding-top: 64px !important;
  padding-bottom: 64px !important;
}

.newsletter {
  padding-top: 56px !important;
  padding-bottom: 56px !important;
}

/* ── SECTION HEADINGS — hierarchy ──────────────────────────────────────────── */
.featured-collection .title,
.image-with-text__heading,
.rich-text__heading,
.multicolumn__title {
  font-family: var(--nl-serif) !important;
  font-weight: 300 !important;
  letter-spacing: 0.04em !important;
  color: var(--nl-charcoal) !important;
}

.featured-collection .title {
  font-size: clamp(24px, 2.8vw, 38px) !important;
}

.image-with-text__heading {
  font-size: clamp(24px, 3vw, 40px) !important;
  margin-bottom: 20px !important;
  line-height: 1.2 !important;
}

.rich-text__heading {
  font-size: clamp(22px, 2.5vw, 34px) !important;
}

/* ── FEATURED COLLECTION ────────────────────────────────────────────────────── */
/* Title row — heading left, "View all" right */
.featured-collection .title-wrapper-with-link,
.featured-collection .title-wrapper {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  margin-bottom: 36px !important;
}

.featured-collection .title {
  margin: 0 !important;
}

.featured-collection .link,
.featured-collection a.link {
  font-family: var(--nl-sans) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  margin-left: 24px !important;
  flex-shrink: 0 !important;
  color: var(--nl-bark) !important;
  text-underline-offset: 4px !important;
}

/* Product grid gap */
.product-grid {
  gap: 22px !important;
}

/* Card text — tighter, cleaner (images NOT touched) */
.card__content,
.card__information {
  padding-top: 12px !important;
}

.card__heading,
.card__heading a {
  font-family: var(--nl-serif) !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
  color: var(--nl-charcoal) !important;
  margin-bottom: 4px !important;
  text-decoration: none !important;
}

.price,
.price .price-item,
.price .price-item--regular {
  font-family: var(--nl-sans) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: var(--nl-soft) !important;
  margin-top: 4px !important;
  opacity: 1 !important;
}

/* ── IMAGE WITH TEXT ────────────────────────────────────────────────────────── */
.image-with-text__text,
.image-with-text__text p,
.image-with-text .rte p {
  font-family: var(--nl-sans) !important;
  font-size: 15px !important;
  line-height: 1.88 !important;
  color: var(--nl-body) !important;
  opacity: 1 !important;
}

/* ── RICH TEXT ──────────────────────────────────────────────────────────────── */
.rich-text__text,
.rich-text__text p,
.rich-text .rte p {
  font-family: var(--nl-sans) !important;
  font-size: 16px !important;
  line-height: 1.85 !important;
  color: var(--nl-body) !important;
  opacity: 1 !important;
}

/* ── NL TRUST BAR ───────────────────────────────────────────────────────────── */
.nl-trust-bar {
  background: var(--nl-ivory) !important;
  padding: 44px 0 !important;
}

/* section divider rules handle border-top via .shopify-section + .shopify-section */

.nl-trust-bar__inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 40px;
}

.nl-trust-bar__list {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.nl-trust-bar__item {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  padding: 0 20px !important;
  border-right: 1px solid var(--nl-divider) !important;
}

.nl-trust-bar__item:last-child {
  border-right: none !important;
}

.nl-trust-bar__icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 11px !important;
  color: var(--nl-bark) !important;
}

.nl-trust-bar__icon svg {
  width: 22px !important;
  height: 22px !important;
  stroke: var(--nl-bark) !important;
  opacity: 0.85 !important;
  stroke-width: 1.3 !important;
}

.nl-trust-bar__title {
  font-family: var(--nl-sans) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--nl-bark) !important;
  margin: 0 0 5px !important;
  line-height: 1.3 !important;
  opacity: 1 !important;
}

.nl-trust-bar__body {
  font-family: var(--nl-sans) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: var(--nl-soft) !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  opacity: 1 !important;
}

/* ── VIDEO SECTION ──────────────────────────────────────────────────────────── */
/* Narrow the container to reduce height proportionally — no cropping, no max-height */
.video-section .page-width,
.video-section .page-width--narrow {
  max-width: 780px !important;
}

/* Generous white space above and below for editorial breathing room */
.video-section {
  padding-top: 88px !important;
  padding-bottom: 88px !important;
}

/* ── FOOTER SPACING (background colour untouched) ───────────────────────────── */
.footer {
  padding-top: 64px !important;
}

.footer__content-bottom,
.footer__content-bottom-wrapper {
  margin-top: 48px !important;
  padding-top: 24px !important;
  border-top: 1px solid var(--nl-divider) !important;
}

/* ── MOBILE ─────────────────────────────────────────────────────────────────── */
@media (max-width: 749px) {
  .page-width {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .featured-collection {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }

  .image-with-text {
    padding-top: 52px !important;
    padding-bottom: 52px !important;
  }

  .rich-text {
    padding-top: 44px !important;
    padding-bottom: 44px !important;
  }

  .footer {
    padding-top: 48px !important;
  }

  .product-grid {
    gap: 14px !important;
  }

  .nl-trust-bar {
    padding: 36px 0 !important;
  }

  .nl-trust-bar__inner {
    padding: 0 16px;
  }

  .nl-trust-bar__list {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 28px 0 !important;
  }

  .nl-trust-bar__item {
    border-right: none !important;
    padding: 0 12px !important;
  }

  .nl-trust-bar__item:nth-child(odd) {
    border-right: 1px solid var(--nl-divider) !important;
  }
}
