/* Shared refinements for the home and product pages. */
html{scroll-padding-top:92px}
a:focus-visible,summary:focus-visible{outline:3px solid #0083a7;outline-offset:4px}
.hero{padding:0}
.hero-grid{min-height:0;padding:48px 0;gap:48px}
.hero h1{max-width:15ch;font-size:clamp(38px,4.4vw,60px);line-height:1.06}
.hero-visual img,.hero-grid>img{height:500px;object-fit:cover;object-position:center 60%}
.hero-note{left:16px;right:16px;bottom:16px}
.hero-note strong{font-size:16px}
.kicker,.product-meta,.guide-meta{font-size:12px}
.product-media{height:390px;aspect-ratio:auto}
.product-media img{height:100%;width:100%;object-fit:contain}
.product p,.promise p,.guide p,.step p{font-size:16px}
.product-facts li,.contents li,.fact strong,.fact span,.check p,.service span,.faq-item span{font-size:15px;line-height:1.6}
.contents li{grid-template-columns:82px 1fr}
.product-facts b{flex-shrink:0}
.credential strong,.quality strong,.nav,.back,.guide a,.lead-points li{font-size:14px}
.quick-action span,.credential span,.quality span{font-size:14px}
.footer{font-size:14px}
.button{line-height:1.4;text-align:center;padding:12px 20px}
@media(max-width:900px){
 .hero-grid{gap:30px;padding:34px 0}
 .hero-visual img{height:440px}
 .hero h1{max-width:19ch}
}
@media(max-width:760px){
 .hero-grid>img{height:380px;object-fit:contain;background:#fff}
 .top .logo{width:170px}
 .top .wrap{gap:16px}
 .contents li{grid-template-columns:74px 1fr;gap:14px}
}
@media(max-width:620px){
 .hero-grid{padding:30px 0}
 .hero h1{font-size:38px}
 .hero-visual img{height:400px}
 .product-media{height:330px}
 .product-facts li{gap:16px}
 .product-facts span{max-width:68%}
 .hero-note{padding:14px}
 .hero-note span{font-size:13px}
 .mobile-call,.mobile-cta{bottom:calc(12px + env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
