.hero { display: grid; grid-template-columns: 1.08fr 1fr; align-items: center; gap: 2rem; padding-block: clamp(3rem, 5vw, 5rem); }
.hero-copy { position: relative; z-index: 1; min-width: 0; }
h1 { font-size: clamp(2.9rem, 4.6vw, 4.75rem); font-weight: 400; line-height: 1.08; letter-spacing: -.045em; margin-bottom: 1.6rem; }
h1 span { color: var(--color-wine); }
.hero-intro { max-width: 36rem; font-size: 1.125rem; line-height: 1.75; }
.hero-philosophy { margin-block: 1.65rem 1rem; padding-left: 1.2rem; border-left: 2px solid var(--color-wine); color: var(--color-wine); font-family: var(--font-display); font-size: 1.45rem; line-height: 1.45; }
.hero-detail { max-width: 35rem; color: var(--color-muted); font-size: 1rem; }
.release-note { margin-top: 1.8rem; padding-top: 1.25rem; border-top: 1px solid var(--color-border); max-width: 35rem; font-size: .9375rem; color: var(--color-muted); }
.release-title { margin-bottom: .25rem; color: var(--color-text); font-weight: 600; }
.fruit-composition { position: relative; aspect-ratio: 1 / 1.04; width: 100%; min-width: 0; isolation: isolate; }
.fruit-halo { position: absolute; inset: 8% 0 4%; border-radius: 50%; background: radial-gradient(ellipse at 52% 52%, #e4d5bb 0%, #eae0d0 42%, transparent 70%); z-index: -1; }
.fruit { position: absolute; object-fit: contain; filter: drop-shadow(0 14px 13px #4c302018); }
.fruit-grapes { width: 75%; top: 0; left: 0; z-index: 1; }
.fruit-apple { width: 61%; top: 31%; right: 0; z-index: 2; }
.fruit-raspberry { width: 48%; bottom: 0; left: 12%; z-index: 3; }
.journey { background: var(--color-surface); border-top: 1px solid var(--color-border); padding-block: 2.65rem; }
.journey-list { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 2.2rem; list-style: none; margin: 0; padding: 0; }
.journey-step { position: relative; display: flex; align-items: flex-start; gap: .9rem; min-width: 0; }
.step-number { font-family: var(--font-display); font-size: 1.6rem; line-height: 1.2; color: var(--color-wine); padding-top: .05rem; }
.journey-step h3 { color: var(--color-wine); font-size: .98rem; text-transform: uppercase; letter-spacing: .045em; line-height: 1.5; margin-bottom: .5rem; overflow-wrap: anywhere; }
.journey-step p { font-size: .9375rem; line-height: 1.6; }
.journey-step:not(:last-child)::after { content: '→'; position: absolute; right: -1.6rem; top: -.05rem; color: var(--color-wine); font-size: 1.1rem; }
@media (max-width: 68rem) {
  .hero { gap: 1rem; }
  .journey-list { grid-template-columns: 1fr; gap: 2.4rem; }
  .journey-step:not(:last-child)::after { content: '↓'; left: .6rem; right: auto; top: auto; bottom: -2rem; }
}
@media (max-width: 52rem) {
  .hero { grid-template-columns: 1fr; gap: 1.5rem; padding-block: 2.75rem 2rem; }
  .hero-copy { max-width: 39rem; margin-inline: auto; }
  h1 { font-size: clamp(2rem, 10.9vw, 4rem); overflow-wrap: anywhere; }
  .fruit-composition { max-width: 28rem; margin-inline: auto; }
}
@media (max-width: 40rem) {
  .hero-intro { font-size: 1.0625rem; }
  .hero-philosophy { font-size: 1.3rem; }
  .fruit-composition { max-width: 23rem; }
  .journey { padding-block: 2rem; }
  .journey-list { grid-template-columns: 1fr; gap: 2.4rem; }
  .journey-step { gap: 1rem; }
  .step-number { width: 2rem; flex: none; }
  .journey-step h3 { font-size: 1rem; }
  .journey-step:not(:last-child)::after, .journey-step:nth-child(2)::after { content: '↓'; left: .6rem; right: auto; top: auto; bottom: -2rem; }
}


/* Product introduction: shared typography, light surfaces and original assets. */
.section-space { padding-block: clamp(2.5rem, 4vw, 3.75rem); }
.section-title { font-size: clamp(1.8rem, 2.6vw, 2.5rem); font-weight: 400; line-height: 1.2; letter-spacing: -.025em; color: var(--color-wine); overflow-wrap: anywhere; }
.section-lead { margin-top: 1rem; font-size: 1.125rem; font-weight: 600; }
.section-description { margin-top: .65rem; max-width: 32rem; color: var(--color-muted); }
.ingredients { border-top: 1px solid var(--color-border); }
.ingredients-layout { display: grid; grid-template-columns: .9fr 1.2fr; align-items: center; gap: clamp(2rem, 5vw, 5rem); }
.ingredients-intro { min-width: 0; }
.ingredients-art { display: flex; align-items: center; gap: 0; max-width: 27rem; margin-top: 1rem; }
.ingredients-art img { width: 36%; flex: 0 0 36%; aspect-ratio: 1; object-fit: contain; height: auto; }
.ingredients-art img + img { margin-left: -4%; }
.ingredients-art img:nth-child(2) { position: relative; z-index: 1; transform: translateY(.35rem); }
.ingredient-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 1.5rem; list-style: none; padding: 0; margin: 0; }
.ingredient-list li { padding-block: .95rem; border-bottom: 1px solid var(--color-border); line-height: 1.45; overflow-wrap: anywhere; }
.product-overview { background: var(--color-surface); border-block: 1px solid var(--color-border); }
.feature-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2rem; margin-top: 2rem; }
.feature { border-top: 2px solid var(--color-border); padding-top: 1rem; min-width: 0; }
.feature h3, .wine-summary h3 { font-size: 1.3rem; font-weight: 400; line-height: 1.3; color: var(--color-wine); overflow-wrap: anywhere; }
.feature p { margin-top: .65rem; color: var(--color-muted); }
.feature .creator-paths { margin-top: .85rem; font-size: .875rem; line-height: 1.6; }
.wine-summary { display: flex; align-items: baseline; gap: 1.5rem; border-top: 1px solid var(--color-border); padding-top: 1.25rem; margin-top: 1.75rem; }
.wine-summary p { color: var(--color-muted); }
.origin-layout { display: grid; grid-template-columns: .9fr 1.2fr; gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.origin-layout h2 { max-width: 24rem; }
.origin-layout p { max-width: 42rem; }
.coming-soon-closing { text-align: center; background: var(--color-surface); border-top: 1px solid var(--color-border); padding-block: 2.5rem; }
.coming-soon-closing h2 { font-size: clamp(1.7rem, 3vw, 2.35rem); font-weight: 400; line-height: 1.25; color: var(--color-wine); overflow-wrap: anywhere; }
.closing-tagline { font-family: var(--font-display); font-size: 1.2rem; margin-top: .35rem; }
.closing-status { color: var(--color-green); margin-top: 1rem; font-size: .9375rem; }
@media (max-width: 68rem) {
  .ingredients-layout { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .ingredient-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 40rem) {
  .ingredients-layout, .origin-layout { grid-template-columns: 1fr; gap: 1.5rem; }
  .ingredients-art { max-width: 21rem; }
  .ingredient-list { gap: 0 1rem; }
  .ingredient-list li { padding-block: .75rem; }
  .feature-grid { grid-template-columns: 1fr; gap: 1.25rem; margin-top: 1.5rem; }
  .wine-summary { flex-direction: column; gap: .5rem; }
}
