.home-page .hero { min-height: 0; grid-template-columns: minmax(0,1.08fr) minmax(0,.92fr); }
.home-page .hero-copy { padding: clamp(40px,5vw,76px) clamp(22px,6vw,92px); }
.home-page .hero h1 { font-size: clamp(42px,4.7vw,65px); max-width: 600px; }
.home-page .hero .lead { font-size: clamp(20px,2vw,25px); }
.home-page .hero-actions { margin-bottom: 0; }
.home-page .hero-visual { min-height: 360px; }
.home-page .hero-photo { object-position: 57% center; }
.home-page main > section:not(.hero,.start-paths) { padding: clamp(42px,5vw,72px) clamp(22px,6vw,92px); }
.home-page h2 { font-size: clamp(32px,3.4vw,46px); }
.home-page .section-heading { margin-bottom: 30px; }
.home-resources .knowledge-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.home-resources .knowledge-card { min-height: 0; padding: 26px 30px; }
.home-resources .knowledge-card h3 { margin: 6px 0 14px; font-size: 28px; }
.home-supply { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); gap: clamp(30px,6vw,80px); background: white; }
.home-company { border-left: 4px solid var(--teal); padding-left: 30px; }
.home-page .pickup > div { padding: clamp(42px,5vw,72px) clamp(22px,6vw,92px); }
.home-page .pickup figure { min-height: 400px; }
.home-page .quote { grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); }
.inquiry-details { margin: 0; padding: 18px 0 0; border: 0; border-top: 1px solid #94b2bd; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.inquiry-details legend { padding: 0 12px 0 0; font-weight: bold; }
.inquiry-details legend span { font-size: 13px; font-weight: normal; }
[hidden] { display: none !important; }

@media(max-width:980px) {
  .home-page .hero { grid-template-columns: 1fr; }
  .home-page .hero-visual { height: 340px; min-height: 0; }
  .home-page .hero-photo { object-position: center 48%; }
  .home-page .quote { grid-template-columns: 1fr; }
}
@media(max-width:700px) {
  .home-resources .knowledge-grid, .home-supply, .inquiry-details { grid-template-columns: 1fr; }
  .home-page .hero-visual { height: 260px; }
  .home-page .start-paths { grid-template-columns: 1fr 1fr; }
  .home-page .start-paths a { padding: 20px 18px; min-height: 115px; border-bottom: 1px solid #406174; }
  .home-page .start-paths strong { font-size: 16px; }
  .home-company { padding-left: 20px; }
  .home-page .pickup figure { min-height: 280px; }
}
