.partner-main { max-width: 1120px; }
.partner-main section { margin-block: 55px; }
.partner-hero { max-width: 800px; padding-block: 28px; }
.partner-hero h1 { font-size: clamp(44px, 7vw, 82px); line-height: 1.08; letter-spacing: -.04em; }
.partner-hero em { color: #536b35; }
.partner-main h2 { font-size: clamp(28px, 4vw, 40px); line-height: 1.2; }
.partner-main p, .partner-main li { line-height: 1.7; }
.partner-main li { margin-bottom: 12px; }
.partner-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.partner-grid article { border: 1px solid #d8dccf; border-radius: 18px; padding: 24px; }
.partner-grid img { display: block; width: 100%; height: auto; border-radius: 14px; margin-bottom: 12px; }
.partner-main a { text-underline-offset: 4px; }
.partner-main a:not(.partner-button) { text-decoration: underline; }
.partner-button { display: inline-block; padding: 14px 22px; border-radius: 30px; background: #19231d; color: #dfff64; margin: 8px 12px 8px 0; }
.partner-note { color: #56634f; font-size: 14px; }
.partner-main video { display: block; max-width: 100%; height: auto; background: #19231d; border-radius: 14px; }
.partner-help { padding: 30px; background: #e9eedc; border-radius: 18px; }
@media(max-width: 800px) { .partner-grid { grid-template-columns: 1fr; } .partner-main section { margin-block: 35px; } }
@media(max-width: 420px) { .site-header { flex-wrap: wrap; } .partner-help { padding: 20px; } }
