/* The platform story is progressively enhanced: readable cards without motion/JS. */
.practice-platform{position:relative;background:#f8fafb;border-block:1px solid var(--border-default);--pp-header:80px}
.practice-platform-stage{padding-block:56px 40px}
.pp-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:32px}
.pp-heading .eyebrow{margin-bottom:10px;color:#398260;font-size:.7rem}
.pp-heading h1{font-size:clamp(1.9rem,3vw,2.6rem);line-height:1.13;margin:0;letter-spacing:-.035em}
.pp-skip,.pp-footer>a{font-size:.8125rem;color:var(--hm-dark-blue-600);text-decoration:none;white-space:nowrap}
.pp-skip:hover,.pp-footer>a:hover{text-decoration:underline;text-underline-offset:5px}
.pp-skip span,.pp-footer>a span{display:inline-block;margin-left:12px}
.pp-canvas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;position:relative}
.pp-core{--pp-tint:#e3f4e9;--pp-color:#32815b;--pp-x:50%;--pp-y:14%}
.pp-paylink{--pp-tint:#f7edd7;--pp-color:#94681f;--pp-x:15.5%;--pp-y:27.5%}
.pp-carenav{--pp-tint:#e2ecf8;--pp-color:#315f91;--pp-x:84.5%;--pp-y:27.5%}
.pp-claimdrop{--pp-tint:#e9e7f0;--pp-color:#595375;--pp-x:84.5%;--pp-y:72.5%}
.pp-gfe{--pp-tint:#e6f3ef;--pp-color:#318571;--pp-x:50%;--pp-y:86%}
.pp-priority{--pp-tint:#f0e2ec;--pp-color:#8b4e75;--pp-x:15.5%;--pp-y:72.5%}
.practice-platform-card{padding:26px;background:var(--pp-tint);border:1px solid color-mix(in srgb,var(--pp-color) 20%,white);border-radius:12px;min-width:0}
.pp-card-heading{display:flex;align-items:center;gap:12px;position:relative}
.pp-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:9px;background:var(--pp-color);color:white;font:900 18px/1 'HM FA Solid'}
.pp-icon-store:before{content:'\f54e'}.pp-icon-card:before{content:'\f09d'}.pp-icon-route:before{content:'\f4d7'}.pp-icon-file:before{content:'\f571'}.pp-icon-document:before{content:'\f15c'}.pp-icon-access:before{content:'\f3ed'}
.practice-platform .pp-category{font-size:.625rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--pp-color);margin:0 0 5px;line-height:1.3}
.practice-platform-card h2{color:var(--hm-dark-blue-600);font-size:1.375rem;line-height:1.15;letter-spacing:-.025em;margin:0;text-wrap:initial}
.pp-number{margin-left:auto;align-self:flex-start;color:var(--pp-color);font:500 .6875rem/1.5 var(--font-mono)}
.practice-platform .pp-card-message{font-size:1.45rem;font-weight:500;line-height:1.25;letter-spacing:-.025em;color:var(--hm-dark-blue-600);margin:24px 0 20px}
.practice-platform-card ul{padding:0;margin:20px 0 0;list-style:none;display:grid;gap:9px}
.practice-platform-card li{display:flex;gap:10px;font-size:.875rem;line-height:1.45;color:#405368}
.practice-platform-card li:before{content:'\f00c';font:900 10px/1.9 'HM FA Solid';color:var(--pp-color);flex-shrink:0}
.pp-card-link{display:inline-flex;align-items:center;gap:16px;color:var(--pp-color);font-size:.8125rem;font-weight:500;margin-top:22px}
.pp-card-link:hover{text-decoration:underline;text-underline-offset:4px}
.pp-card-link .hm-icon{font-size:11px}
.pp-hub,.pp-connections,.pp-complete-anchor{display:none}
.pp-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:30px}
.pp-scroll-hint{display:none;margin:0;font-size:.8125rem}
.pp-skip{display:none}

/* Native scrolling drives discrete chapters; no wheel interception or timed autoplay. */
.practice-platform.is-scroll-story .practice-platform-stage{position:sticky;top:var(--pp-header);height:calc(100svh - var(--pp-header));min-height:0;padding-block:24px 20px;display:flex;flex-direction:column}
.practice-platform.is-scroll-story .pp-heading{flex:0 0 auto;margin-bottom:12px}
.practice-platform.is-scroll-story .pp-canvas{display:block;flex:1;min-height:0;width:100%;max-width:1200px;margin-inline:auto;isolation:isolate}
.practice-platform.is-scroll-story .pp-skip{display:block}
.practice-platform.is-scroll-story .practice-platform-card{position:absolute;z-index:2;left:50%;top:50%;width:460px;max-width:calc(100% - 16px);transform:translate(-50%,-43%) scale(.95);opacity:0;pointer-events:none;transition:left .75s cubic-bezier(.22,1,.36,1),top .75s cubic-bezier(.22,1,.36,1),width .75s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1),opacity .45s,padding .65s}
.practice-platform.is-scroll-story .practice-platform-card.is-active{opacity:1;transform:translate(-50%,-50%);pointer-events:auto;z-index:4;box-shadow:0 8px 22px -16px var(--pp-color);padding:32px}
.practice-platform.is-scroll-story .practice-platform-card.is-active h2{font-size:1.75rem}
.practice-platform.is-scroll-story .practice-platform-card.is-active .pp-card-message{font-size:1.875rem;max-width:380px}
.practice-platform.is-scroll-story .practice-platform-card.is-active li{font-size:.9375rem}
.practice-platform.is-scroll-story .practice-platform-card.is-placed{left:var(--pp-x);top:var(--pp-y);width:28%;padding:16px 18px;opacity:.35;transform:translate(-50%,-50%);z-index:1}
.practice-platform.is-scroll-story .practice-platform-card.is-placed .pp-icon{width:30px;height:30px;flex-basis:30px;font-size:14px;border-radius:7px}
.practice-platform.is-scroll-story .practice-platform-card.is-placed .pp-card-heading{gap:9px}
.practice-platform.is-scroll-story .practice-platform-card.is-placed h2{font-size:1.125rem}
.practice-platform.is-scroll-story .practice-platform-card.is-placed .pp-category{font-size:.55rem;letter-spacing:.06em;margin-bottom:4px}
.practice-platform.is-scroll-story .practice-platform-card.is-placed .pp-number{display:none}
.practice-platform.is-scroll-story .practice-platform-card.is-placed .pp-card-message{display:none}
.practice-platform.is-scroll-story .practice-platform-card.is-placed ul{margin-top:12px;gap:5px}
.practice-platform.is-scroll-story .practice-platform-card.is-placed li{font-size:.75rem;gap:7px;line-height:1.35}
.practice-platform.is-scroll-story .practice-platform-card.is-placed .pp-card-link{font-size:.6875rem;margin-top:12px;gap:10px}
.practice-platform.is-scroll-story .pp-hub{display:flex;position:absolute;z-index:1;left:50%;top:50%;width:160px;height:160px;transform:translate(-50%,-50%) scale(.8);border-radius:50%;background:var(--hm-dark-blue-600);align-items:center;justify-content:center;flex-direction:column;padding:20px;opacity:0;transition:opacity .5s,transform .8s cubic-bezier(.22,1,.36,1)}
.pp-hub span{font-size:1rem;line-height:1.35;font-weight:600;color:white;text-align:center;margin:0;max-width:100%}
.practice-platform.is-scroll-story .pp-connections{display:block;position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.pp-connections path{fill:none;stroke:var(--pp-color);stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;transition:stroke-dashoffset .85s ease .25s,opacity .3s}
.practice-platform.is-scroll-story.is-complete .practice-platform-card.is-placed{opacity:1;pointer-events:auto}
.practice-platform.is-scroll-story.is-complete .pp-hub{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:.2s}
.practice-platform.is-scroll-story.is-complete .pp-connections path{stroke-dashoffset:0;opacity:.65}
.practice-platform.is-scroll-story .pp-footer{flex:0 0 auto;padding-top:10px}
.practice-platform.is-scroll-story .pp-scroll-hint{display:flex;align-items:center;gap:14px}
.pp-current{color:var(--hm-dark-blue-600);font:500 .6875rem/1.5 var(--font-mono)}
.practice-platform.is-scroll-story .pp-complete-anchor{display:block;position:absolute;left:0;width:1px;height:1px;scroll-margin-top:var(--pp-header);pointer-events:none}
#practice-network{scroll-margin-top:90px}

@media(min-width:861px) and (max-height:800px){
 .practice-platform .pp-core{--pp-y:18%}.practice-platform .pp-gfe{--pp-y:82%}
 .practice-platform.is-scroll-story .pp-heading h1{font-size:2rem}
 .practice-platform.is-scroll-story .practice-platform-card.is-placed{padding:10px 14px}
 .practice-platform.is-scroll-story .practice-platform-card.is-placed h2{font-size:1.0625rem}
 .practice-platform.is-scroll-story .practice-platform-card.is-placed ul{margin-top:10px;gap:4px}
 .practice-platform.is-scroll-story .practice-platform-card.is-placed li{font-size:.71875rem}
 .practice-platform.is-scroll-story .practice-platform-card.is-placed .pp-card-link{margin-top:8px}
 .practice-platform.is-scroll-story .pp-canvas .pp-hub{width:112px;height:112px}
 .practice-platform .pp-hub span{font-size:.6875rem}
}
@media(max-width:1100px) and (min-width:861px){
 .practice-platform.is-scroll-story .practice-platform-card.is-placed{width:29%;padding:14px}
 .practice-platform.is-scroll-story .practice-platform-card.is-placed h2{font-size:1rem}
 .practice-platform.is-scroll-story .practice-platform-card.is-placed li{font-size:.7rem}
 .practice-platform.is-scroll-story .pp-hub{width:128px;height:128px}
 .pp-hub span{font-size:.8125rem}
}
@media(max-width:860px){
 .pp-canvas{grid-template-columns:repeat(2,minmax(0,1fr))}
 .practice-platform-stage{padding-block:40px}
 .pp-heading{display:block}
 .pp-heading h1{font-size:1.875rem}
 .practice-platform.is-scroll-story .practice-platform-stage{padding-block:20px 16px}
 .practice-platform.is-scroll-story .pp-heading{margin-bottom:8px}
 .practice-platform.is-scroll-story .pp-heading h1{font-size:clamp(1.4rem,4.6vw,1.9rem)}
 .practice-platform.is-scroll-story .pp-heading .eyebrow{font-size:.6rem;margin-bottom:8px}
 .practice-platform.is-scroll-story .pp-skip{font-size:.75rem;margin-top:10px}
 .practice-platform.is-scroll-story .practice-platform-card.is-active{width:460px;max-width:100%;padding:26px}
 .practice-platform.is-scroll-story .practice-platform-card.is-active h2{font-size:1.5rem}
 .practice-platform.is-scroll-story .practice-platform-card.is-active .pp-card-message{font-size:1.625rem;margin-top:20px}
 .practice-platform.is-scroll-story .practice-platform-card.is-placed{width:30%;padding:12px 6px;opacity:0;border-radius:9px}
 .practice-platform.is-scroll-story .practice-platform-card.is-placed .pp-card-heading{flex-direction:column;gap:8px;text-align:center}
 .practice-platform.is-scroll-story .practice-platform-card.is-placed h2{font-size:clamp(.68rem,2.4vw,.875rem);line-height:1.2}
 .practice-platform.is-scroll-story .practice-platform-card.is-placed .pp-category,.practice-platform.is-scroll-story .practice-platform-card.is-placed ul{display:none}
 .practice-platform.is-scroll-story .practice-platform-card.is-placed .pp-card-link{position:absolute;inset:0;margin:0;font-size:0;color:transparent;border-radius:9px}
 .practice-platform.is-scroll-story .practice-platform-card.is-placed .pp-card-link .hm-icon{display:none}
 .practice-platform.is-scroll-story .pp-hub{width:100px;height:100px;padding:10px}
 .pp-hub span{font-size:.6875rem}
 .pp-footer{align-items:flex-start;flex-direction:column;gap:8px}
 .pp-scroll-hint,.pp-footer>a{font-size:.6875rem}
}
@media(max-width:560px){
 .pp-canvas{grid-template-columns:1fr}
 .practice-platform-card{padding:24px}
 .practice-platform.is-scroll-story .practice-platform-card.is-active{padding:24px 20px}
 .practice-platform.is-scroll-story .practice-platform-card.is-active .pp-card-message{font-size:1.5rem}
 .practice-platform.is-scroll-story .practice-platform-card.is-active li{font-size:.8125rem}
 .practice-platform.is-scroll-story .practice-platform-card.is-active .pp-card-heading{gap:10px}
 .practice-platform.is-scroll-story .practice-platform-card.is-active h2{font-size:1.4rem}
 .practice-platform.is-scroll-story .pp-hub{width:86px;height:86px}
 .pp-hub span{font-size:.5625rem}
}
/* Short desktop windows retain the same scroll story. Spotlight cards keep all
   details; the final diagram uses compact product labels and links. */
@media(min-width:861px) and (max-height:719px){
 .practice-platform.is-scroll-story .practice-platform-stage{padding-block:14px 12px}
 .practice-platform.is-scroll-story .pp-heading{margin-bottom:8px}
 .practice-platform.is-scroll-story .pp-heading h1{font-size:1.5rem}
 .practice-platform.is-scroll-story .pp-heading h1 br{display:none}
 .practice-platform.is-scroll-story .pp-heading .eyebrow{font-size:.625rem;margin-bottom:7px}
 .practice-platform.is-scroll-story .practice-platform-card.is-active{width:480px;padding:22px 26px}
 .practice-platform.is-scroll-story .practice-platform-card.is-active h2{font-size:1.5rem}
 .practice-platform.is-scroll-story .practice-platform-card.is-active .pp-card-message{font-size:1.5rem;max-width:none;margin:15px 0 12px}
 .practice-platform.is-scroll-story .practice-platform-card.is-active ul{margin-top:12px;gap:6px}
 .practice-platform.is-scroll-story .practice-platform-card.is-active li{font-size:.8125rem}
 .practice-platform.is-scroll-story .practice-platform-card.is-active .pp-card-link{margin-top:15px}
 .practice-platform.is-scroll-story .practice-platform-card.is-placed{padding:13px 16px}
 .practice-platform.is-scroll-story .practice-platform-card.is-placed ul{display:none}
 .practice-platform.is-scroll-story .practice-platform-card.is-placed .pp-card-link{margin-top:10px}
 .practice-platform.is-scroll-story .pp-canvas .pp-hub{width:100px;height:100px;padding:14px}
 .practice-platform .pp-hub span{font-size:.65625rem}
 .practice-platform.is-scroll-story .pp-footer{padding-top:8px}
}
@media(min-width:861px) and (max-height:519px){
 .practice-platform.is-scroll-story .practice-platform-stage{padding-block:8px}
 .practice-platform.is-scroll-story .pp-heading h1{font-size:1.25rem}
 .practice-platform.is-scroll-story .pp-heading .eyebrow{display:none}
 .practice-platform.is-scroll-story .practice-platform-card.is-active{padding:16px 22px;width:510px}
 .practice-platform.is-scroll-story .practice-platform-card.is-active .pp-card-message{font-size:1.25rem;margin:10px 0}
 .practice-platform.is-scroll-story .practice-platform-card.is-active ul{margin-top:10px;gap:4px}
 .practice-platform.is-scroll-story .practice-platform-card.is-active .pp-card-link{margin-top:10px}
 .practice-platform.is-scroll-story .practice-platform-card.is-placed{padding:10px 12px}
 .practice-platform.is-scroll-story .practice-platform-card.is-placed .pp-category{display:none}
 .practice-platform.is-scroll-story .practice-platform-card.is-placed .pp-card-link{margin-top:6px}
 .practice-platform.is-scroll-story .pp-canvas .pp-hub{width:80px;height:80px;padding:8px}
 .practice-platform .pp-hub span{font-size:.5625rem}
}
@media(prefers-reduced-motion:reduce){.practice-platform *{transition:none!important;animation:none!important}}
