
.legal-main {
    min-height: 64vh;
    background: #f8fafb;
}

.legal-container {
    width: min(calc(100% - 72px), 1180px);
    margin-inline: auto;
}

.legal-page-head {
    padding: 72px 0 42px;
}

.legal-page-head h1 {
    margin: 0;
    color: #17191d;
    font-size: clamp(42px, 5vw, 62px);
    line-height: 1;
    font-weight: 700;
    letter-spacing: -.055em;
}

.legal-title-line {
    width: 92px;
    height: 5px;
    margin-top: 17px;
    background: #248E41;
    border-radius: 999px;
}

.legal-page-head p {
    max-width: 720px;
    margin: 22px 0 0;
    color: #646a73;
    font-size: 18px;
    line-height: 1.55;
}

.legal-content {
    padding: 0 0 92px;
}

.legal-card {
    min-height: 220px;
    padding: 42px 40px;
    background: #ffffff;
    border: 1px solid #dfe4e7;
    border-radius: 17px;
    box-shadow: 0 2px 4px rgba(24,39,31,.025);
}

.legal-card h2 {
    margin: 0;
    color: #17191d;
    font-size: 26px;
    line-height: 1.1;
    font-weight: 700;
    letter-spacing: -.03em;
}

.legal-card-line {
    width: 46px;
    height: 4px;
    margin: 10px 0 28px;
    background: #248E41;
    border-radius: 999px;
}

.legal-card p {
    max-width: 800px;
    margin: 0 0 18px;
    color: #737a83;
    font-size: 15px;
    line-height: 1.8;
}

.legal-card h3 {
    margin: 28px 0 10px;
    color: #17191d;
    font-size: 18px;
    line-height: 1.35;
    font-weight: 700;
    letter-spacing: -.02em;
}

.legal-card ul {
    max-width: 820px;
    margin: 0 0 18px;
    padding-left: 20px;
    color: #737a83;
    font-size: 15px;
    line-height: 1.8;
}

.legal-card li {
    margin-bottom: 6px;
}

.legal-card a {
    color: #248E41;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.legal-note {
    margin-top: 28px !important;
    padding-top: 18px;
    border-top: 1px solid #e5ebee;
    color: #5c6675 !important;
}

@media (max-width: 720px) {
    .legal-container { width: calc(100% - 30px); }
    .legal-page-head { padding: 54px 0 34px; }
    .legal-page-head h1 { font-size: 44px; }
    .legal-page-head p { font-size: 16px; }
    .legal-content { padding-bottom: 70px; }
    .legal-card { min-height: 180px; padding: 30px 22px; }
}
