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

.pho { --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); font-family:var(--sans); color:var(--navy); -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
:where(.pho, .pho *) { box-sizing:border-box; margin:0; padding:0; }
:where(.pho) a { color:var(--navy); text-decoration:none; transition:color .3s ease; }
:where(.pho) a:hover { color:#D9A93B; }
.pho a:focus-visible, .pho button:focus-visible { outline:2px solid var(--gold); outline-offset:3px; }
.pho ::selection { background:var(--gold); color:var(--navy); }
:where(.pho) img { display:block; max-width:100%; height:auto; }

/* shared type */
.pho .eyebrow { display:inline-flex; align-items:center; gap:14px; font-size:12px; letter-spacing:.3em; text-transform:uppercase; font-weight:700; color:var(--golddeep); }
.pho .eyebrow--rule::before { content:""; width:30px; height:1px; background:currentColor; }
.pho .eyebrow--light { color:var(--gold); }
.pho .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; }
.pho .h2 em { font-style:italic; color:var(--golddeep); }
.pho .h2--light { color:#fff; }
.pho .h2--light em { color:var(--gold); }
.pho .lede { font-size:16.5px; line-height:1.75; color:var(--body); text-wrap:pretty; }
.pho .lede--light { color:var(--mist); font-weight:300; }
.pho .wrap { max-width:1240px; margin:0 auto; padding-left:var(--pad); padding-right:var(--pad); }
.pho.section, .pho .section { padding-top:clamp(80px,11vh,130px); padding-bottom:clamp(80px,11vh,130px); }
.pho .head { max-width:720px; margin:0 auto clamp(48px,7vh,80px); text-align:center; display:flex; flex-direction:column; align-items:center; gap:16px; }

/* buttons */
.pho .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; }
.pho .btn--gold { background:var(--gold); color:var(--navy); }
.pho .btn--gold:hover { color:var(--navy); background:var(--gold2); transform:translateY(-2px); box-shadow:0 16px 38px -12px rgba(255,196,81,.65); }
.pho .btn--ghost { border:1px solid var(--navy); color:var(--navy); }
.pho .btn--ghost:hover { background:var(--navy); color:#fff; }

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

@media (prefers-reduced-motion:reduce) {
  .pho *, .pho *::before, .pho *::after { transition:none !important; animation:none !important; }
}
.wmo.wmo-cta { background: #f5f3ec; }