/*====================================================================
   Custom CSS File for most of Desktop and Mobile look for Kipya Template
   Developed by Amazing LWEGATECH LTD team.
====================================================================**/
:root { --kpy-font: "DM Sans", sans-serif; --kpy-font-2: "DM Sans", sans-serif; --kpy-font-3: "DM Sans", sans-serif; --kpy-primary: #4a9c3e; --kpy-primary-rgb: 74, 156, 62; --kpy-olive: #5f7a45; --kpy-olive-dark: #4d6538; --kpy-olive-dark-rgb: 77, 101, 56; --kpy-blue: #1ea7c9; --kpy-blue-rgb: 30, 167, 201; --kpy-orange: #c86f4a; --kpy-orange-rgb: 200, 111, 74; --kpy-white: #ffffff; --kpy-white-rgb: 255, 255, 255; --kpy-light-grey: #f2f2f2; --kpy-light-grey-rgb: 242, 242, 242; --kpy-light: #f7f9f7; --kpy-heading-text: #2b2b2b; --kpy-body-text: #4a4a4a; --kpy-nav-text: #2b2b2b; --kpy-base: #2b2b2b; --kpy-base-rgb: 43, 43, 43; --kpy-grey: #666666; --kpy-black: #000000; --kpy-font-size: 16px }
html, body { font-family: var(--kpy-font-2) !important; color: var(--kpy-base); font-size: var(--kpy-font-size); line-height: 1.8; margin: 0; padding: 0; background-color: var(--kpy-white); -webkit-font-smoothing: antialiased; overflow-x: hidden; width: 100% }
h1, h2, h3, h4, h5, h6 { font-family: var(--kpy-font) !important; font-weight: 700; letter-spacing: 0.01em; margin-top: 0 }
p { font-family: var(--kpy-font-2); color: var(--kpy-grey); line-height: 1.7 }
.site-content { max-width: 100%; width: 100% }
.fc-inner-main>.container, .fc-inner-main>.wp-block-group.alignfull, .fc-inner-main>.wp-block-cover.alignfull { max-width: 100% !important; width: 100% !important; padding-left: 0 !important; padding-right: 0 !important }
.nape-infocard__icon, .nape-infocard__icon i { color: var(--kpy-primary) !important }

/* =============================================
   FOOTER
   ============================================= */
.fc-footer-v2-main { background: #111111; padding: 60px 0 0 }
.fc-footer-v2-container { max-width: 1160px; margin: 0 auto; padding: 0 40px }
.fc-footer-v2-columns { display: grid; grid-template-columns: 1.3fr 0.9fr 1.3fr; gap: 56px; padding-bottom: 44px }
.fc-footer-v2-col { text-align: left }
.fc-footer-v2-col-title { font-family: var(--kpy-font-2) !important; font-size: 0.88rem !important; font-weight: 900 !important; letter-spacing: 0.14em !important; text-transform: uppercase !important; color: #ffffff !important; margin: 0 0 18px !important; padding-bottom: 14px !important; position: relative; line-height: 1 }
.fc-footer-v2-col-title::after { content: ""; position: absolute; left: 0; bottom: 0; width: 28px; height: 2px; background: rgba(255, 255, 255, 0.40); border-radius: 1px }
.fc-footer-v2-about-text { font-family: var(--kpy-font-2); font-size: 0.92rem; line-height: 1.82; color: rgba(255, 255, 255, 0.75); margin: 0 }
.fc-footer-v2-links { list-style: none; margin: 0; padding: 0 }
.fc-footer-v2-links li { margin-bottom: 0.88rem }
.fc-footer-v2-links a { font-family: var(--kpy-font-2); font-size: 0.95rem; color: rgba(255, 255, 255, 0.85); text-decoration: none; font-weight: 400; transition: color 0.2s ease; display: inline-block }
.fc-footer-v2-links a:hover { color: #ffffff; text-decoration: none }
.fc-footer-v2-contact-list { list-style: none; margin: 0; padding: 0 }
.fc-footer-v2-contact-item { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 1.2rem }
.fc-footer-v2-contact-item:last-child { margin-bottom: 0 }
.fc-footer-v2-contact-item i { color: rgba(255, 255, 255, 0.90); font-size: 1.0rem; margin-top: 3px; flex-shrink: 0; width: 18px; text-align: center }
.fc-footer-v2-contact-item span { font-family: var(--kpy-font-2); font-size: 0.92rem; line-height: 1.65; color: rgba(255, 255, 255, 0.75) }
.fc-footer-v2-contact-item span a { color: rgba(255, 255, 255, 0.75); text-decoration: none; transition: color 0.2s ease }
.fc-footer-v2-contact-item span a:hover { color: #ffffff }
.fc-footer-newsletter { border-top: 1px solid rgba(255, 255, 255, 0.08); padding: 32px 0 }
.fc-footer-newsletter__inner { display: flex; align-items: flex-start; gap: 40px; flex-wrap: wrap }
.fc-footer-newsletter__label { font-family: var(--kpy-font-2); font-size: 0.82rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: #fff; white-space: nowrap; padding-top: 10px }
.fc-footer-newsletter__form { display: flex; flex: 1 1 420px; gap: 10px; flex-wrap: wrap; align-items: flex-start }
.fc-footer-newsletter__input { flex: 1 1 220px; min-width: 180px; padding: 10px 16px; border: 1px solid rgba(255, 255, 255, 0.20); border-radius: 4px; background: rgba(255, 255, 255, 0.07); color: #fff; font-family: var(--kpy-font-2); font-size: 0.88rem; outline: none; transition: border-color 0.2s }
.fc-footer-newsletter__input::placeholder { color: rgba(255, 255, 255, 0.40) }
.fc-footer-newsletter__input:focus { border-color: var(--kpy-primary); background: rgba(255, 255, 255, 0.10) }
.fc-footer-newsletter__btn { background: var(--kpy-primary); color: #fff; border: none; border-radius: 4px; padding: 10px 24px; font-family: var(--kpy-font-2); font-size: 0.88rem; font-weight: 700; cursor: pointer; white-space: nowrap; transition: background 0.2s ease }
.fc-footer-newsletter__btn:hover { background: var(--kpy-olive-dark) }
.fc-footer-newsletter__captcha { display: flex; flex-direction: column; gap: 6px }
.fc-footer-newsletter__msg { font-family: var(--kpy-font-2); font-size: 0.82rem; color: rgba(255, 255, 255, 0.80); margin: 6px 0 0; min-height: 18px; width: 100% }
.fc-footer-newsletter__msg.success { color: #6bc860 }
.fc-footer-newsletter__msg.error { color: #f87171 }
.fc-footer-v2-bottom { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; border-top: 1px solid rgba(255, 255, 255, 0.08); padding: 20px 0 24px }
.fc-footer-v2-copy { font-family: var(--kpy-font-2); font-size: 0.82rem; color: rgba(255, 255, 255, 0.70); margin: 0 }
.fc-footer-v2-copy strong { color: rgba(255, 255, 255, 0.90); font-weight: 700 }
.fc-footer-v2-credit-wrap { font-family: var(--kpy-font-2); font-size: 0.82rem; color: rgba(255, 255, 255, 0.50); margin: 0 }
.fc-footer-v2-credit { color: var(--kpy-primary); text-decoration: none; font-weight: 700 }
.fc-footer-v2-credit:hover { text-decoration: underline }
.fc-footer-v2-back-to-top { position: fixed; right: 20px; bottom: 20px; width: 44px; height: 44px; border-radius: 6px; background: var(--kpy-primary); color: #fff; border: none; display: flex; align-items: center; justify-content: center; font-size: 1.1rem; cursor: pointer; box-shadow: 0 4px 14px rgba(0, 0, 0, 0.30); z-index: 1040; opacity: 0; pointer-events: none; transition: opacity 0.3s ease, background 0.2s ease, transform 0.2s ease }
.fc-footer-v2-back-to-top.visible { opacity: 1; pointer-events: auto }
.fc-footer-v2-back-to-top:hover { background: var(--kpy-olive-dark); transform: translateY(-2px) }
@media (max-width: 900px) { .fc-footer-v2-columns { grid-template-columns: 1fr 1fr; gap: 36px; padding-bottom: 36px } .fc-footer-v2-col:first-child { grid-column: 1 / -1 } .fc-footer-newsletter__inner { flex-direction: column; gap: 16px } }
@media (max-width: 600px) { .fc-footer-v2-main { padding: 44px 0 0 } .fc-footer-v2-container { padding: 0 20px } .fc-footer-v2-columns { grid-template-columns: 1fr; gap: 28px; padding-bottom: 28px } .fc-footer-v2-bottom { flex-direction: column; align-items: flex-start; gap: 6px } .fc-footer-v2-back-to-top { right: 12px; bottom: 12px; width: 40px; height: 40px; font-size: 1rem } }

/** ==========================================================
Hero Slider (Ken Burns)
===========================================================**/
.uw-hero-slider { position: relative; width: 100%; overflow: hidden }
.uw-hero-slider .swiper-container { position: relative; width: 100% }
.uw-hero-slider .swiper-slide { position: relative; height: 88vh; min-height: 580px; overflow: hidden }
.uw-slide-bg { position: absolute; inset: 0; background-size: cover; background-position: center; z-index: 1; transform: scale(1); transition: transform 7000ms ease }
.uw-hero-slider .swiper-slide-active .uw-slide-bg { transform: scale(1.12) }
.uw-slide-scrim { position: absolute; inset: 0; z-index: 2; background: linear-gradient(90deg, rgba(0, 0, 0, 0.72) 0%, rgba(0, 0, 0, 0.50) 35%, rgba(0, 0, 0, 0.18) 65%, rgba(0, 0, 0, 0.05) 100%) }
.uw-slide-body { position: relative; z-index: 3; height: 100%; max-width: 800px; padding: 0 3% 0 6%; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; text-align: left }
.uw-slide-title { font-family: var(--kpy-font-2); color: #fff; font-size: clamp(28px, 4.5vw, 54px); font-weight: 800; line-height: 1.15; margin: 0 0 18px; text-shadow: 1px 2px 10px rgba(0, 0, 0, .45); text-transform: none; letter-spacing: -.01em }
.uw-slide-desc { font-family: var(--kpy-font-2); color: rgba(255, 255, 255, 0.90); font-size: clamp(0.9rem, 1.4vw, 1.05rem); line-height: 1.7; font-weight: 400; margin: 0 0 30px; max-width: 500px; text-shadow: 1px 1px 4px rgba(0, 0, 0, .4) }
.uw-slide-cta { display: inline-flex; align-items: center; background: var(--kpy-primary); color: #fff; padding: 13px 32px; border-radius: 50px; font-family: var(--kpy-font-2); font-weight: 700; font-size: 0.9rem; text-decoration: none; letter-spacing: .02em; text-transform: none; transition: background .25s ease, transform .2s ease; box-shadow: 0 4px 14px rgba(0, 0, 0, .25) }
.uw-slide-cta:hover { background: var(--kpy-olive-dark); color: #fff; transform: translateY(-2px) }
.uw-slider-arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 10; background: rgba(255, 255, 255, 0.12); border: 2px solid rgba(255, 255, 255, 0.35); border-radius: 50%; color: rgba(255, 255, 255, 0.90); font-size: 2rem; line-height: 1; width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background .2s ease, border-color .2s ease, color .2s ease; padding: 0 }
.uw-slider-arrow:hover { background: var(--kpy-primary); border-color: var(--kpy-primary); color: #fff }
.uw-slider-arrow--prev { left: 20px }
.uw-slider-arrow--next { right: 20px }
.uw-hero-slider .uw-slider-arrow { display: none }
.uw-hero-slider.swiper-ready .uw-slider-arrow { display: flex }
.uw-slider-empty { padding: 80px 24px; text-align: center; color: var(--kpy-body-text) }
@media (max-width: 991px) { .uw-hero-slider .swiper-slide { height: 75vh; min-height: 500px } .uw-slide-title { font-size: clamp(22px, 4vw, 36px) } }
@media (max-width: 768px) { .uw-hero-slider .swiper-slide { height: 68vh; min-height: 420px } .uw-slide-body { padding: 0 6% 12%; max-width: 100% } .uw-slide-desc { font-size: .88rem; margin-bottom: 20px } .uw-slide-cta { padding: 11px 24px; font-size: .84rem } .uw-slider-arrow { width: 40px; height: 40px; font-size: 1.5rem } .uw-slider-arrow--prev { left: 8px } .uw-slider-arrow--next { right: 8px } }


/*==========================================================
Inner Page Hero Section
===========================================================*/
.fc-page-hero { position: relative; height: 220px; min-height: 200px; display: flex; align-items: center; overflow: hidden }
.fc-page-hero-bg { position: absolute; inset: 0; background-size: cover; background-position: center; background-color: var(--kpy-olive-dark); background-image: linear-gradient(135deg, #3a6e2f 0%, #4a9c3e 60%, #1ea7c9 100%); transform: scale(1.05); animation: kpy-ken-burns 8s ease-out forwards }
.fc-page-hero:hover .fc-page-hero-bg { transform: scale(1.10); transition: transform .6s ease-out }
@keyframes kpy-ken-burns { 0% { transform: scale(1.02) translateX(0) translateY(0) } 100% { transform: scale(1.05) translateX(2%) translateY(-1%) } }
.fc-page-hero-overlay { position: absolute; inset: 0; background: transparent; z-index: 1 }
.fc-page-hero-diagonal { position: absolute; inset: 0; background: rgba(8, 8, 6, .75); clip-path: polygon(0 0, 46% 0, 36% 100%, 0 100%); z-index: 2 }
.fc-page-hero-inner { position: relative; z-index: 3; width: 100%; max-width: 1400px; margin: 0 auto; padding: 0 5% }
.fc-page-hero-title { font-family: var(--kpy-font-2); font-size: clamp(1.6rem, 3vw, 2.3rem); font-weight: 800; color: #fff !important; text-transform: none; letter-spacing: 0; margin: 0 0 8px; text-shadow: 1px 2px 8px rgba(0, 0, 0, .4); line-height: 1.2; max-width: 75% }
.fc-page-hero-inner .nape-breadcrumb { font-size: .85rem; color: rgba(255, 255, 255, .75); margin: 0 }
.fc-page-hero-inner .nape-breadcrumb a { color: rgba(255, 255, 255, .75); text-decoration: none }
.fc-page-hero-inner .nape-breadcrumb a:hover { color: #fff; text-decoration: underline }
.fc-page-article { max-width: 1200px; margin: 0 auto; padding: 48px 40px 64px; width: 100%; box-sizing: border-box }
.fc-page-content.entry-content { font-family: var(--kpy-font-2); font-size: 1rem; line-height: 1.8; color: var(--kpy-body-text) }
.fc-page-content .wp-block-columns { display: flex !important; flex-wrap: wrap !important; gap: 1.5em !important; margin-bottom: 1em !important }
.fc-page-content .wp-block-column { word-break: break-word; overflow-wrap: break-word }
.fc-page-content.entry-content h1, .fc-page-content.entry-content h2, .fc-page-content.entry-content h3, .fc-page-content.entry-content h4, .fc-page-content.entry-content h5, .fc-page-content.entry-content h6 { font-family: var(--kpy-font); color: var(--kpy-heading-text); font-weight: 700; margin-top: 1.6em; margin-bottom: .5em; text-transform: none; letter-spacing: 0 }
.fc-page-content.entry-content p { margin-bottom: 1.1em; color: #444; line-height: 1.85 }
@media (max-width: 768px) { .fc-page-hero { height: 170px; min-height: 155px } .fc-page-hero-title { font-size: clamp(1.3rem, 5vw, 1.8rem) } .fc-page-hero-inner { padding: 0 6% } .fc-page-hero-diagonal { clip-path: polygon(0 0, 60% 0, 46% 100%, 0 100%) } .fc-page-article { padding: 32px 20px 48px } }
@media (max-width: 480px) { .fc-page-hero { height: 180px; min-height: 160px } }

/*==========================================================
  Core Accordion Block Styling
==========================================================*/
.wp-block-accordion { background: #fff; border: 1px solid #e6ebe6; border-radius: 6px; margin-bottom: 12px; background: #fff; transition: all 0.2s ease }
.wp-block-accordion:hover { border-color: #d9dfd9; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) }
.wp-block-accordion__summary { align-items: center; padding: 16px 20px; cursor: pointer; font-family: var(--kpy-font-2, "Montserrat", sans-serif); font-size: 16px; font-weight: 700; color: var(--kpy-heading-text, #2b2b2b); list-style: none; position: relative; display: flex; justify-content: space-between; align-items: center; gap: 12px; transition: color 0.2s ease }
.wp-block-accordion__summary::-webkit-details-marker { display: none }
.wp-block-accordion__summary::after, details[open]>.wp-block-accordion__summary::after { content: '+'; font-size: 20px; font-weight: 700; color: var(--kpy-primary, #4a9c3e); transition: transform 0.3s ease, content 0.3s ease }
details[open]>.wp-block-accordion__summary::after { content: '−'; transform: rotate(180deg) }
details[open]>.wp-block-accordion__summary { color: var(--kpy-primary, #4a9c3e); border-bottom: 1px solid #e6ebe6 }
.wp-block-accordion__content { background: #f9fbf9; padding: 16px 20px; font-family: var(--kpy-font-2, "Montserrat", sans-serif); font-size: 15px; line-height: 1.7; color: var(--kpy-body-text, #4a4a4a); background: #f9fbf9 }
.wp-block-accordion__content p { margin: 0 0 12px }
.wp-block-accordion__content p:last-child { margin-bottom: 0 }
.page-id-836 .wp-block-accordion, .page-id-796 .wp-block-accordion { border-left: 4px solid var(--kpy-primary, #4a9c3e) }

/*==========================================================
  Custom Tabs Styling
==========================================================*/
.custom-tabs { display: flex; flex-direction: column; gap: 1rem }
.custom-tab-nav { display: flex; gap: 0.5rem; border-bottom: 2px solid #e6ebe6 }
.custom-tab-nav-item { padding: 10px 20px; cursor: pointer; font-weight: 600; color: var(--kpy-body-text); border-bottom: 2px solid transparent; margin-bottom: -2px }
.custom-tab-nav-item.active { color: var(--kpy-primary); border-color: var(--kpy-primary) }
.custom-tabs .tab-content { display: none }
.partner-logos-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 2rem; padding-top: 1rem }
.partner-logo-item { display: flex; align-items: center; justify-content: center; background: #fff; padding: 1rem; border-radius: 6px; border: 1px solid #e6ebe6; min-height: 100px; transition: transform 0.2s ease, box-shadow 0.2s ease }
.partner-logo-item:hover { transform: translateY(-4px); box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08) }
.partner-logo-item img { max-width: 100%; height: auto; max-height: 70px; object-fit: contain; border-radius: 0 !important }

/*==========================================================
  Core Image Block Enhancements
==========================================================*/
.wp-block-image img { max-width: 100%; height: auto; border-radius: 4px; transition: transform 0.3s ease }
.wp-block-image:hover img { transform: scale(1.02) }

.program-cards-container { display: grid; gap: 2rem; margin: 3rem 0; font-family: var(--kpy-font) }
.program-cards-container.layout-grid { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) }
.program-cards-container.layout-list { grid-template-columns: 1fr }
.program-cards-container.columns-2 { grid-template-columns: repeat(2, minmax(280px, 1fr)) }
.program-cards-container.columns-3 { grid-template-columns: repeat(3, minmax(280px, 1fr)) }
.program-cards-container.columns-4 { grid-template-columns: repeat(4, minmax(240px, 1fr)) }
.program-card { background: var(--kpy-white); border-radius: 12px; overflow: hidden; box-shadow: 0 6px 15px rgba(var(--kpy-base-rgb), 0.08); transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.1); position: relative; border: 1px solid rgba(var(--kpy-primary-rgb), 0.1); animation: fadeInUp 0.6s ease forwards; opacity: 0 }
.program-card:hover { transform: translateY(-8px); box-shadow: 0 12px 24px rgba(var(--kpy-base-rgb), 0.12); border-color: rgba(var(--kpy-primary-rgb), 0.3) }
.program-card__media { position: relative; padding-bottom: 62.5%; overflow: hidden }
.program-card__image { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease }
.program-card:hover .program-card__image { transform: scale(1.08) }
.program-card__placeholder { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, var(--kpy-light) 0%, rgba(var(--kpy-primary-rgb), 0.1) 100%); display: flex; align-items: center; justify-content: center; color: var(--kpy-primary); font-family: var(--kpy-font-2); font-size: 1.1rem }
.program-card__content { padding: 1.75rem; position: relative }
.program-card__title { margin: 0 0 1.25rem; font-size: 1.375rem; line-height: 1.3; font-family: var(--kpy-font); color: var(--kpy-base); position: relative; padding-bottom: 0.75rem }
.program-card__title::after { content: ''; position: absolute; bottom: 0; left: 0; width: 50px; height: 3px; background: var(--kpy-primary); transition: width 0.3s ease }
.program-card:hover .program-card__title::after { width: 80px }
.program-card__title a { color: inherit; text-decoration: none; transition: color 0.3s ease }
.program-card__title a:hover { color: var(--kpy-primary) }
.program-card__excerpt { margin-bottom: 1.75rem; color: rgba(var(--kpy-base-rgb), 0.7); font-size: 0.95rem; line-height: 1.6 }
.program-card__button { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.75rem 1.5rem; background-color: var(--kpy-primary); color: var(--kpy-white); text-decoration: none; border-radius: 50px; font-size: 0.95rem; font-weight: 500; transition: all 0.3s ease; border: 2px solid transparent }
.program-card__button:hover { background-color: transparent; color: var(--kpy-primary); border-color: var(--kpy-primary); transform: translateX(5px) }
.program-card__button::after { content: '→'; transition: transform 0.3s ease }
.program-card__button:hover::after { transform: translateX(3px) }
.program-cards__not-found { text-align: center; padding: 3rem; color: var(--kpy-primary); background: rgba(var(--kpy-primary-rgb), 0.05); border-radius: 12px; font-family: var(--kpy-font-2); font-size: 1.2rem }
@media (max-width: 1200px) { .program-cards-container.columns-4 { grid-template-columns: repeat(3, minmax(280px, 1fr)) } }
@media (max-width: 992px) { .program-cards-container.columns-3, .program-cards-container.columns-4 { grid-template-columns: repeat(2, minmax(280px, 1fr)) } }
@media (max-width: 768px) { .program-cards-container { gap: 1.5rem } .program-cards-container.layout-grid, .program-cards-container.columns-2, .program-cards-container.columns-3, .program-cards-container.columns-4 { grid-template-columns: 1fr } .program-card__content { padding: 1.5rem } }
@keyframes fadeInUp { from { opacity: 0; transform: translateY(20px) } to { opacity: 1; transform: translateY(0) } }
.program-card:nth-child(1) { animation-delay: 0.1s }
.program-card:nth-child(2) { animation-delay: 0.2s }
.program-card:nth-child(3) { animation-delay: 0.3s }
.program-card:nth-child(4) { animation-delay: 0.4s }
.program-card:nth-child(5) { animation-delay: 0.5s }
.program-card:nth-child(6) { animation-delay: 0.6s }

/*==========================================================
Contact Us
==========================================================**/
.nape-contact-hero { position: relative; min-height: 300px; background: linear-gradient(120deg, rgba(45, 90, 39, .55), rgba(45, 90, 39, .35)), url('../images/contact-hero.jpg') center/cover no-repeat; display: flex; align-items: flex-end; padding: 0 5% }
.nape-contact-hero h1 { color: #fff; font-size: 40px; font-weight: 700; margin: 0 0 40px }
.nape-contact-wrap { display: flex; flex-wrap: wrap; gap: 0; max-width: 1400px; margin: 0 auto; padding: 60px 5% 70px }
.nape-contact-info { flex: 1 1 380px; max-width: 420px; padding-right: 40px }
.nape-info-block { padding: 28px 0; border-bottom: 1px solid #eaeaea }
.nape-info-block:first-child { padding-top: 0 }
.nape-info-block h3 { color: #3d7a34; font-size: 26px; font-weight: 700; margin: 0 0 16px }
.nape-info-row { display: flex; align-items: flex-start; gap: 14px }
.nape-info-row .nape-icon { flex: 0 0 auto; width: 20px; height: 20px; margin-top: 3px; color: #222 }
.nape-info-row p { margin: 0; color: #333; font-size: 17px; line-height: 1.6 }
.nape-info-row a { color: #333; text-decoration: none }
.nape-info-row a:hover { text-decoration: underline }
.nape-contact-form-col { flex: 1 1 500px }
.nape-contact-form-col h2 { color: #3d7a34; font-size: 30px; font-weight: 700; margin: 0 0 24px }
.nape-contact-form-card { background: #fff; border: 1px solid #e3e3e3; border-radius: 6px; padding: 32px }
.nape-form-feedback { margin-bottom: 20px; padding: 12px 16px; border-radius: 4px; font-size: 15px }
.nape-form-feedback--success { background: #e6f4ea; color: #1e6b2e; border: 1px solid #b7ddc0 }
.nape-form-feedback--error { background: #fdecea; color: #a32620; border: 1px solid #f4c1bd }
.nape-form-row { display: flex; gap: 24px; margin-bottom: 22px }
.nape-form-row .nape-field-group { flex: 1 1 50% }
.nape-field-group { margin-bottom: 22px }
.nape-field-group label { display: block; color: #222; font-size: 16px; font-weight: 500; margin-bottom: 10px }
.nape-field-group input[type="text"], .nape-field-group input[type="email"], .nape-field-group input[type="tel"], .nape-field-group textarea { width: 100%; box-sizing: border-box; padding: 12px 14px; background: #eef6ee; border: 1px solid #dbe8db; border-radius: 4px; font-size: 15px; font-family: inherit; color: #222 }
.nape-field-group input:focus, .nape-field-group textarea:focus { outline: none; border-color: #3d7a34; background: #fff }
.nape-field-group textarea { min-height: 150px; resize: vertical }
.nape-captcha-row { display: flex; justify-content: flex-end; margin-bottom: 22px }
.nape-submit-btn { background: #1ba7dc; color: #fff; border: none; border-radius: 4px; padding: 13px 34px; font-size: 16px; font-weight: 600; cursor: pointer; transition: background .2s ease; display: inline-flex; align-items: center; gap: 8px }
.nape-submit-btn:hover { background: #1591bd }
.nape-submit-btn:disabled { opacity: .7; cursor: default }
.nape-contact-map { width: 100%; line-height: 0 }
.nape-contact-map iframe { width: 100%; height: 480px; border: 0; display: block }
@media (max-width: 780px) { .nape-contact-wrap { flex-direction: column; padding: 40px 6% 50px } .nape-contact-info { max-width: 100%; padding-right: 0; margin-bottom: 30px } .nape-form-row { flex-direction: column; gap: 0 } }

/* NAPE Photo Gallery — compact CSS */

/* ---- grid of gallery cards ---- */
.nape-gallery-wrap{max-width:1200px;margin:0 auto;padding:20px}
.nape-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.nape-gallery-card{display:block;text-decoration:none;color:inherit;border-radius:6px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.12);transition:transform .2s,box-shadow .2s;background:#fff}
.nape-gallery-card:hover{transform:translateY(-3px);box-shadow:0 6px 16px rgba(0,0,0,.15)}
.nape-gallery-card__img{position:relative;height:160px;background:#e5e5e5 center/cover no-repeat}
.nape-gallery-card__count{position:absolute;right:8px;bottom:8px;background:rgba(0,0,0,.6);color:#fff;font-size:12px;padding:3px 8px;border-radius:12px}
.nape-gallery-card__title{padding:10px 12px;font-size:14px;font-weight:600;line-height:1.3;color:#1a5d1a}
.nape-gallery-empty{padding:30px;text-align:center;color:#777}

/* pagination (shared style) */
.nape-gallery-pagination{display:flex;gap:6px;justify-content:center;margin-top:24px;flex-wrap:wrap}
.nape-gallery-pgbtn{padding:6px 12px;border:1px solid #ddd;border-radius:4px;text-decoration:none;color:#333;font-size:13px}
.nape-gallery-pgbtn--active{background:#1a5d1a;border-color:#1a5d1a;color:#fff}
.nape-gallery-pgbtn--next{font-weight:600}

/* ---- single gallery page ---- */
.nape-single-gallery{max-width:1200px;margin:0 auto;padding:20px}
.nape-sg-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;border-bottom:1px solid #e2e2e2;padding-bottom:10px;margin-bottom:20px}
.nape-sg-header__back{color:#1a5d1a;text-decoration:none;font-weight:600;font-size:14px;display:flex;align-items:center}
.nape-sg-header__back i{font-size:20px}
.nape-sg-header__title{font-size:18px;font-weight:700;color:#222;margin:0}

.nape-sg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.nape-sg-item{position:relative;display:block;border-radius:4px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.15)}
.nape-sg-item img{width:100%;height:170px;object-fit:cover;display:block;transition:transform .25s}
.nape-sg-item:hover img{transform:scale(1.05)}
.nape-sg-item__zoom{position:absolute;right:8px;bottom:8px;background:rgba(0,0,0,.55);color:#fff;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px}

/* lightbox */
.nape-lb{display:none;position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:9999;align-items:center;justify-content:center}
.nape-lb.is-open{display:flex}
.nape-lb img{max-width:90%;max-height:88vh;border-radius:4px}
.nape-lb__close{position:absolute;top:18px;right:26px;color:#fff;font-size:34px;cursor:pointer;line-height:1}

/* ---- responsive ---- */
@media (max-width:900px){
  .nape-gallery-grid,.nape-sg-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:560px){
  .nape-gallery-grid,.nape-sg-grid{grid-template-columns:1fr}
  .nape-sg-header{flex-direction:column;align-items:flex-start}
}


/*==========================================================
Give page
==========================================================**/
.modern-section-title { text-align: center; font-size: 2.5rem; margin-bottom: 3rem; font-family: var(--kpy-font-2) }
.modern-payment-cards { display: flex; justify-content: center; gap: 2rem; max-width: 1200px; margin: 0 auto; padding: 0 1rem; flex-wrap: wrap }
.modern-payment-card { background: var(--kpy-white); border-radius: 12px; padding: 2.5rem; width: calc(50% - 1rem); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05); transition: transform 0.3s, box-shadow 0.3s; border-top: 5px solid var(--kpy-primary) }
.modern-payment-card:hover { transform: translateY(-5px); box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1) }
.modern-card-title { font-size: 2.8rem; margin-bottom: 1.5rem; display: flex; align-items: center; gap: 0.8rem; color: var(--kpy-secondary-2) }
.modern-card-icon { font-size: 2rem; color: var(--kpy-secondary) }
.modern-card-details { margin-top: 1.5rem }
.modern-detail-item { display: flex; margin-bottom: 1rem; padding-bottom: 1rem; border-bottom: 1px dashed rgba(var(--kpy-primary-rgb), 0.2) }
.modern-detail-label { min-width: 120px; color: var(--kpy-primary) }
.modern-detail-value { color: var(--kpy-base) }
.modern-donation-form-section { padding: 2rem 0 }
.modern-form-container { max-width: 900px; margin: 0 auto; padding: 0 1rem; background: var(--kpy-white) }
.modern-form-card { border-radius: 12px; padding: 3rem; box-shadow: 0 5px 25px rgba(0, 0, 0, 0.05); border-top: 5px solid var(--kpy-primary) }
.modern-form-title { font-size: 2.8rem; margin-bottom: 1.5rem; text-align: center; font-family: var(--kpy-font-3); color: var(--kpy-secondary-2) }
.modern-form-description { text-align: center; margin-bottom: 2.5rem; color: var(--kpy-base); max-width: 600px; margin-left: auto; margin-right: auto }
.modern-form-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem }
.modern-form-group { margin-bottom: 1.5rem }
.modern-form-label { display: block; margin-bottom: 0.5rem; color: var(--kpy-base) }
.modern-form-input { width: 100%; padding: 0.8rem 1rem; border: 1px solid rgba(var(--kpy-primary-rgb), 0.5); border-radius: 6px; font-size: 1rem; transition: all 0.3s; background: white }
.modern-form-input:focus { border-color: var(--kpy-primary); outline: none; box-shadow: 0 0 0 3px rgba(var(--kpy-primary-rgb), 0.1) }
.modern-form-select { width: 100%; padding: 0.8rem 1rem; border: 1px solid rgba(var(--kpy-primary-rgb), 0.2); border-radius: 6px; font-size: 1rem; background: white; appearance: none; background-image: url("data:image/svg+xml; charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e"); background-repeat: no-repeat; background-position: right 1rem center; background-size: 1em }
.modern-form-textarea { width: 100%; padding: 0.8rem 1rem; border: 1px solid rgba(var(--kpy-primary-rgb), 0.2); border-radius: 6px; font-size: 1rem; min-height: 120px; resize: vertical }
.modern-form-file { width: 100%; padding: 0.5rem 0 }
.modern-form-help { display: block; margin-top: 0.5rem; color: var(--kpy-grey); font-size: 0.85rem }
.modern-submit-btn { background: var(--kpy-secondary-2); color: var(--kpy-white); border: none; padding: 1rem 2rem; font-size: 1rem; font-weight: 600; border-radius: 6px; cursor: pointer; width: 100%; transition: all 0.3s; text-transform: uppercase; letter-spacing: 1px; margin-top: 1rem; grid-column: 1 / -1 }
.modern-submit-btn:hover { transform: translateY(-2px); box-shadow: 0 5px 15px rgba(var(--kpy-primary-rgb), 0.2) }
.modern-success-message { text-align: center; padding: 3rem; background: rgba(var(--kpy-primary-rgb), 0.05); border-radius: 12px; border-left: 5px solid var(--kpy-secondary) }
.modern-success-icon { font-size: 4rem; color: var(--kpy-secondary); margin-bottom: 1.5rem }
.modern-success-title { font-size: 2rem; color: var(--kpy-primary); margin-bottom: 1rem; font-family: var(--kpy-font-3) }
.modern-success-text { color: var(--kpy-base); margin-bottom: 2rem; max-width: 600px; margin-left: auto; margin-right: auto }
.modern-back-btn { display: inline-block; padding: 0.8rem 2rem; background: var(--kpy-primary); color: white; text-decoration: none; border-radius: 6px; transition: all 0.3s; font-weight: 600 }
.modern-back-btn:hover { background: var(--kpy-secondary); color: var(--kpy-base) }
@media (max-width: 992px) { .modern-payment-card { width: 100% } .modern-form-grid { grid-template-columns: 1fr } }
@media (max-width: 768px) { .modern-hero-title { font-size: 2.5rem } .modern-hero-subtitle { font-size: 1.2rem } .modern-section-title { font-size: 2rem } .modern-card-title { font-size: 1.5rem } .modern-form-card { padding: 2rem } }

/*==========================================================
Editor Sec page
==========================================================**/
.yaf-container { max-width: 1200px; margin: 0 auto; padding: 0 20px; font-family: var(--kpy-font); color: var(--kpy-base) }
.yaf-invite { display: flex; flex-wrap: wrap; gap: 80px; align-items: center }
.yaf-invite-content { flex: 1; min-width: 300px }
.yaf-invite-image { flex: 1; min-width: 300px; position: relative; margin-top: 50px }
.yaf-invite-image::before { content: ''; position: absolute; width: 100%; height: 100%; top: 20px; left: 20px; background: linear-gradient(45deg, var(--kpy-secondary), #bfa500); z-index: -1; border-radius: 12px; opacity: 0.2; transition: all 0.3s ease }
.yaf-invite-image:hover::before { top: 15px; left: 15px }
.yaf-invite-image img { width: 100%; height: auto; border-radius: 12px; box-shadow: 0 15px 40px rgba(var(--kpy-base-rgb), 0.1); border: 1px solid rgba(var(--kpy-primary-rgb), 0.1); transition: transform 0.3s ease }
.yaf-invite-image:hover img { transform: translate(-5px, -5px) }
.yaf-title { font-family: var(--kpy-font-3); font-size: 3.5rem; margin-bottom: 1.5rem; position: relative; line-height: 1.2; padding-bottom: 20px; color: var(--kpy-secondary-2) }
.yaf-title:after { content: ''; position: absolute; bottom: 0; left: 0; width: 80px; height: 5px; background: linear-gradient(90deg, var(--kpy-secondary), var(--kpy-primary)); border-radius: 3px }
.yaf-description { font-size: 1.15rem; line-height: 1.8; color: var(--kpy-base); margin-bottom: 2rem; max-width: 90% }
.yaf-features { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 40px; margin-top: 20px }
.yaf-feature-card { background: var(--kpy-white); padding: 40px 30px; border-radius: 12px; box-shadow: 0 10px 30px rgba(var(--kpy-base-rgb), 0.08); transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); border-left: 4px solid var(--kpy-primary); position: relative; overflow: hidden }
.yaf-feature-card::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(var(--kpy-primary-rgb), 0.03), rgba(var(--kpy-secondary-rgb), 0.03)); z-index: 0 }
.yaf-feature-card:hover { transform: translateY(-10px) scale(1.02); box-shadow: 0 15px 40px rgba(var(--kpy-base-rgb), 0.15) }
.yaf-feature-card:before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 4px; background: var(--kpy-gold); transform: scaleX(0); transform-origin: left; transition: transform 0.4s ease }
.yaf-feature-card:hover { transform: translateY(-10px); box-shadow: 0 15px 30px rgba(var(--kpy-base-rgb), 0.1) }
.yaf-feature-title { font-family: var(--kpy-font-3); font-size: 2.5rem; margin-bottom: 1.2rem; position: relative; z-index: 1 }
.yaf-feature-text { font-size: 1.05rem; line-height: 1.7; color: var(--kpy-grey); position: relative; z-index: 1 }
.yaf-cta { display: inline-block; background: var(--kpy-primary); color: #fff; padding: 15px 35px; border-radius: 50px; text-decoration: none; font-weight: 600; margin-top: 20px; transition: all 0.3s ease; box-shadow: 0 5px 15px rgba(var(--kpy-primary-rgb), 0.2) }
.yaf-cta:hover { background: var(--kpy-secondary); transform: translateY(-3px); box-shadow: 0 8px 25px rgba(var(--kpy-secondary-rgb), 0.3) }
@media (max-width:768px) { .yaf-invite { flex-direction: column-reverse; gap: 50px; margin-bottom: 60px } .yaf-invite-content { padding: 0 } .yaf-description { max-width: 100% } .yaf-features { grid-template-columns: 1fr; gap: 30px } }
@media (max-width:480px) { .yaf-container { padding: 40px 15px } .yaf-feature-card { padding: 30px 20px } }

/** ==========================================================
Upcoming Events Page
===========================================================**/
.kpy-ev-page-wrap { max-width: 1200px; margin: 0 auto; padding: 36px 24px 56px }
.kpy-ev-nb-line { font-size: 22px; font-weight: 700; color: #333; margin: 0 0 20px }
.kpy-ev-filterbar { display: flex; align-items: center; gap: 12px; margin-bottom: 28px; flex-wrap: wrap }
.kpy-ev-filterbar__search { flex: 1 1 240px; min-width: 200px; padding: 11px 16px; border: 1px solid #d9dfd9; border-radius: 4px; font-size: 14px }
.kpy-ev-filterbar__date-wrap { position: relative; display: flex; align-items: center; border: 1px solid #d9dfd9; border-radius: 4px; padding: 0 12px; background: #fff }
.kpy-ev-filterbar__date-wrap i { color: #666; font-size: 14px; margin-right: 6px }
.kpy-ev-filterbar__date { border: none; padding: 11px 4px; font-size: 14px; background: transparent; min-width: 40px }
.kpy-ev-filterbar__select { padding: 11px 16px; border: 1px solid #d9dfd9; border-radius: 4px; font-size: 14px; background: #fff; min-width: 150px }
.kpy-ev-filterbar__btn { background: #2ca0e0; color: #fff; border: none; border-radius: 4px; width: 42px; height: 42px; display: flex; align-items: center; justify-content: center; cursor: pointer; font-size: 16px }
.kpy-ev-filterbar__btn:hover { background: #248dc7 }
.kpy-ev-rows { display: flex; flex-direction: column; gap: 14px }
.kpy-ev-row { display: flex; align-items: center; gap: 20px; background: #f7f9f7; border: 1px solid #e6ebe6; border-radius: 6px; padding: 18px 24px }
.kpy-ev-row__badge { flex: 0 0 90px; width: 90px; height: 90px; background: #2ca0e0; border-radius: 6px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #fff; text-align: center }
.kpy-ev-row__weekday { font-size: 10px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; opacity: .85 }
.kpy-ev-row__day { font-size: 26px; font-weight: 800; line-height: 1.1 }
.kpy-ev-row__month { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .5px }
.kpy-ev-row__body { flex: 1 1 auto; min-width: 0 }
.kpy-ev-row__title { margin: 0 0 8px; font-size: 17px; font-weight: 700; display: flex; align-items: center; gap: 8px }
.kpy-ev-row__title i { color: #f0ad4e; font-size: 14px }
.kpy-ev-row__title a { color: #222; text-decoration: none }
.kpy-ev-row__title a:hover { color: #3a8a3a }
.kpy-ev-row__meta { font-size: 13px; color: #777; display: flex; align-items: center; gap: 6px }
.kpy-ev-row__cta { flex: 0 0 auto; color: #3a8a3a; font-weight: 700; text-transform: uppercase; font-size: 13px; letter-spacing: .5px; text-decoration: none; white-space: nowrap }
.kpy-ev-row__cta:hover { text-decoration: underline }
@media (max-width:640px) { .kpy-ev-row { flex-wrap: wrap } .kpy-ev-row__cta { margin-left: 110px } }
.kpy-ev-pagination { display: flex; justify-content: center; gap: 8px; margin-top: 32px }
.kpy-ev-page-btn { width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; border-radius: 4px; background: #fff; border: 1px solid #d9dfd9; color: #444; text-decoration: none; font-size: 14px }
.kpy-ev-page-btn:hover { background: #f0f4f0 }
.kpy-ev-page-btn--active { background: #2ca0e0; border-color: #2ca0e0; color: #fff }
.kpy-ev-empty { text-align: center; color: rgba(255, 255, 255, 0.8); padding: 60px 0; font-size: 15px }
.kpy-sev-status { display: inline-block; margin-left: 8px; padding: 4px 12px; border-radius: 20px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .4px; vertical-align: middle }
.kpy-sev-status--upcoming { background: #2ca0e0; color: #fff }
.kpy-sev-status--live { background: #3a8a3a; color: #fff }
.kpy-sev-status--ended { background: #999; color: #fff }
.kpy-sev-status--recurring { background: #f0ad4e; color: #fff }
.kpy-sev-map-link { color: inherit; text-decoration: none; display: inline-flex; align-items: center; gap: 6px }
.kpy-sev-map-link:hover { color: #2ca0e0 }
.kpy-sev-map-link i { font-size: 11px; opacity: .6 }
.kpy-sev-ics-btn { display: inline-flex; align-items: center; gap: 8px; background: #2ca0e0; color: #fff; text-decoration: none; font-size: 13px; font-weight: 600; padding: 8px 16px; border-radius: 4px; margin-top: 4px }
.kpy-sev-ics-btn:hover { background: #248dc7 }
.kpy-sev-register-btn { display: inline-flex; align-items: center; gap: 8px; background: #3a8a3a; color: #fff; text-decoration: none; font-size: 13px; font-weight: 600; padding: 10px 18px; border-radius: 4px }
.kpy-sev-register-btn:hover { background: #31752f }

/** =========================================================
NEWS section
===============================================================**/
.kpy-news-container { max-width: 1200px; margin: 60px auto; padding: 0 20px }
.kpy-news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin-bottom: 70px }
.kpy-news-card { position: relative; border-radius: 0 0 50px 0; overflow: hidden; height: 460px; box-shadow: 0 8px 32px rgba(var(--kpy-base-rgb), 0.13); transition: transform 0.35s cubic-bezier(.25, .8, .25, 1), box-shadow 0.35s }
.kpy-news-card:hover { transform: translateY(-6px); box-shadow: 0 18px 48px rgba(var(--kpy-base-rgb), 0.22) }
.kpy-news-card-link { display: block; height: 100%; text-decoration: none; color: inherit; position: relative }
.kpy-news-card-bg { position: absolute; inset: 0; background-size: cover; background-position: center; transition: transform 0.55s ease; z-index: 1 }
.kpy-news-card:hover .kpy-news-card-bg { transform: scale(1.06) }
.kpy-news-card-overlay { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(var(--kpy-base-rgb), 0.72) 0%, rgba(var(--kpy-base-rgb), 0.12) 55%, rgba(var(--kpy-base-rgb), 0.55) 100%); z-index: 2; transition: background 0.35s }
.kpy-news-card:hover .kpy-news-card-overlay { background: linear-gradient(to bottom, rgba(var(--kpy-base-rgb), 0.78) 0%, rgba(var(--kpy-base-rgb), 0.25) 50%, rgba(var(--kpy-base-rgb), 0.65) 100%) }
.kpy-news-card-top { position: relative; z-index: 3; padding: 22px 24px; display: flex; flex-direction: column; align-items: flex-start; gap: 8px }
.kpy-news-badge { background: var(--kpy-orange); color: var(--kpy-white); font-family: var(--kpy-font-2); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; padding: 4px 12px; border-radius: 0 0 8px 0 }
.kpy-news-card-title { font-family: var(--kpy-font); font-size: 17px; font-weight: 700; color: var(--kpy-white); margin: 4px 0 0; text-shadow: 1px 1px 4px rgba(var(--kpy-base-rgb), 0.7); letter-spacing: 0.5px; line-height: 1.4 }
.kpy-news-card-date { font-family: var(--kpy-font-2); font-size: 12px; color: rgba(255, 255, 255, 0.8); display: flex; align-items: center; gap: 6px }
.kpy-news-card-date i { color: var(--kpy-orange) }
.kpy-news-card-bottom { position: absolute; bottom: 60px; left: 0; right: 0; z-index: 3; padding: 0 24px; opacity: 0; transform: translateY(12px); transition: opacity 0.35s ease, transform 0.35s ease }
.kpy-news-card:hover .kpy-news-card-bottom { opacity: 1; transform: translateY(0) }
.kpy-news-card-excerpt { font-family: var(--kpy-font-2); font-size: 13px; color: rgba(255, 255, 255, 0.88); line-height: 1.6; margin: 0; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden }
.kpy-news-view-btn { position: absolute; bottom: 18px; right: 18px; width: 46px; height: 46px; background: var(--kpy-orange); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--kpy-white); font-size: 16px; z-index: 4; box-shadow: 0 4px 14px rgba(var(--kpy-orange-rgb), 0.45); transition: background 0.3s, transform 0.3s }
.kpy-news-card:hover .kpy-news-view-btn { background: var(--kpy-white); color: var(--kpy-orange); transform: scale(1.12) }
.kpy-news-empty { text-align: center; color: var(--kpy-grey); font-family: var(--kpy-font-2); padding: 60px 0 }



/*==========================================================
  Single News Page
==========================================================*/
.kpy-sn-wrap { max-width: 1200px; margin: 44px auto 80px; padding: 0 20px; display: grid; grid-template-columns: 1fr 320px; gap: 48px; align-items: start }
.kpy-sn-meta-bar { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 22px }
.kpy-sn-badge { background: var(--kpy-primary); color: var(--kpy-white); font-family: var(--kpy-font-2); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; padding: 4px 14px; border-radius: 0 }
.kpy-sn-date { font-family: var(--kpy-font-2); font-size: 13px; color: var(--kpy-grey); display: flex; align-items: center; gap: 6px }
.kpy-sn-date i { color: var(--kpy-primary) }
.kpy-sn-featured-img { border-radius: 0; overflow: hidden; margin-bottom: 32px; box-shadow: 0 8px 30px rgba(var(--kpy-base-rgb), 0.12) }
.kpy-sn-featured-img img { width: 100%; height: 300px; object-fit: cover; display: block; border-radius: 0 }
.kpy-sn-content { font-family: var(--kpy-font-2); font-size: 16px; line-height: 1.85; color: var(--kpy-grey) }
.kpy-sn-content h1, .kpy-sn-content h2, .kpy-sn-content h3, .kpy-sn-content h4 { font-family: var(--kpy-font); color: var(--kpy-primary); letter-spacing: 1.5px; margin-top: 36px }
.kpy-sn-content p { margin-bottom: 1.4em }
.kpy-sn-content img { max-width: 100%; height: auto; border-radius: 0; margin: 20px 0 }
.kpy-sn-content a { color: var(--kpy-primary); text-decoration: underline }
.kpy-sn-content blockquote { border-left: 4px solid var(--kpy-primary); margin: 28px 0; padding: 16px 24px; background: var(--kpy-light); border-radius: 0; font-style: italic; color: var(--kpy-primary) }
.kpy-sn-share { margin-top: 44px; padding: 28px 32px; background: var(--kpy-light); border-radius: 0; display: flex; align-items: center; flex-wrap: wrap; gap: 16px }
.kpy-sn-share-label { font-family: var(--kpy-font); font-size: 12px; color: var(--kpy-primary); letter-spacing: 2px; text-transform: uppercase; margin-right: 4px }
.kpy-sn-share-buttons { display: flex; gap: 10px; flex-wrap: wrap }
.kpy-share-btn { display: inline-flex; align-items: center; gap: 7px; font-family: var(--kpy-font-2); font-size: 13px; font-weight: 600; padding: 9px 18px; border-radius: 0; text-decoration: none; transition: transform 0.25s, box-shadow 0.25s }
.kpy-share-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(var(--kpy-base-rgb), 0.15) }
.kpy-share-fb { background: #1877f2; color: #fff }
.kpy-share-tw { background: var(--kpy-base); color: #fff }
.kpy-share-wa { background: #25d366; color: #fff }
.kpy-sn-sidebar { display: flex; flex-direction: column; gap: 20px; position: sticky; top: 100px }

/* Article Info card — icons/header now green, matches .nape-infocard__icon rule you already have */
.kpy-sn-info-card { background: var(--kpy-white); border: 1px solid rgba(var(--kpy-primary-rgb), 0.18); border-radius: 0; overflow: hidden }
.kpy-sn-info-card .kpy-sn-card-header { display: flex; align-items: center; gap: 10px; padding: 16px 20px; background: rgba(var(--kpy-primary-rgb), 0.08); border-bottom: 1px solid rgba(var(--kpy-primary-rgb), 0.16) }
.kpy-sn-info-card .kpy-sn-card-header i, .nape-infocard__icon, .nape-infocard__icon i { color: var(--kpy-primary) !important; font-size: 17px }
.kpy-sn-info-card .kpy-sn-card-header h3 { font-family: var(--kpy-font); font-size: 12px; color: var(--kpy-primary); letter-spacing: 2px; margin: 0 }
.kpy-sn-card-body { padding: 18px 20px }
.kpy-sn-info-row { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 12px; font-family: var(--kpy-font-2); font-size: 14px; color: var(--kpy-grey) }
.kpy-sn-info-row:last-child { margin-bottom: 0 }
.kpy-sn-info-row i { color: var(--kpy-primary); margin-top: 2px; flex-shrink: 0 }

/* Latest Articles card — border/shell only; list items now come free from .nape-progpg-sidebar__* */
.kpy-sn-latest { border-radius: 0 }



/* =============================================================
   Latest Articles 
   ============================================================= */
.kpy-sn-latest { border-radius: 0 }
.kpy-sn-stories-body { padding: 0 }
.kpy-sn-stories-body a { display: flex; gap: 14px; text-decoration: none; padding: 14px 16px; border-bottom: 1px solid #d6e8d2; background: #eaf5e7; align-items: center; transition: background .15s ease }
.kpy-sn-stories-body a:last-child { border-bottom: none }
.kpy-sn-stories-body a:hover { background: #ddeed8 }
.kpy-sn-stories-body a img { width: 72px; height: 64px; object-fit: cover; border-radius: 0; flex-shrink: 0; background: #fff }
.kpy-sn-stories-body .related-title { font-family: var(--kpy-font-2); font-size: .82rem; color: #2b2b2b; line-height: 1.4; font-weight: 700; flex: 1; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden }
.kpy-sn-stories-body .related-date { font-family: var(--kpy-font-2); font-size: .74rem; color: #4c6b4a; margin-top: 4px; display: block; font-weight: 400 }
.kpy-sn-stories-body a:hover .related-title { color: var(--kpy-primary) }

/*==========================================================
  News Slider
==========================================================*/
.kpy-news-slider-container { max-width: 1280px; margin: 0 auto; padding: 60px 20px; position: relative }
.kpy-news-slider-header { text-align: center; margin-bottom: 50px; padding: 0 20px }
.kpy-news-slider-title { font-family: var(--kpy-font); font-size: 3rem; color: var(--kpy-primary); margin-bottom: 15px; font-weight: 700; position: relative; display: inline-block }
.kpy-news-slider-title::after { content: ''; position: absolute; width: 70px; height: 3px; background: var(--kpy-orange); bottom: -12px; left: 50%; transform: translateX(-50%); border-radius: 0 0 3px 3px }
.kpy-news-slider-subtitle { font-family: var(--kpy-font-2); font-size: 1.05rem; color: var(--kpy-grey); max-width: 700px; margin: 0 auto; line-height: 1.6 }
.kpy-news-slider-wrapper { position: relative; padding: 0 40px }
.kpy-news-slider { display: flex; overflow-x: auto; scroll-behavior: smooth; padding: 20px 10px; gap: 28px; scrollbar-width: none; -ms-overflow-style: none }
.kpy-news-slider::-webkit-scrollbar { display: none }
.kpy-news-slide { flex: 0 0 360px; min-width: 360px; scroll-snap-align: start }
.kpy-ns-card { border-radius: 0 0 40px 0; overflow: hidden; transition: transform 0.35s ease, box-shadow 0.35s ease; height: 100%; display: flex; flex-direction: column; box-shadow: 0 6px 24px rgba(var(--kpy-base-rgb), 0.1) }
.kpy-ns-card:hover { transform: translateY(-6px); box-shadow: 0 16px 40px rgba(var(--kpy-base-rgb), 0.18) }
.kpy-ns-card-link { display: flex; flex-direction: column; height: 100%; text-decoration: none; color: inherit }
.kpy-ns-thumbnail { height: 240px; overflow: hidden; position: relative }
.kpy-ns-thumbnail img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease }
.kpy-ns-card:hover .kpy-ns-thumbnail img { transform: scale(1.06) }
.kpy-ns-content { padding: 24px; flex: 1; display: flex; flex-direction: column; background: var(--kpy-white) }
.kpy-ns-meta { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; font-size: 12px; color: var(--kpy-grey); font-family: var(--kpy-font-2) }
.kpy-ns-cat { background: var(--kpy-orange); color: var(--kpy-white); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; padding: 3px 10px; border-radius: 0 0 6px 0 }
.kpy-ns-title { font-family: var(--kpy-font); font-size: 1.15rem; line-height: 1.4; margin-bottom: 12px; color: var(--kpy-base); font-weight: 600 }
.kpy-ns-card:hover .kpy-ns-title { color: var(--kpy-orange) }
.kpy-ns-excerpt { font-family: var(--kpy-font-2); font-size: 0.9rem; color: var(--kpy-grey); line-height: 1.6; flex: 1; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden }
.kpy-ns-read-more { display: inline-flex; align-items: center; gap: 7px; font-family: var(--kpy-font-2); font-weight: 600; font-size: 13px; color: var(--kpy-orange); margin-top: 16px; transition: gap 0.3s }
.kpy-ns-card:hover .kpy-ns-read-more { gap: 11px }
.kpy-news-slider-prev, .kpy-news-slider-next { position: absolute; top: 50%; transform: translateY(-50%); width: 46px; height: 46px; border-radius: 50%; background: var(--kpy-white); border: none; box-shadow: 0 4px 14px rgba(var(--kpy-base-rgb), 0.12); cursor: pointer; display: flex; align-items: center; justify-content: center; z-index: 10; transition: background 0.3s, transform 0.3s }
.kpy-news-slider-prev { left: -8px }
.kpy-news-slider-next { right: -8px }
.kpy-news-slider-prev:hover, .kpy-news-slider-next:hover { background: var(--kpy-orange); color: var(--kpy-white); transform: translateY(-50%) scale(1.1) }
.kpy-news-slider-empty { text-align: center; padding: 60px 20px; color: var(--kpy-grey); font-family: var(--kpy-font-2); width: 100% }

/*==========================================================
  Responsive (News section)
==========================================================*/
@media (max-width: 1024px) { .kpy-news-grid { grid-template-columns: repeat(2, 1fr) } .kpy-news-slide { flex: 0 0 300px; min-width: 300px } }
@media (max-width: 900px) { .kpy-sn-wrap { grid-template-columns: 1fr } .kpy-sn-sidebar { position: static } }
@media (max-width: 768px) { .kpy-news-slider-container { padding: 40px 15px } .kpy-news-slider-title { font-size: 2rem } .kpy-news-slider-wrapper { padding: 0 20px } .kpy-news-slide { flex: 0 0 280px; min-width: 280px } .kpy-news-slider-prev { left: 0 } .kpy-news-slider-next { right: 0 } .kpy-sn-hero { min-height: 320px; padding-top: 70px } .kpy-sn-hero-inner { padding: 0 20px 36px } .kpy-sn-hero-inner h1 { font-size: 22px } .kpy-sn-featured-img img { height: 220px } .kpy-sn-share { flex-direction: column; align-items: flex-start } }
@media (max-width: 640px) { .kpy-news-grid { grid-template-columns: 1fr } .kpy-news-card { height: 380px } .kpy-news-slider-title { font-size: 1.7rem } .kpy-news-slide { flex: 0 0 260px; min-width: 260px } }

/*==========================================================
  Gallery page
===============================================================**/
.gallery-cards-container { margin: 0 auto; padding: 20px }
.gallery-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; margin-bottom: 30px }
.gallery-card { position: relative; border-radius: 8px; overflow: hidden; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); transition: all 0.3s ease; aspect-ratio: 1/1 }
.gallery-card:hover { transform: translateY(-5px); box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2) }
.gallery-thumbnail-wrapper { position: relative; width: 100%; height: 100% }
.gallery-thumbnail { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.5s ease }
.gallery-card:hover .gallery-thumbnail { transform: scale(1.05) }
.gallery-title-overlay { position: absolute; bottom: 0; left: 0; right: 0; padding: 20px; background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%); color: #fff }
.gallery-title { margin: 0; font-size: 2.2rem; line-height: 1.2; text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5); transform: translateY(10px); transition: transform 0.3s ease; opacity: 0.9 }
.gallery-card:hover .gallery-title { transform: translateY(0); opacity: 1 }
.gallery-card-link { display: block; height: 100%; text-decoration: none; color: inherit }
.gallery-pagination { display: flex; justify-content: center; margin-top: 40px }
.gallery-pagination .page-numbers { display: flex; list-style: none; padding: 0; margin: 0; gap: 8px }
.gallery-pagination .page-numbers li a, .gallery-pagination .page-numbers li span { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 10px; border-radius: 6px; background: #f8f9fa; color: #495057; text-decoration: none; font-weight: 500; transition: all 0.3s ease }
.gallery-pagination .page-numbers li a:hover { background: #228b22; color: #fff }
.gallery-pagination .page-numbers li span.current { background: #228b22; color: #fff }
.gallery-pagination .page-numbers li .pagination-arrow { margin: 0 5px }
@media (max-width: 768px) { .gallery-grid { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 15px } .gallery-title-overlay { padding: 15px } .gallery-title { font-size: 1rem } }
@media (max-width: 480px) { .gallery-grid { grid-template-columns: 1fr 1fr; gap: 10px } .gallery-title-overlay { padding: 10px } }

/*==========================================================
  Video Gallery
==========================================================*/
.kpy-vg-container { max-width: 1200px; margin: 60px auto; padding: 0 20px }
.kpy-vg-grid { display: grid; gap: 28px; margin-bottom: 50px }
.kpy-vg-cols-3 { grid-template-columns: repeat(3, 1fr) }
.kpy-vg-cols-2 { grid-template-columns: repeat(2, 1fr) }
.kpy-vg-cols-4 { grid-template-columns: repeat(4, 1fr) }
.kpy-vg-empty { text-align: center; color: var(--kpy-grey); font-family: var(--kpy-font-2); padding: 60px 0 }
.kpy-vg-card { position: relative; border-radius: 0 0 50px 0; overflow: hidden; height: 420px; cursor: pointer; box-shadow: 0 8px 32px rgba(var(--kpy-base-rgb), 0.14); transition: transform 0.35s cubic-bezier(.25, .8, .25, 1), box-shadow 0.35s }
.kpy-vg-card:hover { transform: translateY(-6px); box-shadow: 0 18px 48px rgba(var(--kpy-base-rgb), 0.24) }
.kpy-vg-thumb { position: absolute; inset: 0; background-size: cover; background-position: center; transition: transform 0.55s ease; z-index: 1 }
.kpy-vg-card:hover .kpy-vg-thumb { transform: scale(1.06) }
.kpy-vg-overlay { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(var(--kpy-base-rgb), 0.72) 0%, rgba(var(--kpy-base-rgb), 0.15) 45%, rgba(var(--kpy-base-rgb), 0.55) 100%); z-index: 2; transition: background 0.35s }
.kpy-vg-card:hover .kpy-vg-overlay { background: linear-gradient(to bottom, rgba(var(--kpy-base-rgb), 0.80) 0%, rgba(var(--kpy-base-rgb), 0.30) 45%, rgba(var(--kpy-base-rgb), 0.65) 100%) }
.kpy-vg-card-top { position: relative; z-index: 3; padding: 22px 22px 0; display: flex; flex-direction: column; align-items: flex-start; gap: 7px }
.kpy-vg-badge { background: var(--kpy-orange); color: var(--kpy-white); font-family: var(--kpy-font-2); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; padding: 4px 12px; border-radius: 0 0 8px 0 }
.kpy-vg-title { font-family: var(--kpy-font); font-size: 16px; font-weight: 700; color: var(--kpy-white); margin: 0; text-shadow: 1px 1px 4px rgba(var(--kpy-base-rgb), 0.7); letter-spacing: 0.5px; line-height: 1.4; text-transform: uppercase }
.kpy-vg-date { font-family: var(--kpy-font-2); font-size: 12px; color: rgba(255, 255, 255, 0.8); display: flex; align-items: center; gap: 5px }
.kpy-vg-date i { color: var(--kpy-orange) }
.kpy-vg-duration { position: absolute; top: 18px; right: 18px; z-index: 3; background: rgba(var(--kpy-base-rgb), 0.75); color: var(--kpy-white); font-family: var(--kpy-font-2); font-size: 12px; font-weight: 600; padding: 4px 10px; border-radius: 4px; display: flex; align-items: center; gap: 5px }
.kpy-vg-duration i { color: var(--kpy-orange); font-size: 11px }
.kpy-vg-play-btn { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) scale(1); z-index: 4; width: 64px; height: 64px; background: rgba(var(--kpy-orange-rgb), 0.9); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--kpy-white); font-size: 22px; box-shadow: 0 6px 24px rgba(var(--kpy-orange-rgb), 0.55); transition: transform 0.3s, background 0.3s }
.kpy-vg-card:hover .kpy-vg-play-btn { transform: translate(-50%, -50%) scale(1.15); background: var(--kpy-orange) }
.kpy-vg-play-btn i { margin-left: 4px }
.kpy-vg-source-icon { position: absolute; bottom: 18px; right: 18px; z-index: 4; width: 38px; height: 38px; background: rgba(var(--kpy-base-rgb), 0.65); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--kpy-white); font-size: 15px; transition: background 0.3s }
.kpy-vg-card:hover .kpy-vg-source-icon { background: var(--kpy-primary) }
.kpy-vg-source-icon .fa-youtube { color: #ff4444 }
.kpy-vg-pagination { display: flex; justify-content: center; gap: 10px; margin-top: 20px; flex-wrap: wrap }
.kpy-vg-page-btn { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 0 0 12px 0; background: var(--kpy-light); color: var(--kpy-primary); font-family: var(--kpy-font-2); font-weight: 700; font-size: 14px; text-decoration: none; transition: background 0.25s, color 0.25s, transform 0.25s }
.kpy-vg-page-btn:hover { background: var(--kpy-primary); color: var(--kpy-white); transform: translateY(-2px) }
.kpy-vg-page-btn.active { background: var(--kpy-orange); color: var(--kpy-white); cursor: default; pointer-events: none }

/*==========================================================
  Video Modal
==========================================================*/
.kpy-vg-modal { position: fixed; inset: 0; z-index: 99999; display: flex; align-items: center; justify-content: center; visibility: hidden; opacity: 0; transition: opacity 0.3s ease, visibility 0.3s ease }
.kpy-vg-modal.is-open { visibility: visible; opacity: 1 }
.kpy-vg-modal-backdrop { position: absolute; inset: 0; background: rgba(var(--kpy-base-rgb), 0.88); backdrop-filter: blur(4px); cursor: pointer }
.kpy-vg-modal-inner { position: relative; z-index: 2; width: 92%; max-width: 920px; background: var(--kpy-base); border-radius: 0 0 40px 0; box-shadow: 0 30px 80px rgba(0, 0, 0, 0.6); display: flex; flex-direction: column; max-height: 90vh; overflow: hidden; animation: kpy-modal-in 0.35s cubic-bezier(.25, .8, .25, 1) both }
.kpy-vg-modal.is-open .kpy-vg-modal-inner { animation: kpy-modal-in 0.35s cubic-bezier(.25, .8, .25, 1) both }
@keyframes kpy-modal-in { from { opacity: 0; transform: translateY(30px) scale(0.96) } to { opacity: 1; transform: translateY(0) scale(1) } }
.kpy-vg-modal-header { display: flex; align-items: center; justify-content: space-between; padding: 16px 24px; border-bottom: 1px solid rgba(255, 255, 255, 0.1); flex-shrink: 0 }
.kpy-vg-modal-title { font-family: var(--kpy-font); font-size: 14px; color: var(--kpy-white); letter-spacing: 2px; text-transform: uppercase; opacity: 0.9; flex: 1; margin-right: 16px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis }
.kpy-vg-modal-close { width: 38px; height: 38px; border-radius: 50%; background: rgba(var(--kpy-orange-rgb), 0.85); border: none; color: var(--kpy-white); font-size: 16px; cursor: pointer; display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: background 0.25s, transform 0.25s }
.kpy-vg-modal-close:hover { background: var(--kpy-orange); transform: rotate(90deg) scale(1.1) }
.kpy-vg-modal-body { padding: 0; flex: 1; overflow: hidden }
.kpy-vg-video-wrap { position: relative; width: 100%; padding-bottom: 56.25%; background: #000 }
.kpy-vg-video-wrap iframe, .kpy-vg-video-wrap video { position: absolute; inset: 0; width: 100%; height: 100%; border: none; display: block }
@media (max-width: 1024px) { .kpy-vg-cols-3 { grid-template-columns: repeat(2, 1fr) } .kpy-vg-cols-4 { grid-template-columns: repeat(2, 1fr) } }
@media (max-width: 768px) { .kpy-vg-cols-2, .kpy-vg-cols-3, .kpy-vg-cols-4 { grid-template-columns: 1fr } .kpy-vg-card { height: 360px } .kpy-vg-modal-inner { width: 98%; border-radius: 0 0 24px 0 } .kpy-vg-modal-title { font-size: 12px } }
@media (max-width: 480px) { .kpy-vg-container { padding: 0 12px; margin: 40px auto } .kpy-vg-play-btn { width: 52px; height: 52px; font-size: 18px } }

/** ============================================================
Error 404 Page Not Found CSS
=============================================================**/
.Error_404 { overflow: hidden; padding: 80px 0 120px }
.Error_404 .error_pic { width: 35%; float: left; text-align: center }
.Error_404 .error_pic i { color: #F72331; font-size: 250px; line-height: 250px; margin-right: .2em; text-align: center; font-variant: normal; text-transform: none; margin-left: .2em }
.Error_404 .error_desk { width: 65%; float: left; padding-top: 40px }
.Error_404 .error_desk h2 { font-size: 55px; line-height: 60px; color: #F72331; font-weight: 500 }
.Error_404 .error_desk h4 { font-size: 28px; line-height: 30px }
.Error_404 .error_desk p .check { line-height: 45px; font-size: 16px }
.Error_404 .error_desk p .button { padding: 13px 20px; margin: 0; border-radius: 5px; display: inline; margin-left: 10px; box-shadow: inset 0 0 0 0 }
.Error_404 .error_desk p .button:hover { color: #f9f9f9; text-decoration: none; background: #F72331 }
a.button, a.tp-button { transition: .2s all; background: transparent; color: #F72331; border: solid 2px }
.wp-block-ub-tabbed-content-tab-title strong { font-weight: 500 !important }

/*------------------------------------*\
    RESPONSIVE
\*------------------------------------*/
@media only screen and (max-width: 600px) { .menu-section .logo { object-fit: contain !important; height: 70px } .menu-section .navbar-nav { height: 100%; display: flex; align-items: flex-start; gap: 5px } .menu-section .navbar-nav .nav-link { color: var(--kpy-black) !important; font-family: var(--kpy-font); font-weight: 400; text-transform: uppercase; letter-spacing: 1px; font-size: 16px; height: 40px; display: flex; align-items: center; position: relative; transition: all 0.3s ease; padding: 0 0.5rem !important } .menu-section { height: 80px; position: relative; top: 0; z-index: 1000; background: #f7f7f7; height: 80px; display: flex; align-items: center; transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94); box-shadow: 0 2px 10px rgba(0, 0, 0, 0) } .intro-image-col { display: flex; flex-direction: column; align-items: center; padding-bottom: 20px; padding-top: 0 } .message-heading { font-size: 25px; font-weight: 400; color: var(--kpy-primary) } .president-img img { margin-bottom: 0; height: 250px; width: 100%; max-width: 100%; object-position: top } .president-message-text p { margin-top: 0; margin-bottom: 16px; font-size: 1rem; font-weight: 400; line-height: 1.5; color: #212529 } .president-message-text { display: -webkit-box; -webkit-line-clamp: 10; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; max-height: calc(1.6em * 10) } .message-button { display: block; padding-top: 10px } .rotary-content { padding: 15px } .rotary-header h1, .president-header h1 { font-size: 25px } .president-profile { flex-direction: column; justify-content: center } .president-photo { width: 200px; height: 200px } #downloads-table { border-spacing: 0 } #downloads-table tr { display: flex; flex-direction: column; margin-bottom: 20px } #downloads-table td { width: 100% !important; display: block; padding: 15px } .member-thumbnail { margin-bottom: 15px } .project-image { height: 180px } .contact-page { margin: 20px 0; padding: 40px 0 } .contact-form, .contact-info { padding: 25px } .contact-form { margin-bottom: 30px } .contact-info ul li strong { width: 70px } .map-container iframe { height: 250px } .footer-menus { gap: 5px; font-size: 12px } .footer-menus a { font-size: 12px } .footer-menus .social-links a { font-size: 18px } .donation-form-area { padding-left: 5%; padding-right: 5% } }

/* =============================================
   OFFCANVAS MOBILE NAVIGATION DRAWER
   ============================================= */
.nape-offcanvas { width: 320px !important; background: #1a1a1a; border-left: 3px solid var(--kpy-primary) }
.nape-offcanvas-header { background: #111; padding: 18px 20px; border-bottom: 1px solid rgba(255, 255, 255, .08); display: flex; align-items: center; justify-content: space-between }
.nape-offcanvas-logo { max-height: 52px; width: auto }
.nape-offcanvas-body { padding: 24px 20px 32px }
.nape-offcanvas-menu { list-style: none; margin: 0; padding: 0 }
.nape-offcanvas-menu li { border-bottom: 1px solid rgba(255, 255, 255, .07) }
.nape-offcanvas-menu li:last-child { border-bottom: none }
.nape-offcanvas-menu li a { display: block; font-family: var(--kpy-font-2); font-size: .95rem; font-weight: 600; color: rgba(255, 255, 255, .88); text-decoration: none; padding: 13px 4px; letter-spacing: .02em; transition: color .2s ease, padding-left .2s ease }
.nape-offcanvas-menu li a:hover, .nape-offcanvas-menu li a:focus { color: var(--kpy-primary); padding-left: 8px }
.nape-offcanvas-menu .sub-menu { list-style: none; margin: 0; padding: 0 0 6px 16px }
.nape-offcanvas-menu .sub-menu li { border-bottom: none }
.nape-offcanvas-menu .sub-menu li a { font-size: .88rem; font-weight: 500; color: rgba(255, 255, 255, .6); padding: 8px 4px }
.nape-offcanvas-menu .sub-menu li a:hover { color: var(--kpy-primary) }
.nape-offcanvas-cta .btn-nape-primary { background: var(--kpy-blue); color: #fff !important; border: none; border-radius: 6px; font-family: var(--kpy-font-2); font-weight: 700; font-size: .9rem; letter-spacing: .04em; text-transform: uppercase; padding: 12px 20px; transition: background .2s ease }
.nape-offcanvas-cta .btn-nape-primary:hover { background: #178aa8 }
.nape-offcanvas-socials a { color: rgba(255, 255, 255, .6); font-size: 1.1rem; text-decoration: none; transition: color .2s ease }
.nape-offcanvas-socials a:hover { color: var(--kpy-primary) }
.offcanvas-backdrop { background-color: rgba(0, 0, 0, .65) !important }

/* =============================================
   STICKY HEADER - body padding so content
   doesn't hide behind the fixed header
   ============================================= */
body { padding-top: 0 !important }
:target { scroll-margin-top: 120px }
#napeHeader { z-index: 1030 }

/* =============================================
   KEN BURNS SLIDER - Swiper init script safety
   ============================================= */
.uw-hero-slider .uw-slider-arrow { display: none }
.uw-hero-slider.swiper-ready .uw-slider-arrow { display: block }

/* =============================================
   FRONT PAGE CONTENT
   ============================================= */
.fc-front-content { margin: 0; padding: 0 }

/* =============================================
   ACCORDION — Core Details/Summary blocks
   ============================================= */
details.wp-block-details, details { background: #fff; border: 1px solid #e2e8e2; border-left: 4px solid var(--kpy-primary); border-radius: 4px; margin-bottom: 10px; overflow: hidden; transition: box-shadow .2s ease }
details.wp-block-details:hover, details:hover { box-shadow: 0 2px 10px rgba(0, 0, 0, .06) }
details summary, details.wp-block-details summary { display: flex; justify-content: space-between; align-items: center; padding: 16px 20px; cursor: pointer; font-family: var(--kpy-font-2); font-size: 1rem; font-weight: 700; color: var(--kpy-heading-text); list-style: none; gap: 12px; transition: color .2s ease, background .2s ease }
details summary::-webkit-details-marker { display: none }
details summary::after { content: '+'; font-size: 1.3rem; font-weight: 400; color: var(--kpy-primary); flex-shrink: 0; line-height: 1; transition: transform .25s ease }
details[open] summary::after { content: '−'; transform: rotate(180deg) }
details[open] summary { color: var(--kpy-primary); border-bottom: 1px solid #e2e8e2; background: #f7faf7 }
details>*:not(summary) { padding: 16px 20px; font-family: var(--kpy-font-2); font-size: .97rem; line-height: 1.75; color: var(--kpy-body-text); background: #fafcfa }
details>p:last-child { margin-bottom: 0 }
.wp-block-accordion { background: #fff; border: 1px solid #e2e8e2; border-left: 4px solid var(--kpy-primary); border-radius: 4px; margin-bottom: 10px }
.wp-block-accordion__summary { display: flex; justify-content: space-between; align-items: center; padding: 16px 20px; cursor: pointer; font-family: var(--kpy-font-2); font-size: 1rem; font-weight: 700; color: var(--kpy-heading-text); list-style: none; gap: 12px; transition: color .2s ease }
.wp-block-accordion__summary::-webkit-details-marker { display: none }
.wp-block-accordion__summary::after { content: '+'; font-size: 1.3rem; font-weight: 400; color: var(--kpy-primary); flex-shrink: 0 }
details[open]>.wp-block-accordion__summary::after { content: '−' }
details[open]>.wp-block-accordion__summary { color: var(--kpy-primary); border-bottom: 1px solid #e2e8e2 }
.wp-block-accordion__content { padding: 16px 20px; font-family: var(--kpy-font-2); font-size: .97rem; line-height: 1.75; color: var(--kpy-body-text); background: #fafcfa }
.page-id-796 details, .nape-achievements-section details { border-left-color: var(--kpy-primary) }

/* =============================================
   FOOTER - font override to DM Sans
   ============================================= */
.fc-footer-v2-col-title, .fc-footer-v2-about-text, .fc-footer-v2-links a, .fc-footer-v2-contact-item span, .fc-footer-v2-copy, .fc-footer-v2-credit-wrap { font-family: var(--kpy-font-2) !important }

/* =============================================
   RESPONSIVE TWEAKS - mobile header
   ============================================= */
@media (max-width: 991px) { .nape-main-nav .container-xxl { padding-left: 16px; padding-right: 16px } .nape-logo-box { padding: 8px 16px } .nape-nav-logo { max-height: 58px } }
@media (max-width: 480px) { .nape-offcanvas { width: 290px !important } }

/* =============================================================
   HOMEPAGE — News/Publications/Activities/Story TABS
   ============================================================= */
.nape-intro-section { padding: 60px 24px 0; background: #fff }
.fc-inner-main .wp-block-group.nape-intro-section>.wp-block-group { max-width: 1200px; margin: 0 auto }
.fc-inner-main .wp-block-group.home-cta { margin: 0 }
.fc-inner-main .wp-block-group.home-cta>.wp-block-group.home-membership { max-width: 1240px; margin: 0 auto; padding: 72px 24px 88px }
.fc-inner-main .home-cta .wp-block-heading, .fc-inner-main .home-cta h2 { font-size: clamp(1.7rem, 2.3vw, 2.2rem); font-weight: 800; letter-spacing: .02em; margin-bottom: 14px; color: #fff !important }
.fc-inner-main .home-cta .wp-block-paragraph p, .fc-inner-main .home-cta .wp-block-paragraph { color: rgba(255, 255, 255, .92) !important; max-width: 920px; margin: 0 auto 32px; font-size: 1rem }
.nape-tabs { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 24px 0 }
.nape-tabs__nav { display: flex; align-items: stretch; gap: 0; border-bottom: none; margin-bottom: 0; flex-wrap: wrap }
.nape-tabs__nav-btn { font-family: var(--kpy-font-2); font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 10px 24px; border: 2px solid #e0e0e0; border-bottom: none; background: #fff; color: var(--kpy-heading-text); cursor: pointer; transition: background .18s ease, color .18s ease, border-color .18s ease; margin-right: 4px; position: relative; bottom: -2px }
.nape-tabs__nav-btn:first-child { border-left-color: #e0e0e0 }
.nape-tabs__nav-btn.active, .nape-tabs__nav-btn[aria-selected="true"] { background: var(--kpy-primary); color: #fff; border-color: var(--kpy-primary); z-index: 1 }
.nape-tabs__nav-btn:hover:not(.active) { background: #f4f9f4; color: var(--kpy-primary); border-color: var(--kpy-primary) }
.nape-tabs__panels { border: 2px solid #e0e0e0; padding: 28px 0 0; background: #fff }
.nape-tabs__panel { display: none }
.nape-tabs__panel.active, .nape-tabs__panel[data-active="true"] { display: block }
.fc-inner-main .nape-tabs__link { min-height: 48px; padding: 12px 18px; font-size: .9rem; border-radius: 6px 6px 0 0; box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .04) }
.fc-inner-main .nape-tabs__link.is-active { background: #fff; color: #2b2b2b; box-shadow: inset 0 -2px 0 var(--kpy-primary) }
.fc-inner-main .nape-tabs__panel { padding: 24px 24px 28px }
.fc-inner-main .nape-story { gap: 42px; align-items: center }
.fc-inner-main .nape-story__media { max-width: 460px }
.fc-inner-main .nape-slider__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 20px }
.fc-inner-main .nape-project { background: #fff; border-radius: 10px; overflow: hidden; box-shadow: 0 8px 20px rgba(0, 0, 0, .08) }
.fc-inner-main .nape-project__img img { width: 100%; height: 180px; object-fit: cover; display: block }
.fc-inner-main .nape-project__content { padding: 16px 18px 20px }
.fc-inner-main .nape-project__content h3 { font-size: 1rem; margin-bottom: 8px; color: #2b2b2b }
.fc-inner-main .nape-project__content a { color: var(--kpy-primary); font-weight: 700; text-decoration: none }

/* =============================================================
   HOMEPAGE — News cards row (4 columns) inside tab panel
   ============================================================= */
.nape-news-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; padding: 0 0 32px }
.nape-news-card { display: flex; flex-direction: column; background: #fff; border: 1px solid #ebebeb; border-radius: 4px; overflow: hidden; transition: box-shadow .2s ease }
.nape-news-card:hover { box-shadow: 0 4px 16px rgba(0, 0, 0, .09) }
.nape-news-card__img-wrap { width: 100%; aspect-ratio: 4/3; overflow: hidden; background: #e9f0e9 }
.nape-news-card__img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; display: block }
.nape-news-card:hover .nape-news-card__img-wrap img { transform: scale(1.04) }
.nape-news-card__body { padding: 14px 14px 12px; flex: 1; display: flex; flex-direction: column }
.nape-news-card__title { font-family: var(--kpy-font-2); font-size: .95rem; font-weight: 700; color: var(--kpy-heading-text); line-height: 1.4; margin: 0 0 10px; flex: 1 }
.nape-news-card__title a { color: inherit; text-decoration: none }
.nape-news-card__title a:hover { color: var(--kpy-primary) }
.nape-news-card__date { font-family: var(--kpy-font-2); font-size: .8rem; color: rgba(255, 255, 255, 0.8); display: flex; align-items: center; gap: 6px }
.nape-news-card__date i { color: var(--kpy-primary); font-size: .85rem }
@media (max-width: 991px) { .nape-news-row { grid-template-columns: repeat(2, 1fr) } }
@media (max-width: 576px) { .nape-news-row { grid-template-columns: 1fr } }

/* =============================================================
   HOMEPAGE — infobox publication links (inside Publications tab)
   ============================================================= */
.nape-infobox-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; padding: 0 0 28px }
.nape-infobox { display: flex; align-items: center; gap: 12px; background: #f4f9f4; border: 1px solid #dce9dc; border-left: 4px solid var(--kpy-primary); border-radius: 4px; padding: 12px 16px; text-decoration: none; transition: background .18s ease, box-shadow .18s ease }
.nape-infobox:hover { background: #eaf4ea; box-shadow: 0 2px 8px rgba(74, 156, 62, .12); text-decoration: none }
.nape-infobox__icon { font-size: 1.3rem; color: var(--kpy-primary); flex-shrink: 0 }
.nape-infobox__label { font-family: var(--kpy-font-2); font-size: .88rem; font-weight: 700; color: var(--kpy-heading-text); text-transform: uppercase; letter-spacing: .03em; line-height: 1.3 }
@media (max-width: 768px) { .nape-infobox-grid { grid-template-columns: repeat(2, 1fr) } }
@media (max-width: 480px) { .nape-infobox-grid { grid-template-columns: 1fr } }

/* =============================================================
   HOMEPAGE — NAPE Projects section
   ============================================================= */
.nape-projects-section { background: var(--kpy-primary); padding: 48px 0 52px }
.nape-projects-section__inner { max-width: 1200px; margin: 0 auto; padding: 0 24px }
.nape-projects-section__heading { text-align: center; color: #fff !important; font-family: var(--kpy-font-2) !important; font-size: 1.55rem !important; font-weight: 800 !important; text-transform: uppercase; letter-spacing: .04em; margin-bottom: 8px !important }
.nape-projects-section__sub { text-align: center; color: rgba(255, 255, 255, .88); font-size: .95rem; line-height: 1.65; max-width: 820px; margin: 0 auto 32px }
.nape-projects-slider-wrap { position: relative }
.nape-projects-swiper .swiper-slide { width: 220px }
.nape-project-card { background: #fff; border-radius: 4px; overflow: hidden; display: flex; flex-direction: column }
.nape-project-card__img { width: 100%; height: 150px; object-fit: cover; display: block }
.nape-project-card__body { padding: 14px 14px 16px; background: #fff; flex: 1 }
.nape-project-card__title { font-family: var(--kpy-font-2); font-size: .9rem; font-weight: 700; color: var(--kpy-heading-text); margin: 0 0 8px; line-height: 1.3; text-transform: none; letter-spacing: 0 }
.nape-project-card__link { font-family: var(--kpy-font-2); font-size: .78rem; font-weight: 700; color: var(--kpy-primary); text-decoration: none; text-transform: uppercase; letter-spacing: .05em; display: inline-flex; align-items: center; gap: 4px }
.nape-project-card__link:hover { color: var(--kpy-olive-dark); text-decoration: underline }
.nape-projects-prev, .nape-projects-next { position: absolute; top: 50%; transform: translateY(-50%); z-index: 10; width: 36px; height: 36px; border-radius: 50%; background: rgba(255, 255, 255, .25); border: 2px solid rgba(255, 255, 255, .6); color: #fff; font-size: 1.1rem; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background .2s ease }
.nape-projects-prev:hover, .nape-projects-next:hover { background: rgba(255, 255, 255, .45) }
.nape-projects-prev { left: -46px }
.nape-projects-next { right: -46px }

/* =============================================================
   HOMEPAGE — Strategic Partners logo slider
   ============================================================= */
   
   
.nape-partners-section { padding: 52px 0 56px; background: #fff }
.nape-partners-section__inner { max-width: 1200px; margin: 0 auto; padding: 0 24px }
.nape-partners-section__heading { font-family: var(--kpy-font-2) !important; font-size: 1.3rem !important; font-weight: 800 !important; text-transform: uppercase; letter-spacing: .06em; color: var(--kpy-heading-text) !important; margin: 0 0 28px !important }
.nape-partners-slider-wrap { position: relative }
.nape-partners-swiper .swiper-slide { display: flex; align-items: center; justify-content: center; padding: 8px }
.nape-partners-swiper .swiper-slide img { max-height: 72px; max-width: 160px; width: auto; height: auto; object-fit: contain; filter: grayscale(20%); transition: filter .2s ease }
.nape-partners-swiper .swiper-slide img:hover { filter: grayscale(0%) }
.nape-partners-prev, .nape-partners-next { position: absolute; top: 50%; transform: translateY(-50%); z-index: 10; width: 36px; height: 36px; border-radius: 50%; background: #fff; border: 2px solid #d0d8d0; color: var(--kpy-heading-text); font-size: 1rem; display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 2px 8px rgba(0, 0, 0, .1); transition: border-color .2s ease, color .2s ease }
.nape-partners-prev:hover, .nape-partners-next:hover { border-color: var(--kpy-primary); color: var(--kpy-primary) }
.nape-partners-prev { left: -46px }
.nape-partners-next { right: -46px }
@media (max-width: 768px) { .nape-partners-prev { left: -16px } .nape-partners-next { right: -16px } .nape-projects-prev { left: -16px } .nape-projects-next { right: -16px } }

/* =============================================================
   WHO WE ARE
   ============================================================= */
.nape-aboutpg-section { max-width: 1200px; margin: 0 auto; padding: 52px 40px 56px; background: #fff; box-sizing: border-box }
.nape-aboutpg-section .wp-block-columns { display: flex !important; flex-wrap: wrap !important; gap: 40px !important; align-items: flex-start !important }
.nape-aboutpg-section .wp-block-column { min-width: 0 !important; word-break: break-word }
.nape-aboutpg-section .aboutpg-section-right img { width: 100%; height: auto; border-radius: 6px; display: block; box-shadow: 0 4px 20px rgba(0, 0, 0, .10) }
.nape-aboutpg-section h2 { font-family: var(--kpy-font-2) !important; font-size: 1.5rem !important; font-weight: 800 !important; color: var(--kpy-heading-text) !important; text-transform: none !important; letter-spacing: 0 !important; margin-bottom: 14px !important; padding-bottom: 12px; position: relative }
.nape-aboutpg-section h2::after { content: ""; position: absolute; bottom: 0; left: 0; width: 36px; height: 3px; background: var(--kpy-primary) }
.nape-aboutpg-section h3 { font-family: var(--kpy-font-2) !important; font-size: 1.15rem !important; font-weight: 700 !important; color: var(--kpy-heading-text) !important; text-transform: none !important; letter-spacing: 0 !important; margin: 28px 0 6px !important; padding-bottom: 8px; position: relative }
.nape-aboutpg-section h3::after { content: ""; position: absolute; bottom: 0; left: 0; width: 24px; height: 2px; background: var(--kpy-primary) }
.nape-aboutpg-section p { font-size: .97rem; line-height: 1.8; color: #555; margin-bottom: 14px }
.nape-aboutpg-section .nape-values-list { list-style: none; margin: 0 0 20px; padding: 0 }
.nape-aboutpg-section .nape-values-list li { font-family: var(--kpy-font-2); font-size: .95rem; color: var(--kpy-body-text); padding: 6px 0 6px 26px; position: relative; border-bottom: 1px solid #f0f0f0 }
.nape-aboutpg-section .nape-values-list li::before { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 14px; height: 14px; border-radius: 50%; border: 2px solid var(--kpy-primary); background: transparent }
.nape-aboutpg-section .nape-btn-readmore { display: inline-block; background: var(--kpy-primary); color: #fff !important; font-family: var(--kpy-font-2); font-size: .88rem; font-weight: 700; text-decoration: none; padding: 11px 28px; border-radius: 4px; text-transform: none; margin-top: 10px; transition: background .2s ease }
.nape-aboutpg-section .nape-btn-readmore:hover { background: var(--kpy-olive-dark); color: #fff !important }
.nape-values-band { background: var(--kpy-primary); padding: 52px 40px; display: flex; align-items: center; gap: 40px }
.nape-values-band__img { flex: 0 0 42%; max-width: 42% }
.nape-values-band__img img { width: 100%; height: 320px; object-fit: cover; border-radius: 4px; display: block }
.nape-values-band__content { flex: 1; color: #fff }
.nape-values-band__heading { font-family: var(--kpy-font-2) !important; font-size: 1.4rem !important; font-weight: 800 !important; color: #fff !important; margin-bottom: 18px !important }
.nape-values-band__list { list-style: none; margin: 0 0 22px; padding: 0 }
.nape-values-band__list li { font-family: var(--kpy-font-2); font-size: .95rem; color: rgba(255, 255, 255, .92); padding: 7px 0 7px 28px; position: relative; border-bottom: 1px solid rgba(255, 255, 255, .15) }
.nape-values-band__list li::before { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 14px; height: 14px; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .7) }
.nape-org-structure { max-width: 1200px; margin: 0 auto; padding: 52px 40px 56px; background: #fff; box-sizing: border-box }
.nape-org-structure h2 { font-family: var(--kpy-font-2) !important; font-size: 1.35rem !important; font-weight: 800 !important; color: var(--kpy-heading-text) !important; text-transform: none !important; letter-spacing: 0 !important; margin-bottom: 24px !important }
.nape-org-structure img { max-width: 100%; height: auto; display: block }
@media (max-width: 768px) { .nape-aboutpg-section, .nape-org-structure { padding-left: 20px; padding-right: 20px } .nape-aboutpg-section .wp-block-column { flex-basis: 100% !important; max-width: 100% !important } .nape-values-band { flex-direction: column; padding: 40px 20px } .nape-values-band__img { flex: 0 0 100%; max-width: 100% } .nape-values-band__img img { height: 220px } }

/* =============================================================
   CORE VALUES PAGE
   ============================================================= */
.nape-values-section { max-width: 1200px; margin: 0 auto; padding: 52px 40px 60px; background: #fff; box-sizing: border-box }
.nape-values-section__heading { font-family: var(--kpy-font-2) !important; font-size: 1.5rem !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: .06em !important; color: var(--kpy-primary) !important; text-align: center; margin-bottom: 8px !important }
.nape-values-section__rule { width: 40px; height: 3px; background: var(--kpy-primary); margin: 0 auto 40px; border: none }
.nape-values-section .wp-block-columns { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 32px 40px !important; align-items: start !important }
.nape-infocard { display: flex; flex-direction: column; align-items: flex-start; gap: 0 }
.nape-infocard__icon-wrap { width: 56px; height: 56px; border-radius: 50%; background: #f0f8f0; border: 2px solid var(--kpy-primary); display: flex; align-items: center; justify-content: center; margin-bottom: 14px; flex-shrink: 0 }
.nape-infocard__icon-wrap .bi, .nape-infocard__icon-wrap i { font-size: 1.5rem; color: var(--kpy-primary) }
.nape-infocard__title { font-family: var(--kpy-font-2) !important; font-size: 1.05rem !important; font-weight: 700 !important; color: var(--kpy-heading-text) !important; text-transform: none !important; letter-spacing: 0 !important; margin: 0 0 8px !important }
.nape-infocard__desc { font-family: var(--kpy-font-2); font-size: .93rem; line-height: 1.75; color: #555; margin: 0 }
@media (max-width: 900px) { .nape-values-section .wp-block-columns { grid-template-columns: repeat(2, 1fr) !important } }
@media (max-width: 576px) { .nape-values-section .wp-block-columns { grid-template-columns: 1fr !important } }

/* =============================================================
   NAPE STAFF CARDS — SHORTCODE
   ============================================================= */
.nape-staffpg-sc { margin: 24px 0 }
.nape-staff-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px }
.nape-staff-card { background: #fff; border: 1px solid #ebebeb; border-radius: 4px; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04); transition: box-shadow 0.2s ease }
.nape-staff-card:hover { box-shadow: 0 4px 16px rgba(0, 0, 0, 0.10) }
.nape-staff-card__photo { width: 100%; height: 240px; overflow: hidden; margin: 0; padding: 0; flex-shrink: 0 }
.nape-staff-card__photo img { width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block }
.nape-staff-card__text { background: #fff; padding: 12px 12px 14px; border-radius: 0; flex-grow: 1; display: flex; flex-direction: column }
.nape-staff-card__name { font-family: var(--kpy-font-2); font-size: 0.88rem; font-weight: 700; color: var(--kpy-heading-text); margin: 0 0 4px; line-height: 1.35 }
.nape-staff-card__role { font-family: var(--kpy-font-2); font-size: 0.80rem; color: var(--kpy-blue); margin: 0 0 6px; line-height: 1.4 }
.nape-staff-card__more-btn { font-family: var(--kpy-font-2); font-size: 0.80rem; font-weight: 600; color: var(--kpy-blue); background: transparent; border: none; padding: 0; cursor: pointer; text-align: left; margin-top: auto; text-decoration: none }
.nape-staff-card__more-btn:hover { color: var(--kpy-primary); text-decoration: underline }
@media (max-width: 900px) { .nape-staff-grid { grid-template-columns: repeat(2, 1fr); gap: 16px } }
@media (max-width: 600px) { .nape-staff-grid { grid-template-columns: 1fr; gap: 12px } }

/* =============================================================
   NAPE BOARD CARDS — SHORTCODE
   ============================================================= */
.nape-boardpg-sc { margin: 24px 0 }
.nape-board-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin: 0 }
.nape-board-card { background: transparent; border: none; border-radius: 0; overflow: hidden; display: flex; flex-direction: column }
.nape-board-card__photo { width: 100%; height: 240px; overflow: hidden; margin: 0; padding: 0; flex-shrink: 0 }
.nape-board-card__photo img { width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block }
.nape-board-card__text { background: #3a7c2e; padding: 12px 14px 14px; border-radius: 0; margin: 0 }
.nape-board-card__name { font-family: var(--kpy-font-2); font-size: 0.95rem; font-weight: 700; color: #ffffff; margin: 0 0 4px; line-height: 1.3 }
.nape-board-card__role { font-family: var(--kpy-font-2); font-size: 0.82rem; font-weight: 500; color: #7cb971; margin: 0; line-height: 1.3 }
@media (max-width: 900px) { .nape-board-grid { grid-template-columns: repeat(2, 1fr); gap: 16px } }
@media (max-width: 600px) { .nape-board-grid { grid-template-columns: 1fr; gap: 12px } }

/* =============================================================
   NAPE BOARD PAGE
   ============================================================= */
.nape-boardpg { max-width: 1200px; margin: 0 auto; padding: 48px 40px 60px; background: #fff; box-sizing: border-box }
.nape-boardpg>.wp-block-heading, .nape-boardpg h2.wp-block-heading { font-family: var(--kpy-font-2) !important; font-size: 1.6rem !important; font-weight: 800 !important; color: var(--kpy-primary) !important; text-transform: none !important; letter-spacing: 0 !important; margin: 0 0 16px !important }
.nape-boardpg>.wp-block-paragraph, .nape-boardpg>p { font-family: var(--kpy-font-2); font-size: 0.95rem; line-height: 1.75; color: var(--kpy-blue) !important; margin: 0 0 32px; max-width: 960px }
.nape-boardpg .wp-block-columns { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 24px !important; margin-bottom: 28px !important; align-items: start !important }
.nape-boardpg .wp-block-column { padding: 0 !important; min-width: 0 !important }
.nape-boardpg .teambox { position: relative; overflow: hidden; border-radius: 0; background: transparent; border: none; box-shadow: none }
.nape-boardpg .teambox img, .nape-boardpg .teambox .wp-block-image img { width: 100% !important; height: 240px !important; object-fit: cover !important; object-position: top center !important; display: block !important; border-radius: 0 !important }
.nape-boardpg .teambox .wp-block-image { margin: 0 !important }
.nape-boardpg .napeteampg-text { background: var(--kpy-primary); padding: 12px 14px 14px; border-radius: 0 }
.nape-boardpg .napeteampg-text .wp-block-heading, .nape-boardpg .napeteampg-text h3, .nape-boardpg .napeteampg-text h4, .nape-boardpg .napeteampg-text h5 { font-family: var(--kpy-font-2) !important; font-size: 0.95rem !important; font-weight: 700 !important; color: #ffffff !important; text-transform: none !important; letter-spacing: 0 !important; margin: 0 0 4px !important; line-height: 1.3 }
.nape-boardpg .napeteampg-text p { font-family: var(--kpy-font-2); font-size: 0.82rem; font-weight: 500; color: #6bc860 !important; margin: 0; line-height: 1.4 }
.nape-boardpg .napeteampg-text a { display: none !important }
@media (max-width: 900px) { .nape-boardpg .wp-block-columns { grid-template-columns: repeat(2, 1fr) !important; gap: 20px !important } }
@media (max-width: 480px) { .nape-boardpg .wp-block-columns { grid-template-columns: 1fr 1fr !important; gap: 16px !important } .nape-boardpg { padding: 32px 16px 44px } }

/* =============================================================
   NAPE DIRECTOR & STAFF PAGE
   ============================================================= */
.nape-staffpg { max-width: 1200px; margin: 0 auto; padding: 48px 40px 60px; background: #fff; box-sizing: border-box }
.nape-staffpg>.wp-block-heading, .nape-staffpg h2.wp-block-heading { font-family: var(--kpy-font-2) !important; font-size: 1.5rem !important; font-weight: 800 !important; color: var(--kpy-heading-text) !important; text-transform: none !important; letter-spacing: 0 !important; margin: 0 0 24px !important }
.nape-staffpg .wp-block-columns { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 20px !important; margin-bottom: 24px !important; align-items: start !important }
.nape-staffpg .wp-block-column { padding: 0 !important; min-width: 0 !important }
.nape-staffpg .teambox { position: relative; overflow: hidden; border-radius: 4px; background: #fff; border: 1px solid #ebebeb; box-shadow: 0 1px 4px rgba(0, 0, 0, .04); transition: box-shadow .2s ease }
.nape-staffpg .teambox:hover { box-shadow: 0 4px 16px rgba(0, 0, 0, .10) }
.nape-staffpg .teambox img, .nape-staffpg .teambox .wp-block-image img { width: 100% !important; height: 180px !important; object-fit: cover !important; object-position: top center !important; display: block !important; border-radius: 0 !important }
.nape-staffpg .teambox .wp-block-image { margin: 0 !important }
.nape-staffpg .napeteampg-text { background: #fff !important; padding: 12px 12px 14px; border-radius: 0 }
.nape-staffpg .napeteampg-text .wp-block-heading, .nape-staffpg .napeteampg-text h3, .nape-staffpg .napeteampg-text h4, .nape-staffpg .napeteampg-text h5 { font-family: var(--kpy-font-2) !important; font-size: 0.88rem !important; font-weight: 700 !important; color: var(--kpy-heading-text) !important; text-transform: none !important; letter-spacing: 0 !important; margin: 0 0 4px !important; line-height: 1.35 }
.nape-staffpg .napeteampg-text p { font-family: var(--kpy-font-2); font-size: 0.80rem; color: var(--kpy-blue) !important; margin: 0 0 6px; line-height: 1.4 }
.nape-staffpg .napeteampg-text a, .nape-staffpg .napeteampg-text .popup-trigger, .nape-staffpg .napeteampg-text [class*="popup"] a { font-family: var(--kpy-font-2) !important; font-size: 0.80rem !important; font-weight: 600 !important; color: var(--kpy-blue) !important; text-decoration: none !important; display: inline-block !important; margin-top: 2px !important }
.nape-staffpg .napeteampg-text a:hover { color: var(--kpy-primary) !important; text-decoration: underline !important }
@media (max-width: 900px) { .nape-staffpg .wp-block-columns { grid-template-columns: repeat(2, 1fr) !important; gap: 16px !important } }
@media (max-width: 480px) { .nape-staffpg .wp-block-columns { grid-template-columns: 1fr 1fr !important; gap: 12px !important } .nape-staffpg { padding: 28px 16px 40px } }

/* =============================================================
   MEMBERSHIP PAGE
   ============================================================= */
.nape-membershippg { max-width: 860px; margin: 0 auto; padding: 48px 40px 64px; background: #fff; box-sizing: border-box }
.nape-membershippg h2 { font-family: var(--kpy-font-2) !important; font-size: 1.5rem !important; font-weight: 800 !important; color: var(--kpy-heading-text) !important; text-transform: none !important; letter-spacing: 0 !important; margin-bottom: 18px !important }
.nape-membershippg p { font-size: .97rem; line-height: 1.85; color: #555; margin-bottom: 16px }
.nape-membershippg p.nape-highlight { color: var(--kpy-blue) }
.nape-membershippg strong { color: var(--kpy-heading-text); font-weight: 700 }
.nape-membershippg a { color: var(--kpy-primary) }

/* =============================================================
   PARTNERS PAGE — [nape_partners] shortcode
   ============================================================= */
.nape-partspg { max-width: 1160px !important; margin: 0 auto !important; padding: 36px 40px 56px !important; box-sizing: border-box; background: #fff }
.nape-partners-tabs { width: 100%; font-family: var(--kpy-font-2) }
.nape-pt-nav { display: flex; align-items: stretch; gap: 0; border-bottom: 2px solid #ddd; margin-bottom: 0; flex-wrap: wrap }
.nape-pt-nav__btn { font-family: var(--kpy-font-2); font-size: 0.82rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; padding: 9px 20px; border: 2px solid #ddd; border-bottom: none; border-radius: 0; background: #fff; color: var(--kpy-heading-text); cursor: pointer; margin-bottom: -2px; position: relative; z-index: 1; transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease; white-space: nowrap; line-height: 1.4 }
.nape-pt-nav__btn--active, .nape-pt-nav__btn[aria-selected="true"] { background: var(--kpy-primary); color: #fff; border-color: var(--kpy-primary); z-index: 2 }
.nape-pt-nav__btn:not(.nape-pt-nav__btn--active):hover { background: #f4f9f4; color: var(--kpy-primary); border-color: var(--kpy-primary) }
.nape-pt-panel { display: none; padding: 28px 0 0 }
.nape-pt-panel--active, .nape-pt-panel:not([hidden]) { display: block }
.nape-pt-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border: none; border-radius: 0; overflow: hidden; background: #f5f5f5; padding: 12px }
.nape-pt-grid>div { border-right: 1px solid #e0e0e0; border-bottom: 1px solid #e0e0e0 }
.nape-pt-grid>div:nth-child(4n) { border-right: none }
.nape-pt-grid>div:nth-last-child(-n+4) { border-bottom: none }
.nape-pt-card { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; padding: 28px 16px 20px; text-align: center; min-height: 180px; background: #fff; transition: background 0.15s ease; height: 100%; box-sizing: border-box }
.nape-pt-card:hover { background: #f7fbf7 }
.nape-pt-card__logo-wrap { width: 100%; height: 80px; display: flex; align-items: center; justify-content: center; margin-bottom: 14px }
.nape-pt-card__link { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; text-decoration: none }
.nape-pt-card__logo { max-width: 130px; max-height: 72px; width: auto; height: auto; object-fit: contain; display: block; transition: opacity 0.2s ease }
.nape-pt-card:hover .nape-pt-card__logo { opacity: 0.88 }
.nape-pt-card__name { font-family: var(--kpy-font-2); font-size: 0.82rem; font-weight: 600; color: var(--kpy-blue); text-align: center; line-height: 1.4; margin: 0; width: 100%; word-break: break-word }
.nape-pt-card__name-full { display: block; color: var(--kpy-blue); font-weight: 600; font-size: 0.82rem; line-height: 1.4; text-decoration: none }
a.nape-pt-card__link~p .nape-pt-card__name-full, .nape-pt-card__name a { color: var(--kpy-blue); text-decoration: none }
.nape-pt-card__name a:hover, .nape-pt-card:hover .nape-pt-card__name-full { color: var(--kpy-primary); text-decoration: underline }
.nape-pt-empty { text-align: center; color: rgba(255, 255, 255, 0.8); padding: 48px 0; font-size: 0.95rem }
@media (max-width: 900px) { .nape-pt-grid { grid-template-columns: repeat(3, 1fr) } .nape-pt-grid>div:nth-child(4n) { border-right: 1px solid #e0e0e0 } .nape-pt-grid>div:nth-child(3n) { border-right: none } .nape-pt-grid>div:nth-last-child(-n+3) { border-bottom: none } .nape-pt-grid>div:nth-last-child(-n+4) { border-bottom: 1px solid #e0e0e0 } }
@media (max-width: 640px) { .nape-partspg { padding: 28px 16px 44px !important } .nape-pt-grid { grid-template-columns: repeat(2, 1fr) } .nape-pt-grid>div:nth-child(3n) { border-right: 1px solid #e0e0e0 } .nape-pt-grid>div:nth-child(2n) { border-right: none } .nape-pt-grid>div:nth-last-child(-n+3) { border-bottom: 1px solid #e0e0e0 } .nape-pt-grid>div:nth-last-child(-n+2) { border-bottom: none } .nape-pt-card { padding: 20px 10px 16px; min-height: 150px } .nape-pt-card__logo-wrap { height: 64px } .nape-pt-card__logo { max-width: 100px; max-height: 54px } }
@media (max-width: 400px) { .nape-pt-nav__btn { font-size: 0.74rem; padding: 8px 14px } }



/* =============================================================
   CAMPAIGN PAGES (Mabira Forest / Bujagali Dam) — CONTENT
   These classes (nape-achievements-section, aboutpg-section-right)
   wrap the main body content itself (heading + paragraphs), NOT a
   sidebar. They must stay plain: no background color, no grid,
   no width restriction — full width, transparent, normal flow.
   ============================================================= */
.nape-achievements-section { max-width: 100%; width: 100%; margin: 0; padding: 0; background: transparent; box-sizing: border-box }
.nape-achievements-section>.wp-block-columns, .nape-achievements-section>.container>.wp-block-columns { display: block !important; width: 100% !important; max-width: 100% !important; gap: 0 !important }
.nape-achievements-section .wp-block-column { flex-basis: 100% !important; width: 100% !important; max-width: 100% !important }
.nape-achievements-section .nape-achievements-article h1, .nape-achievements-section .nape-achievements-article h2 { font-family: var(--kpy-font-2) !important; font-size: 1.45rem !important; font-weight: 800 !important; color: var(--kpy-heading-text) !important; text-transform: none !important; letter-spacing: 0 !important; margin: 0 0 16px !important }
.nape-achievements-section .nape-achievements-article p { font-size: .96rem; line-height: 1.85; color: #444; margin-bottom: 16px }
.nape-achievements-section details { margin-top: 10px }
.aboutpg-section-right { background: transparent !important; border: none !important; width: 100% !important; max-width: 100% !important; position: static !important; padding: 0 !important; margin: 0 !important }
.is-layout-constrained > * { max-width: 100% !important; margin-left: 0 !important; margin-right: 0 !important }
.nape-progpg-content .container { max-width: 100% !important; width: 100% !important; margin: 0 !important; padding: 0 !important }

/* =============================================================
   BULLETPROOF FIX — targets brand-new classes added manually via
   the block editor's Advanced > "Additional CSS class(es)" panel
   (nape-fixw / nape-fixw-cols / nape-fixw-col). Since these class
   names don't exist anywhere else on the site, nothing else in the
   cascade can compete with them — this WILL win regardless of
   what theme rule was squashing the content before.
   ============================================================= */
.nape-fixw { all: unset; display: block !important; width: 100% !important; max-width: 100% !important; margin: 0 !important; padding: 0 !important; background: transparent !important; box-sizing: border-box !important }
.nape-fixw-cols { all: unset; display: flex !important; flex-wrap: wrap !important; width: 100% !important; max-width: 100% !important; gap: 20px !important; margin: 0 !important; box-sizing: border-box !important }
.nape-fixw-col { all: unset; display: block !important; flex: 1 1 100% !important; width: 100% !important; max-width: 100% !important; margin: 0 !important; box-sizing: border-box !important }
.nape-fixw h1, .nape-fixw h2, .nape-fixw h3, .nape-fixw h4, .nape-fixw p, .nape-fixw-col h1, .nape-fixw-col h2, .nape-fixw-col h3, .nape-fixw-col h4, .nape-fixw-col p { max-width: 100% !important; width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; display: block !important }

/* =============================================================
   PROGRAMME PAGES (main content column)
   ============================================================= */
.nape-progpg-wrap { display: grid; grid-template-columns: 1fr 320px; gap: 40px; max-width: 1200px; width: 100%; margin: 0 auto; padding: 48px 40px 64px; align-items: start; box-sizing: border-box }
.nape-progpg-content { min-width: 0; width: 100%; max-width: 100% }
.nape-progpg-content h1, .nape-progpg-content h2.wp-block-heading:first-child { font-family: var(--kpy-font-2) !important; font-size: 1.55rem !important; font-weight: 800 !important; color: var(--kpy-primary) !important; text-transform: none !important; letter-spacing: 0 !important; margin: 0 0 18px !important }
.nape-progpg-content h3, .nape-progpg-content h4 { font-family: var(--kpy-font-2) !important; font-size: 1.05rem !important; font-weight: 700 !important; color: var(--kpy-heading-text) !important; text-transform: none !important; letter-spacing: 0 !important; margin: 24px 0 8px !important }
.nape-progpg-content p, .nape-progpg-content .entry-content p { font-family: var(--kpy-font-2); font-size: .96rem; line-height: 1.88; color: #444; margin-bottom: 16px }
.nape-progpg-content a, .nape-progpg-content .entry-content a { color: var(--kpy-primary); text-decoration: none }
.nape-progpg-content a:hover, .nape-progpg-content .entry-content a:hover { text-decoration: underline }
.nape-progpg-content .entry-content, .nape-progpg-content.entry-content { width: 100% !important; max-width: 100% !important; background: transparent !important }
.nape-progpg-content .entry-content > *, .nape-progpg-content.entry-content > *, .nape-progpg-content .entry-content .wp-block-group, .nape-progpg-content .entry-content .wp-block-columns, .nape-progpg-content .entry-content .wp-block-column, .nape-progpg-content .entry-content p, .nape-progpg-content .entry-content h1, .nape-progpg-content .entry-content h2, .nape-progpg-content .entry-content h3, .nape-progpg-content .entry-content h4, .nape-progpg-content .entry-content ul, .nape-progpg-content .entry-content ol, .nape-progpg-content .entry-content figure { max-width: 100% !important; width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; background: transparent !important }
.nape-progpg-content .wp-block-columns { display: flex !important; flex-wrap: wrap !important; gap: 20px !important; max-width: 100% !important; width: 100% !important }
.nape-progpg-content .wp-block-column { flex: 1 1 0% !important; min-width: 0 !important; max-width: 100% !important }

/* =============================================================
   PROGRAMME PAGES — sidebar (real sidebar: light green + blue button)
   ============================================================= */
.nape-progpg-sidebar { position: sticky; top: 120px; min-width: 0 }
.nape-progpg-sidebar__inner { background: #eaf5e7; border: 1px solid #cfe6ca; border-radius: 4px; overflow: hidden; padding: 0 }
.nape-progpg-sidebar__heading { font-family: var(--kpy-font-2) !important; font-size: .82rem !important; font-weight: 900 !important; text-transform: uppercase !important; letter-spacing: .12em !important; color: var(--kpy-heading-text) !important; background: #dcedd8 !important; border: none !important; margin: 0 !important; padding: 14px 16px !important }
.nape-progpg-sidebar__list { list-style: none; margin: 0; padding: 0 }
.nape-progpg-sidebar__item { display: flex; gap: 14px; padding: 14px 16px; border-bottom: 1px solid #d6e8d2; background: #eaf5e7; transition: background .15s ease }
.nape-progpg-sidebar__item:hover { background: #ddeed8 }
.nape-progpg-sidebar__item:last-child { border-bottom: none }
.nape-progpg-sidebar__thumb { flex-shrink: 0; display: block; width: 72px; height: 64px; border-radius: 3px; overflow: hidden; background: #fff }
.nape-progpg-sidebar__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s ease }
.nape-progpg-sidebar__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 5px }
.nape-progpg-sidebar__title { font-family: var(--kpy-font-2); font-size: .82rem; font-weight: 700; color: #2b2b2b; text-decoration: none; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden }
.nape-progpg-sidebar__title:hover { color: var(--kpy-primary); text-decoration: underline }
.nape-progpg-sidebar__date { font-family: var(--kpy-font-2); font-size: .74rem; color: #4c6b4a; font-weight: 400 }
.nape-progpg-sidebar__footer { padding: 16px; text-align: left; border-top: none; background: #eaf5e7 }
.nape-progpg-sidebar__more-btn { display: inline-block; background: #2e75d6; color: #fff !important; font-family: var(--kpy-font-2); font-size: .83rem; font-weight: 700; text-decoration: none; padding: 10px 30px; border-radius: 4px; transition: background .2s ease }
.nape-progpg-sidebar__more-btn:hover { background: #1f5fb5; color: #fff !important }
.nape-progpg-sidebar__empty { font-family: var(--kpy-font-2); font-size: .85rem; color: #4c6b4a; padding: 20px 16px; margin: 0; text-align: center; background: #eaf5e7 }
@media (max-width: 1024px) { .nape-progpg-wrap { grid-template-columns: 1fr 280px; gap: 28px; padding: 40px 24px 56px } }
@media (max-width: 860px) { .nape-progpg-wrap { grid-template-columns: 1fr; padding: 32px 20px 48px } .nape-progpg-sidebar { position: static } }
@media (max-width: 480px) { .nape-progpg-wrap { padding: 24px 16px 40px } }

/* =============================================================
   CAMPAIGN PAGES sidebar — .nape-achievements-bar (used inside the FAQ two-column layout)
   ============================================================= */
.nape-achievements-bar { border: 1px solid #cfe6ca; border-radius: 4px; overflow: hidden; background: #eaf5e7; position: sticky; top: 120px }
.nape-achievements-bar>h2, .nape-achievements-bar .wp-block-heading { font-family: var(--kpy-font-2) !important; font-size: .82rem !important; font-weight: 900 !important; text-transform: uppercase !important; letter-spacing: .12em !important; color: var(--kpy-heading-text) !important; background: #dcedd8 !important; border-bottom: none !important; margin: 0 !important; padding: 14px 16px !important }
.nape-achievements-bar .sg-post-item, .nape-achievements-bar article { display: flex !important; gap: 12px !important; padding: 13px 16px !important; border-bottom: 1px solid #d6e8d2 !important; background: #eaf5e7 !important; transition: background .15s ease !important }
.nape-achievements-bar .sg-post-item:last-child, .nape-achievements-bar article:last-child { border-bottom: none !important }
.nape-achievements-bar .sg-post-item:hover, .nape-achievements-bar article:hover { background: #ddeed8 !important }
.nape-achievements-bar .sg-post-thumbnail, .nape-achievements-bar .sg-post-item img { flex-shrink: 0 !important; width: 72px !important; height: 64px !important; object-fit: cover !important; border-radius: 3px !important; display: block !important; background: #fff !important }
.nape-achievements-bar .sg-post-title a, .nape-achievements-bar h3 a, .nape-achievements-bar h4 a { font-family: var(--kpy-font-2) !important; font-size: .82rem !important; font-weight: 700 !important; color: var(--kpy-heading-text) !important; text-decoration: none !important; line-height: 1.4 !important }
.nape-achievements-bar .sg-post-title a:hover, .nape-achievements-bar h3 a:hover { color: var(--kpy-primary) !important }
.nape-achievements-bar .sg-post-date, .nape-achievements-bar time { font-family: var(--kpy-font-2) !important; font-size: .74rem !important; color: #4c6b4a !important; font-weight: 500 !important; display: block !important; margin-top: 4px !important }
.nape-achievements-bar .sg-more-btn, .nape-achievements-bar .more-posts-btn { display: inline-block !important; background: #2e75d6 !important; color: #fff !important; font-family: var(--kpy-font-2) !important; font-size: .83rem !important; font-weight: 700 !important; text-decoration: none !important; padding: 10px 30px !important; border-radius: 4px !important; margin: 14px 16px !important; transition: background .2s ease !important }
.nape-achievements-bar .sg-more-btn:hover, .nape-achievements-bar .more-posts-btn:hover { background: #1f5fb5 !important; color: #fff !important }
.nape-progpg-content .nape-achievements-bar .nape-progpg-sidebar__list { padding: 0 }
.nape-progpg-content .nape-achievements-bar .nape-progpg-sidebar__item { background: #eaf5e7; border-bottom: 1px solid #d6e8d2 }


/* =============================================================
   WHAT WE DO page
   ============================================================= */
.nape-whatwedo-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 28px }
.nape-whatwedo-card { border: 1px solid #e2eae2; border-top: 4px solid var(--kpy-primary); border-radius: 4px; padding: 20px 18px 22px; background: #fff; transition: box-shadow .2s ease }
.nape-whatwedo-card:hover { box-shadow: 0 4px 18px rgba(74, 156, 62, .12) }
.nape-whatwedo-card h3 { font-family: var(--kpy-font-2) !important; font-size: 1rem !important; font-weight: 700 !important; color: var(--kpy-heading-text) !important; margin: 0 0 10px !important }
.nape-whatwedo-card p { font-size: .9rem; color: #555; line-height: 1.7; margin: 0 0 14px }
.nape-whatwedo-card a { font-size: .82rem; font-weight: 700; color: var(--kpy-primary); text-decoration: none; text-transform: uppercase; letter-spacing: .04em }
.nape-whatwedo-card a:hover { text-decoration: underline }
@media (max-width: 768px) { .nape-whatwedo-grid { grid-template-columns: repeat(2, 1fr) } }
@media (max-width: 480px) { .nape-whatwedo-grid { grid-template-columns: 1fr } }

/* =============================================================
   PUBLICATIONS — [nape_publications] shortcode
   ============================================================= */
.npub-wrap { max-width: 1160px; margin: 0 auto; padding: 32px 24px 56px; font-family: var(--kpy-font-2) }
.npub-filterbar { display: flex; align-items: center; gap: 10px; background: #fff; border: 1px solid #dde5dd; border-radius: 6px; padding: 16px 18px; margin-bottom: 24px; flex-wrap: wrap; box-shadow: 0 1px 4px rgba(0, 0, 0, .05) }
.npub-filterbar__search { flex: 1 1 220px; min-width: 160px; padding: 9px 14px; border: 1px solid #d0d8d0; border-radius: 4px; font-family: var(--kpy-font-2); font-size: .9rem; color: #444; background: #fff; outline: none; transition: border-color .2s }
.npub-filterbar__search:focus { border-color: var(--kpy-primary) }
.npub-filterbar__search::placeholder { color: #aaa }
.npub-filterbar__selects { display: flex; gap: 8px; flex-wrap: wrap }
.npub-filterbar__select { padding: 9px 32px 9px 12px; border: 1px solid #d0d8d0; border-radius: 4px; font-family: var(--kpy-font-2); font-size: .88rem; color: #444; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23666'/%3E%3C/svg%3E") no-repeat right 10px center; appearance: none; -webkit-appearance: none; cursor: pointer; outline: none; transition: border-color .2s }
.npub-filterbar__select:focus { border-color: var(--kpy-primary) }
.npub-filterbar__btn { background: var(--kpy-blue); color: #fff; border: none; border-radius: 4px; padding: 9px 22px; font-family: var(--kpy-font-2); font-size: .9rem; font-weight: 700; cursor: pointer; white-space: nowrap; transition: background .2s ease }
.npub-filterbar__btn:hover { background: #178aa8 }
.npub-filterbar__clear { color: rgba(255, 255, 255, 0.8); font-size: 1.1rem; text-decoration: none; padding: 4px 6px; line-height: 1; transition: color .15s }
.npub-filterbar__clear:hover { color: #c00 }
.npub-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; border: 1px solid #e0e8e0; border-radius: 6px; overflow: hidden }
.npub-card { display: flex; align-items: flex-start; gap: 14px; padding: 18px 16px; background: #fff; border-bottom: 1px solid #e8f0e8; border-right: 1px solid #e8f0e8; position: relative; transition: background .15s ease }
.npub-card:nth-child(2n) { border-right: none }
.npub-card:nth-last-child(-n+2):nth-child(odd), .npub-card:last-child { border-bottom: none }
.npub-card:hover { background: #f7fbf7 }
.npub-card__icon-col { flex-shrink: 0; width: 36px; margin-top: 2px }
.npub-card__icon { width: 36px; height: 44px; display: block }
.npub-card__icon svg { width: 100%; height: 100%; display: block }
.npub-card__icon--pdf svg path:first-child { fill: #e04040 }
.npub-card__icon--doc svg path:first-child, .npub-card__icon--docx svg path:first-child { fill: #2b579a }
.npub-card__icon--xls svg path:first-child, .npub-card__icon--xlsx svg path:first-child { fill: #217346 }
.npub-card__icon--ppt svg path:first-child, .npub-card__icon--pptx svg path:first-child { fill: #d24726 }
.npub-card__body { flex: 1; min-width: 0 }
.npub-card__title { font-family: var(--kpy-font-2); font-size: .88rem; font-weight: 700; margin: 0 0 4px; line-height: 1.35; text-transform: uppercase; letter-spacing: .01em }
.npub-card__title a { color: var(--kpy-primary); text-decoration: none }
.npub-card__title a:hover { text-decoration: underline }
.npub-card__meta { font-family: var(--kpy-font-2); font-size: .76rem; color: rgba(255, 255, 255, 0.8); margin: 0 0 6px; line-height: 1.4 }
.npub-card__excerpt { font-family: var(--kpy-font-2); font-size: .82rem; color: #555; line-height: 1.6; margin: 0; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden }
.npub-card__action { flex-shrink: 0; display: flex; align-items: center; align-self: center }
.npub-card__dl-btn { display: inline-block; background: var(--kpy-blue); color: #fff !important; font-family: var(--kpy-font-2); font-size: .82rem; font-weight: 700; text-decoration: none; padding: 8px 18px; border-radius: 4px; white-space: nowrap; transition: background .2s ease; cursor: pointer }
.npub-card__dl-btn:hover { background: #178aa8; color: #fff !important }
.npub-card__dl-btn--view { background: var(--kpy-primary) }
.npub-card__dl-btn--view:hover { background: var(--kpy-olive-dark) }
.npub-pagination { display: flex; align-items: center; justify-content: center; gap: 4px; margin-top: 28px; flex-wrap: wrap }
.npub-page-btn { display: inline-flex; align-items: center; justify-content: center; min-width: 34px; height: 34px; padding: 0 6px; border-radius: 4px; border: 1px solid #d0d8d0; background: #fff; color: #444; font-family: var(--kpy-font-2); font-size: .88rem; font-weight: 600; text-decoration: none; transition: background .15s ease, border-color .15s ease, color .15s ease }
.npub-page-btn:hover { background: #f0f8f0; border-color: var(--kpy-primary); color: var(--kpy-primary) }
.npub-page-btn--active { background: var(--kpy-blue); border-color: var(--kpy-blue); color: #fff !important }
.npub-page-btn--active:hover { background: var(--kpy-blue); color: #fff !important }
.npub-page-ellipsis { display: inline-flex; align-items: center; justify-content: center; min-width: 34px; height: 34px; color: #aaa; font-size: .88rem }
.npub-empty { text-align: center; color: rgba(255, 255, 255, 0.8); padding: 48px 0; font-size: .95rem }
@media (max-width: 860px) { .npub-grid { grid-template-columns: 1fr } .npub-card:nth-child(2n) { border-right: 1px solid #e8f0e8 } .npub-card:last-child { border-bottom: none } }
@media (max-width: 600px) { .npub-wrap { padding: 20px 12px 40px } .npub-filterbar { padding: 12px 14px } .npub-filterbar__selects { width: 100% } .npub-filterbar__select { flex: 1 } .npub-filterbar__btn { width: 100% } .npub-card { padding: 14px 12px } .npub-card__title { font-size: .82rem } }

/* =============================================================
   REPORTS / PUBLICATIONS ARCHIVE
   ============================================================= */
.nape-pub-wrap { max-width: 1200px; margin: 0 auto; padding: 32px 20px 56px; box-sizing: border-box }
.nape-pub-filterbar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 0 0 28px; padding: 14px; background: #f8fbf8; border: 1px solid #dde8dd; border-radius: 6px }
.nape-pub-filterbar__search, .nape-pub-filterbar__select { font-family: var(--kpy-font-2); font-size: .88rem; color: #4a4f4a; border: 1px solid #d1dbd1; border-radius: 4px; background: #fff }
.nape-pub-filterbar__search { flex: 1 1 240px; min-width: 200px; padding: 9px 12px }
.nape-pub-filterbar__select { padding: 9px 34px 9px 12px; appearance: none; -webkit-appearance: none; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23666'/%3E%3C/svg%3E") no-repeat right 10px center }
.nape-pub-filterbar__btn { background: var(--kpy-blue); color: #fff; border: none; border-radius: 4px; padding: 9px 18px; font-family: var(--kpy-font-2); font-size: .88rem; font-weight: 700; cursor: pointer }
.nape-pub-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px }
.nape-pub-card { display: flex; gap: 16px; align-items: flex-start; padding: 18px; background: #f4f9f2; border: 1px solid #d9e6d8; border-radius: 6px; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03); min-height: 190px }
.nape-pub-card__badge { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; padding: 5px 8px; border-radius: 4px; font-family: var(--kpy-font-2); font-size: .74rem; font-weight: 800; text-decoration: none; color: #fff; background: var(--kpy-blue) }
.nape-pub-card__badge--pdf { background: #c13030 }
.nape-pub-card__badge--doc, .nape-pub-card__badge--docx { background: #2f64a7 }
.nape-pub-card__badge--ppt, .nape-pub-card__badge--pptx { background: #c56e2c }
.nape-pub-card__badge--xls, .nape-pub-card__badge--xlsx { background: #2c8d59 }
.nape-pub-card__body { flex: 1 1 auto; min-width: 0 }
.nape-pub-card__meta { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 8px; font-family: var(--kpy-font-2); font-size: .78rem; color: #607160 }
.nape-pub-card__meta-item { display: inline-flex; align-items: center; gap: 4px }
.nape-pub-card__title { margin: 0 0 10px; font-family: var(--kpy-font-2); font-size: 1rem; font-weight: 800; line-height: 1.4 }
.nape-pub-card__title a { color: #0e5570; text-decoration: none }
.nape-pub-card__title a:hover { color: var(--kpy-primary); text-decoration: underline }
.nape-pub-card__excerpt { margin: 0; font-family: var(--kpy-font-2); font-size: .87rem; line-height: 1.6; color: #4f5a4f }
.nape-pub-card__dl-btn { display: inline-block; margin-top: 12px; padding: 10px 16px; background: var(--kpy-blue); color: #fff !important; text-decoration: none; font-family: var(--kpy-font-2); font-size: .84rem; font-weight: 800; border-radius: 4px; text-transform: uppercase; letter-spacing: .04em }
.nape-pub-card__dl-btn:hover { background: #178aa8; color: #fff !important }
.nape-pub-empty, .nape-pub-pagination { font-family: var(--kpy-font-2) }
.nape-pub-pagination { display: flex; gap: 8px; justify-content: center; margin-top: 24px }
.nape-pub-page-btn { display: inline-flex; align-items: center; justify-content: center; min-width: 34px; padding: 6px 10px; background: #fff; border: 1px solid #d1dbd1; border-radius: 4px; color: #325465; text-decoration: none }
.nape-pub-page-btn--active { background: var(--kpy-blue); border-color: var(--kpy-blue); color: #fff }
@media (max-width: 780px) { .nape-pub-grid { grid-template-columns: 1fr } }

/* =============================================================
   SINGLE PUBLICATION / DOWNLOAD PAGE
   ============================================================= */
.sdl-page-wrap { max-width: 1200px; margin: 0 auto; padding: 36px 40px 56px; box-sizing: border-box }
.sdl-page-grid { display: grid; grid-template-columns: 1fr 300px; gap: 40px; align-items: start }
.sdl-main { min-width: 0 }
.sdl-title { font-family: var(--kpy-font-2) !important; font-size: 1.1rem !important; font-weight: 800 !important; text-transform: uppercase !important; color: var(--kpy-heading-text) !important; letter-spacing: .02em !important; line-height: 1.35; margin: 0 0 14px !important }
.sdl-meta-row { display: flex; align-items: center; gap: 18px; font-family: var(--kpy-font-2); font-size: .85rem; color: #666; margin-bottom: 16px; flex-wrap: wrap }
.sdl-meta-row__item { display: flex; align-items: center; gap: 5px }
.sdl-meta-row__item i { color: var(--kpy-primary) }
.sdl-meta-row__cat { display: flex; align-items: center; gap: 5px; color: #666; text-decoration: none }
.sdl-meta-row__cat:hover { color: var(--kpy-primary) }
.sdl-meta-row__cat i { color: rgba(255, 255, 255, 0.8) }
.sdl-divider { border: none; border-top: 1px solid #dde5dd; margin: 16px 0 20px }
.sdl-divider--light { border-color: #eee; margin: 20px 0 }
.sdl-body-grid { display: grid; grid-template-columns: 200px 1fr; gap: 28px; align-items: start }
.sdl-stats { min-width: 0 }
.sdl-dl-btn { display: block; width: 100%; text-align: center; background: var(--kpy-blue); color: #fff !important; font-family: var(--kpy-font-2); font-size: .88rem; font-weight: 700; text-decoration: none; padding: 10px 12px; border-radius: 4px; margin-bottom: 16px; transition: background .2s ease; text-transform: uppercase; letter-spacing: .04em }
.sdl-dl-btn:hover { background: #178aa8; color: #fff !important }
.sdl-stats-table { width: 100%; border-collapse: collapse; font-family: var(--kpy-font-2); font-size: .82rem }
.sdl-stats-table tr { border-bottom: 1px solid #eee }
.sdl-stats-table tr:last-child { border-bottom: none }
.sdl-stats-table th { font-weight: 600; color: #444; text-align: left; padding: 9px 8px 9px 0; white-space: nowrap; width: 55% }
.sdl-stats-table td { padding: 9px 0; text-align: right }
.sdl-stats-badge { display: inline-block; border-radius: 3px; padding: 2px 8px; font-size: .78rem; font-weight: 700; white-space: nowrap }
.sdl-stats-badge--blue { background: var(--kpy-blue); color: #fff }
.sdl-content { min-width: 0 }
.sdl-content__title { font-family: var(--kpy-font-2) !important; font-size: 1.05rem !important; font-weight: 800 !important; text-transform: uppercase !important; color: var(--kpy-heading-text) !important; letter-spacing: .02em !important; line-height: 1.35; margin: 0 0 14px !important }
.sdl-content__body { font-family: var(--kpy-font-2); font-size: .93rem; line-height: 1.8; color: #444 }
.sdl-content__body p { margin-bottom: 14px; color: #444 }
.sdl-content__body a { color: var(--kpy-primary); text-decoration: underline }
.sdl-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 }
.sdl-tag-pill { display: inline-flex; align-items: center; gap: 4px; background: #e8eee8; color: #444; font-family: var(--kpy-font-2); font-size: .78rem; font-weight: 600; padding: 4px 10px; border-radius: 20px; text-decoration: none; transition: background .15s ease }
.sdl-tag-pill:hover { background: var(--kpy-primary); color: #fff }
.sdl-tag-pill i { font-size: .72rem }
.sdl-share { display: flex; flex-wrap: wrap; gap: 8px }
.sdl-share-btn { display: inline-flex; align-items: center; gap: 6px; font-family: var(--kpy-font-2); font-size: .82rem; font-weight: 700; text-decoration: none; padding: 8px 16px; border-radius: 4px; color: #fff !important; transition: opacity .2s ease }
.sdl-share-btn:hover { opacity: .88 }
.sdl-share-btn--fb { background: #1877f2 }
.sdl-share-btn--tw { background: #000 }
.sdl-share-btn--email { background: #888 }
.sdl-share-btn--wa { background: #25d366 }
.sdl-share-btn--li { background: #0a66c2 }
.sdl-sidebar { position: sticky; top: 120px; min-width: 0 }
.sdl-sidebar__heading { font-family: var(--kpy-font-2) !important; font-size: 1.25rem !important; font-weight: 800 !important; color: var(--kpy-heading-text) !important; text-transform: none !important; letter-spacing: 0 !important; margin: 0 0 18px !important; padding-bottom: 10px; border-bottom: 2px solid var(--kpy-primary) }
.sdl-sidebar__list { list-style: none; margin: 0; padding: 0 }
.sdl-sidebar__item { display: flex; gap: 12px; padding: 12px 0; border-bottom: 1px solid #eee; align-items: flex-start }
.sdl-sidebar__item:last-child { border-bottom: none }
.sdl-sidebar__thumb { flex-shrink: 0; display: block; width: 80px; height: 80px; overflow: hidden; border-radius: 3px; background: #e8eee8 }
.sdl-sidebar__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s ease }
.sdl-sidebar__item:hover .sdl-sidebar__thumb img { transform: scale(1.05) }
.sdl-sidebar__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 5px }
.sdl-sidebar__post-title { font-family: var(--kpy-font-2); font-size: .82rem; font-weight: 700; color: var(--kpy-blue); text-decoration: none; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden }
.sdl-sidebar__post-title:hover { color: var(--kpy-primary); text-decoration: underline }
.sdl-sidebar__post-meta { display: flex; flex-direction: column; gap: 2px }
.sdl-sidebar__author { font-family: var(--kpy-font-2); font-size: .74rem; color: #666; font-weight: 500 }
.sdl-sidebar__date { font-family: var(--kpy-font-2); font-size: .74rem; color: #666 }
@media (max-width: 900px) { .sdl-page-grid { grid-template-columns: 1fr } .sdl-sidebar { position: static } }
@media (max-width: 640px) { .sdl-page-wrap { padding: 24px 16px 44px } .sdl-body-grid { grid-template-columns: 1fr } .sdl-title { font-size: .95rem !important } }

/* =============================================================
   NEWS PAGE — 4-column card grid
   ============================================================= */
.nape-news-wrap { max-width: 1200px; margin: 0 auto; padding: 40px 40px 56px; box-sizing: border-box }
.nape-news-grid4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; margin-bottom: 36px }
.nape-news-card4 { background: #fff; border: 1px solid #e8eee8; border-radius: 4px; overflow: hidden; display: flex; flex-direction: column; transition: box-shadow .2s ease }
.nape-news-card4:hover { box-shadow: 0 4px 18px rgba(0, 0, 0, .10) }
.nape-news-card4__img-link { display: block; width: 100%; aspect-ratio: 4 / 3; overflow: hidden; background: #e8eee8 }
.nape-news-card4__img { width: 100%; height: 100%; background-size: cover; background-position: center; transition: transform .4s ease }
.nape-news-card4:hover .nape-news-card4__img { transform: scale(1.04) }
.nape-news-card4__body { padding: 14px 14px 16px; flex: 1; display: flex; flex-direction: column; gap: 10px }
.nape-news-card4__title { font-family: var(--kpy-font-2); font-size: .9rem; font-weight: 700; line-height: 1.4; margin: 0; flex: 1 }
.nape-news-card4__title a { color: var(--kpy-primary); text-decoration: none }
.nape-news-card4__title a:hover { text-decoration: underline }
.nape-news-card4__date { display: flex; align-items: center; gap: 6px; font-family: var(--kpy-font-2); font-size: .80rem; color: #666 }
.nape-news-card4__date i { color: var(--kpy-primary); font-size: .85rem }
.nape-news-pagination { display: flex; align-items: center; gap: 4px; flex-wrap: wrap }
.nape-news-pgbtn { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; height: 32px; padding: 0 6px; border: 1px solid #d0d8d0; border-radius: 3px; background: #fff; color: #444; font-family: var(--kpy-font-2); font-size: .85rem; font-weight: 600; text-decoration: none; transition: background .15s, color .15s, border-color .15s }
.nape-news-pgbtn:hover { background: #f0f8f0; border-color: var(--kpy-primary); color: var(--kpy-primary) }
.nape-news-pgbtn--active { background: var(--kpy-blue); border-color: var(--kpy-blue); color: #fff !important }
.nape-news-pgbtn--next { padding: 0 12px; font-weight: 600 }
.nape-news-pgellipsis { display: inline-flex; align-items: center; padding: 0 6px; color: #aaa; font-size: .85rem; pointer-events: none }
.nape-news-empty { text-align: center; color: rgba(255, 255, 255, 0.8); padding: 48px 0 }
@media (max-width: 1024px) { .nape-news-grid4 { grid-template-columns: repeat(3, 1fr) } }
@media (max-width: 768px) { .nape-news-wrap { padding: 28px 20px 44px } .nape-news-grid4 { grid-template-columns: repeat(2, 1fr); gap: 16px } }
@media (max-width: 480px) { .nape-news-grid4 { grid-template-columns: 1fr } }

/* =============================================================
   PHOTO GALLERY PAGE
   ============================================================= */
.nape-gallery-wrap { max-width: 1200px; margin: 0 auto; padding: 32px 40px 56px; box-sizing: border-box }
.nape-gallery-index-header { border-bottom: 2px solid var(--kpy-primary); padding-bottom: 10px; margin-bottom: 28px }
.nape-gallery-index-title { font-family: var(--kpy-font-2) !important; font-size: 1.1rem !important; font-weight: 700 !important; color: var(--kpy-heading-text) !important; text-transform: none !important; letter-spacing: 0 !important; margin: 0 !important }
.nape-gallery-album-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px }
.nape-gallery-album-card { display: block; position: relative; aspect-ratio: 1 / 1; overflow: hidden; border-radius: 3px; text-decoration: none; background: #dde8dd }
.nape-gallery-album-card__img { position: absolute; inset: 0; background-size: cover; background-position: center; transition: transform .4s ease }
.nape-gallery-album-card:hover .nape-gallery-album-card__img { transform: scale(1.05) }
.nape-gallery-album-card__overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0, 0, 0, .65) 0%, rgba(0, 0, 0, .0) 55%) }
.nape-gallery-album-card__label { position: absolute; bottom: 0; left: 0; right: 0; padding: 10px 12px; z-index: 2 }
.nape-gallery-album-card__label span { font-family: var(--kpy-font-2); font-size: .82rem; font-weight: 700; color: #fff; text-shadow: 0 1px 4px rgba(0, 0, 0, .5); line-height: 1.3; display: block }
.nape-gallery-detail-header { display: flex; align-items: center; gap: 12px; border-bottom: 2px solid var(--kpy-primary); padding-bottom: 10px; margin-bottom: 24px; flex-wrap: wrap }
.nape-gallery-breadcrumb { display: flex; align-items: center; gap: 8px; font-family: var(--kpy-font-2); font-size: .9rem; font-weight: 700; color: var(--kpy-heading-text); white-space: nowrap }
.nape-gallery-breadcrumb a { color: var(--kpy-primary); text-decoration: none }
.nape-gallery-breadcrumb a:hover { text-decoration: underline }
.nape-gallery-breadcrumb__sep { color: rgba(255, 255, 255, 0.8); font-weight: 400 }
.nape-gallery-detail-title { font-family: var(--kpy-font-2) !important; font-size: .9rem !important; font-weight: 600 !important; color: var(--kpy-heading-text) !important; text-transform: none !important; letter-spacing: 0 !important; margin: 0 !important }
.nape-gallery-photo-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 20px }
.nape-gallery-photo-item { display: block; aspect-ratio: 1 / 1; overflow: hidden; border-radius: 3px; background: #dde8dd }
.nape-gallery-photo-item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease, opacity .2s ease }
.nape-gallery-photo-item:hover img { transform: scale(1.06); opacity: .92 }
.nape-gallery-empty { text-align: center; color: rgba(255, 255, 255, 0.8); padding: 48px 0; font-size: .95rem }
@media (max-width: 768px) { .nape-gallery-wrap { padding: 24px 16px 44px } .nape-gallery-album-grid, .nape-gallery-photo-grid { grid-template-columns: repeat(2, 1fr); gap: 8px } }
@media (max-width: 480px) { .nape-gallery-album-grid { grid-template-columns: repeat(2, 1fr) } .nape-gallery-photo-grid { grid-template-columns: repeat(2, 1fr); gap: 5px } }

/* =============================================================
   UPCOMING EVENTS PAGE (full rewrite)
   ============================================================= */
.kpy-ev-page-wrap { max-width: 1160px; margin: 0 auto; padding: 32px 40px 56px; box-sizing: border-box }
.kpy-ev-nb-line { font-family: var(--kpy-font-2); font-size: .95rem; color: #444; margin: 0 0 20px; line-height: 1.5 }
.kpy-ev-nb-line strong { font-weight: 700; color: var(--kpy-heading-text) }
.kpy-ev-filterbar { display: flex; align-items: center; gap: 10px; background: #fff; border: 1px solid #dde5dd; border-radius: 4px; padding: 14px 18px; margin-bottom: 24px; flex-wrap: wrap; box-shadow: 0 1px 4px rgba(0, 0, 0, .04) }
.kpy-ev-filterbar__search { flex: 1 1 180px; min-width: 140px; padding: 8px 12px; border: 1px solid #d0d8d0; border-radius: 4px; font-family: var(--kpy-font-2); font-size: .88rem; color: #444; outline: none; transition: border-color .2s }
.kpy-ev-filterbar__search:focus { border-color: var(--kpy-primary) }
.kpy-ev-filterbar__search::placeholder { color: #aaa }
.kpy-ev-filterbar__date-wrap { display: flex; align-items: center; border: 1px solid #d0d8d0; border-radius: 4px; padding: 0 10px; gap: 6px; background: #fff; flex-shrink: 0 }
.kpy-ev-filterbar__date-wrap i { color: rgba(255, 255, 255, 0.8); font-size: .9rem; flex-shrink: 0 }
.kpy-ev-filterbar__date { border: none; padding: 8px 4px; font-family: var(--kpy-font-2); font-size: .88rem; color: #444; background: transparent; outline: none; min-width: 130px }
.kpy-ev-filterbar__select-wrap { position: relative; display: flex; align-items: center }
.kpy-ev-filterbar__select { appearance: none; -webkit-appearance: none; padding: 8px 32px 8px 12px; border: 1px solid #d0d8d0; border-radius: 4px; font-family: var(--kpy-font-2); font-size: .88rem; color: #444; background: #fff; cursor: pointer; outline: none; transition: border-color .2s; min-width: 130px }
.kpy-ev-filterbar__select:focus { border-color: var(--kpy-primary) }
.kpy-ev-filterbar__chevron { position: absolute; right: 10px; pointer-events: none; font-size: .7rem; color: #666 }
.kpy-ev-rows { display: flex; flex-direction: column; border: 1px solid #e0e8e0; border-radius: 4px; overflow: hidden }
.kpy-ev-row { display: grid; grid-template-columns: 72px 1fr auto; align-items: center; gap: 20px; padding: 16px 20px; background: #fff; border-bottom: 1px solid #e8eee8; transition: background .12s ease }
.kpy-ev-row:last-child { border-bottom: none }
.kpy-ev-row:nth-child(even) { background: #f9fbf9 }
.kpy-ev-row:hover { background: #f0f8f0 }
.kpy-ev-row__badge { display: flex; flex-direction: column; align-items: center; justify-content: center; background: var(--kpy-blue); color: #fff; border-radius: 4px; width: 64px; min-height: 64px; padding: 6px 4px; flex-shrink: 0; text-align: center; line-height: 1.1 }
.kpy-ev-row__weekday { font-family: var(--kpy-font-2); font-size: .62rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; display: block; margin-bottom: 2px }
.kpy-ev-row__day { font-family: var(--kpy-font-2); font-size: 1.5rem; font-weight: 800; display: block; line-height: 1 }
.kpy-ev-row__month { font-family: var(--kpy-font-2); font-size: .65rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; display: block; margin-top: 2px }
.kpy-ev-row__body { display: flex; flex-direction: column; gap: 5px; min-width: 0 }
.kpy-ev-row__title { font-family: var(--kpy-font-2); font-size: .92rem; font-weight: 600; margin: 0; display: flex; align-items: flex-start; gap: 7px; line-height: 1.4 }
.kpy-ev-row__title i { color: var(--kpy-primary); font-size: .85rem; flex-shrink: 0; margin-top: 2px }
.kpy-ev-row__title a { color: var(--kpy-primary); text-decoration: none; font-weight: 600 }
.kpy-ev-row__title a:hover { text-decoration: underline }
.kpy-ev-row__meta { display: flex; align-items: center; gap: 6px; font-family: var(--kpy-font-2); font-size: .80rem; color: #777 }
.kpy-ev-row__meta i { color: rgba(255, 255, 255, 0.8); font-size: .8rem; flex-shrink: 0 }
.kpy-ev-row__cta { font-family: var(--kpy-font-2); font-size: .75rem; font-weight: 700; color: #555; text-decoration: none; text-transform: uppercase; letter-spacing: .08em; white-space: nowrap; padding: 6px 12px; border: 1px solid #d0d8d0; border-radius: 3px; transition: background .15s, color .15s, border-color .15s; flex-shrink: 0 }
.kpy-ev-row__cta:hover { background: var(--kpy-blue); color: #fff; border-color: var(--kpy-blue) }
.kpy-ev-pagination { display: flex; align-items: center; gap: 4px; margin-top: 24px; flex-wrap: wrap }
.kpy-ev-page-btn { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; height: 32px; padding: 0 6px; border: 1px solid #d0d8d0; border-radius: 3px; background: #fff; color: #444; font-family: var(--kpy-font-2); font-size: .85rem; font-weight: 600; text-decoration: none; transition: background .15s, color .15s, border-color .15s }
.kpy-ev-page-btn:hover { background: #f0f8f0; border-color: var(--kpy-blue); color: var(--kpy-blue) }
.kpy-ev-page-btn--active { background: var(--kpy-blue); border-color: var(--kpy-blue); color: #fff !important }
.kpy-ev-empty { text-align: center; color: rgba(255, 255, 255, 0.8); padding: 48px 0; font-size: .95rem; font-family: var(--kpy-font-2) }
@media (max-width: 768px) { .kpy-ev-page-wrap { padding: 24px 16px 44px } .kpy-ev-row { grid-template-columns: 60px 1fr; grid-template-rows: auto auto } .kpy-ev-row__cta { grid-column: 2; grid-row: 2; align-self: start; font-size: .7rem } .kpy-ev-row__badge { width: 56px; min-height: 56px } .kpy-ev-row__day { font-size: 1.25rem } }
@media (max-width: 480px) { .kpy-ev-filterbar { flex-direction: column; align-items: stretch } .kpy-ev-filterbar__search, .kpy-ev-filterbar__date-wrap, .kpy-ev-filterbar__select-wrap { width: 100% } .kpy-ev-filterbar__select { width: 100% } }

/* =============================================================
   FAQs PAGE
   ============================================================= */
.nape-faqspg { max-width: 1160px !important; margin: 0 auto !important; padding: 36px 40px 56px !important; box-sizing: border-box; background: #fff }
.nape-faqspg>.wp-block-heading, .nape-faqspg h2.wp-block-heading:first-child { font-family: var(--kpy-font-2) !important; font-size: 1.5rem !important; font-weight: 800 !important; color: var(--kpy-heading-text) !important; text-transform: none !important; letter-spacing: 0 !important; margin: 0 0 24px !important }
.nape-faqspg .wp-block-columns { display: flex !important; flex-wrap: wrap !important; gap: 40px !important; align-items: flex-start !important }
.nape-faqspg .wp-block-column { min-width: 0 !important }
.nape-faqspg .wp-block-column:first-child { border: 1px solid #dde5dd; border-radius: 4px; overflow: hidden; background: #fff }
.nape-faqspg details, .nape-faqspg details.wp-block-accordion { background: #fff !important; border: none !important; border-bottom: 1px solid #e2e8e2 !important; border-left: none !important; border-radius: 0 !important; margin: 0 !important; overflow: visible; box-shadow: none !important }
.nape-faqspg details:last-of-type { border-bottom: none !important }
.nape-faqspg details summary, .nape-faqspg details .wp-block-accordion__summary { display: flex !important; align-items: center !important; justify-content: flex-start !important; gap: 12px !important; padding: 13px 18px !important; cursor: pointer !important; font-family: var(--kpy-font-2) !important; font-size: .92rem !important; font-weight: 600 !important; color: var(--kpy-heading-text) !important; background: #fff !important; list-style: none !important; transition: background .12s ease !important }
.nape-faqspg details summary::-webkit-details-marker { display: none !important }
.nape-faqspg details summary::marker { display: none !important }
.nape-faqspg details summary::before { content: '+'; font-size: 1.15rem; font-weight: 400; color: #666; flex-shrink: 0; width: 18px; text-align: center; line-height: 1; transition: transform .2s ease }
.nape-faqspg details summary::after { display: none !important; content: none !important }
.nape-faqspg details[open] summary::before { content: '−'; color: var(--kpy-primary) }
.nape-faqspg details[open] summary { color: var(--kpy-heading-text) !important; background: #fff !important; border-bottom: none !important }
.nape-faqspg details summary:hover { background: #f9fbf9 !important }
.nape-faqspg details summary span, .nape-faqspg details .wp-block-accordion__summary .menu-item-text { flex: 1 }
.nape-faqspg details>*:not(summary), .nape-faqspg details .wp-block-accordion__content { padding: 0 18px 16px 48px !important; font-family: var(--kpy-font-2) !important; font-size: .9rem !important; line-height: 1.78 !important; color: #444 !important; background: #fff !important }
.nape-faqspg details[open] .wp-block-accordion__content p, .nape-faqspg details[open]>div p, .nape-faqspg details[open]>p { color: var(--kpy-primary) !important }
.nape-faqspg .wp-block-column:last-child { position: sticky; top: 120px }
.nape-faqspg .nape-achievements-bar>h2, .nape-faqspg .nape-achievements-bar .wp-block-heading { font-size: 1.1rem !important; background: transparent !important; border-bottom: 2px solid var(--kpy-primary) !important; padding: 0 0 10px !important; margin: 0 0 12px !important; color: var(--kpy-heading-text) !important; letter-spacing: 0 !important; text-transform: none !important }
.nape-faqspg .nape-achievements-bar .sg-post-title a { color: var(--kpy-primary) !important }
.nape-faqspg .nape-achievements-bar .sg-post-date, .nape-faqspg .nape-achievements-bar time { color: #e67e22 !important }
.nape-faqspg .nape-achievements-bar { border: none !important; background: transparent !important; overflow: visible }
@media (max-width: 768px) { .nape-faqspg { padding: 28px 20px 44px !important } .nape-faqspg .wp-block-column:last-child { position: static } }
.nape-faqspg details summary a { color: var(--kpy-primary) !important; text-decoration: underline !important }
.nape-faqspg details .wp-block-accordion__content a, .nape-faqspg details>div a, .nape-faqspg details>p a { color: var(--kpy-primary); text-decoration: underline }

/* =============================================================
   [nape_strategic_partners] Shortcode
   ============================================================= */
.nape-strategic-partners { background: #ffffff; color: #2b2b2b; padding: 60px 0; margin: 80px 0; border-bottom: 1px solid #e0e0e0 }
.nape-strategic-partners__title { font-family: var(--kpy-font-2); font-size: 1.6rem; font-weight: 800; text-transform: uppercase; letter-spacing: 1.5px; color: var(--kpy-primary); margin: 0 0 40px; text-align: left }
.nape-partners-carousel { position: relative; display: flex; align-items: center; gap: 20px }
.nape-partners-carousel__prev, .nape-partners-carousel__next { flex-shrink: 0; width: 48px; height: 48px; background: rgba(43, 107, 38, .08); border: 2px solid rgba(43, 107, 38, .2); border-radius: 50%; color: var(--kpy-primary); font-size: 20px; cursor: pointer; transition: all .3s ease; display: flex; align-items: center; justify-content: center; padding: 0; line-height: 1 }
.nape-partners-carousel__prev:hover:not(:disabled), .nape-partners-carousel__next:hover:not(:disabled) { background: rgba(43, 107, 38, .15); border-color: rgba(43, 107, 38, .4) }
.nape-partners-carousel__prev:disabled, .nape-partners-carousel__next:disabled { opacity: .5; cursor: not-allowed }
.nape-partners-carousel__track { flex: 1; overflow-x: auto; scroll-behavior: smooth; -webkit-overflow-scrolling: touch; scrollbar-width: none }
.nape-partners-carousel__track::-webkit-scrollbar { display: none }
.nape-partners-carousel__inner { display: flex; gap: 40px; padding: 10px 0; width: fit-content }
.nape-partner-item { flex-shrink: 0; width: 140px; height: 120px; display: flex; align-items: center; justify-content: center }
.nape-partner-logo { display: block; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; text-decoration: none; transition: transform .3s ease, filter .3s ease }
.nape-partner-logo:hover { transform: scale(1.08); filter: brightness(1.1) }
.nape-partner-logo img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; display: block }
.nape-partner-logo--placeholder { font-family: var(--kpy-font-2); font-size: 0.75rem; text-align: center; color: rgba(255, 255, 255, .6); white-space: nowrap; overflow: hidden; text-overflow: ellipsis }

/* =============================================================
   [nape_projects] Shortcode
   ============================================================= */
.nape-projects { background: var(--kpy-primary); color: #fff; padding: 0; margin: 80px 0; overflow: hidden }
.nape-projects__header { padding: 60px 20px 40px; max-width: 1200px; margin: 0 auto; text-align: center }
.nape-projects__title { font-family: var(--kpy-font-2); font-size: 1.6rem; font-weight: 800; text-transform: uppercase; letter-spacing: 1.5px; color: #fff; margin: 0 0 20px }
.nape-projects__desc { font-family: var(--kpy-font-2); font-size: 1rem; line-height: 1.7; color: rgba(255, 255, 255, .9); max-width: 900px; margin: 0 auto }
.nape-projects-carousel { position: relative; display: flex; align-items: center; gap: 20px; padding: 0 20px 60px }
.nape-projects-carousel__prev, .nape-projects-carousel__next { flex-shrink: 0; width: 50px; height: 50px; background: rgba(255, 255, 255, .2); border: 2px solid rgba(255, 255, 255, .4); border-radius: 50%; color: #fff; font-size: 22px; cursor: pointer; transition: all .3s ease; display: flex; align-items: center; justify-content: center; padding: 0; line-height: 1 }
.nape-projects-carousel__prev:hover:not(:disabled), .nape-projects-carousel__next:hover:not(:disabled) { background: rgba(255, 255, 255, .3); border-color: #fff }
.nape-projects-carousel__prev:disabled, .nape-projects-carousel__next:disabled { opacity: .5; cursor: not-allowed }
.nape-projects-carousel__track { flex: 1; overflow-x: auto; scroll-behavior: smooth; -webkit-overflow-scrolling: touch; scrollbar-width: none }
.nape-projects-carousel__track::-webkit-scrollbar { display: none }
.nape-projects-carousel__inner { display: flex; gap: 30px; padding: 0; width: fit-content }
.nape-project-card { flex-shrink: 0; width: 220px; background: #fff; border-radius: 6px; overflow: hidden; box-shadow: 0 4px 12px rgba(0, 0, 0, .15); transition: transform .3s ease, box-shadow .3s ease; position: relative }
.nape-project-card:hover { transform: translateY(-6px); box-shadow: 0 8px 20px rgba(0, 0, 0, .2) }
.nape-project-card__image { width: 100%; height: 160px; overflow: hidden; background: #e8ede8 }
.nape-project-card__image img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block }
.nape-project-card__content { padding: 18px }
.nape-project-card__title { font-family: var(--kpy-font-2); font-size: 0.95rem; font-weight: 700; color: var(--kpy-heading-text); margin: 0 0 10px; line-height: 1.35; min-height: 48px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden }
.nape-project-card__meta { font-family: var(--kpy-font-2); font-size: 0.82rem; color: var(--kpy-blue); font-weight: 600; margin: 0 }
.nape-project-card__link { position: absolute; inset: 0; text-decoration: none; z-index: 1 }
@media (max-width: 768px) { .nape-strategic-partners { padding: 40px 0; margin: 60px 0; border-bottom: 1px solid #e0e0e0 } .nape-projects { margin: 60px 0 } .nape-projects__header { padding: 40px 20px 30px } .nape-projects__title { font-size: 1.3rem } .nape-partners-carousel__prev, .nape-partners-carousel__next, .nape-projects-carousel__prev, .nape-projects-carousel__next { width: 40px; height: 40px; font-size: 18px } .nape-project-card { width: 180px } .nape-project-card__image { height: 130px } }

/* =============================================================
   SIDEBAR COLUMN FIX — overrides WP core column stacking
   ============================================================= */
body .nape-progpg-wrap { display: grid !important; grid-template-columns: 1fr 320px !important; gap: 40px !important; max-width: 1200px; margin: 0 auto; padding: 48px 40px 64px; align-items: start; box-sizing: border-box; width: 100% }
@media (max-width: 860px) { body .nape-progpg-wrap { grid-template-columns: 1fr !important; padding: 32px 20px 48px } .nape-progpg-sidebar { position: static !important } }
body .nape-achievements-section .wp-block-columns, body .nape-achievements-section>.container>.wp-block-columns { display: flex !important; flex-wrap: nowrap !important; gap: 40px !important; align-items: flex-start !important }
body .nape-achievements-section .wp-block-column:first-child { flex: 1 1 0% !important; min-width: 0 !important }
body .nape-achievements-section .wp-block-column:last-child { flex: 0 0 300px !important; max-width: 300px !important; min-width: 0 !important }
@media (max-width: 900px) { body .nape-achievements-section .wp-block-columns, body .nape-achievements-section>.container>.wp-block-columns { flex-wrap: wrap !important } body .nape-achievements-section .wp-block-column:last-child { flex: 0 0 100% !important; max-width: 100% !important } .nape-achievements-bar { position: static !important } .nape-achievements-section .aboutpg-section-right, .nape-achievements-section .wp-block-column:last-child { position: static !important } }
body .nape-faqspg .wp-block-columns { display: flex !important; flex-wrap: nowrap !important; gap: 40px !important; align-items: flex-start !important }
body .nape-faqspg .wp-block-column:first-child { flex: 1 1 0% !important; min-width: 0 !important }
body .nape-faqspg .wp-block-column:last-child { flex: 0 0 280px !important; max-width: 280px !important; min-width: 0 !important }
@media (max-width: 768px) { body .nape-faqspg .wp-block-columns { flex-wrap: wrap !important } body .nape-faqspg .wp-block-column:last-child { flex: 0 0 100% !important; max-width: 100% !important } .nape-faqspg .wp-block-column:last-child { position: static !important } }
body .nape-aboutpg-section .wp-block-columns { display: flex !important; flex-wrap: nowrap !important; gap: 40px !important; align-items: flex-start !important }
body .nape-aboutpg-section .wp-block-column { min-width: 0 !important }
@media (max-width: 768px) { body .nape-aboutpg-section .wp-block-columns { flex-wrap: wrap !important } body .nape-aboutpg-section .wp-block-column { flex-basis: 100% !important; max-width: 100% !important } }
body .nape-boardpg .wp-block-columns { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 24px !important }
body .nape-staffpg .wp-block-columns { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 20px !important }
@media (max-width: 900px) { body .nape-boardpg .wp-block-columns { grid-template-columns: repeat(2, 1fr) !important } body .nape-staffpg .wp-block-columns { grid-template-columns: repeat(2, 1fr) !important } }
@media (max-width: 781px) { body .nape-faqspg .wp-block-column, body .nape-achievements-section .wp-block-column, body .nape-aboutpg-section .wp-block-column { flex-basis: auto } body .nape-faqspg .wp-block-column:first-child { flex: 1 1 0% !important } body .nape-faqspg .wp-block-column:last-child { flex: 0 0 100% !important; max-width: 100% !important } body .nape-achievements-section .wp-block-column:last-child { flex: 0 0 100% !important; max-width: 100% !important } }
.nape-progpg-sidebar__inner { background: #fff !important; border: 1px solid #e2e8e2 !important; border-radius: 4px !important; overflow: hidden !important }
body .nape-achievements-bar { background: #f0f6f0 !important; border: 1px solid #d4e8d4 !important; border-radius: 4px !important; overflow: hidden !important }
body .nape-achievements-bar>h2, body .nape-achievements-bar .wp-block-heading { background: #d8eed8 !important; border-bottom: 2px solid var(--kpy-primary) !important; padding: 12px 16px !important; margin: 0 !important; font-size: 1.0rem !important; font-weight: 800 !important; color: var(--kpy-heading-text) !important; text-transform: none !important; letter-spacing: 0 !important }
.nape-progpg-sidebar__heading { background: #f0f6f0 !important }

/* =============================================================
   NAPE — "Who We Are" page (v3 — extra full-width fixes)
   ============================================================= */
.nape-aboutpg-section { padding: 60px 0 }
.nape-aboutpg-section .wp-block-columns { align-items: stretch !important }
.nape-aboutpg-section .wp-block-column { display: flex }
.nape-aboutpg-section .wp-block-column>.wp-block-group { width: 100%; height: 100% }
.nape-image-box { min-height: 420px; max-height: 620px }
.aboutpg-section-right h2 { position: relative; display: inline-block; font-size: 1.9rem; font-weight: 700; color: var(--kpy-heading-text); margin: 0 0 24px }
.aboutpg-section-right h2::after { content: ""; display: block; width: 56px; height: 4px; background: var(--kpy-primary); border-radius: 2px; margin-top: 8px }
.aboutpg-section-right p { line-height: 1.7; color: var(--kpy-body-text); margin: 0 0 18px }
.nape-image-box { position: relative; height: 100%; box-sizing: border-box; padding: 24px 24px 0 0; display: flex }
.nape-image-box::before { content: ""; position: absolute; top: 0; left: 24px; right: 0; height: 24px; background: var(--kpy-primary) }
.nape-image-box::after { content: ""; position: absolute; top: 0; right: 0; bottom: 24px; width: 24px; background: var(--kpy-primary) }
.nape-image-box figure { position: relative; z-index: 1; flex: 1; margin: 0; display: flex }
.nape-image-box img { width: 100%; height: 100%; object-fit: cover; display: block }

.nape-values-aboutpg { margin: 40px 0 }
.nape-values-inner .wp-block-columns { display: grid !important; grid-template-columns: 1fr 1fr !important; flex-wrap: nowrap !important; gap: 0 !important; margin: 0 !important; align-items: stretch !important }
.nape-values-inner .wp-block-column { margin: 0 !important; padding: 0 !important; min-width: 0 !important; flex-basis: auto !important }
.nape-values-inner .wp-block-column:first-child { height: 100%; max-height: 420px; overflow: hidden }
.nape-values-inner .wp-block-column:first-child img { width: 100%; height: 100%; object-fit: cover; display: block }
.nape-values-inner .wp-block-column:last-child { background: #8bc63e !important; color: var(--kpy-white); padding: 36px 48px; display: flex; flex-direction: column; justify-content: center; height: 100%; max-height: 420px; box-sizing: border-box }
.nape-values-inner .wp-block-column:last-child h2 { color: var(--kpy-white); font-size: 1.9rem; font-weight: 700; margin: 0 0 20px }
@media(max-width:782px) { .nape-values-inner .wp-block-columns { grid-template-columns: 1fr !important } .nape-values-inner .wp-block-column:first-child, .nape-values-inner .wp-block-column:last-child { max-height: none } .nape-values-inner .wp-block-column:first-child img { height: 280px } .nape-values-inner .wp-block-column:last-child { padding: 40px 32px } }
.nape-icon-list { list-style: none; margin: 0 0 28px; padding: 0; display: flex; flex-direction: column; gap: 14px }
.nape-icon-list__item { display: flex; align-items: center; gap: 12px; font-size: 1.1rem; color: var(--kpy-white) !important }
.nape-icon-list__item i { color: var(--kpy-white) !important; font-size: 1.4rem; flex: 0 0 auto }
.nape-btn-wrap { display: flex }
.nape-btn { display: inline-block; padding: 12px 32px; background: transparent !important; border: 2px solid var(--kpy-white); color: var(--kpy-white) !important; font-weight: 600; text-decoration: none; border-radius: 999px; transition: background .2s, color .2s }
.nape-btn:hover { background: var(--kpy-white) !important; color: var(--kpy-olive) !important }
@media(max-width:782px) { .nape-values-inner .wp-block-columns { grid-template-columns: 1fr } .nape-values-inner .wp-block-column:first-child img { height: 280px } .nape-values-inner .wp-block-column:last-child { padding: 40px 32px } }
.nape-structurepg { padding: 60px 0 }
.nape-structurepg .wp-block-columns { display: grid !important; grid-template-columns: 3fr 7fr; gap: 40px; align-items: center }
.nape-structurepg .wp-block-column { margin: 0; min-width: 0 }
.nape-structurepg h2 { color: var(--kpy-primary) !important; font-size: 2.1rem; font-weight: 700; line-height: 1.25; margin: 0 }
.nape-structurepg .wp-block-column:last-child img { width: 100%; height: auto; display: block }
@media(max-width:782px) { .nape-structurepg .wp-block-columns { grid-template-columns: 1fr } }
.nape-aboutpg-section, .nape-values-aboutpg, .nape-structurepg { overflow-x: hidden }
.nape-values-aboutpg { width: 100vw; position: relative; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw }
html, body { overflow-x: hidden }

/*Home news pagination hidden*/
#tab-news .nape-news-pagination,
#tab-news .nape-news-pgbtn,
#tab-news .nape-news-pgellipsis { display: none !important; }


.nape-pub-rows { display: flex; flex-direction: column; border: 1px solid #e0e8e0; border-radius: 4px; overflow: hidden }
.nape-pub-row { display: flex; align-items: center; gap: 16px; padding: 14px 20px; background: #fff; border-bottom: 1px solid #eef3ee; transition: background .12s ease }
.nape-pub-row:last-child { border-bottom: none }
.nape-pub-row:nth-child(even) { background: #fafcfa }
.nape-pub-row:hover { background: #f0f8f0 }
.nape-pub-row__badge { flex-shrink: 0; width: 44px; height: 44px; border-radius: 4px; background: var(--kpy-blue); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 1.2rem }
.nape-pub-row__title { flex: 1; min-width: 0; margin: 0; font-family: var(--kpy-font-2); font-size: .92rem; font-weight: 700; color: var(--kpy-heading-text) }
.nape-pub-row__title a { color: inherit; text-decoration: none }
.nape-pub-row__title a:hover { color: var(--kpy-primary) }
.nape-pub-row__cta { flex-shrink: 0; font-family: var(--kpy-font-2); font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #555; text-decoration: none; padding: 8px 16px; border: 1px solid #d0d8d0; border-radius: 3px; transition: background .15s, color .15s, border-color .15s; white-space: nowrap }
.nape-pub-row__cta:hover { background: var(--kpy-blue); color: #fff; border-color: var(--kpy-blue) }
@media (max-width: 600px) { .nape-pub-row { flex-wrap: wrap } .nape-pub-row__cta { margin-left: 60px } }


/*RECAPTCHA*/
.kpy-ts-badge{position:fixed;bottom:20px;left:20px;z-index:9998;}
.kpy-ts-badge-toggle{width:52px;height:52px;border-radius:50%;background:var(--kpy-primary);border:none;box-shadow:0 3px 10px rgba(0,0,0,.18);display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;font-size:22px;padding:0;}
.kpy-ts-badge-toggle:hover{filter:brightness(1.08);}
.kpy-ts-panel{position:absolute;bottom:60px;left:0;width:220px;background:#fff;border:1px solid #eee;border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.15);padding:12px 14px;font-size:13px;line-height:1.4;color:#333;}
.kpy-ts-panel[hidden]{display:none;}

/* =============================================
   NAPE HEADER - OVERLAPPING LOGO + STACKED BARS
   ============================================= */
.nape-header{position:relative;background:#fff;z-index:9000}

.nape-topbar{background:#3a7a2e;padding:6px 0;width:100%;position:relative;z-index:1}
.nape-topbar-inner{padding:0 24px;display:flex;align-items:center;justify-content:flex-end;gap:20px}
.nape-topbar-socials{display:flex;align-items:center;gap:14px}
.nape-topbar-socials a{color:#fff;font-size:1rem;line-height:1;transition:opacity .2s;text-decoration:none}
.nape-topbar-socials a:hover{opacity:.75}
.nape-topbar-translate .goog-te-gadget-simple{background:#fff!important;border:1px solid rgba(255,255,255,.6)!important;border-radius:4px!important;padding:3px 10px!important;font-size:.78rem!important}
.nape-topbar-translate .goog-te-gadget-simple span,.nape-topbar-translate .goog-te-menu-value span{color:#333!important;font-size:.78rem!important}
.nape-topbar-translate .goog-te-gadget-simple .goog-te-menu-value img{display:none}
#google_translate_element select{background:#fff;border:1px solid rgba(255,255,255,.6);border-radius:4px;color:#333;font-size:.78rem;padding:3px 8px;cursor:pointer}


.nape-main-nav{background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.08);padding:0;position:sticky;top:0;z-index:9000}
.nape-nav-container{padding:0 24px 0 250px;display:flex;align-items:center;min-height:80px}

/* Logo — flat, no box/shadow/radius, overlaps both bars with green visible on both sides */
.nape-logo-box{position:absolute;top:0;left:24px;height:100px;z-index:9001;background:#fff;display:flex;align-items:center;padding:0 20px;text-decoration:none}
.nape-nav-logo{height:76px;width:auto;object-fit:contain;display:block}

/* Nav — right-aligned so Contact lines up under the translator widget */
.nape-menu-items{gap:0;margin:0 0 0 auto;padding:0;list-style:none;display:flex;flex-wrap:nowrap}
.nape-menu-items>.nav-item{position:relative}
.nape-menu-items>.nav-item>.nav-link{color:#1a1a1a!important;font-family:var(--kpy-font);font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;padding:0 14px!important;height:80px;display:flex;align-items:center;gap:5px;transition:color .2s;white-space:nowrap;text-decoration:none}
.nape-menu-items>.nav-item>.nav-link:hover,.nape-menu-items>.nav-item.active>.nav-link{color:#3a7a2e!important}
.nape-menu-items .dropdown-toggle::after{display:none!important}

.nape-menu-items>.nav-item.dropdown>.nav-link .nape-caret{display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s ease;flex-shrink:0}
.nape-menu-items>.nav-item.dropdown:hover>.nav-link .nape-caret{transform:rotate(225deg) translateY(-2px)}

.nape-menu-items>.nav-item>.nape-btn-contact{background:#1e88e5!important;color:#fff!important;border-radius:30px!important;padding:10px 26px!important;height:auto!important;border-bottom:none!important;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-left:8px}
.nape-menu-items>.nav-item>.nape-btn-contact:hover{background:#1670bd!important;color:#fff!important}
.nape-menu-items>.nav-item>a.nape-btn-contact,.nape-menu-items>.nav-item>a.nape-btn-contact:hover,.nape-menu-items>.nav-item>a.nape-btn-contact:focus,.nape-menu-items>.nav-item>a.nape-btn-contact:active{color:#fff!important}

/* Dropdown panel */
.nape-dropdown{display:none;position:absolute;top:100%;left:0;background:#fff;border-top:3px solid #3a7a2e;border-radius:0 0 4px 4px;box-shadow:0 10px 36px rgba(0,0,0,.14);padding:24px 32px 28px;min-width:230px;z-index:1000}
.nav-item.dropdown:hover>.nape-dropdown{display:block}
.nape-dropdown-list{list-style:none;margin:0;padding:0;columns:1}
.nape-dropdown.nape-mega-panel{min-width:680px}
.nape-dropdown.nape-mega-panel .nape-dropdown-list{columns:2;column-gap:48px}
.nape-dropdown-item{break-inside:avoid;padding:0;margin:0;position:relative}

.nape-drop-link{display:flex;align-items:flex-start;gap:10px;padding:8px 4px 8px 0!important;font-family:var(--kpy-font);font-size:.75rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#1a1a1a!important;text-decoration:none;line-height:1.4;transition:background .12s ease,color .12s ease,padding .12s ease}

/* Unified hover — dark green bg + white text on EVERY dropdown link, sub-menu or not */
.nape-drop-link:hover,.nape-dropdown-item.active>.nape-drop-link{background:#2d5a22!important;color:#fff!important;padding-left:10px!important;padding-right:10px!important;border-radius:2px;margin:1px 0}
.nape-drop-link:hover .nape-sub-caret{border-color:#fff!important}
.nape-drop-link:hover .nape-bullet-lightbulb,.nape-drop-link:hover .nape-bullet-folder{background:#fff}

.nape-bullet-lightbulb{display:inline-block;width:12px;height:12px;min-width:12px;background:#3a7a2e;flex-shrink:0;margin-top:2px;-webkit-mask:radial-gradient(circle at 50% 40%,#000 55%,transparent 56%) top/100% 65% no-repeat,linear-gradient(#000,#000) bottom/40% 30% no-repeat;mask:radial-gradient(circle at 50% 40%,#000 55%,transparent 56%) top/100% 65% no-repeat,linear-gradient(#000,#000) bottom/40% 30% no-repeat}
.nape-bullet-folder{display:inline-block;width:12px;height:10px;min-width:12px;background:#3a7a2e;border-radius:1px 3px 2px 2px;flex-shrink:0;margin-top:3px}

.nape-sub-caret{display:inline-block;width:6px;height:6px;border-right:1.5px solid #3a7a2e;border-top:1.5px solid #3a7a2e;transform:rotate(45deg);flex-shrink:0;margin-left:auto;margin-top:4px}
.nape-sub-dropdown{display:none;position:absolute;left:100%;top:-4px;background:#fff;box-shadow:0 8px 28px rgba(0,0,0,.13);border-top:3px solid #3a7a2e;border-radius:0 0 4px 4px;padding:10px 0;min-width:220px;z-index:1010;list-style:none;margin:0}
.nape-has-sub:hover>.nape-sub-dropdown{display:block}
.nape-sub-dropdown li a{display:block;padding:9px 22px;font-family:var(--kpy-font);font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#1a1a1a;text-decoration:none;transition:background .12s,color .12s}
.nape-sub-dropdown li a:hover{background:#2d5a22;color:#fff}

/* Offcanvas */
.nape-offcanvas{width:300px!important;background:#1d3a16}
.nape-offcanvas-header{background:#3a7a2e;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.15)}
.nape-offcanvas-body{padding:20px}
.nape-offcanvas-menu{list-style:none;margin:0;padding:0}
.nape-offcanvas-menu li a{display:block;padding:11px 0;color:rgba(255,255,255,.9);font-size:.88rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.08)}
.nape-offcanvas-menu li a:hover{color:#fff}
.nape-offcanvas-menu .sub-menu{padding-left:16px}
.nape-offcanvas-menu .sub-menu li a{font-size:.8rem;font-weight:400;text-transform:none;color:rgba(255,255,255,.72)}
.nape-offcanvas-socials{display:flex;gap:18px;padding-top:8px}
.nape-offcanvas-socials a{color:rgba(255,255,255,.75);font-size:1.1rem;text-decoration:none}
.nape-offcanvas-socials a:hover{color:#fff}

@media (max-width:1199px){.nape-main-nav .navbar-collapse{display:none!important}.nape-toggler{display:flex!important}.nape-nav-container{padding-left:24px}.nape-logo-box{position:static;height:auto;padding:8px 16px}.nape-nav-logo{height:56px}}
@media (min-width:1200px){.nape-toggler{display:none!important}.nape-main-nav .navbar-collapse{display:flex!important}}