.yg-page-detail {
    --yg-green: #03482b;
    --yg-gold: #e2a515;
    --yg-ink: #183229;
    --yg-text: #52635d;
    --yg-soft: #f7f5ee;
    --yg-line: #e7ebe8;
    color: var(--yg-ink);
    background: #fff;
}

.yg-page-detail,
.yg-page-detail * { box-sizing: border-box; }
.yg-page-detail a { text-decoration: none !important; }
.yg-page-hero { padding: 0 0 36px; }

.yg-page-hero .container,
.yg-page-content-section .container {
    width: min(100% - 40px, 1160px);
    max-width: 1160px;
    margin-inline: auto;
}

.yg-page-hero-inner { max-width: 760px; }

.yg-page-hero h1 {
    margin: 0;
    font-size: clamp(34px, 4vw, 50px);
    font-weight: 750;
    line-height: 1.06;
    letter-spacing: -.035em;
}

.yg-page-hero-inner p {
    margin: 12px 0 0;
    color: rgba(255, 255, 255, .7);
    font-size: 15px;
    line-height: 1.65;
}

.yg-page-content-section {
    padding: 72px 0 96px;
    background: var(--yg-soft);
}

.yg-page-document {
    width: 100%;
    max-width: 920px;
    min-width: 0;
    margin: 0 auto;
    padding: 58px 64px 64px;
    border-radius: 22px;
    background: #fff;
}

.yg-page-content {
    min-width: 0;
    color: var(--yg-text);
    font-size: 16px;
    font-weight: 450;
    line-height: 1.85;
    overflow-wrap: break-word;
    white-space: normal !important;
}

.yg-page-content > *:first-child { margin-top: 0 !important; }
.yg-page-content > *:last-child { margin-bottom: 0 !important; }

.yg-page-content :where(h1, h2, h3, h4, h5, h6) {
    margin: 38px 0 14px;
    color: var(--yg-green);
    font-weight: 720;
    line-height: 1.28;
    letter-spacing: -.02em;
}

.yg-page-content h1 { font-size: 32px; }
.yg-page-content h2 { font-size: 26px; }
.yg-page-content h3 { font-size: 21px; }
.yg-page-content :where(h4, h5, h6) { font-size: 18px; }
.yg-page-content :where(p, ul, ol, blockquote, table) { margin: 0 0 20px; }
.yg-page-content :where(ul, ol) { padding-left: 22px; }
.yg-page-content ul { list-style: disc outside !important; }
.yg-page-content ol { list-style: decimal outside !important; }
.yg-page-content li { display: list-item !important; padding-left: 4px; }
.yg-page-content li + li { margin-top: 8px; }
.yg-page-content li::marker { color: var(--yg-gold); }

.yg-page-content :where(strong, b) {
    color: var(--yg-ink);
    font-weight: 700;
}

.yg-page-content a {
    color: var(--yg-green);
    font-weight: 650;
}

.yg-page-content blockquote {
    padding: 20px 24px;
    color: var(--yg-ink);
    border: 0;
    border-radius: 12px;
    background: #f3f7f4;
}

.yg-page-content hr {
    margin: 34px 0;
    border: 0;
    border-top: 1px solid var(--yg-line);
}

.yg-page-content table {
    width: 100%;
    border-collapse: collapse;
}

.yg-page-content :where(th, td) {
    padding: 13px 15px;
    text-align: left;
    border-bottom: 1px solid var(--yg-line);
}

.yg-page-content th {
    color: var(--yg-green);
    background: #f7faf8;
}

@media (max-width: 767px) {
    .yg-page-hero { padding-bottom: 28px; }

    .yg-page-hero .container,
    .yg-page-content-section .container {
        width: 100% !important;
        max-width: 100% !important;
        padding-right: 16px;
        padding-left: 16px;
    }

    .yg-page-hero h1 { font-size: 33px; }

    .yg-page-hero-inner p {
        margin-top: 9px;
        font-size: 13.5px;
    }

    .yg-page-content-section { padding: 38px 0 58px; }

    .yg-page-document {
        max-width: 100%;
        padding: 30px 24px 36px;
        border-radius: 16px;
    }

    .yg-page-content {
        font-size: 15px;
        line-height: 1.78;
    }

    .yg-page-content :where(h1, h2, h3, h4, h5, h6) { margin-top: 30px; }
    .yg-page-content h1 { font-size: 27px; }
    .yg-page-content h2 { font-size: 23px; }
    .yg-page-content h3 { font-size: 19px; }

    .yg-page-content table {
        display: block;
        overflow-x: auto;
    }
}
