/* LP v4: every rule stays inside this page; shared brand tokens remain unchanged. */
.lp-v4 .section { padding-block: clamp(4rem, 7.5vw, 7rem); }
.lp-v4 .section[id] { scroll-margin-top: 7rem; }
.lp-v4 h2 { font-size: clamp(2rem, 3.4vw, 3.4rem); }
.lp-v4 figure { margin: 0; min-width: 0; }
.lp-v4 figure img { width: 100%; }
.lp-v4 figcaption { margin-top: .8rem; color: var(--color-ink-soft); font-family: var(--font-sans); font-size: .78rem; }
.lp-v4 .lead { line-height: 2; }
.lp-v4 .button { min-height: 48px; }
.lp-v4-hero { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); align-items: center; background: var(--color-white); padding-block: 2.5rem; }
.lp-v4-hero__copy { padding: 2.5rem clamp(2rem, 4vw, 4rem); }
.lp-v4-hero__copy h1 { font-size: clamp(2.5rem, 3.5vw, 3.7rem); letter-spacing: .015em; margin-bottom: 2rem; }
.lp-v4-hero__copy .lead { font-size: clamp(1rem, 1.2vw, 1.15rem); }
.lp-v4-hero__copy .button-group { margin-top: 2rem; gap: .8rem; }
.lp-v4-hero__media { padding-right: var(--space-page); }
.lp-v4-hero__media img { width: 100%; height: auto; }
.lp-v4-heading { max-width: 50rem; margin-bottom: 2.5rem; }
.lp-v4-heading p:last-child { margin-bottom: 0; }
.lp-v4-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.lp-v4-master { text-align: center; }
.lp-v4-master h2 { font-size: clamp(2.4rem, 4.5vw, 4.5rem); }
.lp-v4-master__copy { color: var(--color-paper-deep); margin-bottom: 2.5rem; font-size: clamp(1rem, 1.4vw, 1.2rem); }
.lp-v4-workshop img { aspect-ratio: 1920 / 1255; object-fit: contain; }
.lp-v4-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; margin-top: 3rem; }
.lp-v4-steps img { aspect-ratio: 16 / 9; object-fit: contain; }
.lp-v4 .lp-v4-steps figcaption { margin-top: 1.25rem; }
.lp-v4-step-number { color: var(--color-wood); font-size: .8rem; letter-spacing: .16em; }
.lp-v4-steps h3 { font-family: var(--font-serif); color: var(--color-ink); font-size: 1.5rem; margin: .6rem 0; }
.lp-v4-steps p { font-size: .9rem; margin-bottom: 0; }
.lp-v4-use-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 1.75rem; align-items: start; }
.lp-v4-use-grid__main { grid-row: span 2; align-self: center; }
.lp-v4-use-grid img { height: auto; }
.lp-v4-lineup-photo { max-width: 58rem; margin-inline: auto !important; margin-bottom: 3rem !important; }
.lp-v4-lineup { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.lp-v4-product { border-top: 1px solid var(--color-line); padding: 2rem; background: var(--color-paper); min-width: 0; }
.lp-v4-product__body h3 { font-size: 1.5rem; margin-bottom: 1rem; }
.lp-v4-product__body dl { display: flex; gap: 2rem; font-family: var(--font-sans); font-size: .9rem; margin-bottom: 1rem; }
.lp-v4-product__body dt { font-size: .7rem; color: var(--color-ink-soft); }
.lp-v4-product__body dd { margin: .25rem 0 0; }
.lp-v4-product__body p { color: var(--color-ink-soft); font-size: .95rem; margin-bottom: 0; }
.lp-v4-product--master { grid-column: 1 / -1; background: var(--color-moss-dark); color: var(--color-paper); border: 0; }
.lp-v4-product--master .lp-v4-product__body { display: grid; grid-template-columns: 1.15fr 1fr; column-gap: 2rem; align-items: center; }
.lp-v4-product--master h3 { grid-row: span 2; margin-bottom: 0; }
.lp-v4-product--master dt, .lp-v4-product--master p { color: var(--color-paper-deep); }
.lp-v4 #for-gift figure img { height: auto; }
.lp-v4-final .button-group { justify-content: center; margin-top: 2rem; }
.lp-v4-final p { color: var(--color-paper-deep); font-size: 1.1rem; }
@media (max-width: 880px) {
  .lp-v4 .section { padding-block: 4rem; }
  .lp-v4-hero { grid-template-columns: 1fr; padding-block: 0; }
  .lp-v4-hero__media { grid-row: 1; padding: 0; }
  .lp-v4-hero__copy { padding: 2rem var(--space-page) 3rem; }
  .lp-v4-hero__copy h1 { font-size: clamp(2.3rem, 7vw, 3.2rem); margin-bottom: 1.5rem; }
  .lp-v4-split { grid-template-columns: 1fr; gap: 2rem; }
  .lp-v4-steps { grid-template-columns: 1fr; gap: 2.5rem; margin-top: 2.5rem; }
  .lp-v4-use-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
  .lp-v4-use-grid__main { grid-column: 1 / -1; grid-row: auto; }
  .lp-v4-use-grid img { height: auto; }
  .lp-v4-lineup { grid-template-columns: 1fr; }
  .lp-v4-product--master .lp-v4-product__body { display: block; }
  .lp-v4-product--master h3 { margin-bottom: 1rem; }
  .lp-v4 .section[id] { scroll-margin-top: 6rem; }
}
@media (max-width: 580px) {
  .lp-v4 h2 { font-size: 2rem; }
  .lp-v4-master h2 { font-size: 2.4rem; }
  .lp-v4-hero__copy .button-group { display: grid; grid-template-columns: 1fr; }
  .lp-v4-hero__copy .button { width: 100%; }
  .lp-v4-hero__copy .lead { font-size: 1rem; }
  .lp-v4-use-grid { width: calc(100% + var(--space-page) * 2); margin-left: calc(var(--space-page) * -1); gap: 1.5rem .75rem; }
  .lp-v4-use-grid figcaption { padding-inline: .75rem; font-size: .7rem; }
  .lp-v4-product { padding: 1.5rem; }
  .lp-v4-product__body h3 { font-size: 1.35rem; }
  .lp-v4-product__body dl { gap: 1.25rem; }
}
/* Keep the intentional two-line final copy; shared CTA width is too narrow for Japanese. */
.lp-v4-final h2 { max-width: none; }
@media (max-width: 580px) {
  .lp-v4-master h2 { font-size: 2rem; }
}

/* Grain fills the section; keep the expressive right-hand wood grain unobscured. */
.lp-v4 .lp-v4-grain {
  display: grid;
  align-items: center;
  min-height: clamp(28rem, 42vw, 40rem);
  padding-block: 4rem;
  background-color: var(--color-bark);
  background-image: linear-gradient(90deg, rgba(48,32,23,.90) 0%, rgba(48,32,23,.82) 28%, rgba(48,32,23,.65) 40%, rgba(48,32,23,.12) 60%, transparent 72%), url("../images/brand/yakusugi-grain-wide-02.webp");
  background-size: cover;
  background-position: center;
}
.lp-v4-grain__copy { max-width: 32rem; color: var(--color-paper); }
.lp-v4-grain__copy .eyebrow { color: #e7d4bd; }
.lp-v4-grain__copy h2 { font-size: clamp(2rem, 3.2vw, 3rem); }
.lp-v4-grain__copy .lead { margin-bottom: 0; color: var(--color-paper-deep); font-size: clamp(1rem, 1.25vw, 1.15rem); }
@media (max-width: 880px) {
  .lp-v4 .lp-v4-grain {
    min-height: 30rem;
    align-items: start;
    padding-block: 3rem;
    background-image: linear-gradient(180deg, rgba(48,32,23,.90) 0%, rgba(48,32,23,.84) 35%, rgba(48,32,23,.70) 53%, rgba(48,32,23,.12) 75%, transparent 88%), url("../images/brand/yakusugi-grain-wide-02.webp");
    background-position: 68% center;
  }
  .lp-v4-grain__copy { max-width: 32rem; }
}
@media (max-width: 580px) {
  .lp-v4-grain__copy h2 { font-size: 1.9rem; letter-spacing: .03em; }
  .lp-v4-grain__copy .lead { font-size: 1rem; }
}

/* Desktop introductions sit beside their photo; mobile keeps the original stack. */
@media (min-width: 881px) {
  .lp-v4 #craft, .lp-v4 #in-use, .lp-v4 #lineup { padding-block: 4rem; }
  .lp-v4 #craft > .container, .lp-v4 #lineup > .container {
    display: grid;
    grid-template-columns: minmax(0, .42fr) minmax(0, .58fr);
    column-gap: 3rem;
    row-gap: 2.5rem;
    align-items: center;
  }
  .lp-v4 #craft .lp-v4-heading, .lp-v4 #lineup .lp-v4-heading { margin-bottom: 0; }
  .lp-v4 #craft .lp-v4-steps, .lp-v4 #lineup .lp-v4-lineup { grid-column: 1 / -1; margin-top: 0; }
  .lp-v4 #lineup .lp-v4-lineup-photo { max-width: none; margin: 0 !important; }
  .lp-v4 #in-use > .container {
    display: grid;
    grid-template-columns: minmax(0, .32fr) minmax(0, .68fr);
    gap: 3rem;
    align-items: center;
  }
  .lp-v4 #in-use .lp-v4-heading { margin-bottom: 0; }
  .lp-v4 #in-use h2 { font-size: clamp(2rem, 2.8vw, 2.8rem); }
  .lp-v4 #in-use .lp-v4-use-grid { grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: 1rem; }
}
