/* Symptoms overview pages (Back / Neck / Joint Pain), "Guided Overview" layout, 2026-10-15.
   Markup generated by _tools/symptoms/build.js. */
.usj-sym { font-family: var(--usj-sans); color: #2F2A28; line-height: 1.6; }
.usj-sym h1, .usj-sym h2, .usj-sym h3 { font-family: var(--usj-serif); font-weight: 500; color: var(--usj-taupe-d); margin: 0; line-height: 1.15; }
.usj-sym p { margin: 0; }
.usj-sym ul, .usj-sym ol { margin: 0; padding: 0; list-style: none; }
.usj-sym .usj-sym-wrap { max-width: 1160px; margin: 0 auto; padding: 0 24px; }
.usj-sym-eyebrow { display: block; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--usj-brown); font-weight: 600; margin-bottom: 10px; }
.usj-sym section { scroll-margin-top: 90px; }

.usj-sym-btns { display: flex; flex-wrap: wrap; gap: 10px; }
.usj-sym a.usj-sym-btn { display: inline-flex; align-items: center; gap: 8px; border-radius: 999px; padding: 13px 26px; font: 600 15px var(--usj-sans); text-decoration: none; }
.usj-sym a.usj-sym-btn-y { background: var(--usj-yellow); color: #2F2A28; }
.usj-sym a.usj-sym-btn-b { background: var(--usj-brown); color: #fff; }
.usj-sym a.usj-sym-btn-y:hover { background: #f5df1f; }
.usj-sym a.usj-sym-btn-b:hover { background: var(--usj-brown-d); }

/* hero */
.usj-sym-hero { background: var(--usj-cream); padding: 56px 0; }
.usj-sym-hero .usj-sym-wrap { display: grid; grid-template-columns: 1.05fr .95fr; gap: 48px; align-items: center; }
.usj-sym-hero h1 { font-size: 60px; margin-bottom: 14px; }
.usj-sym-hero p { font-size: 19px; color: #4f4845; margin-bottom: 26px; }
.usj-sym-hero-img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 30px; display: block; box-shadow: 0 20px 50px rgba(78, 70, 68, .18); }
.usj-sym-jump { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 26px; }
.usj-sym .usj-sym-jump a { background: #fff; border: 1px solid #e6dbcf; border-radius: 999px; padding: 7px 15px; font-size: 13px; font-weight: 600; color: var(--usj-taupe-d); text-decoration: none; }
.usj-sym .usj-sym-jump a:hover { border-color: var(--usj-brown); color: var(--usj-brown-d); }

/* types */
.usj-sym-types { padding: 70px 0 40px; }
.usj-sym-head { max-width: 760px; margin-bottom: 30px; }
.usj-sym-head h2 { font-size: 40px; margin-bottom: 12px; }
.usj-sym-head p { color: #4f4845; margin-bottom: 10px; }
.usj-sym-tiles { display: grid; grid-template-columns: repeat(var(--cols, 4), 1fr); gap: 16px; }
.usj-sym-tiles li { background: #fff; border: 1px solid #ece3d9; border-radius: 22px; padding: 24px; display: flex; flex-direction: column; gap: 14px; }
.usj-sym-tiles i { width: 46px; height: 46px; border-radius: 50%; background: var(--usj-sand); color: var(--usj-brown-d); display: grid; place-items: center; font-size: 18px; }
.usj-sym-tiles span { font: 500 20px/1.3 var(--usj-serif); color: var(--usj-taupe-d); }

/* causes */
.usj-sym-causes { padding: 50px 0; }
.usj-sym-causes h2, .usj-sym-treat h2 { font-size: 40px; margin-bottom: 26px; }
.usj-sym-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.usj-sym a.usj-sym-card { border-radius: 24px; overflow: hidden; background: #fff; box-shadow: 0 10px 30px rgba(78, 70, 68, .1); text-decoration: none; color: inherit; display: flex; flex-direction: column; transition: transform .2s, box-shadow .2s; }
.usj-sym a.usj-sym-card:hover { transform: translateY(-3px); box-shadow: 0 16px 38px rgba(78, 70, 68, .16); }
.usj-sym-card img { width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.usj-sym-card div { padding: 20px 22px 22px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.usj-sym-card h3 { font-size: 22px; }
.usj-sym-card p { font-size: 15px; color: #4f4845; flex: 1; }
.usj-sym-card span { font-size: 14px; font-weight: 600; color: var(--usj-brown-d); }

/* treatments */
.usj-sym-treat { background: var(--usj-taupe); border-radius: 34px; margin: 30px 24px 0; padding: 60px 0; }
.usj-sym .usj-sym-treat h2 { color: #fff; }
.usj-sym-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 16px; counter-reset: usjstep; }
.usj-sym-steps li { background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .18); border-radius: 20px; padding: 22px; font-size: 15px; line-height: 1.55; color: #fff; }
.usj-sym-steps li::before { counter-increment: usjstep; content: "0" counter(usjstep); display: block; font: 500 28px var(--usj-serif); color: var(--usj-yellow); margin-bottom: 10px; }

/* when to seek */
.usj-sym-seek { padding: 60px 0 80px; }
.usj-sym-seek-box { display: grid; grid-template-columns: 1fr auto; gap: 30px; align-items: center; background: var(--usj-cream); border-radius: 30px; padding: 40px 44px; }
.usj-sym-seek h2 { font-size: 34px; margin-bottom: 16px; }
.usj-sym-seek p { color: #4f4845; max-width: 760px; }
.usj-sym-seek ul { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 28px; }
.usj-sym-seek li { display: flex; gap: 10px; align-items: flex-start; }
.usj-sym-seek li i { color: var(--usj-brown); margin-top: 5px; }

@media (max-width: 1024px) {
  .usj-sym-tiles { grid-template-columns: repeat(3, 1fr); }
  .usj-sym-cards { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 767px) {
  .usj-sym-hero { padding: 36px 0 40px; }
  .usj-sym-hero .usj-sym-wrap { grid-template-columns: 1fr; gap: 28px; }
  .usj-sym-hero h1 { font-size: 42px; }
  .usj-sym-hero p { font-size: 17px; }
  .usj-sym-types { padding: 48px 0 24px; }
  .usj-sym-head h2, .usj-sym-causes h2, .usj-sym-treat h2 { font-size: 30px; }
  .usj-sym-tiles { grid-template-columns: 1fr 1fr; gap: 12px; }
  .usj-sym-tiles li { padding: 18px; }
  .usj-sym-tiles span { font-size: 17px; }
  .usj-sym-cards { grid-template-columns: 1fr; }
  .usj-sym-treat { margin: 20px 12px 0; padding: 40px 0; border-radius: 26px; }
  .usj-sym-steps { grid-template-columns: 1fr; }
  .usj-sym-seek { padding: 40px 0 60px; }
  .usj-sym-seek-box { grid-template-columns: 1fr; padding: 28px 24px; }
  .usj-sym-seek h2 { font-size: 28px; }
  .usj-sym-seek ul { grid-template-columns: 1fr; }
}

/* Hero restyle (2026-10-15, per Sally): dark taupe band with the photo fading in from the right,
   same as the homepage concept C / condition-page heroes. Markup unchanged (both builders). */
.usj-sym .usj-sym-hero { position: relative; overflow: hidden; background: var(--usj-taupe-d); color: #fff; padding: 0; }
.usj-sym .usj-sym-hero .usj-sym-wrap { display: block; }
.usj-sym .usj-sym-hero-text { position: relative; z-index: 1; max-width: 600px; padding: 92px 0 72px; }
.usj-sym .usj-sym-hero-img { position: absolute; right: 0; top: 0; width: 55%; height: 100%; aspect-ratio: auto; object-fit: cover;
  border-radius: 0; box-shadow: none; -webkit-mask-image: linear-gradient(90deg, transparent, #000 40%); mask-image: linear-gradient(90deg, transparent, #000 40%); }
.usj-sym .usj-sym-hero .usj-sym-eyebrow { color: #e8c99d; }
.usj-sym .usj-sym-hero h1 { color: #fff; font-size: 62px; }
.usj-sym .usj-sym-hero p { color: #fff; opacity: .92; }
.usj-sym .usj-sym-hero a.usj-sym-btn-b { background: transparent; border: 1.5px solid rgba(255, 255, 255, .7); color: #fff; }
.usj-sym .usj-sym-hero a.usj-sym-btn-b:hover { background: rgba(255, 255, 255, .1); border-color: #fff; }
.usj-sym .usj-sym-hero .usj-sym-jump { margin-top: 40px; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, .22); gap: 6px 22px; }
.usj-sym .usj-sym-hero .usj-sym-jump a { background: none; border: 0; border-radius: 0; padding: 0; font-size: 14px; font-weight: 500; color: #fff; opacity: .88; }
.usj-sym .usj-sym-hero .usj-sym-jump a:hover { opacity: 1; color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.usj-sym .usj-sym-hero .usj-sym-jump a::before { content: "\f107"; font: 900 11px "Font Awesome 6 Free", "Font Awesome 5 Free"; color: #e8c99d; margin-right: 7px; }
@media (max-width: 767px) {
  .usj-sym .usj-sym-hero-text { padding: 56px 0 44px; max-width: none; }
  .usj-sym .usj-sym-hero-img { width: 100%; opacity: .22; -webkit-mask-image: none; mask-image: none; }
  .usj-sym .usj-sym-hero h1 { font-size: 40px; }
}

/* Nerve / Muscle overview pages (_tools/overviews/build.js), 2026-10-15 */
.usj-ov .usj-sym-causes { padding-top: 72px; }
.usj-ov-cta { background: var(--usj-cream); padding: 64px 0; }
.usj-ov-cta .usj-sym-wrap { display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; }
.usj-sym .usj-ov-cta h2 { font-size: 36px; margin-bottom: 8px; }
.usj-ov-cta p { margin: 0; color: #5c5451; }
