/* The public homepage. Product, checkout and workspace layouts retain their own styles. */
body.public-store.lp-home-open {
  --home-ink: #172f29;
  --home-green: #176b50;
  --home-muted: #646e68;
  --home-line: #e3e8e1;
  --lp-ink: var(--home-ink);
  --lp-muted: var(--home-muted);
  --lp-cream: #fffefa;
  --lp-slate: var(--home-ink);
  --lp-slate-deep: var(--home-ink);
  --lp-clay: var(--home-green);
  --lp-line: var(--home-line);
  background: #fffefa;
  color: var(--home-ink);
}
body.public-store.lp-home-open #main { max-width: 1280px; padding: 40px 40px 0; }
body.lp-home-open .lp-header { border: 0; }
body.lp-home-open .lp-header.is-floating { padding: 12px 24px 0; }
body.lp-home-open .lp-header .lp-header-inner { max-width: 1200px; }
body.lp-home-open .lp-header.is-floating .lp-header-inner {
  max-width: 1200px;
  height: 68px;
  padding: 0 24px;
  border: 1px solid #e5e9e2;
  border-radius: 18px;
  background: rgba(255, 254, 250, .96);
  box-shadow: 0 8px 24px #173b2410;
}
body.lp-home-open .lp-header.is-scrolled { background: #fffefaf5; }
body.lp-home-open .lp-brand .brand { color: var(--home-ink); }
body.lp-home-open .lp-signin { background: var(--home-ink); border-radius: 9px; }
body.lp-home-open .lp-footer { margin-top: 0; background: #f4f5ef; border-top: 1px solid var(--home-line); }
.home-premium { font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
.home-premium :is(h1,h2,h3,p) { margin-top: 0; }
.home-premium :is(h1,h2,h3) { color: var(--home-ink); }
.home-premium h2 { font-size: clamp(30px, 3.2vw, 45px); line-height: 1.13; letter-spacing: -.045em; font-weight: 650; }
.home-premium h2 em { color: var(--home-green); font-style: normal; }
.home-premium :is(button,a):focus-visible { outline: 3px solid #247b5e; outline-offset: 5px; }
.home-premium :is(section[id]) { scroll-margin-top: 110px; }
.home-premium .home-eyebrow { margin: 0 0 22px; color: var(--home-green); font-size: 14px; font-weight: 750; letter-spacing: .13em; line-height: 1.6; }
.home-eyebrow > span { display: inline-block; width: 7px; height: 7px; margin-right: 7px; border-radius: 50%; background: #287c58; }
.home-hero { display: grid; grid-template-columns: 1.04fr 1fr; align-items: center; gap: 45px; min-height: 600px; padding: 40px 0 64px; }
.home-hero-copy { position: relative; z-index: 1; }
.home-premium .home-hero h1 { margin: 0 0 26px; color: var(--home-ink); font-size: clamp(48px, 5.5vw, 74px); line-height: 1.03; letter-spacing: -.065em; font-weight: 700; }
.home-hero h1 em { color: var(--home-green); font-style: normal; position: relative; }
.home-hero h1 em::after { content: ''; position: absolute; height: 7px; left: 0; right: 4px; bottom: -10px; border-top: 3px solid #bdcba2; border-radius: 50%; transform: rotate(-2deg); }
.home-premium .home-intro { max-width: 420px; color: var(--home-muted); font-size: 16px; line-height: 1.85; margin: 30px 0 28px; }
.home-actions { display: flex; flex-wrap: wrap; gap: 16px 22px; align-items: center; }
.home-button { display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 50px; padding: 14px 21px; color: white; background: var(--home-green); border: 1px solid transparent; border-radius: 9px; font-size: 14px; font-weight: 650; line-height: 1.5; transition: background .2s, transform .2s; }
.home-button:hover { color: white; background: #10573f; transform: translateY(-2px); }
.home-button svg, .home-secondary svg, .home-text-link svg { width: 17px; height: 17px; flex: none; }
.home-premium .home-secondary { display: inline-flex; gap: 8px; align-items: center; background: transparent; border: 0; color: var(--home-ink); padding: 9px 0; font-size: 14px; font-weight: 600; box-shadow: none; }
.home-premium .home-secondary:hover { color: var(--home-green); background: transparent; }
.home-actions .home-signin-label { display: none; }
@media (max-width: 760px) {
  .home-actions .home-affiliate-label { display: none; }
  .home-actions .home-signin-label { display: inline; }
}
.home-hero-note { display: flex; gap: 8px; align-items: center; margin-top: 24px; color: #6b756e; font-size: 14px; line-height: 1.6; }
.home-hero-note svg { width: 14px; height: 14px; flex: none; }
.home-showcase { position: relative; min-width: 0; min-height: 490px; display: grid; place-items: center; isolation: isolate; border-radius: 28px; background: #eeeee3; }
.home-orbit { position: absolute; z-index: -1; border-radius: 50%; pointer-events: none; }
.home-orbit-one { width: 330px; height: 330px; background: #dfdccb; top: 42px; right: 22px; }
.home-orbit-two { width: 250px; height: 250px; border: 1px solid #c6cab8; top: 130px; left: 24px; }
.home-showcase-spark { position: absolute; top: 30px; right: 25px; font-size: 47px; color: #4d755c; transform: rotate(10deg); }
.home-hero-product { position: relative; display: block; width: 65%; margin: 44px 0 32px; padding: 14px; border: 1px solid #ffffff; border-radius: 13px; background: #fffefa; box-shadow: 0 16px 40px #263e2920; transform: rotate(-5deg); transition: transform .3s; color: var(--home-ink); }
.home-hero-product:hover { transform: rotate(-2deg) translateY(-3px); }
.home-pick-label { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; font-size: 14px; font-weight: 750; letter-spacing: .15em; color: #57715d; }
.home-pick-label > span { font-size: 17px; }
.home-cover { position: relative; overflow: hidden; min-width: 0; background: #e6ebde; border-radius: 6px; }
.home-hero-product .home-cover { aspect-ratio: 1.08; }
.home-cover > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.home-hero-product .home-cover > img { position: absolute; inset: 0; object-fit: contain; }
.home-cover.is-generated { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 24px; background: #153e36; color: #e9f0dd; }
.home-cover-mark svg { width: 35px; height: 35px; margin-bottom: 14px; }
.home-cover-type { font-size: 14px; text-transform: uppercase; letter-spacing: .15em; margin-bottom: 12px; }
.home-cover.is-generated > strong { font-weight: 650; font-size: clamp(18px, 2vw, 28px); line-height: 1.18; letter-spacing: -.035em; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden; }
.home-cover-imprint { font-size: 14px; letter-spacing: .18em; margin-top: 25px; }
.home-pick-detail { display: flex; gap: 10px; justify-content: space-between; align-items: end; padding: 15px 2px 2px; }
.home-pick-detail > div { min-width: 0; }
.home-pick-detail span { font-size: 14px; color: var(--home-muted); }
.home-premium .home-pick-detail h2 { margin: 5px 0 0; font-size: 14px; line-height: 1.45; letter-spacing: -.02em; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.home-pick-detail > strong { white-space: nowrap; font-size: 14px; font-weight: 700; color: var(--home-green); }
.home-mini-note { position: absolute; top: 29px; left: -15px; z-index: 2; display: flex; gap: 10px; align-items: center; padding: 13px 17px; border: 1px solid #fafbf4; border-radius: 10px; background: #fffefa; box-shadow: 0 10px 20px #1e302910; transform: rotate(-4deg); }
.home-mini-note > svg { width: 23px; height: 23px; color: #477158; }
.home-mini-note strong { display: block; font-size: 14px; }
.home-mini-note span { display: block; margin-top: 4px; color: var(--home-muted); font-size: 14px; }
.home-stacked-label { position: absolute; z-index: 2; right: -12px; bottom: 145px; display: flex; align-items: center; gap: 12px; padding: 15px 22px; background: #e7bba2; border-radius: 9px; transform: rotate(5deg); box-shadow: 0 9px 20px #37291915; pointer-events: none; }
.home-stacked-label svg { width: 25px; height: 25px; }
.home-stacked-label > span { font-size: 14px; line-height: 1.6; }
.home-showcase-index { position: absolute; bottom: 17px; left: 23px; font-size: 14px; font-weight: 650; letter-spacing: .14em; color: #6a7464; }
.home-empty-showcase { padding: 30px; text-align: center; }
.home-empty-showcase svg { width: 65px; height: 65px; color: var(--home-green); }
.home-empty-showcase p { margin-top: 20px; font-size: 37px; line-height: 1.1; font-weight: 650; letter-spacing: -.045em; }
.home-empty-showcase small { font-size: 14px; letter-spacing: .16em; }
.home-assurance { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 25px 0 28px; border-top: 1px solid var(--home-line); border-bottom: 1px solid var(--home-line); gap: 24px; }
.home-assurance > div { display: flex; align-items: center; justify-content: center; gap: 14px; }
.home-assurance > div + div { border-left: 1px solid var(--home-line); }
.home-assurance svg { width: 25px; height: 25px; color: var(--home-green); flex: none; }
.home-assurance p { margin: 0; font-size: 14px; line-height: 1.7; }
.home-assurance strong { display: block; font-weight: 650; }
.home-assurance span { display: block; color: var(--home-muted); font-size: 14px; }
.home-discover { padding: 84px 0 90px; }
.home-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 30px; }
.home-section-heading .home-eyebrow { margin-bottom: 15px; }
.home-section-heading h2 { margin-bottom: 0; }
.home-text-link { display: inline-flex; align-items: center; gap: 14px; padding-bottom: 7px; color: var(--home-ink); font-size: 14px; font-weight: 650; border-bottom: 1px solid #bac7bc; }
.home-text-link:hover { color: var(--home-green); border-color: var(--home-green); }
.home-filter-row { display: flex; gap: 16px; align-items: center; justify-content: space-between; margin-bottom: 25px; }
.home-filters { display: flex; flex-wrap: wrap; gap: 7px; }
.home-premium .home-filters button { min-height: 38px; border: 1px solid #e2e7df; border-radius: 99px; background: transparent; color: var(--home-muted); padding: 8px 16px; font-size: 14px; box-shadow: none; }
.home-premium .home-filters button:hover { color: var(--home-green); border-color: #849e87; }
.home-premium .home-filters button[aria-pressed=true] { background: var(--home-ink); color: white; border-color: var(--home-ink); }
.home-premium .home-results-count { flex: none; margin: 0; font-size: 14px; color: var(--home-muted); }
.home-product-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 21px; }
.home-product-grid .catalog-card { display: flex; flex-direction: column; padding: 0; min-width: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; overflow: visible; cursor: pointer; transition: transform .2s; }
.home-product-grid .catalog-card:hover { transform: translateY(-4px); box-shadow: none; }
.home-product-grid .product-image { position: relative; display: block; width: 100%; flex: none; aspect-ratio: 1 / 1.14; height: auto; margin: 0; border-radius: 13px; overflow: hidden; background: #eeeee5; border: 1px solid #e8e9df; }
.home-product-grid .product-image .home-cover { position: absolute; inset: 0; width: 100%; height: 100%; border-radius: 0; }
.home-product-grid .home-cover > img { object-fit: contain; width: 100%; height: 100%; max-width: none; border-radius: 0; }
.home-product-grid .catalog-card:nth-child(2n) .home-cover.is-generated { background: #eadfcf; color: #513f2b; }
.home-product-grid .catalog-card:nth-child(3n) .home-cover.is-generated { background: #d8dfc7; color: #284d3b; }
.home-product-grid .catalog-card:nth-child(4n) .home-cover.is-generated { background: #cbdad5; color: #284d43; }
.home-product-grid .catalog-card:nth-child(2n) .product-image { background: #f2e8dd; }
.home-product-grid .catalog-card:nth-child(3n) .product-image { background: #e7ece4; }
.home-product-grid .product-image > img { object-fit: contain; transition: transform .4s; }
.home-product-grid .catalog-card:hover .product-image > img { transform: scale(1.035); }
.home-product-grid .catalog-card-content { padding: 16px 1px 0; min-height: 0; }
.home-product-grid .eyebrow { font-size: 14px; letter-spacing: .08em; color: #67786b; }
.home-product-grid .catalog-card-title { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; margin: 7px 0 13px; font-family: inherit; font-size: 14px; font-weight: 650; line-height: 1.5; color: var(--home-ink); }
.home-product-grid .card-price { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: auto 0 0; color: var(--home-ink); font-size: 14px; }
.home-product-grid .card-price s { margin-left: 5px; color: var(--home-muted); font-size: 14px; font-weight: 400; }
.home-product-grid .product-price { font-size: 15px; font-weight: 700; color: var(--home-ink); }
.home-product-grid .product-mark { color: #3d745b; }
.home-product-grid .card-price > svg { width: 27px; height: 27px; padding: 6px; border-radius: 50%; background: #ebefe8; color: var(--home-ink); }
.home-empty-collection { grid-column: 1 / -1; text-align: center; padding: 45px 24px; background: #f2f4ed; border-radius: 16px; }
.home-empty-collection p { color: var(--home-muted); font-size: 14px; }
.home-experience { display: grid; grid-template-columns: 1fr 1.05fr; border-radius: 22px; background: #173e33; color: #edf3e8; overflow: hidden; }
.home-experience-visual { position: relative; margin: 40px; border-radius: 12px; background: #d8dfc6; padding: 18px 25px 32px; display: flex; flex-direction: column; justify-content: center; }
.home-experience-cover { margin: 7px 10px; padding: 12px; background: #fbfcf5; box-shadow: 0 12px 25px #1b342c25; border-radius: 7px; transform: rotate(-5deg); }
.home-experience-cover .home-cover { aspect-ratio: 1.05; }
.home-experience-cover .home-cover > img { position: absolute; inset: 0; object-fit: contain; }
.home-experience-copy { padding: 50px 40px 45px 10px; }
.home-experience-copy .home-eyebrow { color: #bbd1a2; font-size: 14px; }
.home-experience-copy h2 { color: white; font-size: clamp(35px, 3.7vw, 48px); }
.home-experience-copy h2 em { color: #c8dfa9; }
.home-experience-tabs { display: flex; gap: 8px; margin: 26px 0 0; border-bottom: 1px solid #ffffff30; }
.home-premium .home-experience-tabs button { display: inline-flex; justify-content: center; gap: 7px; align-items: center; flex: 1; padding: 12px 3px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; color: #b0c6b7; font-size: 14px; box-shadow: none; }
.home-experience-tabs button svg { width: 14px; height: 14px; flex: none; }
.home-premium .home-experience-tabs button:hover { color: white; background: transparent; }
.home-premium .home-experience-tabs button[aria-selected=true] { color: #e4f4ce; border-bottom-color: #cee3af; }
.home-experience-panel { min-height: 108px; padding: 20px 0 18px; }
.home-experience-panel h3 { margin: 0 0 6px; color: #f1f7e9; font-size: 14px; font-weight: 600; }
.home-experience-panel p { margin: 0; font-size: 14px; line-height: 1.7; color: #c0d0c4; }
.home-button-light { background: #e1ebcb; color: #193e32; }
.home-button-light:hover { background: #edf4de; color: #193e32; }
.home-premium .home-experience-name { max-width: 350px; margin: 12px 0 0; font-size: 14px; line-height: 1.6; color: #b9cbbc; }
.home-how { padding: 95px 0; }
.home-how .home-section-heading > p { max-width: 240px; font-size: 14px; line-height: 1.8; color: var(--home-muted); }
.home-how ol { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 35px; margin: 38px 0 0; padding: 0; list-style: none; }
.home-how li { border-top: 1px solid #bcc8b8; padding-top: 20px; }
.home-how li > span { display: block; margin-bottom: 22px; font-size: 14px; color: var(--home-green); font-weight: 650; }
.home-how h3 { margin-bottom: 10px; font-size: 17px; letter-spacing: -.035em; }
.home-how li p { max-width: 290px; margin: 0; font-size: 14px; line-height: 1.85; color: var(--home-muted); }
.home-partner { display: grid; grid-template-columns: 1.3fr 1fr; gap: 40px; padding: 55px 60px; border-radius: 20px; background: #f1e7dc; overflow: hidden; }
.home-partner .home-eyebrow { color: #765538; font-size: 14px; }
.home-partner h2 { font-size: clamp(29px, 3vw, 41px); }
.home-partner h2 em { color: #87614b; }
.home-partner p:not(.home-eyebrow) { max-width: 350px; margin-bottom: 24px; font-size: 14px; line-height: 1.8; color: #70675b; }
.home-faq { display: grid; grid-template-columns: 1fr 1.25fr; gap: 80px; padding: 95px 0; }
.home-faq .home-eyebrow { margin-bottom: 15px; }
.home-faq h2 { font-size: 36px; margin-bottom: 25px; }
.home-faq .lp-faq-item { border-bottom-color: var(--home-line); }
.home-faq .lp-faq-item summary { min-height: 65px; font-family: inherit; font-size: 14px; font-weight: 600; color: var(--home-ink); }
.home-faq .lp-faq-answer p { color: var(--home-muted); font-size: 14px; }
.home-final { position: relative; isolation: isolate; margin-bottom: 70px; padding: 65px 20px; text-align: center; background: #edf1e5; border-radius: 22px; overflow: hidden; }
.home-final .home-eyebrow { font-size: 14px; margin-bottom: 18px; }
.home-final h2 { margin-bottom: 26px; }
@media (max-width: 1050px) {
  body.public-store.lp-home-open #main { padding: 25px 30px 0; }
  .home-hero { gap: 30px; min-height: 540px; }
  .home-premium .home-hero h1 { font-size: 57px; }
  .home-showcase { min-height: 440px; }
  .home-orbit-one { width: 260px; height: 260px; }
  .home-stacked-label { right: -7px; padding: 12px 14px; }
  .home-product-grid { gap: 15px; }
  .home-experience-visual { margin: 28px; padding: 16px; }
  .home-experience-copy { padding-right: 28px; }
  .home-partner { padding: 45px 35px; }
  .home-faq { gap: 40px; }
}
@media (max-width: 760px) {
  body.public-store.lp-home-open #main { padding: 20px 20px 0; }
  body.lp-home-open .lp-header.is-floating { padding: 0; }
  body.lp-home-open .lp-header.is-floating .lp-header-inner { display: flex; height: 62px; padding: 0 12px 0 16px; border: 0; border-bottom: 1px solid var(--home-line); border-radius: 0; box-shadow: none; }
  body.lp-home-open .lp-header.is-scrolled .lp-header-inner { height: 62px; }
  .home-hero { grid-template-columns: 1fr; gap: 28px; padding: 34px 0 34px; min-height: 0; }
  .home-premium .home-hero h1 { font-size: clamp(45px, 9.5vw, 66px); letter-spacing: -.06em; }
  .home-premium .home-eyebrow { font-size: 14px; margin-bottom: 20px; }
  .home-premium .home-intro { margin-top: 28px; margin-bottom: 22px; font-size: 14px; max-width: 430px; line-height: 1.8; }
  .home-actions { gap: 12px 20px; }
  .home-button { min-height: 46px; font-size: 14px; padding: 12px 17px; }
  .home-premium .home-secondary { font-size: 14px; }
  .home-hero-note { margin-top: 18px; font-size: 14px; }
  .home-showcase { min-height: 420px; max-width: 490px; width: 100%; margin: 10px auto 0; }
  .home-hero-product { max-width: 300px; width: 65%; }
  .home-mini-note { top: 18px; left: -5px; }
  .home-stacked-label { right: -5px; bottom: 115px; }
  .home-assurance { grid-template-columns: 1fr; gap: 17px; padding: 23px 0; }
  .home-assurance > div { justify-content: flex-start; padding-left: 8px; }
  .home-assurance > div + div { border-left: 0; }
  .home-assurance strong { font-size: 14px; }
  .home-assurance span { font-size: 14px; }
  .home-assurance svg { width: 22px; height: 22px; }
  .home-discover { padding: 50px 0; }
  .home-section-heading { align-items: flex-start; gap: 20px; flex-direction: column; margin-bottom: 24px; }
  .home-premium h2 { font-size: 33px; }
  .home-section-heading .home-eyebrow { margin-bottom: 12px; }
  .home-text-link { font-size: 14px; }
  .home-filter-row { align-items: start; flex-direction: column; gap: 13px; margin-bottom: 20px; }
  .home-premium .home-filters button { min-height: 38px; padding: 8px 13px; font-size: 14px; }
  .home-product-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 25px 13px; }
  .home-product-grid .product-image { border-radius: 9px; }
  .home-product-grid .catalog-card-content { padding-top: 12px; }
  .home-product-grid .catalog-card-title { font-size: 14px; line-height: 1.6; }
  .home-product-grid .eyebrow { font-size: 14px; }
  .home-product-grid .product-price { font-size: 14px; }
  .home-product-grid .home-cover.is-generated { padding: 16px; }
  .home-product-grid .home-cover.is-generated > strong { font-size: 20px; }
  .home-product-grid .home-cover-type { font-size: 14px; }
  .home-product-grid .home-cover-mark svg { width: 24px; height: 24px; margin-bottom: 8px; }
  .home-product-grid .home-cover-imprint { font-size: 14px; margin-top: 15px; }
  .home-experience { grid-template-columns: 1fr; border-radius: 15px; }
  .home-experience-visual { margin: 25px 28px 0; padding: 14px 28px 22px; max-width: 420px; }
  .home-experience-cover { max-width: 280px; width: 85%; align-self: center; }
  .home-experience-cover .home-cover { aspect-ratio: 1.25; }
  .home-experience-copy { padding: 35px 25px; }
  .home-experience-copy .home-eyebrow { font-size: 14px; }
  .home-experience-copy h2 { font-size: 39px; }
  .home-experience-tabs { margin-top: 22px; }
  .home-experience-panel { min-height: 108px; }
  .home-how { padding: 50px 0; }
  .home-how .home-section-heading > p { margin-bottom: 0; max-width: none; }
  .home-how ol { grid-template-columns: 1fr; gap: 25px; margin-top: 25px; }
  .home-how li { display: grid; grid-template-columns: 36px 1fr; column-gap: 10px; padding-top: 18px; }
  .home-how li > span { grid-row: span 2; margin-top: 3px; }
  .home-how h3 { margin-bottom: 8px; font-size: 17px; }
  .home-how li p { max-width: none; }
  .home-partner { grid-template-columns: 1fr; gap: 15px; padding: 35px 25px 25px; border-radius: 15px; }
  .home-partner h2 { font-size: 31px; }
  .home-partner-art { min-height: 260px; }
  .home-partner-tag { bottom: 0; }
  .home-faq { grid-template-columns: 1fr; gap: 22px; padding: 50px 0; }
  .home-faq h2 { font-size: 33px; }
  .home-final { margin-bottom: 40px; padding: 45px 22px; border-radius: 15px; }
  .home-final h2 { font-size: 32px; }
  .home-final .home-eyebrow { font-size: 14px; }
  .home-final-spark { right: -35px; top: 44%; font-size: 130px; opacity: .6; }
}
@media (max-width: 370px) {
  body.public-store.lp-home-open #main { padding-left: 16px; padding-right: 16px; }
  .home-showcase { min-height: 365px; }
  .home-premium .home-hero h1 { font-size: 45px; }
  .home-mini-note { padding: 10px; }
  .home-stacked-label { padding: 10px; bottom: 105px; }
  .home-pick-detail { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
  .home-premium *, body.lp-home-open .lp-header, body.lp-home-open .lp-header-inner { animation: none; transition: none; scroll-behavior: auto; }
}

/* Editorial refinement: the established Hero/Collection grid sets the rhythm. */
body.public-store.lp-home-open {
  --home-ink: var(--store-ink);
  --home-green: var(--store-accent);
  --home-muted: var(--store-muted);
  --home-line: var(--store-line);
}
body.lp-home-open .lp-header.is-floating .lp-header-inner,
body.lp-home-open .lp-header.is-scrolled { background: var(--store-paper); box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
body.lp-home-open .lp-header :is(.lp-link,.lp-signin,.lp-support-trigger) { font-size: 14px; min-height: 44px; }
body.lp-home-open .lp-brand .brand small { display: none; }
.home-premium { font-size: 16px; line-height: 1.65; }
.home-premium .home-intro { font-size: 16px; }
.home-premium .home-eyebrow { font-size: 14px; font-weight: 600; letter-spacing: .06em; }
.home-premium .home-button { min-height: 48px; font-size: 16px; transition: background-color .18s, color .18s; }
.home-premium .home-button:hover { transform: none; }
.home-premium .home-secondary, .home-premium .home-text-link { font-size: 14px; min-height: 44px; }
.home-premium button.home-text-link { padding: 8px 0; border: 0; border-bottom: 1px solid #bac7bc; border-radius: 0; background: transparent; box-shadow: none; }
.home-premium button.home-text-link:hover { background: transparent; color: var(--home-green); }
.home-hero-product:hover { transform: rotate(-5deg); }
.home-premium .home-hero-note { font-size: 14px; }
.home-mini-note { box-shadow: none; }
.home-mini-note :is(strong,span), .home-stacked-label > span { font-size: 14px; }
.home-stacked-label { background: #eeeddf; box-shadow: none; }
.home-showcase-index { font-size: 14px; letter-spacing: .03em; color: #4f5f4f; }
.home-pick-label { font-size: 14px; letter-spacing: .06em; }
.home-pick-detail { flex-wrap: wrap; }
.home-pick-detail span { font-size: 14px; }
.home-premium .home-pick-detail h2 { font-size: 16px; line-height: 1.5; }
.home-pick-detail > strong { font-size: 16px; }
.home-cover-imprint { display: none; }
.home-cover-type { font-size: 14px; line-height: 1.5; letter-spacing: .02em; }
.home-product-grid .catalog-card:hover { transform: none; }
.home-product-grid .catalog-card-title { font-size: 16px; line-height: 1.5; }
.home-product-grid .product-price { font-size: 16px; }
.home-product-grid :is(.eyebrow,.card-price small,.card-price s,.home-cover-type) { font-size: 14px; letter-spacing: 0; }
.home-product-grid .home-cover.is-generated { justify-content: center; }
.home-product-grid .home-cover.is-generated > strong { overflow-wrap: anywhere; }
.home-premium .home-filters button { font-size: 14px; min-height: 44px; }
.home-premium .home-results-count { font-size: 14px; }
.home-empty-collection p { font-size: 16px; }
.home-premium .home-supporting { margin: 20px 0 28px; max-width: 42ch; font-size: 16px; line-height: 1.75; color: var(--home-muted); }

.home-assurance { display: flex; justify-content: space-between; align-items: center; gap: 32px; padding: 32px 0; }
.home-assurance > div { display: block; padding: 0; }
.home-assurance h2 { margin: 0 0 8px; font-size: 22px; letter-spacing: -.025em; line-height: 1.3; }
.home-assurance p { margin: 0; font-size: 16px; color: var(--home-muted); }
.home-assurance > button { flex: none; }

.home-experience { grid-template-columns: 1fr 1fr; border-radius: 16px; background: var(--home-ink); }
.home-experience-visual { margin: 0; padding: 56px; border-radius: 0; background: #e9eddf; }
.home-experience-cover { margin: 0; padding: 0; width: 100%; background: transparent; border-radius: 0; box-shadow: none; transform: none; }
.home-experience-cover .home-cover { aspect-ratio: 4 / 5; border-radius: 0; background: transparent; }
.home-experience-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 56px 48px; }
.home-experience-copy h2 { margin-bottom: 0; font-size: clamp(34px, 3.5vw, 48px); line-height: 1.13; }
.home-experience-copy h2 em { color: #d1e1bd; }
.home-experience-copy > .home-supporting { margin: 24px 0; font-size: 16px; color: #d0d9d2; }
.home-experience-details { width: 100%; margin-bottom: 30px; }
.home-experience-details > summary { min-height: 44px; padding: 8px 0; color: #e2ebde; cursor: pointer; font-size: 16px; text-underline-offset: 5px; }
.home-experience-details[open] > summary { margin-bottom: 10px; }
.home-experience-tabs { margin-top: 0; }
.home-premium .home-experience-tabs button { min-height: 48px; font-size: 14px; padding: 10px 4px; color: #c7d3c9; }
.home-experience-panel { padding: 20px 0 10px; min-height: 0; }
.home-experience-panel h3 { font-size: 18px; line-height: 1.5; }
.home-experience-panel p { font-size: 16px; line-height: 1.75; color: #d0d9d2; }
.home-premium .home-experience-name { font-size: 14px; line-height: 1.6; margin-top: 20px; color: #c4d0c7; }

.home-how { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; padding: var(--store-rhythm) 0; }
.home-how h2 { margin: 0; }
.home-how ol { display: block; margin: 0; padding: 0; list-style: none; }
.home-how li { display: block; padding: 0; border: 0; border-bottom: 1px solid var(--home-line); }
.home-how li:first-child { border-top: 1px solid var(--home-line); }
.home-how summary { display: flex; align-items: center; gap: 24px; min-height: 88px; cursor: pointer; list-style: none; font-size: 20px; font-weight: 550; }
.home-how summary::-webkit-details-marker { display: none; }
.home-how-number { color: var(--home-muted); font-size: 14px; font-weight: 500; }
.home-detail-mark { margin-left: auto; font-size: 22px; color: var(--home-green); font-weight: 400; }
.home-how details[open] .home-detail-mark { transform: rotate(45deg); }
.home-how li p { margin: 0 0 24px 42px; max-width: 36ch; font-size: 16px; line-height: 1.75; }

.home-partner { grid-template-columns: 1fr 1fr; align-items: center; gap: 80px; padding: 64px 0; border-radius: 0; background: transparent; }
.home-partner .home-eyebrow { margin-bottom: 20px; color: var(--home-muted); font-size: 14px; }
.home-partner h2 { margin: 0; font-size: clamp(32px, 3.2vw, 45px); }
.home-partner h2 em { color: var(--home-green); }
.home-partner .home-partner-copy .home-supporting { margin: 0 0 28px; color: var(--home-muted); font-size: 16px; }
.home-faq { grid-template-columns: 1fr 1fr; gap: 80px; padding: var(--store-rhythm) 0; }
.home-faq h2 { margin-bottom: 0; font-size: clamp(32px, 3.2vw, 45px); }
.home-faq .lp-faq-list { gap: 0; }
.home-faq .lp-faq-item summary { min-height: 88px; font-family: inherit; font-size: 18px; line-height: 1.5; }
.home-faq .lp-faq-answer p { font-size: 16px; line-height: 1.75; }
.home-final { margin-bottom: 80px; padding: 72px 32px; background: #edf1e6; border-radius: 16px; }
.home-final h2 { margin: 0; }
.home-final .home-supporting { margin: 24px auto 32px; }
@media (max-width: 1050px) {
  .home-experience-copy { padding: 40px 32px; }
  .home-experience-visual { padding: 40px; }
  .home-how, .home-faq { gap: 48px; }
  .home-partner { gap: 40px; padding: 48px 0; }
}
@media (max-width: 760px) {
  .home-premium .home-eyebrow { letter-spacing: .04em; }
  .home-actions { align-items: flex-start; }
  .home-hero-note { align-items: flex-start; }
  .home-hero-note svg { margin-top: 3px; }
  .home-mini-note { padding: 10px 12px; top: 12px; max-width: 230px; }
  .home-stacked-label { padding: 10px; right: -3px; bottom: 160px; }
  .home-hero-product { margin-top: 68px; margin-bottom: 45px; width: 78%; }
  .home-showcase-index { bottom: 12px; left: 16px; right: 16px; }
  .home-showcase { min-height: 460px; }
  .home-assurance { flex-direction: column; align-items: flex-start; gap: 20px; padding: 28px 0; }
  .home-assurance h2 { font-size: 22px; }
  .home-discover { padding: 64px 0; }
  .home-filter-row { gap: 18px; }
  .home-product-grid .home-cover.is-generated > strong { font-size: 18px; }
  .home-experience { grid-template-columns: 1fr; }
  .home-experience-visual { padding: 32px; max-width: none; }
  .home-experience-cover { max-width: 340px; margin: 0 auto; width: 100%; }
  .home-experience-cover .home-cover { aspect-ratio: 4 / 5; }
  .home-experience-copy { padding: 40px 28px; }
  .home-experience-copy h2 { font-size: 36px; }
  .home-experience-tabs { flex-wrap: nowrap; gap: 4px; }
  .home-how, .home-faq { grid-template-columns: 1fr; gap: 32px; padding: 64px 0; }
  .home-how summary { font-size: 18px; min-height: 80px; gap: 18px; }
  .home-how li p { margin-left: 36px; }
  .home-partner { grid-template-columns: 1fr; gap: 24px; padding: 48px 0; }
  .home-partner h2 { font-size: 33px; }
  .home-partner .home-partner-copy .home-supporting { margin-bottom: 28px; }
  .home-faq .lp-faq-item summary { min-height: 80px; }
  .home-final { padding: 48px 24px; margin-bottom: 48px; }
}

/* The original three benefits, with readable type and a shared baseline. */
.home-premium .home-assurance { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: stretch; gap: 28px; padding: 32px 0; }
.home-premium .home-assurance > div { display: flex; min-width: 0; align-items: center; justify-content: flex-start; gap: 16px; padding: 0; }
.home-premium .home-assurance > div + div { padding-left: 28px; border-left: 1px solid var(--home-line); }
.home-premium .home-assurance > div > svg { width: 26px; height: 26px; color: var(--home-green); flex: none; }
.home-premium .home-assurance p { margin: 0; color: var(--home-ink); }
.home-premium .home-assurance p > strong { display: block; font-size: 16px; line-height: 1.5; font-weight: 600; }
.home-premium .home-assurance p > span { display: block; margin-top: 5px; font-size: 14px; line-height: 1.65; color: var(--home-muted); }
.home-premium .home-intro { max-width: 46ch; white-space: normal; text-wrap: pretty; margin-top: 30px; margin-bottom: 26px; }
.home-premium .home-how { grid-template-columns: 1.05fr 1fr; align-items: center; gap: 80px; }
.home-how-copy .home-supporting { margin: 0 0 24px; max-width: 34ch; }
.home-how-copy .home-text-link { font-size: 16px; }
.home-details-body { overflow: hidden; }
.home-experience-tabs button:focus-visible { outline-offset: -4px; }
.home-experience-panel { min-height: 124px; }
@media (max-width: 760px) {
  .home-premium .home-assurance { grid-template-columns: 1fr; gap: 24px; padding: 28px 0; }
  .home-premium .home-assurance > div + div { padding-left: 0; border: 0; }
  .home-premium .home-how { grid-template-columns: 1fr; gap: 24px; }
}

/* Motion follows the hand: no scroll hijacking or continuously moving decoration. */
@media (prefers-reduced-motion: no-preference) {
  .home-premium { animation: home-arrive .35s ease-out both; }
  .home-premium .home-hero-product { transition: transform .55s cubic-bezier(.22,1,.36,1), box-shadow .55s cubic-bezier(.22,1,.36,1); }
  .home-premium .home-product-grid .catalog-card { transition: transform .4s cubic-bezier(.22,1,.36,1); }
  .home-premium .home-product-grid .home-cover > img { transition: transform .5s cubic-bezier(.22,1,.36,1); }
  .home-premium .home-button { transition: background-color .25s ease, transform .35s cubic-bezier(.22,1,.36,1); }
  .home-premium :is(.home-button,.home-secondary,.home-text-link) > svg { transition: transform .35s cubic-bezier(.22,1,.36,1); }
  @media (hover: hover) and (pointer: fine) {
    .home-premium .home-hero-product:hover { transform: rotate(-2deg) translateY(-5px); box-shadow: 0 22px 48px #263e2926; }
    .home-premium .home-product-grid .catalog-card:hover { transform: translateY(-4px); }
    .home-premium .home-product-grid .catalog-card:hover .home-cover > img { transform: scale(1.025); }
    .home-premium .home-button:hover { transform: translateY(-2px); }
    .home-premium :is(.home-button,.home-secondary,.home-text-link):hover > svg { transform: translateX(4px); }
  }
  .home-premium .home-hero-product:focus-visible { transform: rotate(-2deg) translateY(-5px); }
}
@keyframes home-arrive { from { opacity: .35; } to { opacity: 1; } }

/* A lighter hero composition, with the live product and its hover kept intact. */
.home-premium .home-hero { min-height: 560px; }
.home-premium .home-showcase { width: 100%; max-width: 520px; min-height: 450px; justify-self: end; }
.home-premium .home-hero-product { width: 62%; max-width: 326px; padding: 12px; margin: 44px 0 28px; }
.home-premium .home-pick-label { justify-content: flex-end; gap: 12px; }
@media (max-width: 760px) {
  .home-premium .home-hero { min-height: 0; }
  .home-premium .home-showcase { max-width: 420px; min-height: 400px; justify-self: center; }
  .home-premium .home-hero-product { width: 72%; max-width: 286px; margin-top: 68px; margin-bottom: 30px; }
  .home-premium .home-pick-label { display: none; }
  .home-premium .home-stacked-label { bottom: 145px; }
}

/* One visual, one message and one primary action for the featured experience. */
.home-premium .home-experience { grid-template-columns: 220px minmax(0,1fr); align-items: center; gap: 56px; padding: 48px 64px; border-radius: 0; background: #164936; }
.home-premium .home-experience-visual { display: grid; place-items: center; width: 100%; max-width: none; margin: 0; padding: 0; border-radius: 0; background: transparent; }
.home-premium .home-experience-cover { display: block; width: 190px; max-width: 100%; margin: 0; padding: 0; border-radius: 0; background: transparent; box-shadow: none; transform: none; }
.home-premium .home-experience-cover .home-cover { aspect-ratio: 4 / 5; background: transparent; }
.home-premium .home-experience-copy { display: flex; align-items: flex-start; padding: 0; }
.home-premium .home-experience-copy h2 { margin: 0; color: #fffefa; font-size: clamp(30px,3.4vw,44px); font-weight: 550; line-height: 1.15; letter-spacing: -.04em; }
.home-premium .home-experience-copy > .home-supporting { max-width: 46ch; margin: 20px 0 24px; color: #e1eade; font-size: 16px; line-height: 1.65; }
.home-premium .home-experience .home-button-light { min-height: 48px; border-radius: 0; background: #fffefa; color: #164936; }
.home-premium .home-experience .home-button-light:hover { background: #edf3e8; }
.home-premium .home-experience-details { width: 100%; margin: 16px 0 0; }
.home-premium .home-experience-details > summary { width: fit-content; min-height: 44px; padding: 8px 0; color: #e1eade; font-size: 14px; }
.home-premium .home-experience :is(a,button,summary):focus-visible { outline: 2px solid #e1eade; outline-offset: 5px; }
@media (max-width: 1000px) and (min-width: 761px) {
  .home-premium .home-experience { grid-template-columns: 180px minmax(0,1fr); gap: 36px; padding: 40px; }
  .home-premium .home-experience-cover { width: 160px; }
}
@media (max-width: 760px) {
  .home-premium .home-experience { grid-template-columns: 80px minmax(0,1fr); gap: 16px 24px; padding: 28px 24px; }
  .home-premium .home-experience-visual { grid-column: 1; grid-row: 1; }
  .home-premium .home-experience-cover { width: 80px; }
  .home-premium .home-experience-copy { display: contents; }
  .home-premium .home-experience-copy h2 { grid-column: 2; grid-row: 1; font-size: 30px; }
  .home-premium .home-experience-copy > .home-supporting { grid-column: 1 / -1; margin: 0; }
  .home-premium .home-experience .home-button-light { grid-column: 1 / -1; justify-self: start; }
  .home-premium .home-experience-details { grid-column: 1 / -1; margin: 0; }
}
