.hj170{
    --ink:#23384a;
    --muted:#62747a;
    --line:#dbe5e2;
    --soft:#f5f8f7;
    --accent:#087f84;
    --warm:#c96b5c;

    max-width:1080px;
    margin:38px auto;
    color:var(--ink);
    line-height:1.72;
}

.hj170 *{
    box-sizing:border-box;
}

.hj170 h2,
.hj170 h3{
    color:var(--ink);
}

.hj170 h2{
    margin:0 0 17px;
    font-size:clamp(1.45rem,2.5vw,2.1rem);
    line-height:1.22;
}

.hj170 h3{
    margin:20px 0 9px;
    font-size:1.13rem;
}

.hj170 p{
    margin:0 0 15px;
}

.hj170__hero{
    padding:clamp(25px,5vw,48px);
    border:1px solid var(--line);
    border-radius:22px;
    background:linear-gradient(145deg,#f3f9f8,#fff 75%);
}

.hj170__eyebrow{
    color:var(--accent);
    font-size:.76rem;
    font-weight:900;
    letter-spacing:.1em;
}

.hj170__hero h2{
    font-size:clamp(1.85rem,4vw,2.7rem);
}

.hj170__lead{
    max-width:850px;
    font-size:1.08rem;
}

.hj170__chips{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:22px;
}

.hj170__chips span{
    padding:6px 12px;
    border:1px solid var(--line);
    border-radius:999px;
    background:#fff;
    font-size:.84rem;
}

.hj170__index,
.hj170__section,
.hj170__references,
.hj170__final{
    margin-top:24px;
    padding:clamp(20px,4vw,34px);
    border:1px solid var(--line);
    border-radius:18px;
    background:#fff;
}

.hj170__index{
    background:var(--soft);
}

.hj170__index ol{
    columns:2;
    column-gap:34px;
    padding-left:23px;
}

.hj170__index li{
    margin:6px 0;
    break-inside:avoid;
}

.hj170 a{
    color:#176d73;
    text-underline-offset:3px;
}

.hj170__grid,
.hj170__contrast,
.hj170__comparison,
.hj170__metrics{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:13px;
    margin:21px 0;
}

.hj170__card,
.hj170__contrast article,
.hj170__comparison article,
.hj170__metrics article{
    padding:19px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fff;
}

.hj170__card h3{
    margin-top:0;
}

.hj170__note,
.hj170__tip{
    margin:21px 0;
    padding:17px 20px;
    border-left:4px solid var(--accent);
    border-radius:0 12px 12px 0;
    background:#eef7f6;
}

.hj170__practice{
    margin:22px 0;
    padding:20px 22px;
    border:1px solid var(--line);
    border-radius:14px;
    background:var(--soft);
}

.hj170__practice h3{
    margin-top:0;
}

.hj170__practice li,
.hj170__steps li{
    margin:.55rem 0;
}

.hj170__figure{
    margin:28px 0;
    padding:14px;
    border:1px solid var(--line);
    border-radius:15px;
    background:var(--soft);
}

.hj170__figure img{
    display:block;
    width:100%;
    height:auto;
}

.hj170__figure figcaption{
    margin-top:10px;
    color:var(--muted);
    font-size:.9rem;
}

.hj170__sequence{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:10px;
    margin:22px 0;
}

.hj170__sequence article{
    padding:17px;
    border-radius:14px;
    background:#eef7f6;
}

.hj170__sequence span{
    display:block;
    color:var(--accent);
    font-size:.72rem;
    font-weight:900;
}

.hj170__sequence strong{
    display:block;
    margin:.35rem 0;
}

.hj170__comparison article > span{
    color:var(--warm);
    font-size:.72rem;
    font-weight:900;
}

.hj170__table-wrap{
    width:100%;
    overflow-x:auto;
    margin:21px 0;
}

.hj170 table{
    width:100%;
    min-width:700px;
    border-collapse:collapse;
}

.hj170 th,
.hj170 td{
    padding:12px 14px;
    border:1px solid var(--line);
    text-align:left;
    vertical-align:top;
}

.hj170 th{
    background:var(--soft);
}

.hj170__articulation,
.hj170__exercises{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:13px;
    margin:22px 0;
}

.hj170__articulation article,
.hj170__exercises article{
    padding:19px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fff;
}

.hj170__articulation span,
.hj170__exercises span{
    color:var(--warm);
    font-size:.7rem;
    font-weight:900;
    letter-spacing:.06em;
}

.hj170__articulation h3,
.hj170__exercises h3{
    margin:.4rem 0 .6rem;
}

.hj170__checklist{
    padding-left:23px;
}

.hj170__checklist li{
    margin:.55rem 0;
}

.hj170__routine{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:10px;
    margin:22px 0;
}

.hj170__routine article{
    padding:16px;
    border:1px solid var(--line);
    border-radius:13px;
    background:#fff;
}

.hj170__routine span{
    display:block;
    color:var(--accent);
    font-size:.72rem;
    font-weight:900;
}

.hj170__routine strong{
    display:block;
    margin:.35rem 0;
}

.hj170__weeks{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
    margin:22px 0;
}

.hj170__weeks article{
    padding:18px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fff;
}

.hj170__weeks > article > span{
    color:var(--warm);
    font-size:.7rem;
    font-weight:900;
}

.hj170__progress{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:9px;
    margin:21px 0;
}

.hj170__progress div{
    display:flex;
    gap:10px;
    padding:13px 15px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
}

.hj170__progress span{
    color:var(--accent);
    font-weight:900;
}

.hj170__progress p{
    margin:0;
}

.hj170__resources{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:13px;
}

.hj170__resources article{
    padding:18px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fff;
}

.hj170__resources h3{
    margin-top:0;
}

.hj170__final{
    background:#eef7f6;
    border-left:4px solid var(--accent);
}

.hj170__final strong{
    color:#075d62;
}

@media(max-width:820px){

    .hj170__routine{
        grid-template-columns:repeat(2,1fr);
    }

    .hj170__weeks,
    .hj170__resources{
        grid-template-columns:repeat(2,1fr);
    }

}

@media(max-width:760px){

    .hj170__index ol,
    .hj170__grid,
    .hj170__contrast,
    .hj170__comparison,
    .hj170__metrics,
    .hj170__articulation,
    .hj170__exercises,
    .hj170__weeks,
    .hj170__progress,
    .hj170__resources{
        columns:auto;
        grid-template-columns:1fr;
    }

    .hj170__sequence{
        grid-template-columns:1fr 1fr;
    }

    .hj170__routine{
        grid-template-columns:1fr;
    }

    .hj170__hero,
    .hj170__index,
    .hj170__section,
    .hj170__references,
    .hj170__final{
        padding:20px;
        border-radius:14px;
    }

}
