:root {
  --bff-black: #000000;
  --bff-charcoal: #111111;
  --bff-orange: #f96a22;
  --bff-coral: #ff8649;
  --bff-silver: #d8d8d8;
  --bff-ash: #f2f2f2;
}
body, input, textarea, select { color: #2a2a2a; }
body { background: linear-gradient(180deg, #121212 0%, #1a1a1a 28%, #242424 100%); }
a { color: var(--bff-orange); }
a:hover { color: var(--bff-coral) !important; }
#header-wrapper { background-image: linear-gradient(rgba(0,0,0,.72), rgba(0,0,0,.54)), url('../../images/custom/pfunk.jpg'); background-size: cover; background-position: center; }
.homepage #header-wrapper { padding-bottom: 3.5em; }
#logo { color: #fff !important; letter-spacing: .08em; text-transform: uppercase; }
#nav > ul > li > a { color: rgba(255,255,255,.88) !important; }
#nav > ul > li.current_page_item > a,
#nav > ul > li:hover > a { background: var(--bff-orange); color: #fff !important; }
#banner { background: rgba(0,0,0,.56); border: 1px solid rgba(255,255,255,.08); box-shadow: 0 20px 50px rgba(0,0,0,.35); }
#banner h2, #banner p { color: #fff; }
.button, input[type="button"], input[type="submit"], input[type="reset"], button { background: var(--bff-orange); }
.button:hover, input[type="button"]:hover, input[type="submit"]:hover, input[type="reset"]:hover, button:hover { background: var(--bff-coral); }
.button.alt { background: #2b2b2b; color: var(--bff-silver) !important; }
.wrapper.style1 { background: #f7f7f7; }
.wrapper.style2 { background: linear-gradient(180deg, #1d1d1d 0%, #2c2c2c 100%); color: #f0f0f0; }
.wrapper.style2 h2, .wrapper.style2 h3, .wrapper.style2 p, .wrapper.style2 li, .wrapper.style2 strong, .wrapper.style2 label { color: #f5f5f5; }
.wrapper.style3 { background: #ececec; }
.box.feature1, .box.feature2, .box.article-list, .box.spotlight, .box.sidebar-box, .content-box {
  border-top: 6px solid var(--bff-orange);
  box-shadow: 0 15px 35px rgba(0,0,0,.08);
}
.major h2, .major p, .first.major h2, .first.major p { color: inherit; }
.kicker { text-transform: uppercase; letter-spacing: .18em; font-size: .85rem; color: var(--bff-orange); font-weight: 700; }
.hero-image, .feature-image, .gallery-card img, .founder-pair img, .media-poster, .youtube-embed iframe, .video-shell video { border-radius: .35em; }
.hero-image { width: 100%; display: block; box-shadow: 0 18px 40px rgba(0,0,0,.18); }
.image.featured img, .image.left img { object-fit: cover; }
.stat-grid, .gallery-grid, .three-up { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.two-up { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
.gallery-card, .video-shell, .note-card, .quote-card { background: #fff; border-radius: .45em; padding: 1rem; box-shadow: 0 10px 24px rgba(0,0,0,.08); }
.founder-pair { display: grid; grid-template-columns: 1.1fr 1.4fr; gap: 2rem; align-items: center; }
.founder-pair.reverse { grid-template-columns: 1.4fr 1.1fr; }
.founder-pair img { width: 100%; display: block; }
.list-clean { margin: 1rem 0 0; padding-left: 1.2rem; }
.list-clean li { margin: .45rem 0; }
.yt-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
.youtube-embed { position: relative; width: 100%; padding-top: 56.25%; overflow: hidden; border-radius: .45em; }
.youtube-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video-shell video { width: 100%; background: #000; }
.video-status { margin: .8rem 0; font-size: .95rem; color: #666; }
.contact-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 2rem; }
.contact-form .field-half { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.contact-form .actions { margin-top: 1rem; display: flex; flex-wrap: wrap; gap: .75rem; }
.notice { margin-top: 1rem; padding: .85rem 1rem; background: #fff7f1; border-left: 4px solid var(--bff-orange); display: none; }
.notice.show { display: block; }
.footer-note { color: #888; font-size: .95rem; }
#footer-wrapper { background: #111; }
#footer-wrapper, #footer-wrapper h2, #footer-wrapper h3, #footer-wrapper p, #footer-wrapper a, #footer-wrapper li { color: #f0f0f0; }
#copyright { color: #9d9d9d; }
.accent-box { background: linear-gradient(135deg, rgba(249,106,34,.14), rgba(255,134,73,.10)); border-left: 5px solid var(--bff-orange); padding: 1.25rem; border-radius: .4em; }
@media screen and (max-width: 980px) {
  .stat-grid, .gallery-grid, .three-up, .two-up, .yt-grid, .contact-grid, .founder-pair, .founder-pair.reverse { grid-template-columns: 1fr; }
}
