
.nw-sapin *{box-sizing:border-box}
.nw-sapin{margin:0;background:#faf8f1;color:#254536;font-family:Arial,sans-serif;line-height:1.65}
.nw-sapin article{max-width:1040px;margin:auto;padding:55px 28px}
.nw-sapin header{max-width:760px;margin-bottom:48px}
.nw-sapin .eyebrow{letter-spacing:.18em;text-transform:uppercase;font-size:12px;font-weight:bold;color:#687958}
.nw-sapin .nw-title{font:clamp(38px,6vw,68px)/1.05 Georgia,serif;letter-spacing:-.035em;margin:20px 0}
.nw-sapin header p{font-size:18px;color:#596958}
.nw-sapin .equipment{padding:18px 24px;background:#ecefe3;border-radius:14px;margin:28px 0 45px}
.nw-sapin .step{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:48px;margin:36px 0 65px}
.nw-sapin .step:nth-of-type(even) .picture{order:2}
.nw-sapin svg{display:block;width:100%;height:auto}
.nw-sapin .number{font:italic 22px Georgia;color:#9b703e}
.nw-sapin h3{font:32px/1.15 Georgia;margin:12px 0 18px}
.nw-sapin .note{border-top:1px solid #d8ddcd;padding-top:24px;color:#596958}
.nw-sapin footer{margin-top:35px;font-size:13px;color:#6b7764}
@media(max-width:640px){.nw-sapin article{padding:32px 20px}
.nw-sapin .step{grid-template-columns:1fr;gap:22px;margin-bottom:48px}
.nw-sapin .step:nth-of-type(even) .picture{order:0}
.nw-sapin h3{font-size:28px}
}
.nw-sapin text{font:22px Georgia;fill:#315542}
@keyframes nw-sapin-saw{50%{transform:translate(0,9px)}}
@keyframes nw-sapin-ripple{50%{opacity:.4}}
@keyframes nw-sapin-heat{50%{transform:translateY(-6px);opacity:.5}}
@keyframes nw-sapin-water{to{stroke-dashoffset:-32}}
.nw-sapin .nw-sapin-saw{animation:nw-sapin-saw 1.4s ease-in-out infinite}
.nw-sapin .nw-sapin-ripple{animation:nw-sapin-ripple 2s ease-in-out infinite}
.nw-sapin .nw-sapin-heat{animation:nw-sapin-heat 3s ease-in-out infinite}
.nw-sapin .nw-sapin-water{animation:nw-sapin-water 1.5s linear infinite}
@media(prefers-reduced-motion:reduce){.nw-sapin *{animation:none!important}
}
.nw-sapin{color-scheme:light;isolation:isolate;width:100%;overflow-wrap:break-word}
.nw-sapin p{margin:0 0 1em;font-size:16px;line-height:1.65;color:inherit}
.nw-sapin .step>div{min-width:0}
.nw-sapin svg{max-width:100%}

.nw-sapin{background:transparent;color:inherit}
.nw-sapin article{padding:24px 0;max-width:none}
.nw-sapin .equipment{color:#254536}
.nw-sapin .step h2{font:32px/1.15 Georgia,serif;margin:12px 0 18px;color:inherit}
.nw-sapin .step{gap:32px}
.nw-sapin .step svg{margin:0;border:0;box-shadow:none}
@media(max-width:640px){.nw-sapin .step h2{font-size:26px}.nw-sapin article{padding:20px 0}}

/* Editorial preparation checklist and expanded care guide. */
.nw-sapin .equipment{padding:32px;margin:32px 0 48px;background:linear-gradient(120deg,#edf1e6,#f6f2e7);border:1px solid #dce3d3;border-radius:22px}
.nw-sapin .equipment-kicker{display:block;font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#8b653b;margin-bottom:10px}
.nw-sapin .equipment h2{font:30px/1.2 Georgia,serif;margin:0 0 12px;color:#254536}
.nw-sapin .equipment-heading>p{max-width:720px;color:#526452;margin-bottom:26px}
.nw-sapin .equipment-list{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;padding:0}
.nw-sapin .equipment-list li{display:flex;gap:12px;margin:0;padding:20px 0 0;border-top:1px solid #ccd5c4;align-items:flex-start}
.nw-sapin .equipment-index{font:italic 20px/1.3 Georgia,serif;color:#956b3d;flex-shrink:0}
.nw-sapin .equipment-list strong{display:block;font-size:17px;line-height:1.4;margin-bottom:8px;color:#254536}
.nw-sapin .equipment-list p{font-size:14px;line-height:1.6;color:#526452;margin:0}
.nw-sapin .sapin-before,.nw-sapin .sapin-finish{max-width:820px;margin:44px auto 56px}
.nw-sapin .sapin-before h2,.nw-sapin .sapin-finish h2{font:32px/1.2 Georgia,serif;margin:10px 0 22px}
.nw-sapin .step{margin:48px 0 72px;gap:40px}
.nw-sapin .step h2{font-size:30px}
.nw-sapin .step p:last-child{margin-bottom:0}
.nw-sapin .sapin-finish{border-top:1px solid #d8ddcd;padding-top:30px}
.nw-sapin .sapin-sources{font-size:13px;color:#607060}
@media(max-width:900px){.nw-sapin .step{grid-template-columns:1fr;gap:24px}.nw-sapin .step:nth-of-type(even) .picture{order:0}.nw-sapin .picture{width:100%;max-width:480px;margin:auto}}
@media(max-width:600px){.nw-sapin .equipment{padding:24px 20px}.nw-sapin .equipment-list{grid-template-columns:1fr;gap:18px}.nw-sapin .equipment h2,.nw-sapin .step h2,.nw-sapin .sapin-before h2,.nw-sapin .sapin-finish h2{font-size:26px}}

.nw-sapin .sapin-detail-figure{margin:24px 0 32px}.nw-sapin .sapin-detail-figure svg{width:100%;height:auto;border:0;box-shadow:none;margin:0}.nw-sapin .sapin-detail-figure text{font:18px Arial,sans-serif;fill:#315542}.nw-sapin .sapin-detail-figure figcaption{font-size:14px;line-height:1.6;padding:14px 2px;color:#526452;text-align:left}.nw-sapin .sapin-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:-32px}.nw-sapin .sapin-shopping{margin:60px 0}.nw-sapin .sapin-shopping h2{font:32px/1.2 Georgia,serif;margin:12px 0 20px}.nw-sapin .sapin-shopping-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px}.nw-sapin .sapin-shopping-grid>div{min-width:0;display:flex;flex-direction:column}.nw-sapin .sapin-shopping h3{font:24px/1.25 Georgia,serif;margin:0 0 16px}.nw-sapin .sapin-shopping-grid>div>p{font-size:15px;min-height:150px}.nw-sapin .sapin-affiliate{font-size:13px;color:#526452}.nw-sapin .sapin-shopping-note{padding:24px;background:#edf1e7;border-radius:16px;color:#254536;margin-top:28px}.nw-sapin .sapin-tap{animation:sapin-tap 2.5s ease-in-out infinite}.nw-sapin .sapin-needles{animation:sapin-needles 2.5s ease-in-out infinite}.nw-sapin .sapin-bark-ring{animation:sapin-bark 3s ease-in-out infinite}@keyframes sapin-tap{0%,50%,100%{transform:translateY(0)}35%{transform:translateY(-8px)}}@keyframes sapin-needles{0%,45%{opacity:0;transform:translateY(-8px)}80%{opacity:1}100%{opacity:0;transform:translateY(14px)}}@keyframes sapin-bark{50%{opacity:.4}}@media(max-width:900px){.nw-sapin .sapin-detail-grid,.nw-sapin .sapin-shopping-grid{grid-template-columns:1fr}.nw-sapin .sapin-shopping-grid>div>p{min-height:0}.nw-sapin .sapin-detail-figure{max-width:600px;margin:24px auto}.nw-sapin .sapin-shopping-grid{gap:40px}}@media(prefers-reduced-motion:reduce){.nw-sapin *{animation:none!important}}
.nw-sapin .sapin-shopping .lcs-article-affiliate-product--compact{display:flex;flex-direction:column;gap:18px;padding:22px;margin-top:auto;height:100%}
.nw-sapin .sapin-shopping .lcs-article-affiliate-product__image{display:block;width:100%;height:210px;min-height:0;background:#fff}
.nw-sapin .sapin-shopping .lcs-article-affiliate-product__image img{display:block;width:100%;height:210px;object-fit:contain;margin:0;border-radius:0}
.nw-sapin .sapin-shopping .lcs-article-affiliate-product__content{display:flex;flex-direction:column;flex:1;align-items:flex-start;gap:12px;width:100%}
.nw-sapin .sapin-shopping .lcs-article-affiliate-product__content h4{font-size:19px;line-height:1.4;margin:0;min-height:54px}
.nw-sapin .sapin-shopping .lcs-article-affiliate-product__content p{margin:0}
.nw-sapin .sapin-shopping .lcs-article-affiliate-product__content .button{margin-top:auto;display:inline-flex;justify-content:center;align-items:center;min-height:44px;padding:12px 20px;font-size:14px;line-height:1.3}
.nw-sapin .sapin-shopping .lcs-compact-product__price-info{font-size:12px;margin:0;width:100%}
.nw-sapin .sapin-shopping-grid>div>p{min-height:0;margin-bottom:24px}
@media(max-width:900px){.nw-sapin .sapin-shopping .lcs-article-affiliate-product--compact{height:auto}.nw-sapin .sapin-shopping .lcs-article-affiliate-product__content h4{min-height:0}}
@media(min-width:901px){.nw-sapin .sapin-shopping-grid>div{display:grid;grid-template-rows:42px 120px 1fr}.nw-sapin .sapin-shopping-grid>div>p{margin:0}.nw-sapin .sapin-shopping .lcs-article-affiliate-product--compact{margin:0;height:auto}.nw-sapin .sapin-shopping .lcs-article-affiliate-product__content .lcs-compact-product__label{min-height:52px}}

.nw-sapin .sapin-before .sapin-detail-figure{background:#edf1e7;border-radius:24px;overflow:hidden;padding:16px 20px 22px;max-width:680px}.nw-sapin .sapin-before .sapin-detail-figure figcaption{font-size:20px;line-height:1.45;text-align:center;padding:18px;background:#fffaf1;border-radius:14px;color:#254536}.nw-sapin .sapin-detail-figure figcaption{font-size:17px}.nw-sapin .sapin-detail-figure text{font-size:19px}.nw-sapin .sapin-day-check{animation:sapin-check 4s ease-in-out infinite}@keyframes sapin-check{0%,10%{opacity:.15}40%,100%{opacity:1}}@media(prefers-reduced-motion:reduce){.nw-sapin *{animation:none!important}}@media(min-width:901px){.nw-sapin .sapin-shopping-grid>div{grid-template-rows:42px 155px 1fr}}

/* One coordinate system for each illustrated scene. */
.nw-sapin .wc-art{position:relative;width:100%;aspect-ratio:3/2;overflow:hidden;isolation:isolate;border-radius:22px;background:#faf7ef;contain:paint}
.nw-sapin .wc-art>img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;margin:0;border:0;border-radius:0;box-shadow:none;animation:none;transform:none}
.nw-sapin .wc-art>svg{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;max-height:none;margin:0;border:0;pointer-events:none;z-index:1}
.nw-sapin .sapin-before .sapin-detail-figure{background:#f5f1e7;padding:0 0 18px;max-width:760px}
.nw-sapin .sapin-before .sapin-detail-figure figcaption{margin:0 18px;padding:18px}
.nw-sapin .picture{max-width:620px}
.nw-sapin .wc-art img.wc-moving-saw{inset:auto;left:35%;top:1.5%;width:65%;height:65%;z-index:2;animation:sapin-saw 2s ease-in-out infinite}
@keyframes sapin-saw{0%,100%{transform:translate(-1%,.8%)}50%{transform:translate(1%,-.8%)}}
.nw-sapin .wc-water-stream path{fill:none;stroke-linecap:round}
.nw-sapin .wc-stream-body{stroke:#c4dfdb;stroke-width:7;opacity:.35}
.nw-sapin .wc-stream-light{stroke:#fff;stroke-width:2;opacity:.45}
.nw-sapin .wc-stream-glimmer{stroke:#fff;stroke-width:2;stroke-dasharray:14 65;opacity:.65;animation:sapin-flow 1.8s linear infinite}
@keyframes sapin-flow{to{stroke-dashoffset:-79}}
.nw-sapin .wc-botanical-note{position:absolute;left:5%;bottom:5%;padding:8px 12px;background:#fffcf0ed;border-radius:10px;color:#36513d;font-size:14px;line-height:1.5}
.nw-sapin [hidden]{display:none!important}
@media(prefers-reduced-motion:reduce){.nw-sapin .wc-art *{animation:none!important}.nw-sapin .wc-stream-glimmer{display:none!important}}

.nw-sapin .wc-art:not(.art-ready)>:not(img){visibility:hidden}
.nw-sapin .wc-art:not(.art-ready)>.wc-moving-saw{visibility:hidden}

.nw-sapin .wc-heat-waves{animation:sapin-heat-rise 3s ease-in-out infinite}
@keyframes sapin-heat-rise{0%{opacity:.2;transform:translateY(12px)}50%{opacity:.85}100%{opacity:.2;transform:translateY(-20px)}}

.nw-sapin .wc-distance-arrow{transform-origin:980px 855px;animation:sapin-distance-pulse 2.4s ease-in-out infinite}
@keyframes sapin-distance-pulse{0%,100%{transform:scaleX(.88);opacity:.65}50%{transform:scaleX(1);opacity:1}}

.nw-sapin .wc-portrait-needle {
  position: absolute;
  left: 77%;
  top: 53%;
  z-index: 2;
  width: 2px;
  height: 10px;
  border-radius: 70%;
  background: #566a3b;
  opacity: 0;
  pointer-events: none;
  animation: sapin-portrait-needle 6s ease-in infinite;
}
.nw-sapin .wc-portrait-needle + .wc-portrait-needle {
  left: 75%;
  animation-delay: 3s;
}
@keyframes sapin-portrait-needle {
  0%, 24% { opacity: 0; transform: translateY(0) rotate(-20deg); }
  30% { opacity: .9; }
  62%, 100% { opacity: 0; transform: translate(8px, 50px) rotate(65deg); }
}

.nw-sapin .wc-bark-warning {
  position: absolute;
  top: 5%;
  right: 4%;
  width: 29%;
  aspect-ratio: 1;
  overflow: hidden;
  border: clamp(3px, .4vw, 5px) solid #a72c2c;
  border-radius: 50%;
  background: #f8ebd6;
}
.nw-sapin .wc-bark-warning img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  margin: 0;
}
.nw-sapin .wc-bark-warning::after {
  content: "";
  position: absolute;
  left: -3%;
  top: 50%;
  width: 106%;
  height: clamp(3px, .4vw, 5px);
  background: #a72c2c;
  transform: translateY(-50%) rotate(-45deg);
}

.nw-sapin .sapin-keepsake {
  margin-top: 22px;
  padding: 16px 20px;
  border-inline-start: 3px solid #956b3d;
  border-radius: 0 12px 12px 0;
  background: #f0eadc;
  color: #38513e;
}
.nw-sapin .sapin-keepsake > strong {
  display: block;
  margin-bottom: 4px;
  color: #704c2f;
}
.nw-sapin .sapin-keepsake > p { margin: 0; }

.nw-sapin .sapin-keepsake:has(> img) {
  display: grid;
  grid-template-columns: clamp(80px, 19%, 116px) minmax(0, 1fr);
  align-items: center;
  gap: 16px;
}
.nw-sapin .sapin-keepsake > img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  border-radius: 10px;
}
.nw-sapin .sapin-keepsake div > strong {
  display: block;
  margin-bottom: 4px;
  color: #704c2f;
}

.nw-sapin .sapin-related { margin: 36px 0 0; border-top: 1px solid #d8ddcd; padding-top: 24px; }
.nw-sapin .sapin-related h2 { margin: 0 0 14px; font: 30px/1.2 Georgia, serif; }
.nw-sapin .sapin-related ul {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
  gap: 12px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.nw-sapin .sapin-related li { margin: 0; }
.nw-sapin .sapin-related a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  height: 100%;
  padding: 14px 16px;
  border: 1px solid #d6dece;
  border-radius: 12px;
  background: #f2f4ec;
  color: #254536;
  font-weight: 700;
}

.nw-sapin .sapin-download {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 5px 10px;
  margin-top: 14px;
  padding: 10px;
  border-radius: 8px;
  background: #254536;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
}
.nw-sapin .sapin-download span { font-size: 11px; font-weight: 400; }
.nw-sapin .sapin-stand-tip > p { margin: 6px 0 12px; }
.nw-sapin .sapin-stand-tip > .sapin-affiliate { font-size: 13px; }
@media (min-width: 901px) {
  .nw-sapin .sapin-shopping-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.nw-sapin .wc-calendar {
  display: grid;
  grid-template-columns: minmax(105px, 30%) minmax(0, 1fr);
  align-items: center;
  gap: clamp(14px, 2.2vw, 28px);
  margin: 16px 0 0;
  padding: clamp(14px, 2vw, 24px);
  border: 1px solid #d9c8a9;
  border-radius: 18px;
  background: linear-gradient(135deg, #f6ecdc, #fcf9ef);
  color: #254536;
}
.nw-sapin .sapin-calendar-preview {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  border: 1px solid #e0d4bc;
  border-radius: 4px;
  box-shadow: 0 5px 12px #46331820;
}
.nw-sapin .sapin-calendar-copy > strong {
  display: block;
  font: 700 clamp(20px, 2.1vw, 27px)/1.15 Georgia, serif;
  color: #742c37;
}
.nw-sapin .sapin-calendar-copy > p { margin: 8px 0 0; font-size: 14px; line-height: 1.5; }
.nw-sapin .sapin-download { margin-top: 12px; min-height: 44px; }
.nw-sapin .sapin-watering-title {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.nw-sapin .sapin-watering-title .number {
  display: grid;
  place-items: center;
  flex: 0 0 40px;
  height: 40px;
  border-radius: 50%;
  background: #254536;
  color: #fff9eb;
  font: 700 16px/1 Arial, sans-serif;
}
@media (max-width: 900px) {
  .nw-sapin .sapin-watering > .picture { order: 1; }
}
@media (max-width: 420px) {
  .nw-sapin .wc-calendar { grid-template-columns: 92px minmax(0, 1fr); gap: 12px; }
  .nw-sapin .sapin-download { font-size: 12px; }
}

.nw-sapin .sapin-ordered-step {
  display: block;
  max-width: 820px;
  margin-inline: auto;
}
.nw-sapin .sapin-ordered-step > .picture {
  width: 100%;
  max-width: none;
  margin: 24px 0 0;
}

@media (min-width: 901px) {
  .nw-sapin .sapin-before,
  .nw-sapin .sapin-finish,
  .nw-sapin .sapin-ordered-step {
    max-width: none;
    margin-inline: 0;
    text-align: start;
  }
  .nw-sapin .sapin-before .sapin-detail-figure {
    max-width: none;
  }
  .nw-sapin .sapin-before .sapin-detail-figure figcaption {
    text-align: start;
  }
}

.nw-sapin .equipment { margin-block: 24px 28px; }
.nw-sapin .sapin-before,
.nw-sapin .sapin-finish,
.nw-sapin .sapin-ordered-step,
.nw-sapin .sapin-shopping { margin-block: 30px; }
.nw-sapin .sapin-finish { padding-top: 18px; }
.nw-sapin .sapin-shopping { margin-bottom: 12px; }
.nw-sapin article { padding-bottom: 0; }
.nw-sapin .sapin-detail-grid { margin-top: 0; gap: 20px; }
.nw-sapin .sapin-detail-grid .sapin-detail-figure { margin-block: 0; }

@media (min-width: 901px) {
  .nw-sapin .sapin-before,
  .nw-sapin .sapin-ordered-step {
    display: grid;
    grid-template-columns: minmax(0, 1.28fr) minmax(0, 1fr);
    align-items: start;
    gap: clamp(24px, 3vw, 44px);
  }
  .nw-sapin .sapin-before .sapin-detail-figure,
  .nw-sapin .sapin-ordered-step > .picture { margin: 0; }
  .nw-sapin .sapin-detail-grid { max-width: 960px; }
  .nw-sapin .sapin-shopping-grid > div {
    grid-template-rows: auto auto 1fr;
    gap: 10px;
  }
  .nw-sapin .sapin-shopping h3 { margin-bottom: 0; }
  .nw-sapin .sapin-shopping .lcs-article-affiliate-product__image,
  .nw-sapin .sapin-shopping .lcs-article-affiliate-product__image img { height: 150px; }
}

.article-body:has(> .nw-sapin) > .lcs-content-affiliate-disclosure,
.article-body:has(> .nw-sapin) > .lcs-article-author-summary,
.article-body:has(> .nw-sapin) > .lcs-michaels-related {
  margin-block: 20px;
}

@media (min-width: 901px) {
  .nw-sapin .sapin-ordered-step {
    grid-template-rows: auto 1fr;
    row-gap: 16px;
  }
  .nw-sapin .sapin-ordered-step > .picture {
    grid-column: 2;
    grid-row: 1 / span 2;
    order: 0;
  }
  .nw-sapin .sapin-ordered-step > :is(.sapin-keepsake, .wc-calendar) {
    grid-column: 1;
    margin-top: 0;
  }
  .nw-sapin .sapin-ordered-step > .wc-calendar {
    grid-template-columns: 96px minmax(0, 1fr);
    padding: 14px;
  }
}

.nw-sapin .sapin-stand-tip > h3 { margin: 0 0 6px; }
.nw-sapin .sapin-stand-tip .lcs-article-affiliate-product--compact {
  grid-template-columns: minmax(80px, 110px) minmax(0, 1fr);
  gap: 8px 14px;
  margin: 0;
  padding: 14px;
}
.nw-sapin .sapin-stand-tip .lcs-article-affiliate-product__image {
  min-height: 0;
  background: #fff;
}
.nw-sapin .sapin-stand-tip .lcs-article-affiliate-product__image img {
  height: 100px;
  object-fit: contain;
}
.nw-sapin .sapin-stand-tip .lcs-compact-product__price-info { grid-column: 1 / -1; }
.article-body:has(> .nw-sapin) .lcs-michaels-related__card h3 {
  overflow-wrap: anywhere;
  hyphens: auto;
}
@media (min-width: 761px) and (max-width: 900px) {
  .article-body:has(> .nw-sapin) .lcs-michaels-related__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 901px) {
  .nw-sapin .sapin-shopping-grid > div {
    grid-row: span 3;
    grid-template-rows: subgrid;
  }
  .nw-sapin .sapin-shopping .lcs-article-affiliate-product__content h4,
  .nw-sapin .sapin-shopping .lcs-article-affiliate-product__content .lcs-compact-product__label {
    min-height: 0;
  }
}
