.hb-practice{display:grid;grid-template-columns:minmax(160px,34%) minmax(0,1fr);gap:24px clamp(20px,4vw,40px);margin:40px 0;padding:clamp(24px,4vw,40px);background:#FBEFEA;border:1px solid #F1DCD3;border-radius:32px;color:#1F2A44}
.hb-practice__visual{position:relative;align-self:start;aspect-ratio:1/1;border-radius:24px;background:#fff;overflow:hidden}
.hb-practice__visual svg{position:absolute;inset:0;width:100%;height:100%}
.hb-practice__visual .hb-beam{transform-box:view-box;transform-origin:130px 128px;animation:hbBeam 2.4s ease-out .4s 1 both}
.hb-practice__visual .hb-fl{animation:hbFl 4s ease-in-out .4s 1}
@keyframes hbBeam{0%{transform:rotate(-8deg)}55%{transform:rotate(3.5deg)}80%{transform:rotate(-1.2deg)}100%{transform:rotate(0)}}
@keyframes hbFl{50%{transform:translateY(-6px)}}
.hb-practice__content{display:flex;flex-direction:column;gap:14px;min-width:0}
.hb-practice .hb-practice__eyebrow{margin:0;font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#4A5672}
.hb-practice .hb-practice__title{margin:0;font-family:'Fira Sans',sans-serif;font-weight:700;font-size:clamp(26px,3.2vw,36px);line-height:1.12;color:#1F2A44;text-transform:none;letter-spacing:normal;text-wrap:balance}
.hb-practice__text{margin:4px 0 0;font-size:18px;line-height:1.65;color:#3E4A66;text-wrap:pretty}
.hb-practice__src{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;min-height:36px;max-width:100%;margin-top:4px;padding:6px 14px 6px 10px;border-radius:18px;background:#fff;color:#1F2A44;font-size:14px;line-height:1.4;font-weight:500;text-decoration:none;transition:background .2s}
.hb-practice__src > br{display:none}
.hb-practice__src svg{width:16px;height:16px;fill:none;stroke:#7A8CAD;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.hb-practice__src:hover{background:#FCE4DF;color:#1F2A44}
.hb-practice__ask{grid-column:1 / -1;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:18px 20px;padding:22px 24px;background:#fff;border-radius:24px}
.hb-practice__ask-tile{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:#E6EAF2}
.hb-practice__ask-tile svg{width:26px;height:26px;fill:none;stroke:#1F2A44;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hb-practice__ask-tile .hb-dot{fill:#f88e86;stroke:none}
.hb-practice__ask-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.hb-practice__ask-label{margin:0;font-size:14px;font-weight:700;color:#1F2A44}
.hb-practice__ask-q{margin:0;font-size:17px;line-height:1.55;font-style:italic;color:#3E4A66;text-wrap:pretty}
.hb-practice__cta{display:inline-flex;align-items:center;gap:8px;min-height:52px;padding:0 24px;border-radius:26px;background:#f88e86;color:#FFFFFF;font-size:16px;font-weight:700;text-decoration:none;white-space:normal;text-align:center;text-shadow:none}
.hb-practice__cta:hover{background:#f88e86;color:#FFFFFF}
.hb-practice a:focus-visible{outline:2px solid #1F2A44;outline-offset:3px;border-radius:12px}
@media (max-width:760px){
  .hb-practice{grid-template-columns:minmax(0,1fr);gap:20px;padding:24px 20px;border-radius:24px}
  .hb-practice__visual{width:96px;border-radius:20px}
  .hb-practice__ask{grid-template-columns:minmax(0,1fr);padding:20px}
  .hb-practice__ask-tile{display:none}
  .hb-practice__cta{justify-self:start;white-space:normal}
}
@media (prefers-reduced-motion:reduce){.hb-practice__visual .hb-beam,.hb-practice__visual .hb-fl{animation:none}.hb-practice__src{transition:none}}
.hb-practice .hb-practice__content p,.hb-practice .hb-practice__ask p{margin-bottom:0}
.hb-practice .hb-practice__src{color:#1F2A44!important;text-decoration:none}
.hb-practice .hb-practice__cta{color:#fff!important;text-decoration:none}
body.dark .hb-practice{background:#242838;border-color:#685153}
body.dark .hb-practice .hb-practice__eyebrow,body.dark .hb-practice .hb-practice__title,body.dark .hb-practice .hb-practice__text{color:#f8edef}
body.dark .hb-practice__ask{background:#161e2e}
body.dark .hb-practice .hb-practice__ask-label,body.dark .hb-practice .hb-practice__ask-q{color:#f8edef}
body.dark .hb-practice a:focus-visible{outline-color:#f88e86}
