/* Home merchandising, independent of the embedded product details. */
.shop-home { background:#fbfaf7; }
.shop-home a:focus-visible,.shop-home button:focus-visible,.home-hero-viewport:focus-visible { outline:2px solid #b84837; outline-offset:5px; }
.home-eyebrow { display:block; color:#6a736b; font-size:13px; font-weight:650; letter-spacing:.16em; margin-bottom:12px; }
.home-section { padding:90px 0; }
.home-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:32px; }
.home-section-head h2 { font-size:clamp(29px,3.15vw,40px); line-height:1.3; letter-spacing:-.055em; font-weight:720; }
.home-section-head p { font-size:17px; margin-top:10px; color:#73766e; }
.home-more { display:flex; align-items:center; gap:20px; font-size:16px; padding:10px 0; flex-shrink:0; }
.home-more span { font-size:26px; }
.home-hero { position:relative; max-width:1920px; margin:0 auto; overflow:hidden; background:#f0ebe2; }
.home-hero-viewport { overflow:hidden; touch-action:pan-y; }
.home-hero-track { display:flex; align-items:stretch; transition:transform .5s cubic-bezier(.22,.61,.36,1); }
.home-hero-slide { flex:0 0 100%; width:100%; min-width:0; display:grid; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); background:#f0ebe2; }
.home-hero-copy { padding:clamp(50px,5vw,85px) 42px 106px max(32px,calc((100vw - 1240px)/2)); display:flex; align-items:flex-start; justify-content:center; flex-direction:column; min-width:0; }
.home-hero-eyebrow { font-size:17px; font-weight:550; letter-spacing:-.02em; margin-bottom:21px; }
.home-hero-copy h1,.home-hero-copy h2 { font-family:var(--font-sans); font-weight:720; font-size:clamp(38px,3.57vw,56px); line-height:1.3; letter-spacing:-.065em; color:#242622; }
.home-hero-copy p { font-size:18px; color:#67695f; margin-top:23px; line-height:1.8; word-break:keep-all; }
.home-hero-link { display:inline-flex; align-items:center; gap:36px; border-bottom:1px solid #545b50; padding:13px 0; margin-top:24px; font-size:16px; font-weight:620; }
.home-hero-link span { font-size:23px; line-height:1; }
.home-hero-image { min-width:0; overflow:hidden; min-height:535px; }
.home-hero-image img { width:100%; height:100%; object-fit:cover; object-position:63% center; user-select:none; -webkit-user-drag:none; }
.home-hero-tea { background:#e8ede5; }
.home-hero-tea .home-hero-image img { object-position:center; }
.home-hero-routine { background:#ebe3d5; }
.home-hero-routine .home-hero-image img { object-position:52% center; }
.home-hero-controls { position:absolute; display:flex; align-items:center; gap:4px; left:max(32px,calc((100vw - 1240px)/2)); bottom:31px; z-index:2; }
.home-hero-dots { display:flex; gap:5px; align-items:center; margin-right:22px; }
.home-hero-dots button { position:relative; width:24px; height:44px; padding:0; }
.home-hero-dots button::before { content:''; position:absolute; height:3px; border-radius:4px; left:0; right:0; top:21px; background:#b7bcb1; }
.home-hero-dots button[aria-current="true"]::before { background:#283e33; }
.home-hero-count { display:flex; align-items:center; gap:10px; font-size:13px; margin-right:8px; color:#6b7066; font-variant-numeric:tabular-nums; }
.home-hero-count strong { color:#283e33; font-weight:650; }
.home-hero-prev,.home-hero-next,.home-hero-toggle { display:grid; place-items:center; width:44px; height:44px; color:#283e33; border-radius:50%; }
.home-hero-prev:hover,.home-hero-next:hover,.home-hero-toggle:hover { background:#ffffff70; }
.home-hero-prev svg,.home-hero-next svg { width:20px; height:20px; }
.home-hero-toggle { font-size:14px; }
.home-hero-toggle[hidden] { display:none; }
.home-hero-fallback { padding:80px 24px; text-align:center; }
.home-categories { background:#fff; border-bottom:1px solid #e9e9e3; }
.home-categories-inner { display:flex; align-items:center; gap:44px; padding-top:32px; padding-bottom:32px; }
.home-categories-heading { flex:0 0 200px; }
.home-categories-heading > span { font-size:14px; color:#818579; }
.home-categories-heading h2 { font-size:21px; line-height:1.55; font-weight:650; letter-spacing:-.04em; margin-top:7px; max-width:160px; }
.home-category-list { display:flex; flex:1; gap:clamp(20px,3vw,42px); align-items:flex-start; min-width:0; overflow-x:auto; scrollbar-width:thin; scrollbar-color:#d8dcd4 transparent; padding:5px 3px 10px; }
.home-category { flex:0 0 100px; text-align:center; }
.home-category-image { width:84px; height:84px; margin:0 auto 12px; display:grid; place-items:center; border-radius:50%; background:#f3f3ef; overflow:hidden; transition:transform .2s; }
.home-category:hover .home-category-image { transform:translateY(-3px); }
.home-category-image .product-photo { width:100%; height:100%; object-fit:cover; mix-blend-mode:multiply; }
.home-category-image > svg { width:100%; height:100%; }
.home-category-all .home-category-image > svg { width:36px; height:36px; color:#52604f; }
.home-category strong { display:block; font-weight:650; font-size:15px; line-height:1.4; white-space:nowrap; }
.home-category > span:last-child { display:block; font-size:13px; color:#818579; margin-top:5px; }
.home-empty { grid-column:1/-1; padding:44px; background:#f2f2ed; border-radius:12px; text-align:center; color:#6b7066; }
.home-set-section { padding:75px 0; background:#283e33; color:#fbfaf7; }
.home-set-layout { display:grid; grid-template-columns:.88fr 1.12fr; gap:70px; align-items:center; }
.home-set-intro .home-eyebrow { color:#c4cbbf; }
.home-set-intro h2 { font-size:clamp(30px,3.15vw,42px); font-weight:650; line-height:1.42; letter-spacing:-.055em; }
.home-set-intro > p { color:#c9d0c5; margin-top:15px; font-size:17px; line-height:1.7; }
.home-set-image { display:block; margin-top:28px; overflow:hidden; border-radius:3px; }
.home-set-image img { width:100%; aspect-ratio:1.9; height:auto; object-fit:cover; object-position:center 57%; }
.home-set-heading { display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-bottom:18px; }
.home-set-heading h3 { font-size:27px; font-weight:630; letter-spacing:-.04em; }
.home-set-heading > span { color:#c9d0c5; font-size:15px; }
.home-set-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.home-set-option { background:#f9f9f3; color:#242622; border:2px solid transparent; border-radius:4px; padding:22px; display:flex; flex-direction:column; transition:background .2s; }
.home-set-option:hover { background:#ecefe6; }
.home-set-option.is-featured { background:#e8ecdf; }
.home-set-option-top { display:flex; justify-content:space-between; align-items:center; min-height:23px; gap:8px; }
.home-set-number { font-size:13px; font-weight:600; color:#798273; }
.home-set-tag { font-size:12px; font-weight:650; color:#43503b; border:1px solid #bcc7ad; border-radius:3px; padding:2px 6px; line-height:1.5; }
.home-set-option h4 { margin-top:14px; font-size:26px; font-weight:650; line-height:1.25; letter-spacing:-.04em; }
.home-set-option p { margin-top:9px; font-size:14px; line-height:1.65; word-break:keep-all; color:#71796b; flex:1; }
.home-set-option-bottom { display:flex; align-items:center; justify-content:space-between; margin-top:25px; gap:8px; }
.home-set-option-bottom strong { font-size:24px; line-height:1.3; font-weight:650; letter-spacing:-.045em; }
.home-set-option-bottom > span { font-size:23px; }
.home-set-note { font-size:13px; color:#bcc5b9; margin-top:15px; line-height:1.65; }
.home-story-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px; }
.home-story-image { position:relative; overflow:hidden; border-radius:4px; background:#ede9df; }
.home-story-image img { width:100%; height:auto; aspect-ratio:1.6; object-fit:cover; transition:transform .45s; }
.home-story-card:hover .home-story-image img { transform:scale(1.025); }
.home-story-label { position:absolute; top:20px; left:20px; padding:6px 10px; background:#ffffffdc; font-size:11px; font-weight:650; letter-spacing:.13em; color:#3c4638; }
.home-story-copy { display:grid; grid-template-columns:1fr auto; gap:8px 16px; padding-top:23px; }
.home-story-copy h3 { font-size:24px; font-weight:650; line-height:1.4; letter-spacing:-.045em; word-break:keep-all; }
.home-story-copy > span { font-size:28px; line-height:1.2; }
.home-story-copy p { grid-column:1/-1; font-size:16px; color:#777d71; }
.home-help-section { border-top:1px solid #e5e7df; border-bottom:1px solid #e5e7df; background:#f0f2eb; }
.home-help-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.home-help-links a { position:relative; padding:29px 40px 29px 0; }
.home-help-links a + a { border-left:1px solid #dce1d4; padding-left:38px; }
.home-help-kicker { display:block; color:#737e69; font-size:14px; }
.home-help-links strong { font-size:22px; font-weight:600; letter-spacing:-.045em; margin-top:4px; display:block; }
.home-help-arrow { position:absolute; right:36px; top:40px; font-size:27px; }
.home-notice { padding-top:25px; padding-bottom:25px; font-size:13px; color:#7a8073; line-height:1.75; }
@media (min-width:1921px) { .home-hero-copy { padding-left:340px; } .home-hero-controls { left:340px; } }
@media (max-width:1080px) {
  .home-hero-slide { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .home-hero-copy { padding-left:30px; padding-right:24px; }
  .home-hero-copy h1,.home-hero-copy h2 { font-size:41px; }
  .home-hero-copy p { font-size:17px; }
  .home-hero-image { min-height:500px; }
  .home-categories-inner { gap:20px; }
  .home-categories-heading { flex-basis:170px; }
  .home-category-list { gap:20px; }
  .home-set-layout { gap:36px; }
  .home-set-option { padding:18px; }
  .home-set-option-bottom strong { font-size:22px; }
}
@media (max-width:760px) {
  .home-section { padding:54px 0; }
  .home-section-head { gap:10px; margin-bottom:25px; align-items:flex-start; }
  .home-eyebrow { font-size:11px; margin-bottom:9px; }
  .home-section-head h2 { font-size:29px; }
  .home-section-head p { font-size:15px; margin-top:9px; }
  .home-more { font-size:13px; gap:10px; margin-top:21px; padding:5px 0; }
  .home-more span { font-size:22px; }
  .home-hero-slide { grid-template-columns:1fr; grid-template-rows:minmax(288px,auto) 280px; }
  .home-hero-copy { padding:29px 24px 33px; justify-content:flex-start; }
  .home-hero-eyebrow { font-size:15px; margin-bottom:12px; }
  .home-hero-copy h1,.home-hero-copy h2 { font-size:clamp(32px,8.19vw,43px); line-height:1.3; letter-spacing:-.055em; }
  .home-hero-copy p { font-size:17px; margin-top:14px; line-height:1.7; }
  .home-hero-link { font-size:16px; margin-top:13px; padding:10px 0; gap:26px; min-height:44px; }
  .home-hero-link span { font-size:21px; }
  .home-hero-image { min-height:0; height:280px; }
  .home-hero-image img { object-position:center 56%; }
  .home-hero-routine .home-hero-image img { object-position:center 62%; }
  .home-hero-controls { left:auto; right:15px; bottom:14px; border-radius:999px; background:#fbfaf7ef; padding:0 5px 0 15px; gap:0; }
  .home-hero-dots { display:none; }
  .home-hero-count { font-size:12px; gap:7px; margin-right:6px; }
  .home-hero-prev,.home-hero-next,.home-hero-toggle { width:44px; height:44px; }
  .home-hero-prev svg,.home-hero-next svg { width:17px; height:17px; }
  .home-categories-inner { display:block; padding-top:24px; padding-bottom:19px; }
  .home-categories-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:17px; gap:12px; }
  .home-categories-heading > span { display:none; }
  .home-categories-heading h2 { font-size:17px; max-width:none; margin-top:0; }
  .home-category-list { gap:15px; margin-right:-20px; padding-right:20px; padding-bottom:12px; scrollbar-width:none; }
  .home-category-list::-webkit-scrollbar { display:none; }
  .home-category { flex-basis:76px; }
  .home-category-image { width:72px; height:72px; margin-bottom:10px; }
  .home-category strong { font-size:14px; }
  .home-category > span:last-child { font-size:12px; margin-top:4px; }
  .home-set-section { padding:45px 0; }
  .home-set-layout { grid-template-columns:1fr; gap:28px; }
  .home-set-intro h2 { font-size:31px; }
  .home-set-intro > p { font-size:17px; margin-top:12px; }
  .home-set-image { margin-top:23px; }
  .home-set-image img { aspect-ratio:1.85; }
  .home-set-heading h3 { font-size:24px; }
  .home-set-heading > span { font-size:13px; }
  .home-set-options { gap:10px; }
  .home-set-option { padding:16px 13px; }
  .home-set-option h4 { font-size:23px; margin-top:10px; }
  .home-set-option p { font-size:15px; }
  .home-set-option-bottom { margin-top:20px; gap:3px; }
  .home-set-option-bottom strong { font-size:21px; }
  .home-set-option-bottom > span { font-size:21px; }
  .home-set-tag { font-size:11px; padding:2px 4px; }
  .home-set-note { font-size:13px; }
  .home-story-grid { grid-template-columns:1fr; gap:30px; }
  .home-story-image img { aspect-ratio:1.6; }
  .home-story-label { top:14px; left:14px; font-size:10px; }
  .home-story-copy { padding-top:17px; gap:6px 12px; }
  .home-story-copy h3 { font-size:22px; }
  .home-story-copy > span { font-size:24px; }
  .home-story-copy p { font-size:16px; }
  .home-help-links a { padding:24px 25px 24px 0; }
  .home-help-links a + a { padding-left:19px; }
  .home-help-kicker { font-size:12px; }
  .home-help-links strong { font-size:18px; }
  .home-help-arrow { font-size:20px; right:16px; top:29px; }
  .home-help-links a + a .home-help-arrow { right:0; }
  .home-notice { font-size:12px; padding-top:22px; padding-bottom:22px; }
}
@media (max-width:359px) {
  .home-hero-copy { padding-left:20px; padding-right:20px; }
  .home-hero-copy h1,.home-hero-copy h2 { font-size:32px; }
  .home-set-options { grid-template-columns:1fr; }
  .home-set-option { padding:20px; }
  .home-set-option h4 { font-size:26px; }
  .home-set-option p { font-size:15px; }
  .home-set-option-bottom strong { font-size:24px; }
  .home-more { font-size:12px; gap:5px; }
}
@media (prefers-reduced-motion:reduce) {
  .home-hero-track,.home-story-image img,.home-category-image,.home-set-option { transition:none; }
  .home-story-card:hover .home-story-image img,.home-category:hover .home-category-image { transform:none; }
}
