.brand-legal { overflow-x: hidden; background: #f7f8fb; color: #151923; }
.brand-legal-hero { padding: 42px 0 24px; }
.brand-legal-main { padding: 34px 0 60px; }
.brand-legal-card { margin: 18px 0; padding: 26px; overflow-wrap: anywhere; background: #fff; border: 1px solid #e4e7ec; border-radius: 18px; box-shadow: 0 18px 42px rgba(15, 23, 42, .06), 0 4px 14px rgba(15, 23, 42, .04); scroll-margin-top: 110px; }
.brand-legal-card__header { margin-bottom: 16px; padding-bottom: 14px; border-bottom: 1px solid #e4e7ec; }
.brand-legal-card__header h2 { margin: 0; color: #151923; font-size: clamp(20px, 2.4vw, 25px); line-height: 1.28; }
.brand-legal-card__body, .brand-legal-card p, .brand-legal-card li { color: #151923; font-size: 16px; line-height: 1.75; }
.brand-legal-card a { color: #1f5fbf; font-weight: 700; }
.brand-legal-toc ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 22px; margin: 0; padding-left: 20px; }
.brand-legal-toc li { margin: 0; }
.brand-legal-card--notice { border-left: 4px solid #fb7400; }
.brand-facts p { margin: 0 0 12px; }
.brand-facts p:last-child { margin-bottom: 0; }
.brand-logo { display: block; width: min(100%, 420px); height: auto; margin: 0 auto; }
.brand-color-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; }
.brand-color { overflow: hidden; border: 1px solid #e4e7ec; border-radius: 10px; }
.brand-color i { display: block; height: 42px; background: var(--swatch); }
.brand-color strong, .brand-color span, .brand-color small { display: block; padding: 4px 12px; }
.brand-color strong { padding-top: 10px; }
.brand-color small { padding-bottom: 10px; color: #5b6472; }
.brand-ads { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.brand-ad { min-width: 0; margin: 0; }
.brand-ad--horizontal { grid-column: 1 / -1; }
.brand-ad img { display: block; width: 100%; height: 100%; max-height: 520px; border-radius: 8px; object-fit: contain; background: #f7f8fb; }
.brand-ad--square img, .brand-ad--vertical img { aspect-ratio: 1 / 1; }
.brand-ad--horizontal img { aspect-ratio: 16 / 9; }
.brand-ad figcaption { margin-top: 10px; font-weight: 700; }
.brand-ad p { font-size: 15px; }
.brand-print { margin-top: 16px; padding: 9px 14px; color: #151923; font-weight: 700; cursor: pointer; background: #fff; border: 1px solid #e4e7ec; border-radius: 8px; }
@media (max-width: 768px) { .brand-legal-hero { padding: 34px 0 22px; } .brand-legal-main { padding: 22px 0 42px; } .brand-legal .container { padding: 0 18px; } .brand-legal-card { padding: 18px; border-radius: 16px; } .brand-legal-card__header h2 { font-size: 20px; } .brand-legal-card__body, .brand-legal-card p, .brand-legal-card li { font-size: 15.5px; line-height: 1.68; } .brand-legal-toc ul, .brand-ads { grid-template-columns: 1fr; } .brand-ad--horizontal { grid-column: auto; } .brand-logo { max-width: 320px; } .brand-color-list { grid-template-columns: 1fr; } }
@media print { .site-header, .site-footer, .mobile-bottom-nav, .support-widget, .brand-print { display: none !important; } .brand-legal, .brand-legal-hero { color: #000; background: #fff; } .brand-legal-card { break-inside: avoid; box-shadow: none; } .brand-legal-main { padding: 0; } .brand-legal-toc ul { grid-template-columns: 1fr; } }
