.home-page .wrap { width: 100%; max-width: none; padding-left: clamp(16px, 3vw, 56px); padding-right: clamp(16px, 3vw, 56px); }
@media (min-aspect-ratio: 16/9) {
  .home-page .wrap { max-width: calc(100vh * 1.777777778); }
}
.header-account { display: flex; align-items: center; gap: 12px; }
.login-link { display: inline-flex; align-items: center; gap: 6px; }
.login-icon { flex: none; }
.products { position: relative; }
.products > summary { display: grid; place-items: center; width: 44px; height: 44px; list-style: none; border: 1px solid transparent; border-radius: 4px; color: #111; }
.products > summary::-webkit-details-marker { display: none; }
.products > summary:hover, .products[open] > summary { background: #f5f5f5; border-color: #bbb; }
.product-dots { display: grid; grid-template-columns: repeat(3, 4px); gap: 4px; }
.product-dots i { width: 4px; height: 4px; border-radius: 50%; background: currentColor; }
.products-panel { position: absolute; z-index: 20; top: calc(100% + 6px); right: 0; width: 238px; max-width: calc(100vw - 24px); padding: 8px; border: 1px solid #bbb; background: #fff; box-shadow: 0 6px 18px #00000012; }
.products-title { margin: 4px 10px 8px; font-weight: bold; }
.product-item { display: flex; flex-direction: column; align-items: center; gap: 6px; min-height: 76px; padding: 10px; color: #111; text-decoration: none; text-align: center; }
.product-item img, .product-item svg { flex: none; width: 40px; height: 40px; object-fit: contain; }
.product-label { display: block; font-size: 11px; line-height: 1.4; }
.product-label small { display: block; margin-top: 2px; font-size: 11px; color: #555; }
a.product-item:hover { background: #f5f5f5; text-decoration: underline; }
.product-soon { color: #666; cursor: default; }
.home-intro { display: grid; grid-template-columns: minmax(160px, .8fr) minmax(0, 1.2fr); align-items: center; gap: clamp(20px, 4vw, 48px); padding: 28px 0; text-align: left; }
.home-intro .heroimg { width: 100%; max-width: 400px; margin: 0; justify-self: start; }
.home-principles { min-width: 0; }
.home-principles h1 { font-size: clamp(19px, 2.6vw, 25px); }
.home-principles p { margin: 12px 0 0; }
.home-request { margin-top: 28px; padding-top: 20px; text-align: center; }
.home-request p { margin-bottom: 12px; }
@media (max-width: 700px) {
  .header-account { gap: 8px; }
  .header-account > a { padding: 10px 0; }
  .products-panel { right: -48px; }
  .home-intro { grid-template-columns: minmax(104px, .8fr) minmax(0, 1.2fr); gap: 16px; padding: 20px 0; }
}
@media (max-width: 420px) {
  .head-row { column-gap: 6px; }
  .home-intro { grid-template-columns: 104px minmax(0, 1fr); gap: 12px; }
  .home-principles h1 { font-size: 17px; }
}
