.product-brand { display: flex; flex-direction: column; color: var(--ink); text-decoration: none; }
.product-brand strong { font-size: 20px; letter-spacing: .08em; }
.product-brand span { color: var(--muted); font-size: 11px; letter-spacing: .04em; }
.products-hero { padding: 76px 0 70px; background: linear-gradient(135deg, #071d35, #0e3459); color: #fff; }
.products-hero-inner { max-width: 920px; }
.products-hero h1 { max-width: 900px; margin-bottom: 22px; }
.products-hero .section-kicker { color: #ff9ca2; }
.products-hero p:last-child { max-width: 790px; margin: 0; color: rgba(255,255,255,.72); font-size: 19px; }
.product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.product-card { display: flex; flex-direction: column; min-height: 100%; border: 1px solid var(--line); background: #fff; transition: transform .2s ease, box-shadow .2s ease; }
.product-card:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.product-visual { position: relative; display: grid; place-items: center; min-height: 205px; overflow: hidden; background: linear-gradient(145deg, #e7eef4, #f8fafb); color: var(--blue); }
.product-visual::before, .product-visual::after { content: ""; position: absolute; border: 1px solid rgba(23,77,124,.12); transform: rotate(45deg); }
.product-visual::before { width: 180px; height: 180px; right: -75px; top: -90px; }
.product-visual::after { width: 120px; height: 120px; left: -60px; bottom: -70px; }
.product-visual svg { width: 72px; height: 72px; fill: none; stroke: currentColor; stroke-width: 1.35; stroke-linecap: round; stroke-linejoin: round; }
.product-card-body { display: flex; flex: 1; flex-direction: column; padding: 25px; }
.product-card h3 { margin-bottom: 10px; font-size: 23px; line-height: 1.2; }
.product-maker { margin-bottom: 15px; color: var(--accent); font-size: 12px; font-weight: 900; }
.product-description { flex: 1; margin-bottom: 24px; color: var(--muted); font-size: 14px; }
.product-card .button { align-self: flex-start; }
.request-form .submit-button { margin-top: 4px; }
.product-footer { display: flex; justify-content: space-between; gap: 45px; padding-bottom: 30px; }
.product-footer p { margin: 6px 0 0; color: rgba(255,255,255,.52); font-size: 12px; }
@media (max-width: 820px) { .product-grid { grid-template-columns: 1fr 1fr; } .products-hero { padding: 56px 0; } .product-footer { flex-direction: column; } }
@media (max-width: 560px) { .product-grid { grid-template-columns: 1fr; } .products-hero h1 { font-size: 36px; } .products-hero p:last-child { font-size: 16px; } .product-visual { min-height: 175px; } }
