/* Lyons Wealth — PR · shared base (tokens, type, reveal)
   Source: flexible_css.css (Our Process design). Loaded only on pages that use a "PR ·" layout.
   Every selector is scoped (.pro); nothing is global. Hidden "reveal" states only apply
   while html.pro-anim is set (added by base.js), so content stays visible without JS. */

.pro { --navy:#16283B; --navy2:#1B3149; --cream:#F5F3EC; --paper:#FBF8F0; --gold:#FFC451; --gold2:#FFD26B; --golddeep:#C99A2E; --goldink:#8A7328; --body:#566575; --mist:#D3DBE4; --ease:cubic-bezier(.5,0,.2,1); --serif:Montserrat, sans-serif; --sans:Montserrat, sans-serif; --pad:clamp(20px,4vw,56px); font-family:var(--sans); color:var(--navy); -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
:where(.pro, .pro *) { box-sizing:border-box; margin:0; padding:0; }
:where(.pro) a { color:var(--navy); text-decoration:none; transition:color .3s ease; }
:where(.pro) a:hover { color:#D9A93B; }
.pro a:focus-visible { outline:2px solid var(--gold); outline-offset:3px; }
.pro ::selection { background:var(--gold); color:var(--navy); }
:where(.pro) img { display:block; max-width:100%; height:auto; }

.pro .pro-section { max-width:1240px; margin:0 auto; padding:clamp(72px,10vh,120px) var(--pad); }
.pro .pro-head { text-align:center; max-width:680px; margin:0 auto clamp(48px,7vh,76px); }
.pro .pro-eyebrow { font-size:12px; letter-spacing:.3em; text-transform:uppercase; color:var(--golddeep); font-weight:700; }
.pro .pro-eyebrow--light { color:var(--gold); }
.pro .pro-h2 { font-family:var(--serif); font-weight:700; font-size:clamp(32px,4vw,52px); line-height:1.08; margin-top:14px; color:var(--navy); text-wrap:balance; }
.pro .pro-h2 em { font-style:italic; color:var(--golddeep); }
.pro .pro-lede { margin-top:18px; font-size:16px; line-height:1.72; color:var(--body); }

/* generic reveal */
.pro-anim .pro [data-pro-anim] { opacity:0; transform:translateY(22px); transition:opacity .9s ease, transform 1s var(--ease); }
.pro-anim .pro [data-pro-anim].is-in { opacity:1; transform:none; }

@media (prefers-reduced-motion:reduce) {
  .pro *, .pro *::before, .pro *::after { transition:none !important; animation:none !important; }
  .pro-anim .pro [data-pro-anim] { opacity:1 !important; transform:none !important; }
}
section.wmo.cta.wmo-cta { background: #f5f3ec; }