.practice-directory{--practice-brand:#0088cc;--practice-accent:#00afd7;max-width:1160px;margin:0 auto;padding:26px 24px 64px;color:#536b79;line-height:1.8}
.practice-hero{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);gap:26px;margin:26px 0 30px;align-items:stretch}
.practice-intro{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(135deg,#f3fafd,#e4f5fc);border:1px solid #d5eaf3;border-top:4px solid var(--practice-accent)}
.practice-intro::before{content:"";position:absolute;z-index:-1;top:16px;right:18px;width:100px;height:88px;background:radial-gradient(circle,#fff 2px,transparent 2.5px) 0 0/12px 12px;pointer-events:none}
.practice-intro::after{content:"";position:absolute;z-index:-1;right:-48px;bottom:-75px;width:210px;height:210px;border-radius:50%;background:#bce8f6;pointer-events:none}
.practice-intro{padding:30px 34px;border-radius:18px}.practice-intro h1{display:table;font-size:38px;line-height:1.45;margin:20px 0;padding:8px 20px;border-radius:12px;background:var(--practice-brand);color:#fff}.practice-intro p{margin:0}.practice-eyebrow{color:#007fae;font-weight:600;font-size:16px;letter-spacing:.04em}.practice-lead{max-width:420px;font-size:17px;color:#345c70}
.practice-stats{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:24px;font-size:14px;color:#416a7f}.practice-stats strong{font-size:25px;font-weight:650;color:#007fae;margin-right:5px}
.practice-app-note{align-self:center;padding:16px 10px 16px 16px}.practice-app-note strong{display:block;border-left:4px solid var(--practice-accent);padding-left:12px;color:#163e52;font-size:20px;line-height:1.5}.practice-app-note p{margin:14px 0 18px;font-size:15px}.practice-app-note ol{list-style:none;counter-reset:step;margin:0;padding:0;display:grid;gap:10px;font-size:15px}.practice-app-note li{counter-increment:step;display:flex;align-items:center;gap:12px}.practice-app-note li::before{content:counter(step);display:inline-grid;place-items:center;width:26px;height:26px;flex-shrink:0;background:#edf7fb;border:1px solid #d5eaf3;border-radius:50%;color:#007fae;font-size:13px;font-weight:600}
.practice-jumps{display:flex;flex-wrap:wrap;gap:10px;padding:0 0 24px;margin:0 0 34px;border-bottom:1px solid #e2edf1}.practice-jumps a{display:flex;gap:12px;align-items:center;padding:9px 16px;border:1px solid #d5eaf3;border-radius:8px;text-decoration:none;color:#285a78;background:#f5fafc}.practice-jumps a:hover{background:#e4f5fc;border-color:#8bcfe9}.practice-jumps span{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:50%;background:#fff;font-size:12px;color:#007fae}
.practice-group{margin:0 0 42px}.practice-group h2{display:flex;align-items:baseline;gap:15px;padding-left:15px;border-left:4px solid var(--practice-accent);font-size:25px;color:#163e52;margin:0 0 20px;scroll-margin-top:24px;line-height:1.4}.practice-group h2 span{font-size:14px;font-weight:400;color:#718894}
.practice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.practice-card{display:flex;flex-direction:column;background:#fff;border:1px solid #d5eaf3;border-radius:16px;overflow:hidden;min-width:0;box-shadow:0 4px 14px #163e5206;transition:box-shadow .15s,border-color .15s}.practice-card:hover{border-color:#8bcfe9;box-shadow:0 6px 20px #163e5210}.practice-cover{padding:22px 22px 0;background:#fff}.practice-cover-label{display:table;font-size:12px;color:#39728d;margin:0 0 12px;padding:3px 10px;background:#edf6fa;border-radius:5px}.practice-card h3{font-size:24px;line-height:1.5;margin:0;padding:0;color:#163e52;overflow-wrap:anywhere}.practice-card-body{display:flex;flex-direction:column;flex:1;padding:12px 22px 18px}.practice-card p{margin:0 0 18px;font-size:15px;flex:1}.practice-card a{align-self:flex-start;display:inline-flex;gap:20px;align-items:center;min-height:40px;color:#007fae;font-weight:600;text-decoration:none;font-size:15px}.practice-card a:hover{text-decoration:underline}.practice-directory a:focus-visible{outline:3px solid #00afd7;outline-offset:4px}
@media(max-width:850px){.practice-hero{grid-template-columns:1fr;gap:16px}.practice-app-note{padding:18px 22px;background:#f7fafb;border:1px solid #e2edf1;border-radius:12px}.practice-app-note ol{grid-template-columns:repeat(3,1fr);gap:12px}.practice-app-note li{align-items:flex-start}.practice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.practice-directory{padding:20px 18px 40px}.practice-hero{margin-top:22px}.practice-intro{padding:22px 24px}.practice-intro h1{font-size:32px;margin:16px 0}.practice-eyebrow{font-size:14px}.practice-lead{font-size:16px}.practice-stats{gap:18px;margin-top:18px;font-size:13px}.practice-stats strong{font-size:23px}.practice-app-note{padding:18px}.practice-app-note strong{font-size:18px}.practice-app-note ol{grid-template-columns:1fr;gap:8px}.practice-grid{grid-template-columns:1fr;gap:18px}.practice-jumps{gap:8px}.practice-jumps a{padding:8px 12px;font-size:14px}.practice-group h2{font-size:23px}.practice-card h3{font-size:23px}}
@media(prefers-reduced-motion:reduce){.practice-card{transition:none}}

.practice-store-badges{display:flex;gap:12px;align-items:center;margin-top:22px}.practice-store-badges a{display:block;flex:1;max-width:160px;min-width:0;line-height:0}.practice-store-badges img{display:block;width:100%;height:auto}
/* Worksheet details remain quieter than the large illustrated series cover. */
.practice-card{border-top:3px solid #b9deed;box-shadow:0 3px 12px #163e5208}
.practice-cover{position:relative;padding-right:74px;background:linear-gradient(180deg,#f8fcfe 0%,#fff 100%)}
.practice-cover::before{content:"";position:absolute;right:23px;top:23px;width:28px;height:35px;border:1.5px solid #b3d5e4;border-radius:4px;background:linear-gradient(#c5dfeb,#c5dfeb) 6px 10px/14px 2px no-repeat,linear-gradient(#c5dfeb,#c5dfeb) 6px 17px/14px 2px no-repeat,linear-gradient(#c5dfeb,#c5dfeb) 6px 24px/9px 2px no-repeat,#f0f8fc;transform:rotate(6deg);pointer-events:none}
.practice-card-body p{min-height:3.6em}
.practice-card-body a{align-self:stretch;justify-content:space-between;border-top:1px solid #edf3f6;padding-top:14px;margin-top:2px}
.practice-card-body a span{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#edf7fb;color:#007fae}
.practice-card:hover .practice-card-body a span{background:#dceff7}

.practice-ad-preview{margin:0 0 42px;padding:24px 0 30px;border-top:1px solid #e2edf1;border-bottom:1px solid #e2edf1;text-align:center}.practice-ad-label{display:block;font-size:12px;letter-spacing:.12em;color:#718894;margin-bottom:12px}.practice-ad-surface{box-sizing:border-box;width:728px;max-width:100%;height:90px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;margin:0 auto;border:1px dashed #bdccd5;background:#f4f7f9;color:#718894}.practice-ad-surface strong{font-weight:500;font-size:16px}.practice-ad-surface span{font-size:12px}@media(max-width:760px){.practice-ad-surface{width:300px;height:250px}.practice-ad-preview{padding:22px 0 26px;margin-bottom:34px}}

.practice-ad-preview[hidden],.practice-ad-preview [hidden]{display:none!important}

.practice-guide{padding:22px 26px;margin:0 0 36px;background:#f7fafc;border:1px solid #dfebf1;border-radius:12px}.practice-guide h2{font-size:23px;margin:0 0 10px;color:#163e52}.practice-guide p{margin:0 0 12px}.practice-guide ul{padding-left:1.3em;margin:0}.practice-guide li{margin:10px 0}.practice-guide a{color:#007fae;text-decoration:underline;text-underline-offset:3px}.practice-guide .practice-guide-note{font-size:14px;margin:16px 0 0;color:#718894}@media(max-width:540px){.practice-guide{padding:18px}.practice-guide h2{font-size:21px}}
