/* ONE SONG campaign page */
.oc{--nb:#1c3e7a;--n2:#254d8f;--gd:#c9a44e;--g2:#e8c97a;--cr:#eaf1ff;--tx:#162a52;--t2:#4a5568;}
.oc-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#142c58 0%,#1c3e7a 55%,#21336b 100%);color:#fff;padding:128px 0 80px;text-align:center;}
.oc-hero::after{content:'';position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,transparent,#c9a44e,#e8c97a,#c9a44e,transparent);}
.oc-inner{max-width:960px;margin:0 auto;padding:0 24px;}
.oc-narrow{max-width:780px;margin:0 auto;padding:0 24px;}
.oc-label{display:inline-block;background:var(--gd);color:#142c58;padding:6px 18px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-bottom:20px;}
.oc-hero__h1{font-size:36px;font-weight:900;line-height:1.45;margin:0 0 18px;}
.oc-hero__h1 em{font-style:normal;color:var(--g2);}
.oc-hero__lead{font-size:16px;line-height:2;color:rgba(255,255,255,.85);max-width:680px;margin:0 auto;}
.oc-section{padding:72px 0;}
.oc-section--cream{background:var(--cr);}
.oc-head{text-align:center;margin:0 auto 44px;}
.oc-head__label{font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--gd);font-weight:700;margin:0 0 12px;}
.oc-head__h2{font-size:27px;font-weight:800;color:var(--nb);margin:0;line-height:1.5;}
.oc-head__sub{font-size:15px;line-height:1.9;color:var(--t2);margin:14px auto 0;max-width:620px;}
.oc-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:920px;margin:0 auto;}
.oc-step{background:#fff;border:1px solid rgba(28,62,122,.12);border-radius:16px;padding:28px 24px;text-align:center;box-shadow:0 8px 28px rgba(28,62,122,.06);}
.oc-step__n{width:46px;height:46px;border-radius:50%;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;background:var(--nb);color:var(--g2);font-weight:800;font-size:17px;}
.oc-step__t{font-size:16px;font-weight:700;color:var(--nb);margin:0 0 8px;}
.oc-step__p{font-size:13.5px;line-height:1.85;color:var(--t2);margin:0;}
.oc-uses{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;max-width:780px;margin:0 auto;}
.oc-uses span{font-size:14px;font-weight:600;color:var(--nb);background:#fff;border:1px solid rgba(28,62,122,.15);border-radius:999px;padding:11px 20px;}
.oc-box{max-width:760px;margin:28px auto 0;background:#fff;border:1px solid rgba(28,62,122,.12);border-radius:16px;padding:26px 28px;box-shadow:0 8px 28px rgba(28,62,122,.06);}
.oc-box h4{font-size:13px;font-weight:700;color:var(--nb);margin:0 0 10px;letter-spacing:.06em;text-transform:uppercase;}
.oc-box p{font-size:14.5px;line-height:1.95;color:var(--t2);margin:0;}
.oc-box strong{color:var(--nb);}
.oc-cross{max-width:760px;margin:0 auto;background:linear-gradient(135deg,#142c58,#21336b);color:#fff;border-radius:18px;padding:32px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px;}
.oc-cross__t{font-size:17px;font-weight:700;margin:0 0 6px;}
.oc-cross__p{font-size:13.5px;color:rgba(255,255,255,.8);margin:0;}
.oc-cross__btn{flex-shrink:0;display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.12);border:1px solid rgba(232,201,122,.5);color:var(--g2);font-weight:700;font-size:14px;padding:12px 22px;border-radius:999px;}
.oc-btn-gold{display:inline-flex;align-items:center;gap:10px;background:var(--gd);color:#142c58;font-weight:900;font-size:16px;padding:17px 40px;border-radius:999px;box-shadow:0 10px 26px rgba(201,164,78,.3);transition:transform .2s,box-shadow .2s;}
.oc-btn-gold:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(201,164,78,.45);color:#142c58;}
.oc-cta{text-align:center;}
.oc-note{font-size:12.5px;color:var(--t2);margin:16px 0 0;}
.oc-box--flush{margin-top:0;}
.oc-head__h2--cta{margin-bottom:28px;}
@media(max-width:760px){
  .oc-hero{padding:104px 0 60px;}
  .oc-hero__h1{font-size:27px;}
  .oc-hero__h1 br,.oc-hero__lead br,.oc-head__sub br{display:none;}
  .oc-head__h2{font-size:22px;}
  .oc-steps{grid-template-columns:1fr;max-width:420px;}
  .oc-cross{flex-direction:column;text-align:center;}
}
.umj-pillars{background:var(--cr);padding:60px 0 28px;}
  .umj-pillars__head{text-align:center;margin:0 auto 30px;padding:0 20px;}
  .umj-pillars__label{font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:#c9a44e;font-weight:700;margin:0 0 10px;}
  .umj-pillars__h2{font-size:24px;font-weight:800;color:#1c3e7a;margin:0;}
  .umj-pillars__grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:880px;margin:0 auto;padding:0 20px;}
  .umj-pillars__card{background:#fff;border:1px solid rgba(28,62,122,.14);border-radius:18px;padding:30px 28px;box-shadow:0 8px 28px rgba(28,62,122,.06);}
  .umj-pillars__card--active{border:2px solid #c9a44e;box-shadow:0 10px 30px rgba(201,164,78,.18);}
  .umj-pillars__tag{display:inline-block;font-size:11px;font-weight:700;color:#142c58;background:#e8c97a;border-radius:999px;padding:3px 12px;margin:0 0 12px;}
  .umj-pillars__t{font-size:19px;font-weight:800;color:#1c3e7a;margin:0 0 8px;}
  .umj-pillars__p{font-size:14px;line-height:1.85;color:#4a5568;margin:0 0 16px;}
  .umj-pillars__link{font-size:14px;font-weight:700;color:#1c3e7a;}
  .umj-pillars__here{font-size:12px;font-weight:700;color:#c9a44e;}
  @media(max-width:640px){.umj-pillars__grid{grid-template-columns:1fr;}.umj-pillars__h2{font-size:20px;}}

/* Accessibility: stable touch targets and keyboard focus */
.oc-cross__btn,
.oc-btn-gold,
.umj-pillars__link {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.oc-cross__btn:focus-visible,
.oc-btn-gold:focus-visible,
.umj-pillars__link:focus-visible {
  outline: 3px solid rgba(201, 164, 78, 0.9);
  outline-offset: 4px;
}

@media (prefers-reduced-motion: reduce) {
  #onesong-campaign *,
  #onesong-campaign *::before,
  #onesong-campaign *::after {
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    scroll-behavior:auto !important;
    transition-duration:.001ms !important;
  }
}

