.skip-link { position: fixed; top: 8px; left: 8px; z-index: 10000; padding: 12px 20px; color: #fff; background: #0d2137; border-radius: 6px; transform: translateY(-160%); }
.skip-link:focus { transform: none; color: #fff; }
:focus-visible { outline: 3px solid #2563a8; outline-offset: 4px; }
.site-footer :focus-visible, .hero :focus-visible, .cta-banner :focus-visible { outline-color: #fff; }
main:focus { outline: none; }
.product-desc a, .section-subtitle a, .form-hint a, .footer-bottom a { text-decoration: underline; text-underline-offset: 3px; }
.site-footer small { color: #b8c5d3 !important; }
.product-detail-section { padding-top: 36px; }
.product-title-block { margin-bottom: 30px; max-width: 1000px; }
.product-title-block h1 { font-family: var(--font-head); font-size: clamp(30px, 3.3vw, 44px); font-weight: 800; color: var(--c-navy); line-height: 1.12; margin: 8px 0 12px; }
.product-reference { font-size: 15px; color: var(--c-gray); font-weight: 600; }
.product-conversion-panel { display: grid; gap: 10px; margin-top: 20px; background: var(--c-off); border: 1px solid var(--c-border); border-radius: var(--radius); padding: 22px; }
.product-conversion-panel p { color: var(--c-gray); font-size: 14px; }
.product-conversion-panel .btn { justify-content: center; }
.product-phone { text-align: center; font-size: 14px; text-decoration: underline; text-underline-offset: 3px; }
.product-detail-grid { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 46px; }
.product-images { top: 116px; }
.product-main-img { aspect-ratio: 4 / 3; min-height: 0; }
.product-main-img img { height: 100%; max-height: 400px; object-fit: contain; }
.product-thumb-btn img { object-fit: contain; }
.product-specs h2 { font-size: 20px; text-transform: none; letter-spacing: 0; }
.product-specs .spec-item { line-height: 1.5; align-items: flex-start; }
.product-info .related-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 18px; }
.product-info .related-list a { font-size: 14px; line-height: 1.5; min-height: 44px; }
.product-kit-comparison { margin-top: 36px; border-top: 1px solid var(--c-border); padding-top: 20px; }
.product-kit-comparison summary, .product-faq summary { cursor: pointer; font-weight: 600; padding: 10px 0; color: var(--c-navy); }
.product-faq details { border-bottom: 1px solid var(--c-border); }
.product-faq p { padding: 0 0 16px; }
.document-link { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 12px 16px; border: 1px solid var(--c-border); border-radius: 8px; margin-bottom: 10px; text-decoration: underline; }
.document-link span { font-size: 12px; color: var(--c-gray); text-decoration: none; }
.compact-guidance { padding: 44px 0; }
.compact-guidance .solution-card { padding: 22px; }
.mobile-contact-bar { display: none; }
.hero h1 { min-height: 3.15em; text-wrap: balance; }
.hero h1 em { color: #79dfad; }
.hero-img-wrap picture { aspect-ratio: 3 / 2; }
.hero-img-wrap .hero-shot-clean { height: auto; aspect-ratio: 3 / 2; }
.main-nav a, .header-search-submit, .menu-toggle { min-height: 44px; }
.main-nav > li > a { white-space: nowrap; }
.no-js-nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 20px; padding: 12px 16px; border-bottom: 1px solid var(--c-border); }
.no-js-nav a { padding: 10px 4px; text-decoration: underline; }
@media (max-width: 992px) {
  .product-detail-grid { grid-template-columns: 1fr; gap: 30px; }
  .product-images { position: static; max-width: 720px; width: 100%; }
  .product-main-img { aspect-ratio: auto; height: 320px; }
  .product-main-img img { width: 100%; height: 100%; }
  .product-title-block { margin-bottom: 20px; }
}
@media (max-width: 640px) {
  .hero h1 { font-size: clamp(34px, 9.8vw, 42px); min-height: 2.2em; }
  body:has(.mobile-contact-bar) { padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px)); }
  .mobile-contact-bar { display: grid; grid-template-columns: 1.2fr 1fr; gap: 10px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 1001; padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px)); background: #fff; border-top: 1px solid var(--c-border); box-shadow: 0 -4px 20px rgba(13,33,55,.08); }
  .mobile-contact-bar .btn { min-width: 0; padding: 12px 8px; font-size: 14px; min-height: 48px; justify-content: center; }
  .whatsapp-float, #backTop { display: none !important; }
  .product-detail-section { padding-top: 22px; }
  .product-title-block h1 { font-size: 30px; }
  .product-main-img { height: 260px; }
  .product-conversion-panel { padding: 16px; }
  .product-info .related-list { grid-template-columns: 1fr; }
  .product-info .product-desc { font-size: 16px; }
  .product-detail-section .breadcrumb { overflow-wrap: anywhere; }
  .compact-guidance .solution-cards-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .reveal.reveal-pending { opacity: 1; transform: none; }
}
