/* ONE SONG bridal page */
.ob-w-hero{background:linear-gradient(170deg,#f8dde2 0%,#fef0f0 40%,var(--os-cream) 85%);padding:124px 0 72px;text-align:center;position:relative;overflow:hidden;}
.ob-w-inner{max-width:920px;margin:0 auto;padding:0 24px;}
.ob-w-narrow{max-width:760px;margin:0 auto;padding:0 24px;}
.ob-w-kicker{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--os-rose);font-weight:700;margin:0 0 18px;}
.ob-w-h1{font-size:34px;font-weight:800;line-height:1.5;color:var(--os-charcoal);margin:0 0 18px;}
.ob-w-h1 em{font-style:normal;color:var(--os-rose);}
.ob-w-lead{font-size:16px;line-height:2;color:var(--os-text);max-width:660px;margin:0 auto;}
.ob-w-section{padding:72px 0;}
.ob-w-section--cream{background:var(--os-cream);}
.ob-w-section--pale{background:var(--os-pink-pale);}
.ob-w-head{text-align:center;margin:0 auto 44px;}
.ob-w-label{font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--os-rose);font-weight:700;margin:0 0 12px;}
.ob-w-h2{font-size:26px;font-weight:800;color:var(--os-charcoal);margin:0;line-height:1.5;}
.ob-w-h2--cta{margin-bottom:28px;}
.ob-w-sub{font-size:15px;line-height:1.9;color:var(--os-text);margin:14px auto 0;max-width:600px;}
.ob-w-grid2{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:860px;margin:0 auto;}
.ob-w-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:960px;margin:0 auto;}
.ob-w-card{background:#fff;border:1px solid rgba(212,114,143,.18);border-radius:18px;padding:30px 26px;box-shadow:0 8px 30px rgba(142,67,96,.06);}
.ob-w-card--center{text-align:center;}
.ob-w-card__tag{display:inline-block;font-size:11px;font-weight:700;color:#fff;background:var(--os-rose);border-radius:999px;padding:3px 12px;margin:0 0 14px;letter-spacing:.04em;}
.ob-w-card__t{font-size:18px;font-weight:700;color:var(--os-charcoal);margin:0 0 10px;}
.ob-w-card__p{font-size:14px;line-height:1.9;color:var(--os-text);margin:0;}
.ob-w-merit__ic{font-size:30px;line-height:1;margin:0 0 12px;}
.ob-w-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:980px;margin:0 auto;}
.ob-w-step{text-align:center;}
.ob-w-step__n{width:48px;height:48px;border-radius:50%;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--os-rose),var(--os-pink-dark));color:#fff;font-weight:700;font-size:17px;box-shadow:0 8px 20px rgba(142,67,96,.2);}
.ob-w-step__t{font-size:14px;font-weight:700;color:var(--os-charcoal);margin:0 0 6px;}
.ob-w-step__p{font-size:13px;line-height:1.8;color:var(--os-text);margin:0;}
.ob-w-price{max-width:640px;margin:0 auto;background:#fff;border:1px solid rgba(212,114,143,.2);border-radius:18px;padding:32px 30px;text-align:center;box-shadow:0 8px 30px rgba(142,67,96,.06);}
.ob-w-price__p{font-size:15px;line-height:2;color:var(--os-text);margin:0;}
.ob-w-price__p strong{color:var(--os-charcoal);}
.ob-w-cta{text-align:center;}
.ob-w-cta__btn{display:inline-flex;align-items:center;gap:10px;background:var(--os-rose);color:#fff;font-weight:700;font-size:16px;padding:17px 40px;border-radius:999px;box-shadow:0 10px 26px rgba(212,114,143,.3);transition:transform .2s,box-shadow .2s;}
.ob-w-cta__btn:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(212,114,143,.42);color:#fff;}
.ob-w-note{font-size:12.5px;color:var(--os-text);margin:16px 0 0;}
@media(max-width:760px){
  .ob-w-hero{padding:104px 0 56px;}
  .ob-w-h1{font-size:26px;}
  .ob-w-h1 br,.ob-w-lead br{display:none;}
  .ob-w-h2{font-size:22px;}
  .ob-w-grid2,.ob-w-grid3,.ob-w-steps{grid-template-columns:1fr;max-width:420px;}
}

/* Accessibility: stable touch targets and keyboard focus */
.ob-w-cta__btn {
  min-height: 44px;
  justify-content: center;
}

.ob-w-cta__btn:focus-visible {
  outline: 3px solid rgba(212, 114, 143, 0.85);
  outline-offset: 4px;
}

@media (prefers-reduced-motion: reduce) {
  #onesong-bridal *,
  #onesong-bridal *::before,
  #onesong-bridal *::after {
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    scroll-behavior:auto !important;
    transition-duration:.001ms !important;
  }
}
.ob-w-mid-consult{text-align:center;margin:24px 0 0}
.ob-w-mid-consult .ob-w-cta__btn{max-width:100%;text-align:center;justify-content:center}
