.practice-catalogue{--practice-ink:#25322f;--practice-muted:#68746f;--practice-border:#dce2da;width:min(calc(100% - var(--site-gutter) - var(--site-gutter)),1080px);margin:0 auto;padding:clamp(64px,8vw,104px) 0 120px;color:var(--practice-ink);font-family:Arial,Helvetica,sans-serif}.practice-catalogue *{box-sizing:border-box}.practice-catalogue :is(h1,h2,p,dl,dd,ol){margin:0}.practice-catalogue :is(input,select,button){color:inherit;font:inherit}.practice-catalogue :is(a,input,select,button):focus-visible{outline:3px solid #6656aa;outline-offset:4px}.practice-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:70px;align-items:end;padding-bottom:48px;border-bottom:1px solid var(--practice-border)}.practice-eyebrow{margin-bottom:16px!important;color:#758179;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.practice-hero h1{max-width:15ch;font-family:Georgia,Times New Roman,serif;font-size:clamp(46px,6vw,72px);font-weight:400;letter-spacing:-.055em;line-height:.98}.practice-hero>div>p:last-child{max-width:58ch;margin-top:22px;color:var(--practice-muted);font-size:15px;line-height:1.65}.practice-hero dl{display:grid;grid-template-columns:repeat(3,88px);border-block:1px solid var(--practice-border)}.practice-hero dl>div{padding:15px 12px}.practice-hero dl>div+div{border-left:1px solid var(--practice-border)}.practice-hero dt{min-height:25px;color:var(--practice-muted);font-size:9px;line-height:1.3;text-transform:uppercase}.practice-hero dd{margin-top:6px;font-family:Georgia,Times New Roman,serif;font-size:29px}.practice-preview-note{margin-top:24px!important;padding:13px 16px;border-left:2px solid #8a9c91;background:#f0f3ee;color:#65716b;font-size:11px;line-height:1.55}.practice-preview-note strong{color:var(--practice-ink)}.practice-controls,.project-controls{display:grid;grid-template-columns:minmax(250px,1fr) 190px 150px;gap:14px;align-items:end;margin-top:34px}.project-controls{grid-template-columns:minmax(250px,1fr) 160px 140px 150px}.practice-controls label,.project-controls label{display:grid;gap:7px}.practice-controls label>span,.project-controls label>span{color:var(--practice-muted);font-size:9px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.practice-controls input,.practice-controls select,.project-controls input,.project-controls select{width:100%;min-height:42px;padding:0 12px;border:1px solid #c8d1c9;border-radius:7px;background:#fff;font-size:12px}.practice-segments{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:5px;margin-top:3px}.practice-segments button{min-height:34px;padding:0 13px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--practice-muted);font-size:11px;cursor:pointer}.practice-segments button:hover{background:#edf1eb}.practice-segments button[aria-pressed=true]{border-color:#bbc5bc;background:#fff;color:var(--practice-ink)}.practice-results-heading{display:flex;justify-content:space-between;gap:30px;margin-top:38px;padding-bottom:12px;border-bottom:1px solid var(--practice-border);color:var(--practice-muted);font-size:9px;letter-spacing:.07em;text-transform:uppercase}.problem-list{padding:0;list-style:none}.problem-row{display:grid;grid-template-columns:34px minmax(0,1fr) 126px 88px;gap:20px;align-items:center;min-height:142px;padding:25px 0;border-bottom:1px solid var(--practice-border)}.problem-index{align-self:start;padding-top:4px;color:#99a29d;font-size:9px}.practice-meta{display:flex;flex-wrap:wrap;gap:7px 14px;color:#6e7a73;font-size:9px;letter-spacing:.055em;text-transform:uppercase}.practice-meta span+span{position:relative}.practice-meta span+span:before{position:absolute;left:-8px;content:"·"}.problem-copy h2,.project-card-copy h2{margin-top:10px;font-family:Georgia,Times New Roman,serif;font-size:25px;font-weight:400;letter-spacing:-.035em;line-height:1.12}.problem-copy>p{max-width:66ch;margin-top:9px;color:#4f5d57;font-size:13px;line-height:1.55}.problem-copy>small{display:block;margin-top:10px}.problem-copy>small,.problem-runtime{color:var(--practice-muted);font-size:10px}.problem-runtime{display:grid;align-self:stretch;align-content:center;gap:12px;padding-left:18px;border-left:1px solid #e4e8e2;line-height:1.35}.problem-runtime strong{color:#486052;font-size:10px;font-weight:600}.problem-runtime strong[data-progress=not-started]{color:#7a837e}.practice-action{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;color:#334a3f;font-size:11px;font-weight:700;text-decoration:none}.practice-action:hover{text-decoration:underline;text-underline-offset:4px}.practice-fixture-action{color:#8a938e;font-size:10px}.practice-no-results{max-width:540px;padding:60px 0}.practice-no-results h2{font-family:Georgia,Times New Roman,serif;font-size:30px;font-weight:400;letter-spacing:-.04em}.practice-no-results p{margin-top:12px;color:var(--practice-muted);font-size:13px}.practice-no-results button{margin-top:20px;padding:0;border:0;background:transparent;color:#405a4d;font-size:11px;font-weight:700;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.project-featured{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);margin-top:30px;overflow:hidden;border:1px solid var(--practice-border);border-radius:14px;background:#fff}.project-featured-visual{display:grid;min-height:100%;place-items:center;padding:34px;background:#eef2ec}.project-featured-visual svg{width:100%;max-width:430px}.project-card-copy{padding:30px}.project-featured .project-card-copy{padding:38px}.project-card-copy>p{margin-top:12px;color:#53605a;font-size:13px;line-height:1.6}.project-card-copy dl{display:grid;gap:10px;margin-top:22px;padding-top:17px;border-top:1px solid var(--practice-border)}.project-card-copy dl>div{display:grid;grid-template-columns:84px minmax(0,1fr);gap:15px}.project-card-copy dt{color:var(--practice-muted);font-size:9px;letter-spacing:.06em;text-transform:uppercase}.project-card-copy dd{font-size:11px;line-height:1.45}.project-progress{display:grid;gap:9px;margin-top:22px}.project-progress>div:first-child{display:flex;justify-content:space-between;gap:20px;color:var(--practice-muted);font-size:9px}.project-progress-track{height:3px;overflow:hidden;background:#e3e8e2}.project-progress-track span{display:block;height:100%;background:#567062}.project-card-copy>.practice-action,.project-card-copy>.practice-fixture-action{margin-top:24px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.project-card{overflow:hidden;border:1px solid var(--practice-border);border-radius:13px;background:#fff}.project-card>svg{display:block;width:100%;border-bottom:1px solid var(--practice-border);color:#385247}.project-card .project-card-copy{min-height:390px;display:flex;flex-direction:column}.project-card .project-progress{margin-top:auto;padding-top:22px}@media (max-width:900px){.practice-hero{grid-template-columns:1fr;gap:36px}.practice-hero dl{width:max-content}.practice-controls{grid-template-columns:minmax(220px,1fr) 180px 145px}.project-controls{grid-template-columns:minmax(230px,1fr) repeat(3,minmax(130px,.4fr))}.problem-row{grid-template-columns:28px minmax(0,1fr) 116px}.problem-row>.practice-action,.problem-row>.practice-fixture-action{grid-column:2}.project-featured{grid-template-columns:1fr}.project-featured-visual{min-height:260px}}@media (max-width:680px){.practice-catalogue{width:calc(100% - 40px);padding:52px 0 80px}.practice-hero{padding-bottom:34px}.practice-hero h1{font-size:45px}.practice-hero dl{width:100%;grid-template-columns:repeat(3,1fr)}.practice-controls,.project-controls{grid-template-columns:1fr}.practice-segments{grid-column:auto}.problem-row{grid-template-columns:24px minmax(0,1fr);gap:13px;padding:24px 0}.problem-runtime{grid-column:2;grid-template-columns:1fr auto;align-self:auto;padding:12px 0 0;border-top:1px solid #e4e8e2;border-left:0}.problem-row>.practice-action,.problem-row>.practice-fixture-action{grid-column:2}.project-grid{grid-template-columns:1fr}.project-card-copy,.project-featured .project-card-copy{padding:24px}.project-featured-visual{min-height:210px;padding:20px}.project-card .project-card-copy{min-height:0}}