/* SAT /sat/pages only. Every rule is under #tpk-slp. */

#tpk-slp {
    color: #192335;
    font-family: Arial, Helvetica, sans-serif;
}

#tpk-slp .tpk-slp-wrap {
    width: min(1120px, calc(100% - 32px));
    margin: 0 auto;
}

#tpk-slp .tpk-slp-hero {
    padding: 36px 0 28px;
    background: linear-gradient(180deg, #f3f7ff 0%, #ffffff 100%);
}

#tpk-slp .tpk-slp-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    gap: 28px;
    align-items: center;
}

#tpk-slp .tpk-slp-kicker {
    display: inline-block;
    margin: 0 0 12px;
    padding: 4px 10px;
    background: rgba(47, 87, 239, 0.12);
    color: #1d3fbf;
    font-size: 13px;
    font-weight: 700;
}

#tpk-slp h1 {
    margin: 0 0 12px;
    font-size: 40px;
    line-height: 1.15;
    color: #192335;
}

#tpk-slp .tpk-slp-lead,
#tpk-slp .tpk-slp-intro {
    margin: 0 0 14px;
    max-width: 640px;
    font-size: 17px;
    line-height: 1.5;
}

#tpk-slp .tpk-slp-points {
    margin: 0 0 16px;
    padding: 0;
    list-style: none;
}

#tpk-slp .tpk-slp-points li {
    position: relative;
    margin: 0 0 6px;
    padding-left: 18px;
    font-size: 16px;
}

#tpk-slp .tpk-slp-points li:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.55em;
    width: 8px;
    height: 8px;
    background: #2f57ef;
}

#tpk-slp .tpk-slp-cta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

#tpk-slp .tpk-slp-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 22px;
    border-radius: 6px;
    font-size: 16px;
    line-height: 1.2;
    font-weight: 700;
    text-decoration: none;
}

#tpk-slp .tpk-slp-btn-primary {
    background: #2f57ef;
    color: #fff;
}

#tpk-slp .tpk-slp-btn-primary:hover {
    background: #1d3fbf;
    color: #fff;
}

#tpk-slp .tpk-slp-btn-wa {
    background: #25d366;
    color: #fff;
}

#tpk-slp .tpk-slp-btn-wa:hover {
    background: #1ebe5b;
    color: #fff;
}

#tpk-slp .tpk-slp-btn-ghost {
    background: #fff;
    color: #192335;
    border: 1px solid #c9d4ea;
}

#tpk-slp .tpk-slp-hero-video {
    margin: 0;
    background: #0f1728;
    border-radius: 12px;
    overflow: hidden;
}

#tpk-slp .tpk-slp-frame {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}

#tpk-slp .tpk-slp-frame iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

#tpk-slp .tpk-slp-section {
    padding: 28px 0;
    border-top: 1px solid #e6eaf2;
    scroll-margin-top: 120px;
}

#tpk-slp .tpk-slp-label {
    margin: 0 0 6px;
    color: #5b6780;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

#tpk-slp h2 {
    margin: 0 0 8px;
    font-size: 28px;
    line-height: 1.25;
    color: #192335;
}

#tpk-slp h3 {
    margin: 0 0 8px;
    font-size: 18px;
    line-height: 1.3;
    color: #192335;
}

#tpk-slp h3 a {
    color: inherit;
    text-decoration: none;
}

#tpk-slp h3 a:hover {
    color: #1d3fbf;
}

#tpk-slp p,
#tpk-slp li {
    font-size: 16px;
    line-height: 1.5;
}

#tpk-slp .tpk-slp-cards {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

#tpk-slp .tpk-slp-course {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #e1e7f2;
    border-radius: 12px;
    overflow: hidden;
}

#tpk-slp .tpk-slp-course-photo {
    display: block;
    height: 168px;
    background: #d9e2f2;
}

#tpk-slp .tpk-slp-course-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: left center;
}

#tpk-slp .tpk-slp-course-body {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 14px;
    height: 100%;
}

#tpk-slp .tpk-slp-course-top {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
}

#tpk-slp .tpk-slp-from {
    margin: 0 0 12px;
    color: #1d3fbf;
    font-size: 28px;
    font-weight: 700;
}

#tpk-slp .tpk-slp-hours {
    margin: 0;
    color: #5b6780;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

#tpk-slp .tpk-slp-price {
    margin: 0;
    color: #1d3fbf;
    font-size: 26px;
    font-weight: 700;
}

#tpk-slp .tpk-slp-week {
    display: grid;
    grid-template-columns: 148px repeat(7, minmax(52px, 1fr));
    gap: 6px;
    margin: 8px 0 16px;
    align-items: stretch;
    overflow-x: auto;
}

#tpk-slp .tpk-slp-week span,
#tpk-slp .tpk-slp-week strong {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 6px;
    border-radius: 6px;
    background: #f4f7fc;
    font-size: 13px;
    text-align: center;
}

#tpk-slp .tpk-slp-week strong {
    justify-content: flex-start;
    background: transparent;
    font-size: 14px;
}

#tpk-slp .tpk-slp-week .is-on {
    background: #2f57ef;
    color: #fff;
    font-weight: 700;
}

#tpk-slp .tpk-slp-specs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

#tpk-slp .tpk-slp-specs div {
    padding: 14px;
    background: #f7f9fd;
    border-radius: 10px;
}

#tpk-slp .tpk-slp-specs strong {
    display: block;
    color: #1d3fbf;
    font-size: 22px;
}

#tpk-slp .tpk-slp-specs span {
    display: block;
    margin-top: 4px;
    font-size: 14px;
}

#tpk-slp .tpk-slp-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

#tpk-slp .tpk-slp-chips a {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 6px 12px;
    border: 1px solid #c9d4ea;
    border-radius: 999px;
    background: #fff;
    color: #1d3fbf;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
}

#tpk-slp .tpk-slp-chips a:hover {
    border-color: #2f57ef;
    background: #f3f7ff;
}

#tpk-slp .tpk-slp-meta {
    margin: 0;
    color: #3d4a63;
    font-size: 14px;
}

#tpk-slp .tpk-slp-ticks {
    margin: 0;
    padding: 0;
    list-style: none;
}

#tpk-slp .tpk-slp-ticks li {
    margin: 0 0 4px;
    padding-left: 16px;
    position: relative;
    font-size: 14px;
}

#tpk-slp .tpk-slp-ticks li:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.45em;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #25a56a;
}

#tpk-slp .tpk-slp-course .tpk-slp-btn {
    margin-top: auto;
}

#tpk-slp .tpk-slp-features {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

#tpk-slp .tpk-slp-features-2 {
    grid-template-columns: 1fr 1fr;
}

#tpk-slp .tpk-slp-features article {
    padding: 14px 16px;
    background: #f7f9fd;
    border-radius: 10px;
}

#tpk-slp .tpk-slp-features p {
    margin: 0;
    font-size: 15px;
}

#tpk-slp .tpk-slp-table-wrap {
    overflow-x: auto;
    margin: 12px 0;
}

#tpk-slp table {
    width: 100%;
    border-collapse: collapse;
    min-width: 560px;
}

#tpk-slp th,
#tpk-slp td {
    padding: 10px 12px;
    border: 1px solid #e1e7f2;
    text-align: left;
    vertical-align: top;
    font-size: 15px;
}

#tpk-slp th {
    background: #f4f7fc;
}

#tpk-slp .tpk-slp-caption {
    caption-side: top;
    margin: 0 0 8px;
    font-weight: 700;
    text-align: left;
}

#tpk-slp .tpk-slp-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

#tpk-slp .tpk-slp-strategy {
    padding: 16px;
    border: 1px solid #e1e7f2;
    border-radius: 12px;
    background: #fff;
}

#tpk-slp .tpk-slp-links {
    margin: 0 0 10px;
    padding-left: 18px;
}

#tpk-slp .tpk-slp-links li {
    margin: 0 0 6px;
}

#tpk-slp .tpk-slp-note {
    margin: 0 0 8px;
    color: #3d4a63;
    font-size: 14px;
}

#tpk-slp .tpk-slp-faq details {
    margin: 0 0 8px;
    border: 1px solid #e1e7f2;
    border-radius: 8px;
    background: #fff;
}

#tpk-slp .tpk-slp-faq summary {
    padding: 12px 14px;
    cursor: pointer;
    font-weight: 700;
}

#tpk-slp .tpk-slp-faq details p {
    margin: 0;
    padding: 0 14px 14px;
}

#tpk-slp .tpk-slp-cta-end {
    margin-top: 16px;
}

#tpk-slp .tpk-slp-hub-list {
    display: grid;
    gap: 14px;
    margin-top: 18px;
}

#tpk-slp .tpk-slp-hub-card {
    display: block;
    padding: 18px 20px;
    background: #fff;
    border: 1px solid #e1e7f2;
    border-radius: 10px;
    text-decoration: none;
    color: inherit;
}

#tpk-slp .tpk-slp-hub-card:hover {
    border-color: #2f57ef;
}

#tpk-slp .tpk-slp-hub-card h2 {
    margin: 0 0 6px;
    font-size: 22px;
    color: #1d3fbf;
}

#tpk-slp .tpk-slp-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 4px;
}

#tpk-slp .tpk-slp-nav a {
    color: #1d3fbf;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
}

#tpk-slp .tpk-slp-steps {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
}

#tpk-slp .tpk-slp-steps article,
#tpk-slp .tpk-slp-tone article,
#tpk-slp .tpk-slp-phase article,
#tpk-slp .tpk-slp-state,
#tpk-slp .tpk-slp-pick article {
    padding: 14px;
    border-radius: 10px;
    background: #f7f9fd;
}

#tpk-slp .tpk-slp-steps span,
#tpk-slp .tpk-slp-phase span,
#tpk-slp .tpk-slp-pick span {
    display: inline-block;
    margin-bottom: 6px;
    color: #1d3fbf;
    font-size: 13px;
    font-weight: 700;
}

#tpk-slp .tpk-slp-steps p,
#tpk-slp .tpk-slp-tone p,
#tpk-slp .tpk-slp-phase p,
#tpk-slp .tpk-slp-state p,
#tpk-slp .tpk-slp-pick p,
#tpk-slp .tpk-slp-live figcaption {
    margin: 0;
    font-size: 14px;
}

#tpk-slp .tpk-slp-tone,
#tpk-slp .tpk-slp-phase,
#tpk-slp .tpk-slp-states,
#tpk-slp .tpk-slp-pick {
    display: grid;
    gap: 10px;
}

#tpk-slp .tpk-slp-tone,
#tpk-slp .tpk-slp-pick {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

#tpk-slp .tpk-slp-phase {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

#tpk-slp .tpk-slp-tone article:nth-child(1) { background: #eef3ff; }
#tpk-slp .tpk-slp-tone article:nth-child(2) { background: #e8f7ef; }
#tpk-slp .tpk-slp-tone article:nth-child(3) { background: #fff6e8; }
#tpk-slp .tpk-slp-tone article:nth-child(4) { background: #f7eef8; }

#tpk-slp .tpk-slp-states {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

#tpk-slp .tpk-slp-state strong {
    display: block;
    margin-bottom: 4px;
}

#tpk-slp .tpk-slp-live {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

#tpk-slp .tpk-slp-live figure {
    margin: 0;
    background: #0f1728;
    border-radius: 10px;
    overflow: hidden;
}

#tpk-slp .tpk-slp-live img {
    display: block;
    width: 100%;
    height: 140px;
    object-fit: cover;
    object-position: left center;
}

#tpk-slp .tpk-slp-live figcaption {
    padding: 8px 10px 10px;
    color: #fff;
}

#tpk-slp .tpk-slp-who {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 16px;
    align-items: center;
}

#tpk-slp .tpk-slp-result {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 18px;
    align-items: center;
}

#tpk-slp .tpk-slp-result img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 12px;
}

#tpk-slp .tpk-slp-result-notes {
    display: grid;
    gap: 10px;
}

#tpk-slp .tpk-slp-result-notes article {
    padding: 14px 16px;
    background: #f7f9fd;
    border-radius: 10px;
}

#tpk-slp .tpk-slp-result-notes p {
    margin: 0;
    font-size: 15px;
}

#tpk-slp .tpk-slp-banner {
    display: block;
    width: 100%;
    height: 280px;
    margin: 0 0 12px;
    object-fit: cover;
    object-position: center 30%;
    border-radius: 12px;
}

@media (max-width: 980px) {
    #tpk-slp .tpk-slp-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #tpk-slp .tpk-slp-hero-grid,
    #tpk-slp .tpk-slp-split,
    #tpk-slp .tpk-slp-features,
    #tpk-slp .tpk-slp-who,
    #tpk-slp .tpk-slp-result,
    #tpk-slp .tpk-slp-steps,
    #tpk-slp .tpk-slp-tone,
    #tpk-slp .tpk-slp-phase {
        grid-template-columns: 1fr;
    }

    #tpk-slp .tpk-slp-states,
    #tpk-slp .tpk-slp-pick,
    #tpk-slp .tpk-slp-live {
        grid-template-columns: 1fr 1fr;
    }

    #tpk-slp h1 {
        font-size: 32px;
    }
}

@media (max-width: 640px) {
    #tpk-slp .tpk-slp-cards,
    #tpk-slp .tpk-slp-steps,
    #tpk-slp .tpk-slp-tone,
    #tpk-slp .tpk-slp-phase,
    #tpk-slp .tpk-slp-states,
    #tpk-slp .tpk-slp-pick,
    #tpk-slp .tpk-slp-live,
    #tpk-slp .tpk-slp-who {
        grid-template-columns: 1fr;
    }

    #tpk-slp .tpk-slp-specs {
        grid-template-columns: 1fr 1fr;
    }
}
