/* White-led surface system with clear, high-contrast editorial type. */
body { background: #ffffff; }
.home-page { background: #ffffff; color: #123d37; }
.home-page .hero { background: #ffffff; color: #123d37; }
.home-page .hero::before { background: linear-gradient(90deg, rgba(255,255,255,.96), rgba(255,255,255,.72) 44%, rgba(255,255,255,.08) 71%); }
.home-page .hero h1 { color: #123d37; }
.home-page .hero h1 em { color: #9a7030; }
.home-page .hero-text { color: #45645d; }
.home-page .hero-copy .eyebrow { color: #956c2a; }
.home-page .button-gold { background: #173f39; color: #ffffff; }
.home-page .hero .plain-link { color: #31564e; }
.home-page .hero-strip { border-color: rgba(18,61,55,.18); color: #607b73; }
.home-page .hero-product-shot::before { border-color: rgba(255,255,255,.42); }

.home-page .company,
.home-page .lab-image-section,
.home-page .products,
.home-page .design-loop,
.home-page .process { background: #ffffff; }
.home-page .lab-image-inner { border-top: 1px solid rgba(18,61,55,.12); }
.home-page .intro,
.home-page .cost-guide,
.home-page .creative,
.home-page .contact { background: #ffffff; color: #123d37; }
.home-page .intro h2,
.home-page .cost-guide h2,
.home-page .creative h2,
.home-page .contact h2 { color: #123d37; }
.home-page .intro h2 em,
.home-page .cost-guide h2 em,
.home-page .creative h2 em { color: #9a7030; }
.home-page .intro-bottom > p,
.home-page .cost-guide-head > p:last-child,
.home-page .creative-title > p:last-child,
.home-page .contact > p:not(.eyebrow) { color: #45645d; }
.home-page .intro .plain-link,
.home-page .cost-guide .plain-link { color: #31564e; }
.home-page .cost-guide { border-top: 1px solid rgba(18,61,55,.13); border-bottom: 1px solid rgba(18,61,55,.13); }
.home-page .cost-guide-grid { border-top-color: rgba(18,61,55,.18); }
.home-page .cost-guide-grid article { min-height: 236px; border-right-color: rgba(18,61,55,.16); }
.home-page .cost-guide-grid article::after { background: rgba(255,255,255,.92); }
.home-page .cost-guide-grid span { color: #8f6424; }
.home-page .cost-guide-grid h3 { color: #123d37; }
.home-page .cost-guide-grid p { color: #45645d; }
.home-page .cost-guide-note { background: #f4f6f2; border-left-color: #b68c43; }
.home-page .cost-guide-note strong { color: #123d37; }
.home-page .cost-guide-note p { color: #45645d; }

/* Optional support: retain the illustrative image, but place text on an opaque white reading surface. */
.home-page .creative { border-top: 1px solid rgba(18,61,55,.13); }
.home-page .creative-card { background: #ffffff; border-color: rgba(18,61,55,.18); box-shadow: none; }
.home-page .creative-card::before { filter: saturate(.52) brightness(1.16); }
.home-page .creative-card::after { background: rgba(255,255,255,.92); }
.home-page .creative-card h3 { color: #123d37; font-weight: 700; }
.home-page .creative-card p { color: #45645d; font-weight: 500; }
.home-page .creative-card .creative-icon { border-color: #a97a35; color: #8f6424; background: rgba(255,255,255,.82); }
.home-page .creative-bottom { color: #234c44; }

.home-page .contact { border-top: 1px solid rgba(18,61,55,.13); }
.home-page .contact .eyebrow { color: #956c2a; }
.home-page .button-light { background: #173f39; color: #ffffff; }
.home-page .contact-details { border-top-color: rgba(18,61,55,.18); color: #56706a; }
.home-page .contact-details a { color: #31564e; }

@media (max-width: 900px) {
  .home-page .hero::before { background: linear-gradient(180deg, rgba(255,255,255,.97), rgba(255,255,255,.72) 52%, rgba(255,255,255,.06)); }
  .home-page .cost-guide-grid article,
  .home-page .cost-guide-grid article:not(:first-child) { border-bottom-color: rgba(18,61,55,.16); }
}

@media (max-width: 600px) {
  .home-page .creative-card { min-height: 250px; }
  .home-page .creative-card h3 { font-size: 19px; line-height: 1.55; }
  .home-page .creative-card p { font-size: 15px; line-height: 1.9; }
  .home-page .cost-guide-note { padding: 22px 18px; }
}

/* Headline lines are deliberately balanced to avoid isolated Japanese characters. */
.home-page h1,
.home-page h2 { text-wrap: balance; }
.home-page .creative-title h2 { max-width: 720px; line-height: 1.42; }

/* OEM detail page: optional support is white-led and readable, even over illustrative images. */
.page-oem .page-section.is-deep { background: #ffffff; color: #123d37; border-top: 1px solid rgba(18,61,55,.14); border-bottom: 1px solid rgba(18,61,55,.14); }
.page-oem .page-section.is-deep .section-intro h2 { color: #123d37; line-height: 1.42; }
.page-oem .page-section.is-deep .section-intro h2 em { color: #9a7030; }
.page-oem .page-section.is-deep .body-copy p { color: #45645d; }
.page-oem .page-section.is-deep .feature-card { background: #ffffff; border-color: rgba(18,61,55,.18); box-shadow: none; }
.page-oem .page-section.is-deep .feature-card::before { filter: saturate(.52) brightness(1.16); }
.page-oem .page-section.is-deep .feature-card::after { background: rgba(255,255,255,.94); }
.page-oem .page-section.is-deep .feature-card span { color: #8f6424; }
.page-oem .page-section.is-deep .feature-card h3 { color: #123d37; font-weight: 700; }
.page-oem .page-section.is-deep .feature-card p { color: #45645d; font-weight: 500; }

@media (max-width: 600px) {
  .page-oem .page-section.is-deep .feature-card h3 { font-size: 19px; }
  .page-oem .page-section.is-deep .feature-card p { font-size: 15px; }
}
