/* R.S. Goods: a product-first, mobile-first welcome. */
.home-page { --home-ink: #273b32; --home-paper: #f6f2ea; }
.home-page .site-header { background: rgba(255, 255, 255, .97); }
.home-page .nav-links [aria-current="page"] { color: var(--home-ink); }
.home-page .menu-toggle { width: 42px; height: 44px; display: none; align-items: center; justify-content: center; }
.menu-lines, .menu-lines::before, .menu-lines::after { display: block; width: 22px; height: 2px; background: currentColor; border-radius: 2px; }
.menu-lines { position: relative; }
.menu-lines::before, .menu-lines::after { content: ""; position: absolute; left: 0; }
.menu-lines::before { top: -7px; }
.menu-lines::after { top: 7px; }
.home-page .fade-in { opacity: 1; transform: none; }
.home-page a:focus-visible, .home-page button:focus-visible { outline: 3px solid var(--home-ink); outline-offset: 5px; }
.collection-hero { overflow: hidden; background: var(--home-paper); padding: 64px 0 62px; border-bottom: 1px solid #e7e0d5; }
.collection-hero-grid { display: grid; grid-template-columns: .92fr 1.08fr; grid-template-areas: "intro stage" "actions stage"; gap: 0 40px; align-items: center; }
.collection-intro { grid-area: intro; align-self: end; padding-bottom: 8px; }
.collection-intro .eyebrow { color: #647064; font-size: .73rem; letter-spacing: .18em; }
.collection-intro h1 { color: var(--home-ink); font-size: clamp(3.2rem, 5.6vw, 4.8rem); line-height: 1.05; letter-spacing: -.055em; margin: 18px 0 22px; }
.collection-intro h1 em { font-family: Georgia, "Times New Roman", serif; font-weight: 400; letter-spacing: -.06em; color: #68735d; }
.collection-intro p { max-width: 380px; font-size: 1.12rem; line-height: 1.65; color: #64685f; margin: 0; }
.collection-actions { grid-area: actions; align-self: start; display: flex; align-items: center; flex-wrap: wrap; gap: 22px; margin-top: 24px; }
.collection-actions .btn-primary { background: var(--home-ink); border-color: var(--home-ink); font-size: .9rem; min-height: 50px; padding: 12px 23px; }
.collection-store-link { font-size: .85rem; font-weight: 650; color: var(--home-ink); padding: 12px 0; text-decoration: underline; text-underline-offset: 5px; text-decoration-color: #c7cbbb; }
.collection-stage { grid-area: stage; position: relative; isolation: isolate; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 20px 15px; height: 490px; padding: 12px 8px; }
.collection-stage::before { content: ""; position: absolute; inset: 10% -2% 2% 4%; border-radius: 50%; background: #e9e5d7; z-index: -1; }
.showcase-product { position: relative; display: flex; flex-direction: column; min-width: 0; min-height: 0; background: #fff; border: 1px solid rgba(109, 100, 77, .12); border-radius: 22px; box-shadow: 0 14px 30px rgba(72, 62, 43, .1); padding: 12px 12px 0; transition: transform .25s ease, box-shadow .25s ease; }
.showcase-product--blanket { grid-column: 1; grid-row: 1 / 3; align-self: center; height: 89%; width: 110%; transform: rotate(-6deg); z-index: 1; }
.showcase-product--carrier { grid-column: 2; grid-row: 1; transform: rotate(5deg) translateX(2px); z-index: 2; }
.showcase-product--snacks { grid-column: 2; grid-row: 2; transform: rotate(-4deg) translateX(-5px); z-index: 3; }
.showcase-photo { display: flex; align-items: center; justify-content: center; flex: 1; min-height: 0; overflow: hidden; }
.showcase-photo img { width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.showcase-label { display: flex; align-items: center; justify-content: space-between; gap: 5px; padding: 10px 2px 13px; flex-shrink: 0; }
.showcase-label small { display: block; font-size: .65rem; line-height: 1.3; color: #69695f; margin-bottom: 3px; }
.showcase-label strong { display: block; font-size: .9rem; line-height: 1.15; letter-spacing: -.02em; color: var(--home-ink); }
.showcase-arrow { display: grid; place-items: center; width: 29px; height: 29px; flex-shrink: 0; background: #f0f1e8; color: var(--home-ink); border-radius: 50%; font-size: 1rem; }
@media (hover: hover) {
  .showcase-product--blanket:hover { transform: rotate(-3deg) translateY(-5px); }
  .showcase-product--carrier:hover { transform: rotate(2deg) translateY(-5px); }
  .showcase-product--snacks:hover { transform: rotate(-1deg) translateY(-5px); }
  .showcase-product:hover { box-shadow: 0 18px 36px rgba(72, 62, 43, .16); }
}
.featured-collection { scroll-margin-top: 92px; padding: 76px 0 64px; }
.home-page .section-head h2 { max-width: 550px; font-size: clamp(2rem, 3.4vw, 3rem); }
.home-page .section-head p { max-width: 360px; font-size: .98rem; }
.home-page .product-img { background: #faf9f5; }
.home-page .product-card { border-color: #e7e5dd; }
.welcome-offer-section { padding: 0 0 72px; }
.welcome-offer { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 32px; border: 1px solid #e1d5b6; background: #f9f2e2; border-radius: 24px; padding: 34px 38px; }
.welcome-offer-amount { font-size: 4.3rem; font-weight: 800; line-height: .85; letter-spacing: -.07em; color: #756039; padding-right: 30px; border-right: 1px solid #dfd2b6; }
.welcome-offer-amount > span { font-size: 2.1rem; letter-spacing: -.05em; }
.welcome-offer-amount > small { display: block; margin-top: 13px; font-size: .74rem; line-height: 1; letter-spacing: .3em; }
.welcome-offer-copy .eyebrow { color: #7b673c; font-size: .65rem; }
.welcome-offer-copy h2 { margin: 6px 0 10px; font-size: 1.65rem; line-height: 1.2; letter-spacing: -.035em; }
.welcome-offer-copy p { color: #585b51; margin: 0 0 4px; font-size: .95rem; }
.welcome-offer-copy > small { display: block; color: #66685d; font-size: .76rem; line-height: 1.5; }
.welcome-offer .coupon-copy { display: inline-flex; align-items: center; justify-content: center; gap: 15px; min-height: 48px; padding: 12px 22px; border-radius: 999px; background: #ffb000; border-color: #ffb000; font-size: .9rem; font-weight: 750; color: #242725; }

@media (max-width: 1100px) {
  .home-page .menu-toggle { display: flex; }
  .collection-hero-grid { gap: 0 24px; }
  .collection-stage { height: 435px; }
  .collection-intro h1 { font-size: 3.55rem; }
  .welcome-offer { padding: 28px; gap: 23px; }
  .welcome-offer-copy h2 { font-size: 1.45rem; }
}
@media (max-width: 760px) {
  .collection-hero { padding: 34px 0 32px; }
  .collection-hero-grid { grid-template-columns: 1fr; grid-template-areas: "intro" "stage" "actions"; gap: 12px; }
  .collection-intro { padding: 0; text-align: center; }
  .collection-intro h1 { font-size: 3.35rem; margin: 12px 0 13px; }
  .collection-intro p { max-width: 410px; margin: 0 auto; font-size: 1rem; line-height: 1.5; }
  .collection-stage { width: min(100%, 480px); height: 405px; margin: 0 auto; padding: 12px; }
  .collection-actions { margin: 7px 0 0; justify-content: center; gap: 15px; }
  .welcome-offer { grid-template-columns: auto 1fr; gap: 18px; }
  .welcome-offer .coupon-copy { grid-column: 1 / -1; width: 100%; }
  .welcome-offer-amount { padding-right: 18px; font-size: 3.8rem; }
}
@media (max-width: 620px) {
  .collection-hero { padding: 25px 0 25px; }
  .collection-hero-grid { width: calc(100% - 36px); gap: 7px; }
  .collection-intro .eyebrow { font-size: .64rem; letter-spacing: .18em; }
  .collection-intro h1 { font-size: clamp(2rem, 9.7vw, 3.1rem); margin: 9px 0 11px; }
  .collection-intro p { max-width: 330px; font-size: .9rem; line-height: 1.5; }
  .collection-stage { height: clamp(286px, 84vw, 390px); padding: 13px 4px; gap: 14px 10px; }
  .showcase-product { border-radius: 17px; padding: 9px 9px 0; }
  .showcase-product--blanket { height: 87%; width: 110%; }
  .showcase-label { padding: 8px 1px 11px; }
  .showcase-label small { font-size: .6rem; margin-bottom: 3px; }
  .showcase-label strong { font-size: clamp(.69rem, 2.75vw, .87rem); }
  .showcase-arrow { width: 23px; height: 23px; font-size: .85rem; }
  .collection-actions { gap: 5px; margin-top: 7px; }
  .collection-actions .btn { width: 100%; min-height: 47px; font-size: .85rem; }
  .collection-store-link { font-size: .77rem; padding: 10px 12px; }
  .featured-collection { padding: 46px 0 44px; scroll-margin-top: 85px; }
  .home-page .section-head { gap: 2px; margin-bottom: 24px; }
  .home-page .section-head .eyebrow { font-size: .68rem; }
  .home-page .section-head h2 { font-size: 2rem; max-width: 300px; }
  .home-page .section-head p { font-size: .92rem; max-width: 330px; }
  .welcome-offer-section { padding-bottom: 46px; }
  .welcome-offer { padding: 23px 20px; border-radius: 20px; gap: 18px 15px; }
  .welcome-offer-amount { padding-right: 14px; font-size: 3.3rem; }
  .welcome-offer-amount > span { font-size: 1.5rem; }
  .welcome-offer-amount > small { margin-top: 10px; font-size: .62rem; }
  .welcome-offer-copy .eyebrow { font-size: .58rem; }
  .welcome-offer-copy h2 { font-size: 1.18rem; margin: 5px 0 8px; }
  .welcome-offer-copy p { font-size: .83rem; }
  .welcome-offer-copy > small { font-size: .69rem; }
}
@media (prefers-reduced-motion: reduce) {
  .showcase-product { transition: none; }
}
