/* Review fixes, loaded after the existing design layers. */
#services .services-grid > .service-item .service-desc { font-weight: 400 !important; }
#works .work-title { font-weight: 700 !important; }

/* Keep the mobile archive action clear of tags after hiding slider arrows. */
@media (max-width: 900px) {
  #works .works-slider { padding-bottom: 0; }
  #works .works-cta { margin-top: 32px; }
  #works { padding-bottom: 64px; }
}

/* Contact actions share the yellow brand color with readable dark labels. */
#site-header .header-cta .cv-btn:last-child,
#hero .hero-consult-wrap .btn-hero-primary,
#mobile-navigation .mobile-nav-menu > li:last-child .cv-btn,
.mobile-header-cta,
.service-detail .service-btn-yellow,
.wbpo-page .service-btn-yellow,
.oc-page .oc-btn-yellow,
.rw-page .rw-btn-yellow,
.wpp-btn.wpp-btn--yellow {
  background: #fdbd32 !important;
  color: #2a080c !important;
  border-color: #fdbd32 !important;
}
#site-header .header-cta .cv-btn:last-child span,
#hero .hero-consult-wrap .btn-hero-primary span,
#mobile-navigation .mobile-nav-menu > li:last-child .cv-btn span,
.service-btn-yellow span, .oc-btn-yellow span, .rw-btn-yellow span { color: inherit !important; }
#site-header .header-cta .cv-btn:last-child::after,
#mobile-navigation .mobile-nav-menu > li:last-child .cv-btn::after,
.service-btn-yellow::after, .oc-btn-yellow::after, .rw-btn-yellow::after { border-color: currentColor; }

.member-archive-card { gap: 20px; }
.member-archive-description { font-size: 14px; line-height: 1.85; font-weight: 400; }
.member-archive-role { font-size: 13px; }
.member-archive-detail { min-width: 132px; height: auto; min-height: 44px; padding: 10px 30px 10px 18px; font-size: 14px; line-height: 1.5; float: none; }
.member-archive-detail::after { right: 14px; }
.member-archive-detail:focus-visible { outline: 3px solid #2a080c; outline-offset: 4px; }
@media (max-width: 640px) {
  .member-archive-card { grid-template-columns: 1fr; gap: 18px; padding: 22px; }
  .member-archive-card .member-archive-photo { width: min(100%, 220px); height: auto; aspect-ratio: 1 / 1; margin: 0 auto; }
  .member-archive-body h2 { font-size: 24px; }
  .member-archive-description { font-size: 15px; }
  .member-archive-romanized { font-size: 12px; }
  .member-archive-detail { margin-top: 18px; }
}

.page-content-container { max-width: 900px; margin: 0 auto; padding: 80px 40px; }
.download-embed { max-width: 820px; padding: 20px 40px 100px; }
.static-download-page .static-page-lead { font-weight: 400; }
.otsunagi-form-fallback { font-size: 13px; line-height: 1.8; color: #595959; margin-top: 24px; }
.otsunagi-form-fallback a { color: #a53112; text-decoration: underline; text-underline-offset: 3px; }
.otsunagi-form iframe { width: 100%; min-height: 0; }
@media (max-width: 640px) {
  .page-content-container { padding: 44px 20px 64px; }
  .download-embed { padding: 20px 20px 64px; }
  .static-download-page .static-page-hero { padding: 44px 20px 12px; }
  .static-download-page .static-page-lead { font-size: 15px; }
}

.rw-pricing-grid, .rw-package-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 32px; }
.rw-price-card, .rw-package-card { min-width: 0; padding: 28px; background: #fff; border: 1px solid #e6d8d1; border-radius: 16px; }
.rw-price-card { border-top: 5px solid #f85c27; display: flex; flex-direction: column; }
.rw-price-card h3 { font-size: clamp(20px, 2vw, 24px); line-height: 1.6; font-weight: 700; margin: 8px 0 16px; }
.rw-price-card p, .rw-package-card p { font-size: 15px; line-height: 1.8; }
.rw-price-card .rw-price-eyebrow, .rw-package-card .rw-price-eyebrow { color: #aa350d; font-size: 13px; font-weight: 700; margin: 0; }
.rw-price-card .rw-price-amount { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; margin: 24px 0 4px; line-height: 1.2; }
.rw-price-amount strong { font-family: var(--font-en); font-size: clamp(32px, 3.5vw, 44px); font-weight: 700; letter-spacing: -.025em; color: #b33810; }
.rw-price-amount span { font-size: 14px; white-space: nowrap; }
.rw-price-card .rw-price-unit { font-size: 14px; margin: 6px 0; }
.rw-price-card .rw-price-benefit { color: #90300f; background: #fff4e7; border-radius: 6px; padding: 10px 12px; margin: 16px 0; font-size: 14px; font-weight: 700; }
.rw-price-includes, .rw-price-notes { padding: 0; list-style: none; margin: 0; }
.rw-price-includes { margin-bottom: 24px; }
.rw-price-includes li { position: relative; padding: 12px 0 12px 24px; border-bottom: 1px solid #eee4df; font-size: 15px; line-height: 1.7; }
.rw-price-includes li::before { content: '✓'; position: absolute; left: 0; color: #b33810; font-weight: 700; }
.rw-price-notes { margin-top: auto; }
.rw-price-notes li { font-size: 14px; line-height: 1.8; color: #595959; padding-left: 1em; text-indent: -1em; margin-top: 8px; }
.rw-price-notes li::before { content: '※'; }
.rw-packages-heading { margin-top: 64px; }
.rw-packages-heading h3 { font-size: clamp(22px, 2.5vw, 30px); line-height: 1.5; margin-bottom: 12px; }
.rw-packages-heading p { font-size: 16px; line-height: 1.8; }
.rw-package-card { display: flex; flex-direction: column; }
.rw-package-card h4 { font-size: 22px; line-height: 1.6; margin: 10px 0 14px; }
.rw-package-card ol { padding-left: 1.5em; margin: 20px 0; }
.rw-package-card li { font-size: 15px; line-height: 1.8; padding: 9px 0; border-bottom: 1px solid #eee4df; }
.rw-package-card li::marker { color: #aa350d; font-weight: 700; }
.rw-package-card .rw-package-fit { margin-top: auto; padding: 16px; background: #fff7f0; border-radius: 8px; font-size: 14px; }
.rw-package-note { padding: 20px 24px; background: #fff7f0; border-radius: 12px; font-size: 15px; line-height: 1.8; margin-top: 24px; }
@media (max-width: 700px) {
  .rw-pricing-grid, .rw-package-grid { grid-template-columns: 1fr; gap: 20px; }
  .rw-price-card, .rw-package-card { padding: 22px 20px; }
  .rw-price-amount strong { font-size: clamp(30px, 9vw, 40px); }
  .rw-package-card h4 { font-size: 20px; }
}

/* Preserve the comparison table, and make its mobile scrolling discoverable. */
.oc-price-scroll-hint { display: none; }
#oc-price .oc-table-wrap:focus-visible { outline: 3px solid #a83c1c; outline-offset: 4px; }
#oc-price .oc-price-table tr:nth-child(3) td,
#oc-price .oc-price-table tr:nth-child(4) td { font-size: 14px; }
@media (max-width: 900px) {
  .oc-price-scroll-hint { display: block; font-size: 14px; line-height: 1.7; color: #595959; margin-top: 24px; }
}
