/** Shopify CDN: Minification failed

Line 164:0 Unexpected "}"

**/
/* Blog landing — page-specific styles. Layered on site.css */

/* ---- Page container ------------------------------------------------- */
.blog-wrap { max-width: 1440px; margin: 0 auto; }

/* ---- Editorial intro ----------------------------------------------- */
.blog-intro { padding: 96px 48px 64px; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 80px; align-items: end; }
@media (max-width: 900px) { .blog-intro { grid-template-columns: 1fr; gap: 32px; padding: 64px 24px 40px; } }
.blog-intro__eyebrow { display: flex; gap: 14px; align-items: center; font-size: 11px; letter-spacing: 0.32em; text-transform: uppercase; color: var(--fg-2); }
.blog-intro__eyebrow .dot { width: 4px; height: 4px; border-radius: 999px; background: var(--norsu-burgundy); display: inline-block; }
.blog-intro__title { font-family: var(--font-sans); font-weight: 200; font-size: clamp(56px, 8vw, 128px); line-height: 0.96; letter-spacing: -0.025em; color: var(--norsu-burgundy); margin: 0 0 24px; }
.blog-intro__sub { font-family: var(--font-cursive); font-size: clamp(22px, 3vw, 34px); font-weight: 400; color: var(--norsu-burgundy); opacity: 0.6; margin: 0 0 32px; }
.blog-intro__body { font-size: 16px; font-weight: 300; line-height: 1.75; color: var(--fg-2); max-width: 420px; margin: 0; }
.blog-intro__right { display: flex; flex-direction: column; gap: 28px; }
.blog-intro__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.blog-stat { background: var(--norsu-mist); padding: 20px 16px; border-radius: var(--r-sm); }
.blog-stat__num { font-size: clamp(28px, 3vw, 40px); font-weight: 200; color: var(--norsu-burgundy); line-height: 1; }
.blog-stat__label { font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--fg-3); margin-top: 6px; }
.blog-intro__latest { display: flex; flex-direction: column; gap: 6px; }
.blog-intro__latest-label { font-size: 11px; letter-spacing: 0.28em; text-transform: uppercase; color: var(--fg-3); }
.blog-intro__latest-title { font-size: 18px; font-weight: 300; color: var(--norsu-burgundy); text-decoration: none; line-height: 1.4; border-bottom: 1px solid var(--norsu-blush); padding-bottom: 12px; }
.blog-intro__latest-title:hover { color: var(--norsu-taupe); }

/* ---- Divider -------------------------------------------------------- */
.blog-divider { height: 1px; background: var(--norsu-blush); margin: 0 48px; }
@media (max-width: 720px) { .blog-divider { margin: 0 20px; } }

/* ---- Featured article ---------------------------------------------- */
.blog-feature { padding: 64px 48px; display: grid; grid-template-columns: 1.15fr 1fr; gap: 64px; align-items: center; }
@media (max-width: 960px) { .blog-feature { grid-template-columns: 1fr; gap: 36px; padding: 48px 24px; } }
.blog-feature__img-wrap { position: relative; border-radius: var(--r-sm); overflow: hidden; aspect-ratio: 4 / 3; }
.blog-feature__img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; }
.blog-feature__img-wrap:hover img { transform: scale(1.04); }
.blog-feature__badge { position: absolute; top: 20px; left: 20px; background: var(--norsu-burgundy); color: var(--norsu-blush); font-size: 10px; letter-spacing: 0.3em; text-transform: uppercase; padding: 6px 14px; border-radius: 999px; }
.blog-feature__info { display: flex; flex-direction: column; gap: 20px; }
.blog-feature__tag { display: inline-block; font-size: 11px; letter-spacing: 0.28em; text-transform: uppercase; color: var(--fg-3); border-bottom: 1px solid var(--norsu-blush); padding-bottom: 8px; }
.blog-feature__tag a { color: inherit; text-decoration: none; }
.blog-feature__title { font-family: var(--font-sans); font-weight: 300; font-size: clamp(28px, 3.5vw, 48px); line-height: 1.1; letter-spacing: -0.02em; color: var(--norsu-burgundy); margin: 0; }
.blog-feature__title em { font-style: italic; font-weight: 300; }
.blog-feature__excerpt { font-size: 15px; font-weight: 300; line-height: 1.7; color: var(--fg-1); margin: 0; max-width: 480px; }
.blog-feature__author { display: flex; align-items: center; gap: 14px; margin-top: 8px; }
.blog-feature__avatar { width: 44px; height: 44px; border-radius: 999px; background-size: cover; background-position: center; background-color: var(--norsu-blush); flex: 0 0 auto; }
.blog-feature__by { font-size: 13px; color: var(--fg-1); line-height: 1.4; }
.blog-feature__by small { display: block; font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--fg-3); margin-top: 4px; }
.blog-feature__cta { align-self: flex-start; margin-top: 8px; }

/* ---- Category filter ----------------------------------------------- */
.blog-filter { padding: 0 48px; display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; margin-bottom: 36px; }
@media (max-width: 720px) { .blog-filter { padding: 0 20px; } }
.blog-chips { display: flex; gap: 8px; flex-wrap: wrap; }
.blog-chip { background: transparent; border: 1px solid var(--norsu-blush); border-radius: 999px; padding: 7px 18px; font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--fg-2); cursor: pointer; text-decoration: none; transition: all 0.2s; }
.blog-chip:hover, .blog-chip--active { background: var(--norsu-burgundy); border-color: var(--norsu-burgundy); color: var(--norsu-cream); }
.blog-sort { font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--fg-2); border: 1px solid var(--norsu-blush); border-radius: var(--r-sm); padding: 8px 28px 8px 12px; cursor: pointer; appearance: none; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%228%22%20viewBox%3D%220%200%2012%208%22%3E%3Cpath%20d%3D%22M1%201l5%205%205-5%22%20stroke%3D%22%23642838%22%20fill%3D%22none%22%20stroke-width%3D%222%22%2F%3E%3C%2Fsvg%3E"); background-repeat: no-repeat; background-position: right 4px center; }

/* ---- Article grid --------------------------------------------------- */
.blog-grid { padding: 0 48px 80px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px 32px; }
@media (max-width: 1024px) { .blog-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .blog-grid { grid-template-columns: 1fr; padding: 0 20px 56px; } }
.blog-card { display: flex; flex-direction: column; gap: 16px; text-decoration: none; }
.blog-card__img-wrap { position: relative; border-radius: var(--r-sm); overflow: hidden; aspect-ratio: 16 / 10; background: var(--norsu-mist); }
.blog-card__img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.blog-card__img-wrap:hover img { transform: scale(1.06); }
.blog-card__badge { position: absolute; bottom: 12px; left: 12px; display: flex; gap: 8px; align-items: center; }
.blog-card__cat { background: rgba(255,255,255,0.9); backdrop-filter: blur(6px); border-radius: 999px; padding: 4px 12px; font-size: 10px; letter-spacing: 0.25em; text-transform: uppercase; color: var(--norsu-burgundy); }
.blog-card__info { display: flex; flex-direction: column; gap: 8px; }
.blog-card__meta { display: flex; align-items: center; gap: 10px; font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--fg-3); }
.blog-card__dot { width: 3px; height: 3px; border-radius: 999px; background: currentColor; }
.blog-card__title { font-family: var(--font-sans); font-weight: 300; font-size: clamp(18px, 2vw, 22px); line-height: 1.2; letter-spacing: -0.01em; color: var(--norsu-burgundy); margin: 0; text-wrap: pretty; }
.blog-card__title em { font-style: italic; }
.blog-card__excerpt { font-size: 14px; font-weight: 300; line-height: 1.65; color: var(--fg-2); margin: 0; max-width: 380px; }
.blog-card__read { font-size: 11px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--norsu-burgundy); border-bottom: 1px solid currentColor; padding-bottom: 3px; align-self: flex-start; margin-top: 2px; }
.blog-card:hover .blog-card__title { opacity: 0.85; }

/* ---- Editor's letter (pull module) --------------------------------- */
.blog-letter { background: var(--norsu-mist); padding: 80px 48px; margin: 24px 0 96px; }
@media (max-width: 720px) { .blog-letter { padding: 56px 24px; margin: 16px 0 64px; } }
.blog-letter__inner { max-width: 880px; margin: 0 auto; display: grid; grid-template-columns: 1fr 2.2fr; gap: 56px; align-items: start; }
@media (max-width: 800px) { .blog-letter__inner { grid-template-columns: 1fr; gap: 24px; } }
.blog-letter__left { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.blog-letter__avatar { width: 80px; height: 80px; border-radius: 999px; object-fit: cover; }
.blog-letter__sig { font-family: var(--font-cursive); font-size: 28px; color: var(--norsu-burgundy); }
.blog-letter__title { font-size: 11px; letter-spacing: 0.28em; text-transform: uppercase; color: var(--fg-3); }
.blog-letter__right { display: flex; flex-direction: column; gap: 24px; }
.blog-letter__eyebrow { font-size: 11px; letter-spacing: 0.32em; text-transform: uppercase; color: var(--fg-3); }
.blog-letter__heading { font-family: var(--font-sans); font-weight: 300; font-size: clamp(24px, 2.5vw, 32px); color: var(--norsu-burgundy); margin: 0; line-height: 1.25; letter-spacing: -0.01em; }
.blog-letter__body { font-size: 15px; font-weight: 300; line-height: 1.8; color: var(--fg-1); margin: 0; }
.blog-letter__link { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--norsu-burgundy); text-decoration: none; border-bottom: 1px solid var(--norsu-blush); padding-bottom: 4px; }
.blog-letter__link:hover { border-color: var(--norsu-burgundy); }

/* ---- Newsletter strip ---------------------------------------------- */
.blog-newsletter { background: var(--norsu-burgundy); padding: 72px 48px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 32px; }
@media (max-width: 720px) { .blog-newsletter { padding: 56px 24px; gap: 24px; } }
.blog-newsletter__eyebrow { font-size: 11px; letter-spacing: 0.32em; text-transform: uppercase; color: var(--norsu-blush); opacity: 0.75; }
.blog-newsletter__title { font-family: var(--font-sans); font-weight: 200; font-size: clamp(28px, 3.5vw, 44px); line-height: 1.1; letter-spacing: -0.02em; color: var(--norsu-cream); margin: 0; }
.blog-newsletter__title em { font-family: var(--font-cursive); font-style: normal; font-weight: 400; }
.blog-newsletter__sub { font-size: 14px; font-weight: 300; line-height: 1.7; color: var(--norsu-blush); opacity: 0.8; max-width: 480px; margin: 0; }
.blog-newsletter__form { display: flex; gap: 0; max-width: 460px; width: 100%; }
.blog-newsletter__input { flex: 1; background: rgba(255,255,255,0.12); border: 1px solid rgba(255,255,255,0.2); border-right: none; border-radius: 4px 0 0 4px; padding: 14px 18px; font-size: 14px; color: var(--norsu-cream); outline: none; }
.blog-newsletter__input::placeholder { color: rgba(255,255,255,0.45); }
.blog-newsletter__input:focus { background: rgba(255,255,255,0.16); border-color: rgba(255,255,255,0.4); }
.blog-newsletter__btn { background: var(--norsu-cream); color: var(--norsu-burgundy); border: none; border-radius: 0 4px 4px 0; padding: 14px 24px; font-size: 12px; letter-spacing: 0.22em; text-transform: uppercase; cursor: pointer; font-family: var(--font-sans); white-space: nowrap; transition: background 0.2s; }
.blog-newsletter__btn:hover { background: var(--norsu-blush); }

/* ---- Topics grid --------------------------------------------------- */
.blog-topics { padding: 96px 48px 64px; }
@media (max-width: 720px) { .blog-topics { padding: 64px 24px 40px; } }
.blog-topics__head { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 36px; gap: 24px; flex-wrap: wrap; }
.blog-topics__head h2 { font-family: var(--font-sans); font-weight: 300; font-size: clamp(28px, 3vw, 40px); color: var(--norsu-burgundy); margin: 0; letter-spacing: -0.01em; }
.blog-topics__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
@media (max-width: 900px) { .blog-topics__grid { grid-template-columns: repeat(2, 1fr); } }
.blog-topic { display: block; aspect-ratio: 1 / 1; position: relative; border-radius: var(--r-sm); overflow: hidden; background-size: cover; background-position: center; text-decoration: none; }
.blog-topic::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(100, 40, 56, 0.0) 40%, rgba(100, 40, 56, 0.55)); }
.blog-topic__label { position: absolute; bottom: 16px; left: 0; right: 0; text-align: center; font-size: 12px; letter-spacing: 0.28em; text-transform: uppercase; color: var(--norsu-cream); }
.blog-topic:hover::before { background: linear-gradient(180deg, rgba(100, 40, 56, 0.15) 0%, rgba(100, 40, 56, 0.65)); }

/* ---- Pagination ---------------------------------------------------- */
.blog-pagination { padding: 16px 48px 80px; display: flex; justify-content: center; align-items: center; gap: 8px; }
@media (max-width: 720px) { .blog-pagination { padding: 8px 20px 56px; } }
.blog-page { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border-radius: 999px; font-size: 13px; letter-spacing: 0.08em; color: var(--fg-2); text-decoration: none; transition: all 0.2s; border: 1px solid transparent; }
.blog-page:hover { border-color: var(--norsu-blush); color: var(--norsu-burgundy); }
.blog-page--active { background: var(--norsu-burgundy); color: var(--norsu-cream); border-color: var(--norsu-burgundy); }
.blog-page--prev, .blog-page--next { font-size: 20px; font-weight: 200; }

/* ---- Shared button styles ----------------------------------------- */
.btn-outline { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--norsu-burgundy); border: 1px solid var(--norsu-burgundy); padding: 11px 22px; text-decoration: none; border-radius: 2px; transition: all 0.22s; font-family: var(--font-sans); }
.btn-outline:hover { background: var(--norsu-burgundy); color: var(--norsu-cream); }
.btn-text { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--norsu-burgundy); text-decoration: none; border-bottom: 1px solid transparent; padding-bottom: 2px; transition: border-color 0.2s; font-family: var(--font-sans); }
.btn-text:hover { border-color: var(--norsu-burgundy); }
.btn-text .arrow { font-size: 18px; font-weight: 200; transition: transform 0.2s; }
.btn-text:hover .arrow { transform: translateX(4px); }

/* ---- Responsive: mobile stack -------------------------------------- */
@media (max-width: 480px) {
  .blog-intro__stats { grid-template-columns: repeat(2, 1fr); }
  .blog-newsletter__form { flex-direction: column; }
  .blog-newsletter__input { border-right: 1px solid rgba(255,255,255,0.2); border-bottom: none; border-radius: 4px 4px 0 0; }
  .blog-newsletter__btn { border-radius: 0 0 4px 4px; }
}

/* ---- Responsive: colour token fallbacks (if not in site.css) ------- */
:root {
  --norsu-burgundy: #642838;
  --norsu-blush: #e8d5d5;
  --norsu-mist: #f4f0ec;
  --norsu-cream: #faf7f4;
  --norsu-taupe: #8c7b72;
  --fg-1: #3a2a2a;
  --fg-2: #6b5555;
  --fg-3: #9c8888;
  --r-sm: 8px;
  --font-sans: "Work Sans", sans-serif;
  --font-cursive: "Dancing Script", cursive;
}

/* ---- Video/media aspect ratio utility ------------------------------ */
.blog-video-wrap { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; }
.blog-video-wrap iframe, .blog-video-wrap video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.blog-card__step__media { aspect-ratio: 16/9; }
}