/* Site chrome shared by every page: header, About menu, footer, Ask pop-up. */
.site-top { position: sticky; top: 0; z-index: 1200; background: rgba(255,255,255,.97); backdrop-filter: blur(10px); border-bottom: 1px solid #E3E8E5; font-family: "Barlow", system-ui, sans-serif; color: #111827; }
.site-wrap { max-width: 1400px; margin: 0 auto; padding: 0 24px; }
.site-top .site-wrap { display: flex; align-items: center; justify-content: space-between; gap: 16px; height: 76px; }
.site-logo img { display: block; height: 34px; width: auto; }
.site-nav { display: flex; align-items: center; gap: 2px; }
.site-link { font: 700 1rem "Barlow", system-ui, sans-serif; color: #111827; background: none; border: 0; text-decoration: none; padding: 8px 12px; border-radius: 999px; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; }
.site-link:hover, .site-link[aria-current="page"], .site-link[aria-expanded="true"] { background: #E6FBF3; }
.site-cta { display: inline-flex; align-items: center; font: 800 1rem "Barlow", system-ui, sans-serif; border: 2px solid #111827; border-radius: 999px; padding: 9px 18px; background: #35D6A0; color: #111827; cursor: pointer; text-decoration: none; white-space: nowrap; margin-left: 8px; }
.site-more { position: relative; }
.site-drop { position: absolute; right: 0; top: calc(100% + 8px); min-width: 230px; background: #fff; border: 2px solid #111827; border-radius: 18px; padding: 8px; display: grid; box-shadow: 0 18px 40px -20px rgba(17,24,39,.5); }
.site-drop[hidden] { display: none; }
.site-drop a { text-decoration: none; color: #111827; font-weight: 700; padding: 10px 12px; border-radius: 12px; }
.site-drop a:hover, .site-drop a[aria-current="page"] { background: #E6FBF3; }
.site-menu-btn { display: none; font: 800 1rem "Barlow", system-ui, sans-serif; border: 2px solid #111827; border-radius: 999px; padding: 8px 12px; background: #fff; color: #111827; cursor: pointer; align-items: center; }
@media (max-width: 1280px) {
  .site-menu-btn { display: inline-flex; }
  .site-nav { display: none; position: absolute; left: 0; right: 0; top: 76px; background: #fff; border-bottom: 2px solid #111827; flex-direction: column; align-items: stretch; padding: 12px 16px 18px; gap: 4px; }
  .site-top.open .site-nav { display: flex; }
  .site-link { padding: 12px; font-size: 1.1rem; }
  .site-drop { position: static; border: 0; box-shadow: none; padding: 0 0 0 12px; }
  .site-cta { margin: 8px 0 0; justify-content: center; }
}
.site-foot { background: #0E1A28; color: #fff; padding: 0 0 44px; font-family: "Barlow", system-ui, sans-serif; }
.site-banner-wrap { position: relative; background: #0B111B; }
.site-banner-wrap::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 12%; background: linear-gradient(180deg, rgba(14,26,40,0), #0E1A28); pointer-events: none; }
.site-banner { display: block; width: 100%; height: auto; max-height: 340px; object-fit: cover; }
.site-foot > .site-wrap:first-child { padding-top: 44px; }
.site-foot-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 28px; }
.site-foot h3 { font-family: "Barlow Condensed", sans-serif; font-style: italic; font-weight: 900; font-size: 1.3rem; margin: 0 0 10px; color: #35D6A0; }
.site-foot ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; }
.site-foot ul a { color: #fff; text-decoration: none; opacity: .88; } .site-foot ul a:hover { opacity: 1; text-decoration: underline; }
.site-foot .indep { opacity: .82; max-width: 52ch; margin: 0 0 16px; }
.site-foot .site-cta { margin: 0; }
.site-foot .help b { color: #35D6A0; }
.site-foot .help { margin: 34px 0 0; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.18); opacity: .9; }
.site-foot .help a { color: #35D6A0; font-weight: 800; }
@media (max-width: 860px) { .site-foot-grid { grid-template-columns: 1fr 1fr; } }
.ask-dlg { max-width: min(560px, calc(100vw - 24px)); }
.ask-form { padding: 30px; display: grid; gap: 8px; position: relative; font-family: "Barlow", system-ui, sans-serif; }
.ask-form h2 { font-family: "Barlow Condensed", sans-serif; font-style: italic; font-weight: 900; font-size: 2.4rem; }
.ask-form > p { color: #374151; margin: 0 0 8px; }
.ask-form label { font-weight: 800; margin-top: 6px; }
.ask-form input, .ask-form textarea { font: inherit; border: 2px solid #E3E8E5; border-radius: 14px; padding: 12px; }
.ask-form input:focus, .ask-form textarea:focus { outline: none; border-color: #111827; }
.ask-form textarea { min-height: 110px; }
.ask-form .err { color: #B3261E; font-weight: 700; }
.ask-form .ok { font-weight: 800; color: #0B7A55; }

/* Josh: Title Case every header, every word. */
h1, h2, h3, h4, .site-foot h3 { text-transform: capitalize; }
.no-tc, .no-tc * { text-transform: none; }
.bx-t, .bx-camp h3, .bcard h3 { text-transform: capitalize; } .bx-t small { text-transform: none; }
.pdf-dlg { max-width: min(1100px, calc(100vw - 24px)); width: 100%; height: calc(100dvh - 40px); max-height: none; padding: 0; overflow: hidden; display: none; }
.pdf-dlg[open] { display: grid; grid-template-rows: auto 1fr; }
.pdf-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px 12px 20px; background: #111827; color: #fff; font-family: "Barlow", system-ui, sans-serif; }
.pdf-t { font-family: "Barlow Condensed", sans-serif; font-style: italic; font-weight: 900; font-size: 1.4rem; text-transform: capitalize; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pdf-acts { display: flex; gap: 8px; align-items: center; flex: none; }
.pdf-acts a { font-weight: 800; text-decoration: none; border-radius: 999px; padding: 8px 16px; border: 2px solid #35D6A0; color: #35D6A0; }
.pdf-acts .pdf-dl { background: #35D6A0; color: #111827; }
.pdf-x { flex: none; height: 38px; border-radius: 999px; border: 2px solid #fff; background: none; color: #fff; font: 800 1rem "Barlow", system-ui, sans-serif; padding: 0 16px; cursor: pointer; }
.pdf-pages { overflow: auto; background: #3F4652; padding: 16px; display: grid; justify-items: center; align-content: start; gap: 14px; }
.pdf-pages canvas { background: #fff; border-radius: 4px; max-width: 100%; height: auto; }
.pdf-load { color: #fff; font-weight: 700; padding: 40px 0; } .pdf-load a { color: #35D6A0; }
@media (max-width: 640px) { .pdf-acts .pdf-new { display: none; } }

/* Star ratings: filled to the rating in the YouthVoice jade, out of 5 */
.yv-stars { --on: #35D6A0; --off: #D5DBD8; display: inline-block; line-height: 1; font-size: 1.1rem; letter-spacing: 0; white-space: nowrap; background: linear-gradient(90deg, var(--on) calc(var(--v) / 5 * 100%), var(--off) 0); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }

/* Calmer CTAs: ink in the header, a soft wash in the footer. No neon. */
.site-top .site-cta { background: #111827; color: #fff; }
.site-foot .site-cta { background: #E6FBF3; color: #111827; border-color: #E6FBF3; }
