.intro-page {
    --intro-main:#202b68;
    --intro-light:#168cc8;
    --intro-soft:#eef6fc;
    --intro-bg:#f7fbff;
    --intro-text:#172b42;
    --intro-sub:#66717f;
    --intro-border:#e2e7ec;
    width:100%;
    padding:88px 0 105px;
    background:#fff;
}
.intro-container {
    width:min(1120px,calc(100% - 80px));
    margin:0 auto;
}

/* MAIN */
.intro-grid {
    display:grid;
    grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr);
    gap:65px;
    align-items:start;
}
.intro-main {
    padding-top:10px;
}
.intro-label {
    display:block;
    margin-bottom:10px;
    color:var(--intro-light);
    font-size:10px;
    font-weight:800;
    letter-spacing:.14em;
}
.intro-main h2,
.point-header h2 {
    margin:0;
    color:var(--intro-text);
    font-weight:800;
    letter-spacing:-1.1px;
    word-break:keep-all;
}
.intro-main h2 {
    margin-bottom:25px;
    font-size:34px;
    line-height:1.35;
}
.intro-main p {
    margin:0 0 18px;
    color:var(--intro-sub);
    font-size:18.5px;
    line-height:1.9;
    word-break:keep-all;
}
.intro-main p:last-child {
    margin-bottom:0;
}
.intro-main strong {
    color: var(--intro-light);
    font-weight: 800;
}

/* POINT */
.point-wrap {
    padding:30px;
    border:1px solid var(--intro-border);
    border-radius:22px;
    background:var(--intro-bg);
}
.point-header {
    margin-bottom:22px;
}
.point-header h2 {
    font-size:25px;
    line-height:1.4;
}
.point-list {
    display:grid;
    gap:10px;
}
.point-item {
    display:flex;
    align-items:flex-start;
    gap:15px;
    padding:17px 18px;
    border:1px solid rgba(226,231,236,.85);
    border-radius:14px;
    background:#fff;
    transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.point-item:hover {
    transform:translateY(-3px);
    border-color:var(--intro-light);
    box-shadow:0 8px 20px rgba(28,43,61,.06);
}
.point-number {
    flex:0 0 35px;
    width:35px;
    height:35px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    background:var(--intro-soft);
    color:var(--intro-main);
    font-size:15px;
    font-weight:800;
}
.point-item strong {
    display:block;
    margin:1px 0 5px;
    color:var(--intro-text);
    font-size:16.5px;
    font-weight:800;
}
.point-item p {
    margin:0;
    color:var(--intro-sub);
    font-size:14.5px;
    line-height:1.65;
    word-break:keep-all;
}

/* SUMMARY */
.summary {
    margin-top:70px;
    padding:35px 40px;
    border-radius:20px;
    background:linear-gradient(135deg,var(--intro-main),var(--intro-light));
    text-align:center;
    color:#fff;
}
.summary .intro-label {
    margin-bottom:8px;
    color:rgba(255,255,255,.65);
}
.summary h3 {
    margin:0;
    font-size:24px;
    font-weight:800;
    line-height:1.45;
    letter-spacing:-.7px;
    word-break:keep-all;
}
.summary p {
    max-width:760px;
    margin:10px auto 0;
    color:rgba(255,255,255,.78);
    font-size:14px;
    line-height:1.75;
    word-break:keep-all;
}

/* TABLET */
@media(max-width:960px) {
    .intro-page {
        padding:70px 0 85px;
    }
    .intro-container {
        width:calc(100% - 64px);
    }
    .intro-grid {
        grid-template-columns:1fr;
        gap:45px;
    }
    .intro-main {
        padding:0;
    }
    .point-wrap {
        padding:26px;
    }
}

/* MOBILE */
@media(max-width:640px) {
    .intro-page {
        padding:48px 0 70px;
    }
    .intro-container {
        width:calc(100% - 32px);
    }
    .intro-grid {
        gap:34px;
    }
    .intro-main h2 {
        margin-bottom:19px;
        font-size:27px;
        letter-spacing:-.8px;
    }
    .intro-main p {
        margin-bottom:15px;
        font-size:14px;
        line-height:1.8;
    }
    .point-wrap {
        padding:22px 17px;
        border-radius:18px;
    }
    .point-header {
        margin-bottom:17px;
    }
    .point-header h2 {
        font-size:21px;
    }
    .point-item {
        gap:12px;
        padding:15px 14px;
        border-radius:12px;
    }
    .point-number {
        width:31px;
        height:31px;
        flex-basis:31px;
        border-radius:9px;
        font-size:9px;
    }
    .point-item strong {
        font-size:14px;
    }
    .point-item p {
        font-size:12px;
    }
    .summary {
        margin-top:42px;
        padding:28px 20px;
        border-radius:17px;
    }
    .summary h3 {
        font-size:20px;
    }
    .summary p {
        font-size:13px;
        line-height:1.7;
    }
}

@media(max-width:380px) {
    .intro-container {
        width:calc(100% - 28px);
    }
}