/* Lyons Wealth — WM · shared base (tokens, type, buttons, wrap, reveal animation)
   Source: flexible_css.css (reference design). Loaded only on pages that use this layout.
   Every selector is scoped to this section's root class; nothing is global. */

.wmo { font-family:var(--sans); color:var(--navy); background:var(--cream); -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; --navy:#16283B; --navy2:#1B3149; --navy3:#0F1E2E; --cream:#F5F3EC; --paper:#FBF8F0; --gold:#FFC451; --gold2:#FFD26B; --golddeep:#C99A2E; --goldink:#8A7328; --body:#566575; --bodyd:#3E4E5E; --mist:#D3DBE4; --ease:cubic-bezier(.5,0,.2,1); --serif:Montserrat, sans-serif; --sans:Montserrat, sans-serif; --pad:clamp(20px,4vw,56px); }
:where(.wmo, .wmo *) { box-sizing:border-box; margin:0; padding:0; }
:where(.wmo) a { color:var(--navy); text-decoration:none; transition:color .3s ease; }
:where(.wmo) a:hover { color:#D9A93B; }
:where(.wmo) a:focus-visible, :where(.wmo) button:focus-visible { outline:2px solid var(--gold); outline-offset:3px; }
.wmo ::selection { background:var(--gold); color:var(--navy); }
:where(.wmo) img { display:block; max-width:100%; }
.wmo .eyebrow { display:inline-flex; align-items:center; gap:14px; font-size:12px; letter-spacing:.3em; text-transform:uppercase; font-weight:700; color:var(--golddeep); }
.wmo .eyebrow--rule::before { content:""; width:30px; height:1px; background:currentColor; }
.wmo .eyebrow--light { color:var(--gold); }
.wmo .h2 { font-family:var(--serif); font-weight:700; font-size:clamp(30px,3.6vw,42px); line-height:1.07; color:var(--navy); text-wrap:balance; }
.wmo .h2 em { font-style:italic; color:var(--golddeep); }
.wmo .h2--light { color:#fff; }
.wmo .h2--light em { color:var(--gold); }
.wmo .lede { font-size: clamp(16px, 1.3vw, 18px);line-height: 1.7;font-weight: 300;color:#566575 }
.wmo .lede--light { color:var(--mist); font-weight:300; }
.wmo .wrap { max-width:1240px; margin:0 auto; padding-left:var(--pad); padding-right:var(--pad); }
.wmo.section { padding-top:clamp(80px,11vh,130px); padding-bottom:clamp(80px,11vh,130px); }
.wmo .head { max-width:720px; margin:0 auto clamp(48px,7vh,80px); text-align:center; display:flex; flex-direction:column; align-items:center; gap:16px; }
.wmo .btn { display:inline-flex; align-items:center; gap:12px; padding:17px 34px; border-radius:2px; font-weight:700; font-size:13.5px; letter-spacing:.06em; text-transform:uppercase; transition:transform .4s var(--ease), box-shadow .4s ease, background .3s ease, color .3s ease, border-color .3s ease; }
.wmo .btn--gold { background:var(--gold); color:var(--navy); }
.wmo .btn--gold:hover { color:var(--navy); background:var(--gold2); transform:translateY(-2px); box-shadow:0 16px 38px -12px rgba(255,196,81,.65); }
.wmo .btn--ghost-light { border:1px solid rgba(255,255,255,.5); color:#fff; }
.wmo .btn--ghost-light:hover { color:var(--gold); border-color:var(--gold); background:rgba(255,255,255,.06); }
.wmo .btn--ghost { border:1px solid var(--navy); color:var(--navy); }
.wmo .btn--ghost:hover { background:var(--navy); color:#fff; }
.wmo .wmo-img > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
@media (prefers-reduced-motion:reduce) {
  :where(.wmo, .wmo *), .wmo *::before, .wmo *::after { transition:none !important; animation:none !important; }
}
.wmo .wmo-img { position:relative; display:block; overflow:hidden; width:100%; border-radius:6px; overflow:hidden; background:#E6E2D6; box-shadow:0 34px 70px -40px rgba(22,40,59,.45); }
.wmo .wmo-img--45 { aspect-ratio:4/5; }
.wmo .wmo-img--54 { aspect-ratio:5/4; }
.wmo-anim .wmo [data-wmo-reveal] { opacity:0; transform:translateY(24px); transition:opacity .85s ease, transform .95s cubic-bezier(.5,0,.2,1); }
.wmo-anim .wmo [data-wmo-reveal].is-in { opacity:1; transform:none; }
.wmo-anim .wmo [data-wmo-reveal="left"] { transform:translateX(-32px); }
.wmo-anim .wmo [data-wmo-reveal="right"] { transform:translateX(32px); }
.wmo-anim .wmo [data-wmo-reveal="left"].is-in, .wmo-anim .wmo [data-wmo-reveal="right"].is-in { transform:none; }
.wmo .wmo-d1 { transition-delay:.1s !important; }
.wmo .wmo-d2 { transition-delay:.2s !important; }
.wmo .wmo-d3 { transition-delay:.3s !important; }
.wmo .wmo-d4 { transition-delay:.4s !important; }
.wmo .wmo-d5 { transition-delay:.5s !important; }
.wmo .wmo-d6 { transition-delay:.6s !important; }
.wmo-anim .wmo [data-wmo-reveal="mask"] { opacity:1; transform:none; clip-path:inset(0 100% 0 0); transition:clip-path 1.2s cubic-bezier(.6,0,.2,1); }
.wmo-anim .wmo [data-wmo-reveal="mask"].is-in { clip-path:inset(0 0 0 0); }
.wmo-anim .wmo [data-wmo-reveal="mask"] .wmo-img { transform:scale(1.08); transition:transform 1.6s cubic-bezier(.5,0,.2,1); }
.wmo-anim .wmo [data-wmo-reveal="mask"].is-in .wmo-img { transform:none; }
@keyframes wmoRise { from{ opacity:0; transform:translateY(22px); } to{ opacity:1; transform:none; } }
@keyframes wmoMask { from{ clip-path:inset(0 0 100% 0); } to{ clip-path:inset(0 0 0 0); } }
@keyframes wmoOrbit { to{ transform:rotate(360deg); } }
@keyframes wmoDrift { from{ transform:translate3d(-2%,0,0) scale(1.04); } to{ transform:translate3d(2%,-2%,0) scale(1.08); } }
@keyframes wmoOpen { from{ opacity:0; transform:translateY(-6px); } to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce) {
  .wmo-anim .wmo [data-wmo-reveal], .wmo-anim .wmo [data-wmo-reveal="mask"] { opacity:1 !important; transform:none !important; clip-path:none !important; animation:none !important; transition:none !important; }
}

/* Theme additions: rich-text (WYSIWYG) fields keep paragraph spacing */
.wmo .wmo-rich > * + * { margin-top:1em; }
.wmo .wmo-rich a { text-decoration:underline; text-underline-offset:3px; }
.wmo.wmo-cta .wmo-cta__contact{margin-top:20px !important;}
