.sw-public .gf-page { overflow-wrap: anywhere; }
.sw-public .gf-page h2 { font-size: 36px; margin-bottom: 20px; }
.sw-public .gf-page h3 { font-size: 20px; margin-bottom: 12px; }
.sw-public .gf-hero { padding: 28px 0 45px; border-bottom: 1px solid #e9edf2; }
.sw-public .gf-breadcrumb { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; font-size: 12px; color: #5d6675; margin-bottom: 30px; }
.sw-public .gf-hero h1 { max-width: 900px; margin: 0 auto 20px; font-size: 46px; }
.sw-public .gf-intro { font-size: 20px; color: #182230; }
.sw-public .gf-lead { font-size: 17px; max-width: 770px; margin: 0 auto 24px; }
.sw-public .gf-product { max-width: 740px; margin-inline: auto; }
.sw-public .gf-product img { display: block; width: 100%; height: auto; }
.sw-public .gf-product figcaption { margin-top: 10px; }
.sw-public .gf-reading { max-width: 900px; }
.sw-public .gf-source, .sw-public .gf-note { font-size: 13px; line-height: 1.7; }
.sw-public .gf-features { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 34px; }
.sw-public .gf-features article { border-top: 1px solid #dce5f5; padding-top: 22px; }
.sw-public .gf-features article > i { display: block; color: #155eef; font-size: 25px; margin-bottom: 16px; }
.sw-public .gf-features p { font-size: 15px; margin: 0; }
.sw-public .gf-table-wrap { overflow-x: auto; }
.sw-public .gf-table-wrap:focus-visible { outline: 2px solid #155eef; outline-offset: 4px; }
.sw-public .gf-table { width: 100%; border-collapse: collapse; font-size: 15px; }
.sw-public .gf-table caption { caption-side: bottom; color: #5d6675; font-size: 12px; padding-top: 14px; }
.sw-public .gf-table th, .sw-public .gf-table td { padding: 18px 20px; border-bottom: 1px solid #dce2eb; vertical-align: top; text-align: left; }
.sw-public .gf-table thead { background: #182230; color: #fff; }
.sw-public .gf-table tbody td:last-child { background: #eef4ff; }
.sw-public .gf-table thead th:first-child { width: 22%; }
.sw-public .gf-table thead th:not(:first-child) { width: 39%; }
.sw-public .gf-steps { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px; }
.sw-public .gf-steps h3 { margin-top: 18px; }
.sw-public .gf-price { max-width: 850px; }
.sw-public .gf-faq details { border-bottom: 1px solid #dce2eb; }
.sw-public .gf-faq summary { cursor: pointer; font-weight: 600; padding: 22px 0; line-height: 1.5; }
.sw-public .gf-faq details[open] summary { color: #155eef; }
.sw-public .gf-faq details p { padding: 0 0 18px; margin: 0; }
@media (max-width: 991px) {
    .sw-public .gf-features, .sw-public .gf-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
    .sw-public .gf-hero h1 { font-size: 32px; }
    .sw-public .gf-page h2 { font-size: 28px; }
    .sw-public .gf-intro { font-size: 17px; }
    .sw-public .gf-lead { font-size: 16px; }
    .sw-public .gf-breadcrumb { margin-bottom: 24px; }
    .sw-public .gf-features, .sw-public .gf-steps { grid-template-columns: 1fr; gap: 26px; }
    .sw-public .gf-table { font-size: 13px; min-width: 580px; }
    .sw-public .gf-table th, .sw-public .gf-table td { padding: 14px; }
    .sw-public .gf-product { margin-top: 20px; }
}
