/* Homepage links to product catalogue categories. */
.stats-band a.stat { display:block; border-radius:8px; min-height:44px; text-decoration:none; }
.stats-band a.stat:hover b { text-decoration:underline; text-underline-offset:5px; }
.stats-band a.stat:focus-visible { outline:3px solid #fff; outline-offset:8px; }

/* Homepage buying guides replace repeated material and application bands. */
.home-guide-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.home-guide-grid .card { height:100%; }
.home-guide-grid .body { display:flex; flex-direction:column; height:100%; }
.home-guide-step { color:var(--blue); font-size:13px; font-weight:700; letter-spacing:.04em; margin-bottom:12px; }
.home-guide-grid h3 { font-size:22px; line-height:1.35; }
.home-guide-grid p { font-size:16px; line-height:1.65; flex:1; }
.home-guide-link { display:flex; align-items:center; min-height:44px; color:var(--blue); font-weight:600; line-height:1.5; margin-top:12px; }
.home-guide-link:hover { text-decoration:underline; text-underline-offset:4px; }
.home-guide-link:focus-visible { outline:3px solid var(--blue); outline-offset:4px; border-radius:4px; }
#buying-guides { scroll-margin-top:110px; }
@media(max-width:800px) { .home-guide-grid { grid-template-columns:1fr; } }

/* Manual hero controls: generous targets without changing the dot design. */
.hero .dots { bottom:16px; gap:8px; }
.hero .dots button,
.hero .dots button.active { width:44px; height:44px; padding:0; border-radius:6px; background:transparent; display:grid; place-items:center; }
.hero .dots button::after { content:""; width:10px; height:10px; border-radius:50%; background:rgba(255,255,255,.65); }
.hero .dots button.active::after { width:26px; border-radius:5px; background:var(--blue); }
.hero .dots button:focus-visible { outline:3px solid #fff; outline-offset:2px; }
@media(prefers-reduced-motion:reduce) { .hero .slide { transition:none; } .hero .slide h1 span { animation:none; } }

/* Keep optional media within reach without delaying the enquiry section. */
.home-media-details { max-width:960px; margin:0 auto; border:1px solid #c8d9e8; border-radius:8px; background:#fff; }
.home-media-details summary { min-height:52px; padding:14px 20px; color:#173c5e; font-size:16px; font-weight:600; cursor:pointer; }
.home-media-details summary:focus-visible { outline:3px solid var(--blue); outline-offset:3px; }
.home-media-details[open] .home-media-grid { padding:20px; }
.home-media-links { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 24px; margin:20px 0 0; }
.home-media-links a { display:flex; align-items:center; min-height:44px; color:#146da4; font-size:16px; text-decoration:underline; text-underline-offset:3px; }
.home-media-links a:focus-visible { outline:3px solid var(--blue); outline-offset:3px; }
#panel-materials { scroll-margin-top:110px; }
