/* Lyons Wealth — PR · Review cadence (pr_practice)
   Source: flexible_css.css (Our Process "In practice", .lwip). Loaded only on pages that use this layout.
   Every selector is scoped (.pro.pro-practice); nothing is global. Animated states only
   apply while html.pro-anim is set; without JS everything is shown. */

.pro.pro-practice { position:relative; overflow:hidden; background:linear-gradient(120deg,var(--navy) 0%,var(--navy2) 60%,var(--navy) 100%); }
.pro.pro-practice .pro-practice__glow { position:absolute; border-radius:50%; filter:blur(10px); pointer-events:none; }
.pro.pro-practice .pro-practice__glow--a { width:46vw; height:46vw; top:-14vw; left:-10vw; background:radial-gradient(circle,rgba(255,196,81,.16),transparent 65%); animation:proDrift 18s ease-in-out infinite; }
.pro.pro-practice .pro-practice__glow--b { width:40vw; height:40vw; bottom:-16vw; right:-8vw; background:radial-gradient(circle,rgba(255,196,81,.12),transparent 65%); animation:proDrift 22s ease-in-out infinite reverse; }
.pro.pro-practice .pro-practice__orbit { position:absolute; top:50%; left:50%; width:min(1100px,120vw); aspect-ratio:1; transform:translate(-50%,-50%); border-radius:50%; border:1px dashed rgba(255,196,81,.12); pointer-events:none; animation:proSpinC 90s linear infinite; }
.pro.pro-practice .pro-practice__inner { position:relative; z-index:2; max-width:1240px; margin:0 auto; padding:clamp(80px,11vh,130px) var(--pad); }
.pro.pro-practice .pro-practice__head { text-align:center; max-width:720px; margin:0 auto clamp(52px,7vh,76px); }
.pro.pro-practice .pro-practice__title { font-family:var(--serif); font-size:clamp(32px,4vw,52px); line-height:1.08; margin-top:16px; color:#fff; text-wrap:balance; }
.pro.pro-practice .pro-practice__title em { font-style:italic; color:var(--gold); }
.pro.pro-practice .pro-practice__lede { margin-top:20px; font-size:16px; line-height:1.75; font-weight:300; color:#D3DBE4; }

.pro.pro-practice .pro-practice__track { position:relative; }
.pro.pro-practice .pro-practice__line { position:absolute; top:27px; left:16.66%; right:16.66%; height:1px; background:rgba(255,196,81,.18); overflow:hidden; }
.pro.pro-practice .pro-practice__track--2 .pro-practice__line { left:25%; right:25%; }
.pro.pro-practice .pro-practice__track--4 .pro-practice__line { left:12.5%; right:12.5%; }
.pro.pro-practice .pro-practice__line::before { content:""; position:absolute; inset:0; background:var(--gold); transform-origin:left; transition:transform 1.6s var(--ease) .3s; }
.pro.pro-practice .pro-practice__line::after { content:""; position:absolute; top:-1px; left:-20%; width:20%; height:3px; background:linear-gradient(90deg,transparent,#fff,transparent); opacity:0; }
.pro.pro-practice .pro-practice__list { position:relative; list-style:none; display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.pro.pro-practice .pro-practice__track--1 .pro-practice__list { grid-template-columns:minmax(0,460px); justify-content:center; }
.pro.pro-practice .pro-practice__track--2 .pro-practice__list { grid-template-columns:repeat(2,1fr); }
.pro.pro-practice .pro-practice__track--4 .pro-practice__list { grid-template-columns:repeat(4,1fr); }
.pro.pro-practice .pro-practice__step { display:flex; flex-direction:column; align-items:center; text-align:center; }
.pro.pro-practice .pro-practice__node { position:relative; display:flex; align-items:center; justify-content:center; width:54px; height:54px; border-radius:50%; background:var(--gold); color:var(--navy); font-family:var(--serif); font-size:20px; font-weight:600; transition:transform .7s cubic-bezier(.3,1.5,.5,1); }
.pro.pro-practice .pro-practice__node::before, .pro.pro-practice .pro-practice__node::after { content:""; position:absolute; inset:0; border-radius:50%; border:1px solid var(--gold); opacity:0; }
.pro.pro-practice .pro-practice__card { margin-top:24px; padding:30px 26px; width:100%; border-radius:6px; border:1px solid rgba(183,194,206,.2); background:rgba(27,49,73,.55); backdrop-filter:blur(6px); transition:opacity .8s ease, transform .9s var(--ease), border-color .4s ease, background .4s ease; }
.pro.pro-practice .pro-practice__card:hover { border-color:rgba(255,196,81,.55); background:rgba(27,49,73,.85); transform:translateY(-6px); transition-delay:0s !important; }
.pro.pro-practice .pro-practice__card h3 { font-family:var(--serif); font-weight:500; font-size:24px; color:#fff; }
.pro.pro-practice .pro-practice__card p { margin-top:10px; font-size:14px; line-height:1.65; color:#C9D3DD; }
.pro.pro-practice .pro-practice__freq { display:block; margin-top:16px; font-size:10px; letter-spacing:.22em; text-transform:uppercase; font-weight:700; color:var(--gold); }
.pro.pro-practice .pro-practice__meter { display:flex; justify-content:center; gap:5px; margin-top:12px; }
.pro.pro-practice .pro-practice__meter span { width:16px; height:3px; border-radius:2px; background:rgba(255,196,81,.2); }
.pro.pro-practice .pro-practice__meter span.on { background:var(--gold); }

/* section-level reveal: the section itself does not fade, its parts do */
.pro-anim .pro.pro-practice[data-pro-anim] { opacity:1; transform:none; transition:none; }
.pro-anim .pro.pro-practice .pro-practice__head > * { opacity:0; transform:translateY(16px); transition:opacity .8s ease, transform .8s var(--ease); }
.pro-anim .pro.pro-practice.is-in .pro-practice__head > * { opacity:1; transform:none; }
.pro-anim .pro.pro-practice.is-in .pro-practice__head > *:nth-child(2) { transition-delay:.1s; }
.pro-anim .pro.pro-practice.is-in .pro-practice__head > *:nth-child(3) { transition-delay:.2s; }
.pro-anim .pro.pro-practice .pro-practice__line::before { transform:scaleX(0); }
.pro-anim .pro.pro-practice.is-in .pro-practice__line::before { transform:scaleX(1); }
.pro-anim .pro.pro-practice.is-in .pro-practice__line::after { opacity:.9; animation:proGlint 3.2s ease-in-out 2s infinite; }
.pro-anim .pro.pro-practice .pro-practice__node { transform:scale(0); }
.pro-anim .pro.pro-practice.is-in .pro-practice__node { transform:scale(1); }
.pro-anim .pro.pro-practice.is-in .pro-practice__node::before { animation:proRipple 3s ease-out infinite; }
.pro-anim .pro.pro-practice.is-in .pro-practice__node::after { animation:proRipple 3s ease-out 1.5s infinite; }
.pro-anim .pro.pro-practice .pro-practice__card { opacity:0; transform:translateY(30px); }
.pro-anim .pro.pro-practice.is-in .pro-practice__card { opacity:1; transform:none; }
.pro-anim .pro.pro-practice.is-in .pro-practice__card:hover { transform:translateY(-6px); }
.pro-anim .pro.pro-practice.is-in .pro-practice__meter span.on { animation:proPulseBar 2.4s ease-in-out infinite; }
.pro.pro-practice .pro-practice__step:nth-child(1) .pro-practice__node { transition-delay:.4s; }
.pro.pro-practice .pro-practice__step:nth-child(1) .pro-practice__card { transition-delay:.55s; }
.pro.pro-practice .pro-practice__step:nth-child(2) .pro-practice__node { transition-delay:.9s; }
.pro.pro-practice .pro-practice__step:nth-child(2) .pro-practice__card { transition-delay:1.05s; }
.pro.pro-practice .pro-practice__step:nth-child(3) .pro-practice__node { transition-delay:1.4s; }
.pro.pro-practice .pro-practice__step:nth-child(3) .pro-practice__card { transition-delay:1.55s; }
.pro.pro-practice .pro-practice__step:nth-child(n+4) .pro-practice__node { transition-delay:1.9s; }
.pro.pro-practice .pro-practice__step:nth-child(n+4) .pro-practice__card { transition-delay:2.05s; }

@keyframes proSpinC { to { transform:translate(-50%,-50%) rotate(360deg); } }
@keyframes proDrift { 0%,100% { transform:translate(0,0) scale(1); } 50% { transform:translate(4vw,3vw) scale(1.08); } }
@keyframes proRipple { 0% { transform:scale(1); opacity:.7; } 100% { transform:scale(2.1); opacity:0; } }
@keyframes proGlint { 0% { left:-20%; } 60%,100% { left:110%; } }
@keyframes proPulseBar { 0%,100% { opacity:1; } 50% { opacity:.45; } }

@media (max-width:900px) {
  .pro.pro-practice .pro-practice__list, .pro.pro-practice .pro-practice__track--2 .pro-practice__list, .pro.pro-practice .pro-practice__track--4 .pro-practice__list { grid-template-columns:1fr; gap:36px; max-width:460px; margin:0 auto; }
  .pro.pro-practice .pro-practice__line, .pro.pro-practice .pro-practice__track--2 .pro-practice__line, .pro.pro-practice .pro-practice__track--4 .pro-practice__line { top:27px; bottom:27px; left:50%; right:auto; width:1px; height:auto; }
  .pro.pro-practice .pro-practice__line::before { transform-origin:top; }
  .pro-anim .pro.pro-practice .pro-practice__line::before { transform:scaleY(0); }
  .pro-anim .pro.pro-practice.is-in .pro-practice__line::before { transform:scaleY(1); }
  .pro.pro-practice .pro-practice__line::after { display:none; }
  .pro.pro-practice .pro-practice__card { background:rgba(22,40,59,.92); }
}
@media (prefers-reduced-motion:reduce) {
  .pro.pro-practice .pro-practice__glow, .pro.pro-practice .pro-practice__orbit, .pro.pro-practice .pro-practice__node::before, .pro.pro-practice .pro-practice__node::after, .pro.pro-practice .pro-practice__line::after, .pro.pro-practice .pro-practice__meter span.on { animation:none !important; }
  .pro-anim .pro.pro-practice .pro-practice__head > *, .pro-anim .pro.pro-practice .pro-practice__node, .pro-anim .pro.pro-practice .pro-practice__card, .pro-anim .pro.pro-practice .pro-practice__line::before { opacity:1 !important; transform:none !important; }
}
