.home-page {
  --home-ink: #1b1c19;
  --home-accent: #f3ae42;
  --home-paper: #eee7dc;
  background: #fdfcf9;
}

.home-page .container { width: min(calc(100% - 96px), 1120px); }
.home-page .topline { min-height: 31px; background: #efeae2; color: #44453e; padding-inline: max(48px, calc((100vw - 1120px) / 2)); letter-spacing: .08em; }
.home-page .topline-right { color: #69522f; }
.home-page .site-header { border-bottom-color: #e9e5de; }
.home-page .header-menu { right: max(48px, calc((100vw - 1120px) / 2)); }
.home-page .desktop-nav a:hover,
.home-page .desktop-nav a[aria-current] { border-bottom-color: var(--home-accent); color: var(--home-ink); }
.home-page .hero { min-height: 218px; margin-top: 18px; border-radius: 12px; background: var(--home-paper); }
.home-page .hero-copy { width: 66%; padding: 16px clamp(28px, 4.5vw, 60px); }
.home-page .hero-eyebrow { margin-bottom: 7px; color: #8b5a18; font-size: 9px; font-weight: 800; letter-spacing: .14em; }
.home-page .hero h1 { max-width: 680px; margin-bottom: 8px; color: var(--home-ink); font-size: clamp(29px, 3vw, 39px); line-height: 1.05; letter-spacing: -.055em; }
.home-page .hero h1 em,
.home-page .section-heading em,
.home-page .feature-section em,
.home-page .drink-feature em,
.home-page .moments-section em { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; }
.home-page .hero-description { max-width: 490px; margin-bottom: 10px; color: #58574f; font-size: 13px; line-height: 1.4; }
.home-page .hero .button-primary { min-height: 38px; background: var(--home-accent); color: var(--home-ink); font-size: 13px; }
.home-page .hero .button-primary:hover { background: #ffd08b; }
.home-page .hero-secondary { color: #34362f; text-decoration-color: #34362f; font-size: 14px; }
.home-page .hero-secondary:hover { color: #945409; }
.home-page .hero-visual { background: var(--home-paper); }
.home-page .hero-visual img { width: 66%; object-position: center 45%; }
.home-page .hero-visual::after { background: linear-gradient(90deg, #eee7dc 0%, #eee7dc 24%, rgba(238,231,220,.98) 37%, rgba(238,231,220,.80) 51%, rgba(238,231,220,.12) 77%); }
.home-ticker { margin-top: 17px; border-block: 1px solid #e9e4db; background: #fff; }
.home-ticker .container { min-height: 41px; display: flex; align-items: center; justify-content: center; gap: clamp(15px, 3vw, 48px); color: #575b51; font-size: 11px; font-weight: 700; letter-spacing: .02em; }
.home-ticker i { color: #ad711e; font-size: 15px; font-style: normal; }

.home-page .catalog { padding-top: 66px; padding-bottom: 88px; }
.home-page .section-heading { margin-bottom: 18px; }
.home-page .section-heading h2,
.home-page .feature-section h2,
.home-page .drink-feature h2,
.home-page .moments-section h2 { color: var(--home-ink); font-size: clamp(32px, 3.4vw, 50px); font-weight: 800; line-height: 1.08; letter-spacing: -.05em; }
.home-page .section-heading h2 { margin: 8px 0 9px; }
.home-page .section-heading p { color: #6b6d64; font-size: 14px; }
.section-kicker { display: inline-block; color: #945409; font-size: 10px; font-weight: 800; letter-spacing: .15em; }
.section-text-link { display: inline-flex; align-items: center; gap: 8px; border-bottom: 1px solid currentColor; padding-bottom: 5px; color: #34362f; font-size: 12px; font-weight: 700; white-space: nowrap; }
.section-text-link:hover { color: #945409; }
.home-page .catalog-controls { margin-bottom: 25px; border-bottom-color: #e2e2da; }
.home-page .filter-chip { min-height: 40px; font-size: 13px; }
.home-page .filter-chip.is-active { border-bottom-color: var(--home-accent); color: var(--home-ink); }
.home-page .product-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.home-page .product-card { border-color: #e7e6df; border-radius: 9px; box-shadow: 0 5px 18px rgba(21,23,17,.04); }
.home-page .product-card:hover { box-shadow: 0 16px 32px rgba(21,23,17,.13); }
.home-page .product-image { aspect-ratio: 1.1; background: #f5f0ec; }
.home-page .product-type { top: 10px; left: 10px; border: 1px solid #ecd5ad; background: #fff9ed; color: #815016; font-size: 9px; }
.home-page .product-body { padding: 15px 13px 13px; }
.home-page .product-category { color: #945409; }
.home-page .product-title { min-height: 43px; margin-bottom: 6px; font-size: 15px; }
.home-page .product-title a:hover { color: #945409; }
.home-page .product-desc { min-height: 41px; margin-bottom: 12px; font-size: 11px; line-height: 1.45; }
.home-page .product-bottom { align-items: stretch; flex-direction: column; gap: 10px; }
.home-page .product-price { font-size: 11px; }
.home-page .product-price strong { color: var(--home-ink); font-size: 16px; }
.home-page .add-button { width: 100%; min-height: 37px; background: var(--home-accent); color: var(--home-ink); }
.home-page .add-button:hover { background: #ffd08b; }

.feature-section { display: grid; grid-template-columns: 1fr 1fr; min-height: 380px; overflow: hidden; border-radius: 14px; }
.feature-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(28px, 5vw, 68px); }
.feature-copy-neutral { background: #f0e8da; }
.feature-copy h2 { margin: 12px 0 17px; }
.feature-copy p,
.drink-feature-copy p { max-width: 420px; margin: 0 0 24px; color: #66665b; font-size: 15px; line-height: 1.65; font-weight: 500; }
.feature-link { min-height: 41px; display: inline-flex; align-items: center; gap: 12px; border-radius: 5px; background: var(--home-accent); padding: 0 16px; color: var(--home-ink); font-size: 13px; font-weight: 700; }
.feature-link:hover { background: #ffd08b; }
.feature-photo { min-width: 0; display: block; overflow: hidden; background: #d7c4a8; }
.feature-photo img { width: 100%; height: 100%; max-height: 460px; object-fit: cover; object-position: center 60%; transition: transform .35s ease; }
.feature-photo:hover img { transform: scale(1.035); }

.service-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin-top: 19px; margin-bottom: 95px; border: 1px solid #e7e2d8; border-radius: 12px; background: #f6f2eb; }
.service-strip > div { display: grid; grid-template-columns: 38px 1fr; column-gap: 12px; align-content: start; padding: 27px 30px; }
.service-strip > div + div { border-left: 1px solid #e4dccd; }
.service-number { grid-row: span 2; color: #a96e1b; font-family: Georgia, 'Times New Roman', serif; font-size: 30px; line-height: 1; }
.service-strip strong { color: var(--home-ink); font-size: 14px; }
.service-strip p { margin: 6px 0 0; color: #6f7066; font-size: 12px; font-weight: 500; line-height: 1.55; }

.drink-feature { background: #eee9df; }
.drink-feature-inner { min-height: 422px; display: grid; grid-template-columns: minmax(280px, .9fr) minmax(0, 1.1fr); align-items: center; gap: clamp(28px, 5vw, 72px); padding-block: 50px; }
.drink-feature-copy h2 { margin: 12px 0 16px; }
.drink-feature-images { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; min-width: 0; }
.drink-feature-images a { position: relative; min-width: 0; overflow: hidden; border-radius: 10px; background: #fff; }
.drink-feature-images img { width: 100%; height: clamp(230px, 25vw, 320px); object-fit: cover; }
.drink-feature-images span { position: absolute; right: 0; bottom: 0; left: 0; display: block; background: linear-gradient(transparent, rgba(22,22,19,.8)); padding: 34px 15px 15px; color: #fff; font-size: 13px; }

.moments-section { padding-block: 94px 108px; text-align: center; }
.moments-heading h2 { margin: 10px 0; }
.moments-heading p { margin: 0; color: #6b6d64; font-size: 14px; font-weight: 500; }
.moments-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 31px 0 22px; }
.moments-gallery img { width: 100%; height: clamp(200px, 26vw, 340px); border-radius: 10px; object-fit: cover; }
.moments-section .section-text-link { margin-inline: auto; }
.home-page .site-footer { background: #1d201c; }
.home-page .footer-inner { min-height: 148px; }
.home-page .footer-inner p { color: #b7bcb1; }
.footer-links { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; }
.home-page .footer-inner .footer-links a { color: #e0e3db; font-size: 12px; text-decoration: none; }
.home-page .footer-inner .footer-links a:hover { text-decoration: underline; }
.home-page .footer-legal { border-top-color: rgba(255,255,255,.18); color: #c8cdc2; }
.home-page .floating-cart { background: #20231d; }
.home-page .floating-cart b { border-color: #fdfcf9; background: var(--home-accent); color: var(--home-ink); }

@media (max-width: 1180px) {
  .home-page .container { width: min(calc(100% - 64px), 1120px); }
  .home-page .topline { padding-inline: 32px; }
  .home-page .header-menu { right: 32px; }
  .home-page .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .home-page .product-desc { min-height: 0; }
  .service-strip > div { padding-inline: 20px; }
}
@media (max-width: 760px) {
  .home-page .hero { min-height: 215px; }
  .home-page .hero-copy { width: 75%; padding: 23px 28px; }
  .home-page .hero h1 { font-size: clamp(29px, 5vw, 40px); }
  .home-page .hero-visual img { width: 74%; }
  .home-page .hero-visual::after { background: linear-gradient(90deg, #eee7dc 0%, #eee7dc 21%, rgba(238,231,220,.96) 40%, rgba(238,231,220,.50) 69%, rgba(238,231,220,.04) 100%); }
  .home-ticker .container { justify-content: space-between; gap: 12px; }
  .home-ticker .container span:last-child,
  .home-ticker .container i:nth-last-child(2) { display: none; }
  .feature-section { min-height: 0; }
  .feature-copy { padding: 27px; }
  .feature-copy h2,
  .drink-feature-copy h2 { font-size: 32px; }
  .service-strip { margin-bottom: 65px; }
  .service-strip > div { display: block; padding: 18px; }
  .service-number { display: block; margin-bottom: 8px; }
  .drink-feature-inner { gap: 28px; }
  .drink-feature-images img { height: 250px; }
}
@media (max-width: 620px) {
  .home-page .container { width: min(calc(100% - 28px), 540px); }
  .home-page .topline { justify-content: center; }
  .home-page .header-menu { right: 14px; }
  .home-page .topline span:first-child { display: none; }
  .home-page .topline-right { display: block; }
  .home-page .hero { min-height: 192px; margin-top: 10px; border-radius: 9px; }
  .home-page .hero-copy { width: 79%; padding: 18px 16px; }
  .home-page .hero-eyebrow { margin-bottom: 7px; font-size: 8px; }
  .home-page .hero h1 { margin-bottom: 9px; font-size: clamp(24px, 6.5vw, 31px); }
  .home-page .hero-description { display: block; max-width: 235px; margin-bottom: 10px; font-size: 11px; line-height: 1.36; }
  .home-page .hero .button-primary { min-height: 33px; padding-inline: 11px; font-size: 11px; }
  .home-page .hero-secondary { display: none; }
  .home-page .hero-visual { min-height: 192px; }
  .home-page .hero-visual img { width: 84%; object-position: 56% center; }
  .home-page .hero-visual::after { background: linear-gradient(90deg, #eee7dc 0%, #eee7dc 17%, rgba(238,231,220,.98) 35%, rgba(238,231,220,.75) 57%, rgba(238,231,220,.02) 100%); }
  .home-ticker { margin-top: 10px; }
  .home-ticker .container { min-height: 34px; gap: 8px; justify-content: center; font-size: 8px; }
  .home-ticker .container i:nth-of-type(2),
  .home-ticker .container span:nth-of-type(3) { display: none; }
  .home-page .catalog { padding-top: 49px; padding-bottom: 62px; }
  .home-page .section-heading { margin-bottom: 15px; }
  .home-page .section-heading h2,
  .home-page .feature-section h2,
  .home-page .drink-feature h2,
  .home-page .moments-section h2 { font-size: 31px; }
  .home-page .section-heading p { font-size: 12px; line-height: 1.5; }
  .home-page .section-heading > .section-text-link { display: none; }
  .home-page .catalog-controls { margin-bottom: 15px; }
  .home-page .filter-chip { font-size: 12px; }
  .home-page .product-grid { display: flex; gap: 11px; width: calc(100vw - 14px); overflow-x: auto; scroll-snap-type: x mandatory; padding: 0 14px 13px 0; scrollbar-width: thin; scrollbar-color: #c9c4b9 transparent; }
  .home-page .product-card { flex: 0 0 min(68vw, 255px); display: flex; flex-direction: column; min-height: 0; scroll-snap-align: start; }
  .home-page .product-image { flex: none; width: 100%; aspect-ratio: 1.25; }
  .home-page .product-body { padding: 13px; }
  .home-page .product-title { min-height: 39px; font-size: 14px; }
  .home-page .product-desc { display: none; }
  .home-page .product-bottom { flex-direction: column; align-items: stretch; padding-top: 10px; }
  .home-page .product-price strong { font-size: 15px; }
  .home-page .add-button { min-height: 36px; font-size: 12px; }
  .feature-section { display: flex; flex-direction: column; border-radius: 9px; }
  .feature-photo { order: 0; }
  .feature-photo img { height: 230px; object-position: center 61%; }
  .feature-copy { order: 1; padding: 25px 23px 28px; }
  .feature-copy h2 { margin: 8px 0 10px; }
  .feature-copy p,
  .drink-feature-copy p { margin-bottom: 17px; font-size: 12px; line-height: 1.55; }
  .feature-link { min-height: 38px; font-size: 11px; }
  .service-strip { display: grid; grid-template-columns: 1fr; margin-top: 12px; margin-bottom: 59px; }
  .service-strip > div { display: grid; grid-template-columns: 34px 1fr; column-gap: 12px; padding: 16px 18px; }
  .service-strip > div + div { border-top: 1px solid #e4dccd; border-left: 0; }
  .service-number { grid-row: span 2; margin: 0; font-size: 26px; }
  .service-strip strong { font-size: 12px; }
  .service-strip p { margin-top: 4px; font-size: 11px; }
  .drink-feature-inner { display: block; padding-block: 43px; }
  .drink-feature-copy h2 { margin: 9px 0 12px; }
  .drink-feature-images { gap: 9px; margin-top: 24px; }
  .drink-feature-images img { height: 185px; }
  .drink-feature-images span { padding: 24px 10px 10px; font-size: 10px; }
  .moments-section { padding-block: 59px 72px; }
  .moments-heading p { font-size: 12px; line-height: 1.5; }
  .moments-gallery { display: flex; width: calc(100vw - 14px); gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; margin: 23px 0 18px; padding-right: 14px; scrollbar-width: none; }
  .moments-gallery img { flex: 0 0 73%; width: 73%; height: 240px; scroll-snap-align: start; }
  .home-page .footer-inner { min-height: 0; align-items: flex-start; flex-direction: column; gap: 22px; padding-block: 30px; }
  .footer-links { gap: 12px 22px; }
  .home-page .footer-inner .footer-links a { font-size: 11px; }
  .home-page .mobile-nav [aria-current] { color: #945409; }
}
@media (max-width: 365px) {
  .home-page .hero { min-height: 165px; }
  .home-page .hero-visual { min-height: 165px; }
  .home-page .hero h1 { font-size: 22px; }
  .home-page .hero-description { display: none; }
  .home-ticker .container { font-size: 7px; }
  .home-page .product-card { flex-basis: 72vw; }
  .home-page .section-heading h2,
  .home-page .feature-section h2,
  .home-page .drink-feature h2,
  .home-page .moments-section h2 { font-size: 27px; }
}
