/* 2026-10-21: homepage / marketing-flow refinements from the owner's video. */
body.walbre-story-home .photo-story {
  padding: clamp(36px, 4vw, 64px) 0 clamp(40px, 4vw, 64px);
}
body.walbre-story-home .photo-story-message {
  margin-top: clamp(40px, 4vw, 64px);
  margin-bottom: 0;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  gap: clamp(28px, 4vw, 56px);
}
body.walbre-story-home .photo-story-message h2 {
  font-size: clamp(28px, 2.7vw, 40px);
  line-height: 1.5;
  letter-spacing: .025em;
}
body.walbre-story-home .photo-story-message p:not(.section-kicker) { margin-top: 0; }
body.walbre-story-home .photo-story-message p + p { margin-top: 18px; }
body.walbre-story-home .photo-story-collage { margin-top: clamp(36px, 4vw, 60px); }
body.walbre-story-home .photo-story-collage img:last-child { transform: none; }
body.walbre-story-home .section {
  padding-top: clamp(48px, 5vw, 80px);
  padding-bottom: clamp(48px, 5vw, 80px);
}
body.walbre-story-home .section-heading {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(24px, 4vw, 56px);
  margin-bottom: 36px;
  align-items: start;
}
body.walbre-story-home .section-heading h2 {
  font-family: var(--serif);
  font-size: clamp(28px, 2.6vw, 38px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .025em;
  margin: 0;
}
body.walbre-story-home .section-heading .copy-line { display: inline; }
body.walbre-story-home .photo-story-message .copy-line { display: block; }
body.walbre-story-home .section-intro { padding-top: 5px; }
body.walbre-story-home .corporate-cta .section-heading { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
body.walbre-story-home .corporate-cta h2 { font-size: clamp(28px, 2.3vw, 34px); }
body.walbre-story-home .contact-card { padding: 32px 24px; }
body.walbre-story-home .contact-card strong { font-size: clamp(24px, 2.5vw, 36px); }
body.walbre-corporate-marketing-flow .page-section {
  padding-top: clamp(48px, 5vw, 76px);
  padding-bottom: clamp(48px, 5vw, 76px);
}
body.walbre-corporate-marketing-flow .marketing-process { padding-bottom: 32px; }
body.walbre-corporate-marketing-flow .michibiki-introduction { padding-top: 36px; }
body.walbre-corporate-marketing-flow .michibiki-heading { display: flex; align-items: center; gap: 14px; }
body.walbre-corporate-marketing-flow .michibiki-heading img { flex: 0 0 44px; width: 44px !important; height: 44px !important; }
body.walbre-corporate-marketing-flow .michibiki-introduction .detail-split { align-items: center; }
body.walbre-corporate-marketing-flow .michibiki-introduction .detail-copy > p { max-width: 42em; }
body.walbre-corporate-marketing-flow .michibiki-introduction .page-title-small { font-size: clamp(26px, 2.6vw, 36px); line-height: 1.5; }
body.walbre-corporate-marketing-flow .cta-band {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px 40px;
  padding: 44px clamp(26px, 6vw, 88px) !important;
}
body.walbre-corporate-marketing-flow .cta-band h2 { max-width: 25em; font-size: clamp(24px, 2.1vw, 32px); line-height: 1.5; letter-spacing: .02em; }
body.walbre-corporate-marketing-flow .cta-band > div { min-width: 0; }
body.walbre-corporate-marketing-flow .cta-band .button { min-width: 200px; }
body.walbre-story-home .site-footer,
body.walbre-corporate-marketing-flow .site-footer {
  padding: 36px clamp(28px, 6vw, 92px) 28px !important;
}
body.walbre-story-home .footer-inner,
body.walbre-corporate-marketing-flow .footer-inner { gap: 24px; }
body.walbre-story-home .copyright,
body.walbre-corporate-marketing-flow .copyright { margin-top: 24px; padding-top: 16px; }
@media (max-width: 980px) {
  body.walbre-story-home .photo-story-message,
  body.walbre-story-home .section-heading,
  body.walbre-story-home .corporate-cta .section-heading { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  body.walbre-story-home .photo-story-message { max-width: 720px; }
  body.walbre-story-home .section-heading h2 { font-size: clamp(27px, 4vw, 36px); }
  body.walbre-corporate-marketing-flow .cta-band { grid-template-columns: minmax(0, 1fr); }
  body.walbre-corporate-marketing-flow .cta-band .button { justify-self: start; }
}
@media (max-width: 680px) {
  body.walbre-story-home .photo-story-grid { grid-template-columns: minmax(0, 1fr) !important; padding: 0 20px; }
  body.walbre-story-home .photo-story-blank { display: none; }
  body.walbre-story-home .photo-story-image { aspect-ratio: 4 / 3; object-fit: cover !important; }
  body.walbre-story-home .photo-story-message { margin-top: 32px; padding: 0 20px; }
  body.walbre-story-home .photo-story-message h2 { font-size: 28px; }
  body.walbre-story-home .photo-story-collage { padding: 0 20px; gap: 12px; }
  body.walbre-story-home .photo-story-collage img { aspect-ratio: 4 / 3; object-fit: cover !important; }
  body.walbre-story-home .section-heading { margin-bottom: 28px; gap: 18px; }
  body.walbre-story-home .section-heading h2 { font-size: 27px; }
  body.walbre-story-home .section-heading h2,
  body.walbre-corporate-marketing-flow .cta-band h2 { word-break: normal !important; overflow-wrap: anywhere !important; text-wrap: pretty !important; }
  body.walbre-story-home .contact-card { padding: 26px 16px; }
  body.walbre-story-home .contact-card strong { font-size: 28px; }
  body.walbre-corporate-marketing-flow .marketing-process { padding-bottom: 20px; }
  body.walbre-corporate-marketing-flow .michibiki-introduction { padding-top: 28px; }
  body.walbre-corporate-marketing-flow .cta-band { padding: 36px 20px !important; }
  body.walbre-story-home .site-footer,
  body.walbre-corporate-marketing-flow .site-footer { padding: 30px 20px 24px !important; }
  body.walbre-story-home .footer-inner,
  body.walbre-corporate-marketing-flow .footer-inner { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  body.walbre-story-home .footer-links,
  body.walbre-corporate-marketing-flow .footer-links { justify-content: flex-start; gap: 12px 18px; }
}

body.walbre-corporate-marketing-flow .cta-band h2 .copy-line { display: block; }
