.pg-page { padding-bottom:clamp(46px,6vw,90px); color:var(--ink); }
.pg-page [hidden] { display:none!important; }
.pg-page>.wrap { max-width:1440px; }
.pg-crumb { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:20px 0 17px; color:#56636d; font-size:12px; line-height:1.45; }
.pg-crumb a { text-decoration:underline; text-underline-offset:3px; }
.pg-page h1,.pg-page h2 { font-family:var(--display); font-weight:600; text-transform:uppercase; overflow-wrap:anywhere; line-height:1.02; letter-spacing:-.038em; }
.pg-page h1 { font-size:clamp(41px,5.85vw,85px); }
.pg-page h2 { font-size:clamp(34px,3.85vw,57px); }
.pg-kicker,.pg-meta,.pg-state,.pg-row-main small { display:block; font-size:10px; line-height:1.4; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.pg-kicker { color:var(--rust); margin:0 0 13px; }
.pg-intro { max-width:53ch; margin:16px 0; font-size:clamp(15px,1.3vw,18px); line-height:1.55; }
.pg-local { font-size:12px; color:var(--muted); line-height:1.55; }
.pg-dashboard-hero { display:grid; grid-template-columns:1.35fr .85fr; gap:clamp(25px,6vw,110px); position:relative; overflow:hidden; isolation:isolate; align-items:center; min-height:330px; border-radius:16px; background:var(--ink); color:white; padding:clamp(26px,4.5vw,65px); }
.pg-dashboard-hero::before { content:""; position:absolute; pointer-events:none; z-index:-1; right:5%; top:-85%; width:min(68%,730px); aspect-ratio:1; border:1px solid #ffffff17; border-radius:50%; box-shadow:0 0 0 54px #ffffff04,0 0 0 110px #ffffff04,0 0 0 180px #ffffff04; }
.pg-title-block>.pg-kicker { color:#f2b8a2; }
.pg-title-block>.pg-local { color:#c9d3d8; }
.pg-bookmark { padding:clamp(21px,2.6vw,36px); min-width:0; border-radius:12px; background:var(--paper); color:var(--ink); }
.pg-bookmark h2 { font:650 clamp(21px,2.35vw,33px)/1.16 Golos,Arial,sans-serif; letter-spacing:-.052em; text-transform:none; }
.pg-bookmark>p:not(.pg-kicker) { font-size:14px; line-height:1.45; margin:11px 0 18px; color:var(--muted); }
.pg-bookmark .pg-meter { margin:12px 0 18px; }
.pg-button { display:inline-flex; align-items:center; justify-content:space-between; gap:16px; min-height:46px; padding:12px 17px; background:var(--ink); color:#fff; font:650 13px/1.35 Golos,Arial,sans-serif; border-radius:7px; }
.pg-button:hover { background:var(--rust); }
.pg-modules { padding-top:clamp(42px,5.6vw,80px); }
.pg-section-head { margin-bottom:26px; }
.pg-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(15px,2.2vw,32px); }
.pg-card { display:grid; align-content:start; min-width:0; height:100%; border:1px solid var(--line); border-radius:13px; overflow:hidden; }
.pg-card-photo,.pg-course-photo { position:relative; background:var(--paper); }
.pg-card-photo { aspect-ratio:2.75/1; }
.pg-card-photo img,.pg-course-photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.pg-card-index,.pg-state { position:absolute; top:12px; background:var(--paper); color:var(--ink); border-radius:5px; padding:6px 9px; }
.pg-card-index { left:12px; font:650 11px/1.4 Golos,sans-serif; }
.pg-state { right:12px; letter-spacing:.04em; font-size:10px; }
[data-state="active"] .pg-state { color:#81331f; background:#ffebdb; }
[data-state="finished"] .pg-state { color:#28593c; background:#edf7e9; }
.pg-card-body { padding:clamp(17px,2.1vw,31px); min-width:0; }
.pg-meta { color:var(--rust); }
.pg-meta>span { padding-inline:5px; }
.pg-card h3 { margin:9px 0; font:650 clamp(21px,2.2vw,32px)/1.15 Golos,Arial,sans-serif; letter-spacing:-.045em; overflow-wrap:anywhere; }
.pg-card h3 a:hover,.pg-outline-link:hover { color:var(--rust); }
.pg-card-body>p { margin:0; font-size:14px; line-height:1.55; color:var(--muted); }
.pg-meter { margin-top:21px; }
.pg-meter-line { display:flex; justify-content:space-between; gap:12px; align-items:baseline; font-size:12px; line-height:1.4; }
.pg-meter-line strong { white-space:nowrap; font-variant-numeric:tabular-nums; }
.pg-meter progress { display:block; width:100%; height:5px; border:0; border-radius:10px; overflow:hidden; appearance:none; margin-top:8px; color:var(--rust); background:#e2dfd8; }
.pg-meter progress::-webkit-progress-bar { background:#e2dfd8; }
.pg-meter progress::-webkit-progress-value { background:var(--rust); }
.pg-meter progress::-moz-progress-bar { background:var(--rust); }
.pg-card-foot { display:flex; flex-wrap:wrap; align-items:center; gap:8px 18px; margin-top:22px; }
.pg-outline-link { display:inline-flex; align-items:center; gap:6px; min-height:44px; color:var(--ink); font-size:13px; font-weight:600; text-decoration:underline; text-underline-offset:4px; }
.pg-course-hero { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); border-radius:15px; overflow:hidden; background:var(--paper); }
.pg-course-copy { padding:clamp(24px,4.6vw,65px); }
.pg-course-copy h1 { font-size:clamp(35px,4.6vw,65px); }
.pg-course-copy>.pg-button { margin-top:23px; }
.pg-course-photo { min-width:0; min-height:295px; }
.pg-lessons { display:grid; grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); gap:clamp(26px,5.8vw,84px); padding-top:clamp(43px,6vw,86px); }
.pg-lesson-head>.pg-local { margin:14px 0; max-width:39ch; }
.pg-module-links { display:flex; flex-wrap:wrap; gap:0 17px; margin-top:10px; }
.pg-lesson-list { list-style:none; padding:0; margin:0; min-width:0; }
.pg-lesson-list li { border-top:1px solid #c7cecf; }
.pg-lesson-list li:last-child { border-bottom:1px solid #c7cecf; }
.pg-lesson-list a { display:grid; grid-template-columns:30px minmax(0,1fr) auto; gap:12px; align-items:center; min-height:83px; padding:14px 0; }
.pg-ordinal { font:600 20px/1.15 var(--display); color:var(--rust); }
.pg-row-main small { color:var(--muted); }
.pg-row-main h3 { margin:5px 0 0; font:650 clamp(16px,1.42vw,21px)/1.28 Golos,Arial,sans-serif; letter-spacing:-.028em; }
.pg-row-state { padding:5px 8px; font-size:10px; font-weight:600; line-height:1.45; color:#49545c; border:1px solid #d9dddc; border-radius:5px; }
[data-status="done"] .pg-row-state { background:#eef5ec; color:#31563c; border-color:#c2d0bf; }
[data-status="current"] .pg-row-state { background:#fbefe7; color:#86321e; border-color:#dfbfb3; }
.pg-lesson-list a:hover h3 { text-decoration:underline; text-underline-offset:3px; }
.pg-noscript { background:var(--paper); border-radius:8px; padding:15px; margin-top:15px; font-size:14px; line-height:1.5; }
@media(max-width:760px) {
 .pg-dashboard-hero,.pg-course-hero,.pg-lessons { grid-template-columns:minmax(0,1fr); }
 .pg-dashboard-hero { gap:22px; }
 .pg-course-photo { grid-row:1; width:100%; height:clamp(150px,43vw,240px); min-height:0; }
 .pg-crumb { font-size:11px; padding-block:14px; }
 .pg-grid { gap:14px; }
 .pg-card-foot { display:grid; justify-items:start; gap:0; }
 .pg-lesson-head>.pg-local { margin:12px 0 3px; }
}
@media(max-width:580px) {
 .pg-grid { grid-template-columns:minmax(0,1fr); }
 .pg-card-photo { aspect-ratio:2.5/1; }
 .pg-card-foot { display:flex; gap:8px 15px; }
 .pg-lesson-list a { grid-template-columns:25px minmax(0,1fr); gap:5px 8px; }
 .pg-ordinal { grid-row:1/3; }
 .pg-row-main,.pg-row-state { grid-column:2; }
 .pg-row-state { grid-row:2; justify-self:start; }
}
