/* Native controls and responsive corrections; retains the existing visual theme. */
[hidden] { display: none !important; }
.skip-link { position: fixed; top: -100px; left: 12px; z-index: 1000001; padding: 12px 20px; color: #111; background: #fcc005; }
.skip-link:focus { top: 12px; }
a:focus-visible, button:focus-visible, [tabindex]:focus-visible { outline: 3px solid #bb8500; outline-offset: 4px; }
html:not(.site-ready) .main-menu .navbar-collapse.collapse { display: block; }
html:not(.site-ready) .navbar-toggle { display: none; }
.site-slider { background: #192229; touch-action: pan-y; }
.site-slide { position: relative; min-height: 520px; height: min(76vw, 900px); display: grid; place-items: center; overflow: hidden; }
.site-slide-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.site-slide::after { position: absolute; inset: 0; content: ''; background: rgba(0, 0, 0, .44); pointer-events: none; }
.site-slide-content { position: relative; z-index: 1; width: min(100%, 1160px); padding: 70px 34px 110px; text-align: center; }
.site-slider .site-eyebrow { margin-bottom: 28px; text-transform: uppercase; letter-spacing: .4em; font-size: 14px; color: white; }
.site-slider h1, .site-slider h2 { font-size: clamp(30px, 4.4vw, 60px); line-height: 1.3; font-weight: 700; color: white; margin-bottom: 35px; }
.site-slider h1 span { font-weight: 400; }
.site-slider .play-btn { max-width: 100%; padding: 16px 0 16px 72px; text-align: left; white-space: normal; }
.site-slider .theme-btn { z-index: 1 !important; }
.site-slider-controls { position: absolute; left: 50%; bottom: 25px; transform: translateX(-50%); display: flex; gap: 12px; align-items: center; z-index: 2; color: white; }
.site-slider-controls button { min-width: 44px; min-height: 44px; padding: 8px 12px; background: #1a1a1a; color: white; border: 1px solid #fcc005; border-radius: 3px; font-size: 16px; }
.site-slider-controls button:hover, .site-slider-controls button:focus-visible { background: #fcc005; color: #111; }
.slide-status { min-width: 42px; text-align: center; }
.video-viewer { width: min(960px, calc(100vw - 28px)); max-width: 100%; max-height: calc(100dvh - 28px); padding: 18px; border: 0; border-radius: 5px; background: #161616; color: white; overflow: auto; }
.video-viewer::backdrop { background: rgba(0, 0, 0, .82); }
.video-viewer iframe { display: block; border: 0; width: 100%; aspect-ratio: 16 / 9; }
.video-close { display: block; margin: 0 0 14px auto; min-height: 44px; padding: 8px 16px; color: #111; background: #fcc005; }
.video-fallback { display: inline-block; color: #fcc005; padding: 12px 0 0; }
.video-fallback:hover { color: white; }
.event-notice { margin-bottom: 35px; padding: 24px; border-left: 4px solid #fcc005; background: #f7f7f7; }
.event-notice h2 { font-size: 26px; margin-bottom: 10px; }
.event-notice a, .operator-note a { text-decoration: underline; }
.event-single .content-box > h2 { font-size: 26px; line-height: 1.4; margin-bottom: 12px; }
.event-single .detail span { min-width: 90px; }
.contact-page-section h1 { font-size: 36px; line-height: 1.3; margin-bottom: 24px; font-weight: 600; }
.contact-page-section .form-column { width: 100%; float: none; }
.contact-page-section .form-column .inner-column { float: none; width: 100%; max-width: 1170px; margin: auto; padding-left: 20px; padding-right: 20px; }
.operator-note { padding: 14px 16px; border-left: 3px solid #fcc005; background: #f8f8f8; font-size: 14px; }
.scroll-to-top { border: 0; }
.scroll-to-top.is-visible { display: block; }
@media (max-width: 767px) {
 .site-slide { min-height: 490px; height: 70vh; max-height: 760px; }
 .site-slide-content { padding: 48px 22px 110px; }
 .site-slider .site-eyebrow { letter-spacing: .22em; }
 .site-slider h1, .site-slider h2 { font-size: clamp(27px, 7vw, 42px); line-height: 1.35; }
 .main-menu .navbar-collapse.collapse:not(.in) { display: none; }
 .main-menu .navbar-collapse.in { display: block; }
 .main-slider .play-btn { margin: 0; font-size: 13px; }
 .event-block-two .image-box .date { width: auto; min-width: 70px; }
}
@media (prefers-reduced-motion: reduce) {
 *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
/* Keep video actions available on narrow screens and keyboard focus. */
.site-slider .play-btn { display: inline-block; }
.main-footer .footer-links li, .main-footer .footer-links li a, .main-footer .text p { color: #c0c0c0; }
.volunteer-block .inner-box:focus-within .overlay-box::before { left: 0; width: 100%; }
.volunteer-block .inner-box:focus-within .content { opacity: 1; visibility: visible; transform: translateY(-50%); }
@media (hover: none) {
 .volunteer-block .overlay-box { position: relative; height: auto; background: #fcc005; }
 .volunteer-block .content { position: relative; top: auto; opacity: 1; visibility: visible; transform: none; padding: 24px 12px; }
}
@media (hover: none) {
 .volunteer-block .inner-box .overlay-box .content,
 .volunteer-block .inner-box:hover .overlay-box .content { position: relative; top: auto; transform: none; }
}
/* Improve the existing theme's light text and yellow-on-white contrast. */
main p a, main .text a, main .operator-note a { color: #765000; text-decoration: underline; }
.work-step .inner-box h2 { color: #9a6500; }
.btn-style-one, .btn-style-one span { color: #161616; }
.volunteer-block .content .name a, .volunteer-block .content .social-icon li a { color: #161616; }
.main-header .contact-info li a { color: #c0c0c0; }
.work-section.style-two .work-step:nth-child(3n + 2) p { color: #c0c0c0; }
.work-section.style-two .work-step:nth-child(3n + 3) p,
.work-section.style-two .work-step:nth-child(3n + 3) h2 { color: #161616; }
.main-header .top-left .contact-info li a { color: #c0c0c0; }

/* Keep the new high-resolution emblem at the established display size. */
img[src$="images/logos/logo-3d.png"] { width: 150px; height: auto; max-width: 100%; }
.main-footer, .fun-fact-section.style-two { background-color: #161719; background-size: min(400px, 80vw); background-position: center; background-repeat: no-repeat; }

/* Repeater tower photos retain their reveal; operator badges sit below them. */
.repeater-list .repeater-badge { display: block; width: 140px; max-width: 100%; height: auto; margin: 0 auto 22px; }
.repeater-list .overlay-box .link { width: calc(100% - 32px); text-transform: none; text-decoration: none; line-height: 1.7; }
.repeater-list .overlay-box .link strong { display: block; font-size: 20px; }
.repeater-list .overlay-box .link span { display: block; font-size: 14px; }
.repeater-list .overlay-box .link .repeater-more { margin-top: 12px; text-decoration: underline; }
.repeater-list .cause-block:focus-within .overlay-box::before { left: 0; width: 100%; }
.repeater-list .cause-block:focus-within .overlay-box a { transform: translate(-50%, -50%) scale(1); }
@media (hover: none) {
 .repeater-list .overlay-box { position: relative; height: auto; background: #1b1c1e; padding: 20px 16px; }
 .repeater-list .overlay-box .link, .repeater-list .cause-block:hover .overlay-box .link, .repeater-list .cause-block:focus-within .overlay-box .link { position: relative; display: block; top: auto; left: auto; width: 100%; transform: none; }
 .repeater-list .overlay-box::before { display: none; }
}
