/* Editorial homepage refresh */
.home-hero {
  padding:78px 0 82px;
  background:radial-gradient(ellipse at 15% 90%,#e6d5b52b,transparent 35%),linear-gradient(125deg,#fffdf8 35%,#f7f3e9 100%);
  overflow:hidden
}
.home-hero-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:76px
}
.home-copy {
  padding:20px 0
}
.home-copy .eyebrow {
  max-width:440px
}
.home-copy h1 {
  font:700 clamp(3.2rem,6vw,5.3rem)/1.02 'Playfair Display',serif;
  letter-spacing:-.045em;
  color:#24392f;
  margin:20px 0
}
.home-copy h1 em {
  color:#654126;
  font-weight:600
}
.home-copy>p {
  max-width:470px;
  color:#68756f;
  font-size:1.08rem;
  line-height:1.8
}
.hero-actions {
  display:flex;
  align-items:center;
  gap:23px;
  margin-top:26px
}
.home-text-link {
  color:#654126;
  font-weight:700;
  white-space:nowrap
}
.home-text-link span {
  margin-left:6px
}
.home-proof {
  margin-top:36px;
  color:#68756f;
  font-size:.9rem
}
.home-proof span {
  color:#ad8753;
  margin-right:8px
}
.home-visual {
  height:485px;
  position:relative;
  padding:10px 26px 20px 10px
}
.home-visual:before {
  content:'';
  position:absolute;
  inset:26px 5px 7px 36px;
  background:#eee5ce;
  border-radius:46% 46% 38% 38%;
  transform:rotate(5deg)
}
.home-visual>img {
  position:relative;
  height:100%;
  width:100%;
  object-fit:cover;
  border-radius:48% 48% 28px 28px;
  box-shadow:0 24px 54px #1e3a2b22
}
.visual-tag {
  position:absolute;
  left:-35px;
  bottom:48px;
  background:#fffdf8;
  border:1px solid #e8e1d1;
  border-radius:16px;
  padding:15px 20px;
  box-shadow:0 12px 25px #173e301a;
  display:grid;
  line-height:1.3
}
.visual-tag span {
  font-size:.72rem;
  color:#68756f
}
.visual-tag b {
  color:#654126
}
.visual-stamp {
  position:absolute;
  right:-8px;
  top:40px;
  width:95px;
  height:95px;
  border-radius:50%;
  display:grid;
  place-content:center;
  text-align:center;
  background:#f1bd43;
  color:#3c3428;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.08em;
  transform:rotate(10deg);
  line-height:1.3
}
.home-video {
  background:#f1f0e8
}
.home-section-head {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:25px
}
.home-section-head h2 {
  margin-top:10px
}
.home-video .track {
  margin-top:24px
}
.home-products {
  background:#fffdf8
}
.home-story {
  background:#f5f0e5
}
.story-grid {
  display:grid;
  grid-template-columns:.95fr 1fr;
  gap:80px;
  align-items:center
}
.story-image {
  height:430px;
  position:relative
}
.story-image img {
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:26px 120px 26px 26px
}
.story-image span {
  position:absolute;
  bottom:20px;
  left:20px;
  padding:16px 20px;
  background:#fffdf8;
  border-radius:13px;
  color:#654126;
  font-family:'Playfair Display',serif;
  font-size:1.3rem;
  line-height:1.2;
  box-shadow:0 10px 25px #172a1d20
}
.story-copy h2,.gather-copy h2,.news-row h2 {
  font:700 clamp(2rem,3.4vw,3rem)/1.12 'Playfair Display',serif;
  color:#24392f;
  margin:12px 0 18px
}
.story-copy>p,.gather-copy p,.news-row p {
  color:#68756f;
  line-height:1.8
}
.story-points {
  display:grid;
  gap:12px;
  margin:27px 0
}
.story-points>div {
  display:flex;
  align-items:center;
  gap:14px;
  border-bottom:1px solid #ded9c9;
  padding-bottom:11px
}
.story-points b {
  color:#ad8753;
  font-size:.76rem;
  letter-spacing:.1em
}
.story-points span {
  font-weight:600;
  color:#354a3e
}
.home-bests {
  background:#fffdf8
}
.home-bests .sectionHead {
  margin-bottom:28px
}
.home-gather {
  padding:44px 0 72px
}
.gather-panel {
  background:#e9e7d9;
  border-radius:30px;
  padding:50px 56px;
  display:grid;
  grid-template-columns:1.1fr .9fr;
  align-items:center;
  gap:40px;
  overflow:hidden
}
.gather-copy h2 {
  max-width:530px
}
.gather-copy .btn {
  margin-top:10px
}
.gather-collage {
  height:290px;
  position:relative
}
.gather-collage img {
  position:absolute;
  object-fit:cover;
  border:7px solid #fffdf8;
  box-shadow:0 12px 26px #26362e22
}
.gather-collage img:nth-child(1) {
  height:245px;
  width:190px;
  left:0;
  top:18px;
  transform:rotate(-8deg);
  border-radius:20px
}
.gather-collage img:nth-child(2) {
  height:215px;
  width:170px;
  right:0;
  top:0;
  transform:rotate(7deg);
  border-radius:20px
}
.gather-collage img:nth-child(3) {
  height:150px;
  width:150px;
  left:37%;
  bottom:0;
  transform:rotate(-2deg);
  border-radius:50%
}
.home-note {
  padding-top:15px
}
.note-card {
  max-width:760px;
  margin:auto;
  text-align:center;
  padding:38px 28px
}
.note-mark {
  font:700 5rem/1 'Playfair Display';
  height:53px;
  color:#b79b68
}
.note-card blockquote {
  font:600 clamp(1.4rem,3vw,2.1rem)/1.35 'Playfair Display',serif;
  color:#24392f;
  margin:10px auto;
  max-width:630px
}
.note-card>p {
  color:#654126;
  font-weight:700
}
.note-card small {
  color:#858b85
}
.home-news {
  padding:50px 0 62px;
  background:#f2f0e6
}
.news-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px
}
.news-row h2 {
  font-size:2rem;
  margin:7px 0
}
.news-row p {
  margin:0
}
.news-row form {
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  max-width:510px
}
.news-row input {
  flex:1;
  min-width:220px;
  border:1px solid #deded1;
  padding:13px 15px;
  border-radius:26px;
  background:#fff
}
.news-row #newsletter-msg {
  flex-basis:100%;
  color:#155b46;
  font-size:.88rem
}
.news-row #newsletter-msg[data-state="error"] {
  color:#a33c32
}
.news-row #newsletter-msg[data-state="loading"] {
  color:#68756f
}
#newsletter button:disabled {
  cursor:wait;
  opacity:.72
}
@media(max-width:900px) {
  .home-hero-grid {
    gap:40px
  }
  .home-visual {
    height:400px
  }
  .story-grid {
    gap:45px
  }
  .gather-panel {
    padding:38px;
    gap:20px
  }
  .gather-collage {
    transform:scale(.9)
  }
}
@media(max-width:650px) {
  .home-hero {
    padding:43px 0 56px
  }
  .home-hero-grid {
    grid-template-columns:1fr;
    gap:15px
  }
  .home-copy {
    padding:0
  }
  .home-copy h1 {
    font-size:3rem;
    margin:14px 0
  }
  .home-copy>p {
    font-size:1rem
  }
  .hero-actions {
    gap:15px;
    flex-wrap:wrap
  }
  .home-proof {
    margin-top:22px
  }
  .home-visual {
    height:330px;
    width:calc(100% - 26px);
    margin:8px 6px 0 20px;
    padding:8px 15px 14px 8px
  }
  .visual-tag {
    left:-15px;
    bottom:28px;
    padding:12px 15px
  }
  .visual-stamp {
    right:-14px;
    top:20px;
    width:78px;
    height:78px;
    font-size:.62rem
  }
  .home-section-head {
    align-items:flex-start;
    flex-direction:column;
    gap:8px
  }
  .home-video .track {
    margin-top:15px
  }
  .story-grid {
    grid-template-columns:1fr;
    gap:32px
  }
  .story-image {
    height:320px
  }
  .story-image img {
    border-radius:24px 85px 24px 24px
  }
  .story-copy h2,.gather-copy h2 {
    font-size:2.2rem
  }
  .home-products .card:nth-child(4n+2) {
    transform:none
  }
  .gather-panel {
    grid-template-columns:1fr;
    padding:28px 24px;
    gap:12px
  }
  .gather-collage {
    height:250px;
    transform:none;
    margin:5px 0
  }
  .gather-collage img:nth-child(1) {
    height:205px;
    width:155px
  }
  .gather-collage img:nth-child(2) {
    height:182px;
    width:143px
  }
  .gather-collage img:nth-child(3) {
    height:125px;
    width:125px
  }
  .note-card {
    padding:25px 15px
  }
  .news-row {
    align-items:flex-start;
    flex-direction:column;
    gap:20px
  }
  .news-row form {
    width:100%
  }
  .news-row input {
    min-width:100%
  }
  .news-row form .btn {
    width:100%
  }
}
/* Consistent product rows and clear light-brown selection shadow */
.product-card {
  height:100%;
  display:flex;
  flex-direction:column;
  cursor:pointer;
  box-shadow:0 5px 14px rgba(101,65,38,.09);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease
}
.product-card>a:first-child {
  display:block;
  flex:0 0 auto
}
.product-card .info {
  display:flex;
  flex:1;
  flex-direction:column;
  align-items:stretch
}
.product-card .info h3 {
  min-height:1.5em
}
.product-card .info p {
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  min-height:2.9em;
  max-height:2.9em;
  margin-bottom:10px
}
.product-card .price {
  margin-top:2px
}
.product-card .actions {
  margin-top:auto;
  padding-top:14px
}
.product-card:hover,.product-card:focus-visible,.product-card:focus-within {
  transform:translateY(-5px);
  border-color:#b99a78;
  box-shadow:0 18px 36px rgba(101,65,38,.28),0 4px 10px rgba(101,65,38,.12)
}
.product-card:active {
  transform:translateY(-2px) scale(.99);
  box-shadow:0 20px 40px rgba(101,65,38,.34)
}
@media(prefers-reduced-motion:reduce) {
  .product-card {
    transition:none
  }
}


.video-empty {
  width: 100%;
  padding: 36px 18px;
  text-align: center;
}
