/* Unified color roles. Shell styling lives only in shared/shell.css. */
:root { --apex-touch-target: 44px; }
.credential-card .credential-detail { display: block; padding: 0px 22px 18px; font-size: 13px; line-height: 1.7; color: var(--apex-text-body); }
.credential-card .credential-detail a { display: inline-flex; align-items: center; min-height: 44px; color: var(--apex-action-primary); text-decoration: underline; text-underline-offset: 4px; }
.credential-card .credential-document { display: block; border-radius: 12px 12px 0px 0px; }
.credential-card .credential-document img { width: 100%; height: 360px; object-fit: contain; padding: 28px; }
.credential-card .credential-document:focus-visible { outline-color: var(--apex-focus-ring); outline-style: solid; outline-width: 3px; outline-offset: 3px; }
.mobile-review-nav { display: none; }
@media (max-width: 760px) {
body .hero-stack { top: auto; bottom: 48px; }
body:has(.hero-stack) .hero-copy h1 { font-size: clamp(32px, 9vw, 40px); line-height: 1.2; }
body.product-center-page .hero-copy h1 { font-size: clamp(32px, 9vw, 40px); line-height: 1.2; text-wrap: balance; }
body.product-center-page .finder-chapter .filter-group .choice { min-width: 44px; min-height: 44px; }
body button:not([hidden]), body summary { min-width: var(--apex-touch-target); min-height: var(--apex-touch-target); }
body .text-link, body .support-contact, body .product-link, body .email-alternative, body .phone, body .secondary-mail { min-height: 44px; display: inline-flex; align-items: center; }
body .filter-group button, body .round, body .catalog-pause { min-height: 44px; min-width: 44px; }
body .filter-group { gap: 8px; }
body .data-note button { padding: 10px 6px; }
body .row-label button, body .direct-copy { padding: 10px 8px; }
body .about-layout { grid-template-columns: minmax(0px, 1fr); }
body .about-gallery { min-height: 0px; grid-template-rows: 320px 170px; }
body .about-copy { min-height: 0px; padding: 32px 24px; }
body .partner-card, body .partner-card.active, body .partner-card:not(.active) { min-height: 380px; padding: 28px 28px 94px; }
body .partner-card .partner-content p, body .partner-card.active .partner-content p { opacity: 1; transform: none; }
body .partner-jump { left: 28px; bottom: 26px; }
body .story-step { opacity: 1; }
body .credential-card .credential-document img { height: 340px; }
.mobile-review-nav { position: fixed; z-index: 90; left: 14px; right: 14px; bottom: max(12px,env(safe-area-inset-bottom)); display: flex; gap: 8px; padding: 8px; border-width: 1px; border-style: solid; border-top-color: var(--apex-border-subtle); border-right-color: var(--apex-border-subtle); border-bottom-color: var(--apex-border-subtle); border-left-color: var(--apex-border-subtle); border-image: none; border-radius: 14px; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: var(--apex-header-glass); box-shadow: var(--apex-shadow-color) 0px 6px 30px; }
.mobile-review-nav select { flex: 1 1 0%; min-width: 0px; min-height: 44px; border-width: 1px; border-style: solid; border-top-color: var(--apex-border-control); border-right-color: var(--apex-border-control); border-bottom-color: var(--apex-border-control); border-left-color: var(--apex-border-control); border-image: none; border-radius: 7px; color: var(--apex-action-primary); background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: var(--apex-surface-default); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 14px; }
.mobile-review-nav a { display: flex; align-items: center; padding: 10px 14px; min-height: 44px; border-radius: 7px; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: var(--apex-surface-inverse); color: var(--apex-text-inverse); font-size: 14px; text-decoration: none; }
body:has(.mobile-review-nav) { padding-bottom: 84px; }
body.product-center-page .journey-intro { padding-block: 40px; }
}
@media (prefers-reduced-motion: reduce) {
html { scroll-behavior: auto !important; }
}