/*
Theme Name: Pujakesuma Child
Theme URI: https://pujakesuma.org/
Description: Tema organisasi Pujakesuma turunan Hello Elementor dengan halaman kegiatan pilihan, artikel, dan tampilan responsif yang nyaman dibaca.
Author: Cyber Kreatif Media
Template: hello-elementor
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 8.0
License: GNU General Public License v3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: pujakesuma-child
*/

:root {
  --pkj-accent: #234b3c;
  --pkj-gold: #8a692f;
  --pkj-ink: #233b30;
  --pkj-muted: #5c6a60;
  --pkj-bg: #f7f8f2;
  --pkj-paper: #fff;
  --pkj-line: #dce3d8;
  --pkj-soft: #edf1e7;
  --pkj-font-size: 18px;
  --pkj-serif: Georgia, 'Times New Roman', serif;
  --pkj-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

html { scroll-behavior: smooth; scroll-padding-top: 132px; }
body.pkj-site { margin: 0; background: var(--pkj-bg); color: var(--pkj-ink); font: var(--pkj-font-size)/1.75 var(--pkj-sans); -webkit-font-smoothing: antialiased; }
.pkj-site *, .pkj-site *::before, .pkj-site *::after { box-sizing: border-box; }
.pkj-site h1, .pkj-site h2, .pkj-site h3, .pkj-site h4 { color: inherit; margin: 0 0 .6em; font-family: var(--pkj-serif); font-weight: 400; letter-spacing: -.035em; line-height: 1.15; }
.pkj-site h1 { font-size: clamp(42px, 4.8vw, 66px); }
.pkj-site h2 { font-size: clamp(34px, 3.5vw, 48px); }
.pkj-site h3 { font-size: 29px; }
.pkj-site h4 { font-size: 25px; }
.pkj-site p { margin: 0 0 1.1em; }
.pkj-site a { color: var(--pkj-accent); text-decoration: none; text-underline-offset: 4px; transition: color .2s, background-color .2s, border-color .2s, box-shadow .2s; }
.pkj-site a:hover { text-decoration: underline; }
.pkj-site img { max-width: 100%; height: auto; vertical-align: middle; }
.pkj-site svg { flex-shrink: 0; width: 24px; height: 24px; vertical-align: middle; }
.pkj-site figure { margin: 0; }
.pkj-site button, .pkj-site input, .pkj-site textarea, .pkj-site select { font: inherit; max-width: 100%; }
.pkj-site button { cursor: pointer; }
.pkj-site button:focus-visible, .pkj-site a:focus-visible, .pkj-site input:focus-visible, .pkj-site textarea:focus-visible, .pkj-site select:focus-visible, .pkj-site summary:focus-visible { outline: 3px solid var(--pkj-gold); outline-offset: 4px; }
.pkj-site [hidden] { display: none !important; }
.pkj-wrap { width: min(1200px, calc(100% - 80px)); margin-inline: auto; }
.pkj-reading-wrap { width: min(810px, calc(100% - 48px)); margin-inline: auto; }
.pkj-section { padding: 92px 0; }
.pkj-eyebrow { color: var(--pkj-gold); font: 700 13px/1.6 var(--pkj-sans); letter-spacing: .13em; text-transform: uppercase; margin-bottom: 20px !important; }
.pkj-dot { display: inline-block; width: 7px; height: 7px; background: var(--pkj-gold); border-radius: 50%; margin-right: 10px; vertical-align: 2px; }
.pkj-lead { font-size: max(18px, var(--pkj-font-size)); line-height: 1.85; color: var(--pkj-muted); }
.pkj-site .pkj-button, .pkj-site .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; gap: 12px; border: 1px solid transparent; border-radius: 10px; min-height: 54px; padding: 15px 23px; background: var(--pkj-accent); color: #fff; font: 650 16px/1.5 var(--pkj-sans); text-align: center; text-decoration: none; }
.pkj-site .pkj-button:hover, .pkj-site .wp-block-button__link:hover { background: #183a2d; box-shadow: 0 6px 20px #234b3c18; }
.pkj-site .pkj-button-light { background: #efe4c9; border-color: #efe4c9; color: #234b3c; }
.pkj-site .pkj-button-light:hover { background: #fff4d9; }
.pkj-button svg { width: 21px; height: 21px; }
.pkj-text-link { display: inline-flex; align-items: center; gap: 12px; font-size: 16px; font-weight: 650; line-height: 1.6; }
.pkj-text-link svg { width: 20px; height: 20px; }
.pkj-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; margin-top: 30px; }
.pkj-section-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 45px; margin-bottom: 36px; }
.pkj-section-head h2 { margin: 0; }
.pkj-section-head > p { max-width: 410px; margin: 0; color: var(--pkj-muted); font-size: 17px; }
.pkj-section-head .pkj-eyebrow { margin-bottom: 12px !important; }
.pkj-section-head > .pkj-text-link { flex-shrink: 0; padding-bottom: 5px; }
.pkj-skip { position: fixed; top: -100px; left: 20px; z-index: 100001; padding: 12px 20px; background: #fff; border: 1px solid var(--pkj-line); border-radius: 5px; }
.pkj-skip:focus { top: 20px; }
.screen-reader-text { border: 0 !important; clip: rect(1px, 1px, 1px, 1px) !important; clip-path: inset(50%) !important; height: 1px !important; margin: -1px !important; overflow: hidden !important; padding: 0 !important; position: absolute !important; width: 1px !important; white-space: nowrap !important; }

/* Floating header and accessible navigation. */
.pkj-header { position: sticky; top: 16px; z-index: 1000; width: min(1240px, calc(100% - 40px)); margin: 20px auto 0; border: 1px solid #e0e6dc; border-radius: 18px; background: #fffffff5; box-shadow: 0 8px 28px #234b3c06; backdrop-filter: blur(14px); }
.admin-bar .pkj-header { top: 48px; }
.pkj-header-inner { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 26px; min-height: 88px; padding: 12px 20px; }
.pkj-brand { display: flex; align-items: center; gap: 11px; min-width: 0; }
.pkj-brand-logo { flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; }
.pkj-brand-logo img, .pkj-brand .custom-logo { display: block; width: 50px; height: 56px; object-fit: contain; }
.pkj-brand-text { display: block; min-width: 0; }
.pkj-brand-text strong { display: block; color: var(--pkj-accent); font: 750 22px/1.2 var(--pkj-sans); letter-spacing: .065em; }
.pkj-brand-text span { display: block; margin-top: 4px; color: var(--pkj-muted); font-size: 13px; line-height: 1.45; }
.pkj-brand a:hover { text-decoration: none; }
.pkj-nav { min-width: 0; justify-self: end; width: 100%; }
.pkj-menu { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; list-style: none; gap: 0 24px; margin: 0; padding: 0; }
.pkj-menu > li { position: relative; display: flex; align-items: center; }
.pkj-menu a { display: block; padding: 12px 0; color: var(--pkj-ink); font-size: 16px; font-weight: 550; line-height: 1.5; white-space: nowrap; }
.pkj-menu a:hover, .pkj-menu .current-menu-item > a, .pkj-menu a[aria-current="page"] { color: var(--pkj-gold); text-decoration: none; }
.pkj-menu .sub-menu { display: none; position: absolute; top: 100%; left: -16px; min-width: 240px; max-width: 310px; list-style: none; padding: 10px; margin: 0; background: #fff; border: 1px solid var(--pkj-line); border-radius: 12px; box-shadow: 0 12px 30px #234b3c12; }
.pkj-menu .sub-menu li { position: relative; }
.pkj-menu .sub-menu a { white-space: normal; padding: 10px 12px; }
.pkj-menu .sub-menu .sub-menu { left: 100%; top: 0; }
.pkj-menu li:hover > .sub-menu, .pkj-menu li:focus-within > .sub-menu, .pkj-menu li.pkj-sub-open > .sub-menu { display: block; }
.pkj-sub-toggle { display: inline-flex; justify-content: center; align-items: center; min-height: 38px; border: 0; border-radius: 5px; padding: 7px 3px; background: none; color: var(--pkj-accent); }
.pkj-sub-toggle svg { width: 15px; height: 15px; }
.pkj-site .pkj-header-cta { min-height: 48px; padding: 12px 19px; white-space: nowrap; }
.pkj-menu-toggle { display: none; min-height: 44px; border: 1px solid var(--pkj-line); border-radius: 9px; align-items: center; gap: 7px; padding: 8px 11px; background: var(--pkj-bg); color: var(--pkj-accent); font-size: 16px !important; }

/* The first screen: generous type, warm colours, real community photography. */
.pkj-hero { overflow: hidden; padding: 73px 0 60px; }
.pkj-hero-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 64px; }
.pkj-hero-copy { padding-bottom: 2px; min-width: 0; }
.pkj-hero h1 { max-width: 590px; margin-bottom: 26px; font-size: clamp(48px, 4.8vw, 66px); letter-spacing: -.05em; line-height: 1.08; }
.pkj-hero h1 em { font-weight: 400; color: var(--pkj-gold); }
.pkj-hero .pkj-lead { max-width: 520px; margin-bottom: 0; }
.pkj-hero-note { display: flex; align-items: center; gap: 13px; max-width: 490px; border-top: 1px solid var(--pkj-line); margin-top: 32px; padding-top: 21px; font-size: 14px; color: var(--pkj-muted); line-height: 1.7; }
.pkj-hero-note > svg { width: 28px; height: 28px; color: var(--pkj-gold); }
.pkj-hero-note p { margin: 0; }
.pkj-hero-note strong { color: var(--pkj-accent); font-weight: 600; }
.pkj-hero-visual { position: relative; min-width: 0; padding: 15px 0 0 0; }
.pkj-hero-visual::before { content: ''; position: absolute; right: -23px; top: -9px; width: 72%; height: 85%; border: 1px solid #ccd8c6; border-radius: 25px 98px 25px 25px; pointer-events: none; }
.pkj-hero-photo { position: relative; aspect-ratio: 16 / 9; background: #e2e9dc; border: 6px solid #fff; border-radius: 24px 55px 24px 24px; overflow: hidden; box-shadow: 0 14px 40px #234b3c10; }
.pkj-hero-photo > img { display: block; height: 100%; width: 100%; object-fit: cover; object-position: center center; }
.pkj-photo-caption { position: relative; display: grid; gap: 3px; margin: -6px 19px 0 22px; padding: 23px 25px 22px; border: 1px solid #d9e1d2; border-top: 0; border-radius: 0 0 18px 18px; background: #edf2e6; }
.pkj-photo-caption .pkj-eyebrow { margin-bottom: 3px !important; font-size: 13px; }
.pkj-photo-caption strong { display: block; font: 400 28px/1.3 var(--pkj-serif); color: var(--pkj-accent); letter-spacing: -.025em; }
.pkj-photo-caption span { display: block; font-size: 14px; color: var(--pkj-muted); }
.pkj-visual-stamp { position: absolute; right: -15px; bottom: 24px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; width: 104px; height: 104px; padding: 13px; border: 5px solid var(--pkj-bg); border-radius: 50%; background: var(--pkj-accent); color: #fff; text-align: center; font: 600 13px/1.35 var(--pkj-sans); box-shadow: 0 8px 24px #234b3c12; }
.pkj-visual-stamp svg { color: #e4d5ad; width: 28px; height: 28px; }
.pkj-visual-stamp strong { font: 400 18px/1.15 var(--pkj-serif); }
.pkj-visual-stamp span { font-size: 13px; }
.pkj-pillars { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; padding: 28px 0 31px; border-top: 1px solid var(--pkj-line); border-bottom: 1px solid var(--pkj-line); }
.pkj-pillar { display: grid; grid-template-columns: 46px minmax(0, 1fr); column-gap: 16px; align-items: start; }
.pkj-pillar > svg { width: 46px; height: 46px; padding: 11px; border-radius: 12px; background: #e9eedf; color: var(--pkj-accent); }
.pkj-pillar > div:first-child, .pkj-pillar-icon { grid-row: span 2; display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 12px; color: var(--pkj-accent); background: #e9eedf; }
.pkj-pillar h3 { font-family: var(--pkj-sans); font-size: 18px; font-weight: 650; line-height: 1.5; letter-spacing: -.015em; margin-bottom: 5px; }
.pkj-pillar p { margin: 0; font-size: 16px; line-height: 1.65; color: var(--pkj-muted); }
.pkj-pillar > div:last-child:not(:first-child) { min-width: 0; }

/* Organisation profile and selected static activity pages. */
.pkj-about { color: #f6f8ef; background: var(--pkj-accent); }
.pkj-about-grid { display: grid; grid-template-columns: .95fr 1.05fr; align-items: center; gap: 80px; }
.pkj-about-photo { position: relative; min-width: 0; }
.pkj-about-photo > img { display: block; width: 100%; aspect-ratio: 1.22; object-fit: cover; object-position: center; border-radius: 20px 20px 70px 20px; }
.pkj-about .pkj-eyebrow { color: #dfc992; }
.pkj-about h2 { margin-bottom: 25px; }
.pkj-about-copy > p:not(.pkj-eyebrow) { color: #e0e8dc; font-size: var(--pkj-font-size); line-height: 1.9; }
.pkj-about .pkj-text-link { color: #ecd9a6; }
.pkj-about-facts { display: flex; flex-wrap: wrap; gap: 11px; margin: 27px 0; padding-top: 25px; border-top: 1px solid #ffffff2b; }
.pkj-about-facts > * { display: inline-flex; align-items: center; gap: 9px; padding: 7px 12px; border: 1px solid #ffffff35; border-radius: 7px; color: #f4f7ef; font-size: 14px; }
.pkj-about-facts svg { width: 18px; height: 18px; color: #dfc992; }
.pkj-photo-signature { position: absolute; left: 0; right: 0; bottom: 0; background: linear-gradient(transparent, #123628e8); border-radius: 0 0 70px 20px; padding: 65px 25px 25px; }
.pkj-photo-signature strong { display: block; font: 400 26px/1.3 var(--pkj-serif); }
.pkj-photo-signature span { color: #e2e9dc; font-size: 14px; }
.pkj-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 25px; }
.pkj-card, .pkj-activity-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid var(--pkj-line); border-radius: 16px; background: #fff; transition: border-color .2s, box-shadow .2s, transform .2s; }
.pkj-card:hover, .pkj-activity-card:hover { border-color: #b8c9b2; box-shadow: 0 12px 28px #234b3c09; transform: translateY(-3px); }
.pkj-card-image { display: block; aspect-ratio: 1.6; overflow: hidden; background: #e5ebde; }
.pkj-card-image img { height: 100%; width: 100%; object-fit: cover; transition: transform .3s; }
.pkj-image-placeholder, .pkj-card-placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 13px; width: 100%; height: 100%; padding: 25px; background: radial-gradient(circle at 75% 15%, #f5f6e7, transparent 60%), #e5ebda; color: #607851; font: 650 14px/1.5 var(--pkj-sans); letter-spacing: .13em; }
.pkj-image-placeholder svg, .pkj-card-placeholder svg { width: 43px; height: 43px; color: #778d64; }
.pkj-card:hover .pkj-card-image img, .pkj-activity-card:hover .pkj-card-image img { transform: scale(1.03); }
.pkj-card-body { display: flex; flex: 1; flex-direction: column; padding: 25px; }
.pkj-card-body .pkj-eyebrow { font-size: 13px; margin-bottom: 13px !important; }
.pkj-card-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 5px 13px; font-size: 13px; line-height: 1.7; color: var(--pkj-muted); margin-bottom: 13px; }
.pkj-card-meta a { font-weight: 700; color: var(--pkj-gold); text-transform: uppercase; letter-spacing: .045em; }
.pkj-card h2, .pkj-card h3, .pkj-activity-card h3 { font-size: 28px; line-height: 1.3; letter-spacing: -.025em; margin-bottom: 14px; }
.pkj-card h2 a, .pkj-card h3 a, .pkj-activity-card h3 a { color: var(--pkj-ink); }
.pkj-card-body > p { font-size: 17px; line-height: 1.8; color: var(--pkj-muted); margin-bottom: 24px; }
.pkj-card-more { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 16px; font-weight: 650; margin-top: auto; padding-top: 16px; border-top: 1px solid var(--pkj-line); }
.pkj-card-more svg { width: 20px; height: 20px; }
.pkj-empty { padding: 42px; border: 1px dashed #becdb5; border-radius: 16px; background: #f0f4e9; color: var(--pkj-muted); }
.pkj-empty > svg { margin-bottom: 16px; color: var(--pkj-gold); width: 32px; height: 32px; }
.pkj-empty h1, .pkj-empty h2, .pkj-empty h3 { max-width: 700px; color: var(--pkj-accent); }
.pkj-empty h3 { font-size: 29px; }
.pkj-empty p:last-child { margin-bottom: 0; }
.pkj-empty .pkj-button { margin-top: 12px; }
.pkj-grid > .pkj-empty { grid-column: 1 / -1; }
.pkj-home-content { padding: 74px 0; }
.pkj-home-content .entry-content { max-width: 900px; }
.pkj-home-content:empty { display: none; }
.pkj-latest { background: #eef2e7; }
.pkj-latest .pkj-empty { background: #f8faf4; }

/* Contact, footer, and quick mobile navigation. */
.pkj-contact-section { padding: 80px 0; }
.pkj-contact-card { position: relative; overflow: hidden; display: grid; grid-template-columns: 1.3fr .7fr; align-items: center; gap: 45px; padding: 53px 58px; border-radius: 20px; background: var(--pkj-accent); color: #fffdf5; }
.pkj-contact-card::after { content: ''; position: absolute; right: -110px; top: -120px; width: 285px; height: 285px; border: 1px solid #ffffff18; border-radius: 50%; pointer-events: none; }
.pkj-contact-card .pkj-eyebrow { color: #dfc992; }
.pkj-contact-card h2 { font-size: 43px; }
.pkj-contact-card p:not(.pkj-eyebrow) { margin-bottom: 0; color: #dde7d9; font-size: var(--pkj-font-size); }
.pkj-contact-actions { display: flex; flex-direction: column; align-items: flex-start; justify-self: end; gap: 13px; min-width: 0; }
.pkj-contact-actions > a { color: #f6f7ed; font-size: 16px; overflow-wrap: anywhere; }
.pkj-contact-actions .pkj-button { background: #efe4c9; border-color: #efe4c9; color: var(--pkj-accent); }
.pkj-contact-actions .pkj-button:hover { background: #fff4d9; }
.pkj-contact-number { display: inline-flex; align-items: center; gap: 10px; margin-top: 7px; font-size: 23px !important; letter-spacing: .01em; }
.pkj-contact-number svg { width: 20px; height: 20px; }
.pkj-contact-details { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; margin-bottom: 60px; }
.pkj-contact-details h2 { font-size: 33px; }
.pkj-contact-details address { font-style: normal; }
.pkj-contact-details p { color: var(--pkj-muted); }
.pkj-footer { border-top: 1px solid var(--pkj-line); padding: 57px 0 26px; background: #f0f3e9; }
.pkj-footer-grid { display: grid; grid-template-columns: 1.2fr .65fr 1fr; gap: 66px; }
.pkj-footer .pkj-brand { margin-bottom: 22px; }
.pkj-site .pkj-footer h2 { font: 650 17px/1.5 var(--pkj-sans); letter-spacing: 0; margin: 5px 0 20px; }
.pkj-footer p, .pkj-footer address, .pkj-footer li { font-size: 16px; line-height: 1.8; color: #5c6a60; }
.pkj-footer a { color: #365340; }
.pkj-footer-about > p { max-width: 380px; }
.pkj-footer ul { list-style: none; padding: 0; margin: 0; }
.pkj-footer li { margin-bottom: 9px; }
.pkj-contact-list li { display: flex; align-items: flex-start; gap: 11px; }
.pkj-contact-list svg { width: 20px; height: 20px; margin-top: 4px; color: var(--pkj-gold); }
.pkj-contact-list address { font-style: normal; }
.pkj-contact-list a { overflow-wrap: anywhere; }
.pkj-footnote { font-size: 14px !important; margin-top: 15px !important; }
.pkj-footer-locale { display: flex; align-items: center; gap: 9px; color: var(--pkj-gold); font-size: 14px; }
.pkj-footer-locale svg { width: 18px; height: 18px; }
.pkj-social-links { display: flex; flex-wrap: wrap; gap: 12px; font-size: 15px; }
.pkj-social-links a { display: inline-flex; align-items: center; gap: 7px; padding-block: 5px; }
.pkj-social-links svg { width: 20px; height: 20px; }
.pkj-footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; border-top: 1px solid #d6dfcc; padding-top: 23px; margin-top: 45px; color: #5c6a60; font-size: 13px; }
.pkj-floating-wa { position: fixed; right: 24px; bottom: 23px; z-index: 995; display: flex; align-items: center; gap: 10px; min-height: 54px; padding: 14px 19px; border-radius: 32px; background: #176542; color: #fff !important; box-shadow: 0 6px 24px #14332226; font-size: 16px; line-height: 1.4; font-weight: 600; }
.pkj-floating-wa:hover { background: #114e33; text-decoration: none !important; }
.pkj-floating-wa svg { width: 25px; height: 25px; }
.pkj-mobile-nav { display: none; }

/* Static pages, archives and readable long-form articles. */
.pkj-archive { padding-top: 66px; padding-bottom: 86px; }
.pkj-archive-head { max-width: 840px; margin-bottom: 40px; }
.pkj-archive-head h1 { font-size: clamp(40px, 4.5vw, 60px); overflow-wrap: anywhere; }
.pkj-archive-head p { color: var(--pkj-muted); }
.pkj-search { display: flex; align-items: center; max-width: 470px; border: 1px solid var(--pkj-line); border-radius: 10px; background: #fff; overflow: hidden; margin-top: 26px; }
.pkj-search input[type=search] { border: 0; background: transparent; padding: 13px 17px; min-width: 0; flex: 1; color: var(--pkj-ink); border-radius: 0; box-shadow: none; }
.pkj-search button { align-self: stretch; width: 56px; border: 0; background: var(--pkj-accent); color: #fff; padding: 0; }
.pkj-search button:hover { background: #183a2d; }
.pkj-search input:focus-visible { outline-offset: -3px; }
.pagination { margin-top: 42px; }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: center; }
.pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; padding: 9px 15px; min-width: 45px; min-height: 46px; border: 1px solid var(--pkj-line); border-radius: 8px; color: var(--pkj-accent); font-size: 16px; background: #fff; }
.pagination .page-numbers.current { background: var(--pkj-accent); color: #fff; border-color: var(--pkj-accent); }
.pkj-page-title { padding-top: 64px; margin-bottom: 38px; }
.pkj-page-title h1 { max-width: 960px; overflow-wrap: anywhere; }
.pkj-standard-page .pkj-page-content { width: min(860px, calc(100% - 48px)); margin: 0 auto 75px; }
.pkj-builder-page .pkj-page-content, .pkj-existing-content { width: 100%; max-width: none; }
.pkj-page > .pkj-latest { margin-top: 65px; }
.pkj-page > .pkj-reading-wrap { margin-bottom: 45px; }
.entry-content { overflow-wrap: anywhere; }
.entry-content p { font-size: var(--pkj-font-size); line-height: 1.9; }
.entry-content h2 { font-size: 35px; margin-top: 1.4em; }
.entry-content h3 { font-size: 29px; margin-top: 1.3em; }
.entry-content h4 { font-size: 25px; }
.entry-content a { color: var(--pkj-accent); text-decoration: underline; }
.entry-content li { margin-bottom: .45em; }
.entry-content blockquote { margin: 32px 0; padding: 21px 29px; border-left: 3px solid var(--pkj-gold); background: #edf1e6; font-family: var(--pkj-serif); font-size: 25px; }
.entry-content blockquote p { font-size: inherit; }
.entry-content table { width: 100%; border-collapse: collapse; display: block; overflow-x: auto; }
.entry-content th, .entry-content td { padding: 12px 15px; border: 1px solid var(--pkj-line); text-align: left; }
.entry-content pre { max-width: 100%; overflow: auto; background: #edf1e6; border-radius: 8px; padding: 22px; font-size: 16px; }
.entry-content iframe, .entry-content video { max-width: 100%; }
.entry-content figure { margin-block: 26px; }
.entry-content figcaption { font-size: 14px; line-height: 1.65; text-align: center; color: var(--pkj-muted); margin-top: 10px; }
.entry-content .alignwide { max-width: 100%; }
.entry-content .alignleft { float: left; margin: 0 26px 18px 0; }
.entry-content .alignright { float: right; margin: 0 0 18px 26px; }
.entry-content .aligncenter { margin-inline: auto; }
.entry-content::after { content: ''; display: table; clear: both; }
.wp-block-image img { border-radius: 10px; }
.wp-block-gallery { gap: 16px; }
.wp-block-separator { border: 0; border-top: 1px solid var(--pkj-line); margin-block: 38px; }
.pkj-single { padding-top: 54px; }
.pkj-breadcrumb { display: flex; flex-wrap: wrap; gap: 9px; font-size: 14px; color: var(--pkj-muted); margin-bottom: 30px; }
.pkj-breadcrumb a { color: var(--pkj-muted); }
.pkj-categories { font-size: 13px; font-weight: 700; color: var(--pkj-gold); text-transform: uppercase; letter-spacing: .09em; margin-bottom: 16px; }
.pkj-categories a { color: var(--pkj-gold); }
.pkj-article-header h1 { font-size: clamp(38px, 4.2vw, 56px); line-height: 1.15; margin-bottom: 24px; overflow-wrap: anywhere; }
.pkj-byline { display: flex; align-items: center; flex-wrap: wrap; gap: 5px 10px; font-size: 14px; color: var(--pkj-muted); line-height: 1.8; }
.pkj-article-cover { max-width: 1040px; margin-top: 12px !important; margin-bottom: 43px !important; }
.pkj-site .pkj-article-cover { margin-inline: auto; }
.pkj-article-cover img { width: 100%; max-height: 590px; object-fit: contain; background: #e7ecdf; border-radius: 14px; }
.pkj-article-cover figcaption { font-size: 14px; color: var(--pkj-muted); margin-top: 10px; text-align: center; }
.pkj-article-content { font-size: var(--pkj-font-size); line-height: 1.9; margin-top: 36px; }
.pkj-article-content > p:first-child { font-size: max(19px, var(--pkj-font-size)); }
.pkj-tags { display: flex; flex-wrap: wrap; gap: 9px; margin: 30px 0; }
.pkj-tags a { background: #e9efdf; border-radius: 6px; padding: 6px 11px; font-size: 14px; }
.pkj-article-note { border-left: 3px solid #b8c8ae; padding: 4px 0 4px 17px; font-size: 14px !important; color: var(--pkj-muted); margin-top: 30px !important; }
.pkj-author-card { display: flex; gap: 20px; padding: 26px; background: #edf1e5; border-radius: 12px; margin: 36px 0; }
.pkj-author-symbol { width: 54px; height: 54px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #fff; flex-shrink: 0; color: var(--pkj-gold); }
.pkj-author-card strong { font-size: 18px; }
.pkj-author-card p { font-size: 16px; margin: 6px 0 14px; color: var(--pkj-muted); }
.post-navigation { border-top: 1px solid var(--pkj-line); margin-top: 31px; padding-top: 28px; margin-bottom: 66px; }
.post-navigation .nav-links { display: flex; gap: 36px; }
.post-navigation .nav-links > div { flex: 1; min-width: 0; }
.post-navigation a { display: block; }
.post-navigation span { display: block; color: var(--pkj-muted); font-size: 14px; margin-bottom: 12px; }
.post-navigation strong { font-size: 17px; font-weight: 550; line-height: 1.65; display: block; }
.post-navigation .nav-next { text-align: right; }
.pkj-share { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin: 23px 0; padding: 15px 0; border-block: 1px solid var(--pkj-line); }
.pkj-share-label { font-size: 14px; margin-right: 4px; font-weight: 650; color: var(--pkj-muted); }
.pkj-share-buttons { display: flex; gap: 7px; flex-wrap: wrap; }
.pkj-share-buttons a, .pkj-share-buttons button { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; background: #fff; border: 1px solid var(--pkj-line); color: var(--pkj-accent); border-radius: 8px; padding: 0; }
.pkj-share-buttons a:hover, .pkj-share-buttons button:hover { background: #e9efdf; }
.pkj-share svg { width: 20px; height: 20px; }
.pkj-share-status { font-size: 14px; color: var(--pkj-muted); }
.pkj-copy-fallback { width: 100%; border: 1px solid var(--pkj-line); border-radius: 7px; font-size: 16px; padding: 11px; }
#comments { margin-bottom: 62px; }
.comment-list { padding-left: 22px; }
.comment-list .children { padding-left: 20px; }
.comment-list article { padding: 22px 0; border-bottom: 1px solid var(--pkj-line); }
.comment-list .avatar { border-radius: 50%; margin-right: 10px; }
.comment-metadata { font-size: 14px; }
.comment-form label { display: block; font-size: 16px; }
.comment-form input:not([type=checkbox]), .comment-form textarea, .post-password-form input[type=password] { border: 1px solid var(--pkj-line); padding: 12px 14px; border-radius: 8px; background: #fff; color: var(--pkj-ink); width: 100%; }
.comment-form .submit, .post-password-form input[type=submit] { width: auto !important; background: var(--pkj-accent) !important; color: #fff !important; border: 0 !important; padding: 14px 23px; border-radius: 8px; }
.comment-form-cookies-consent { display: flex; align-items: flex-start; gap: 10px; }
.comment-form-cookies-consent input { margin-top: 8px; }

@media (max-width: 1180px) {
  .pkj-header-inner { gap: 19px; padding-inline: 17px; }
  .pkj-menu { gap: 19px; }
  .pkj-brand-text strong { font-size: 21px; }
  .pkj-brand-text span { max-width: 200px; }
  .pkj-hero-grid { gap: 42px; }
  .pkj-hero h1 { font-size: 56px; }
  .pkj-about-grid { gap: 54px; }
  .pkj-footer-grid { gap: 40px; }
  .pkj-contact-card { padding: 45px; }
}

@media (max-width: 1100px) {
  .pkj-header-inner { grid-template-columns: minmax(0, 1fr) auto auto; }
  .pkj-js .pkj-menu-toggle { display: inline-flex; }
  .pkj-nav { grid-column: 1 / -1; width: 100%; justify-self: stretch; order: 4; }
  .pkj-js .pkj-nav:not(.is-open) { display: none; }
  .pkj-header .is-open { max-height: min(65vh, 540px); overflow-y: auto; overscroll-behavior: contain; }
  .pkj-menu { display: block; padding: 3px; }
  .pkj-menu > li { display: block; }
  .pkj-menu a { border-bottom: 1px solid #e8ede2; padding: 13px 9px; white-space: normal; }
  .pkj-menu .menu-item-has-children > a { padding-right: 46px; }
  .pkj-sub-toggle { position: absolute; right: 0; top: 4px; min-width: 42px; min-height: 42px; }
  .pkj-menu .sub-menu, .pkj-menu .sub-menu .sub-menu { position: static; box-shadow: none; width: auto; max-width: none; border: 0; border-left: 1px solid var(--pkj-line); margin: 5px 0 10px 10px; padding: 0 0 0 13px; background: transparent; }
  .pkj-menu li:hover > .sub-menu, .pkj-menu li:focus-within > .sub-menu { display: none; }
  .pkj-menu li.pkj-sub-open > .sub-menu { display: block; }
  .pkj-site:not(.pkj-js) .pkj-menu .sub-menu { display: block; }
}

@media (max-width: 960px) {
  .pkj-wrap { width: calc(100% - 56px); }
  .pkj-section { padding: 72px 0; }
  .pkj-hero { padding: 57px 0 45px; }
  .pkj-hero-grid { gap: 31px; }
  .pkj-hero h1 { font-size: 49px; }
  .pkj-hero .pkj-actions { gap: 18px; }
  .pkj-hero-photo { aspect-ratio: 16 / 9; border-radius: 20px 40px 20px 20px; }
  .pkj-photo-caption { margin-inline: 12px; padding: 20px; }
  .pkj-photo-caption strong { font-size: 25px; }
  .pkj-visual-stamp { width: 88px; height: 88px; right: -11px; bottom: -25px; border-width: 4px; }
  .pkj-visual-stamp svg { width: 24px; height: 24px; }
  .pkj-pillars { gap: 23px; }
  .pkj-pillar { grid-template-columns: 1fr; gap: 12px; }
  .pkj-pillar > div:first-child, .pkj-pillar-icon { grid-row: auto; }
  .pkj-about-grid { gap: 38px; }
  .pkj-about-photo > img { aspect-ratio: .92; }
  .pkj-section-head { gap: 30px; }
  .pkj-section-head > p { max-width: 320px; }
  .pkj-grid { gap: 18px; }
  .pkj-card-body { padding: 21px; }
  .pkj-card h2, .pkj-card h3, .pkj-activity-card h3 { font-size: 25px; }
  .pkj-card-image { aspect-ratio: 1.4; }
  .pkj-contact-card { padding: 37px; gap: 30px; grid-template-columns: 1.15fr .85fr; }
  .pkj-contact-card h2 { font-size: 38px; }
  .pkj-footer-grid { grid-template-columns: 1.2fr 1fr; }
  .pkj-footer-grid > div:last-child { grid-column: 1 / -1; }
}

@media (max-width: 767px) {
  html { scroll-padding-top: 112px; }
  .pkj-wrap, .pkj-reading-wrap { width: calc(100% - 40px); }
  .pkj-site h1 { font-size: 42px; }
  .pkj-site h2 { font-size: 35px; }
  .pkj-site h3 { font-size: 28px; }
  .pkj-header { width: calc(100% - 20px); margin-top: 10px; top: 10px; border-radius: 14px; }
  .admin-bar .pkj-header { top: 56px; }
  .pkj-header-inner { grid-template-columns: minmax(0, 1fr) auto; gap: 8px; min-height: 75px; padding: 10px 11px; }
  .pkj-header-cta { display: none !important; }
  .pkj-header .pkj-brand { gap: 8px; }
  .pkj-header .pkj-brand-logo img, .pkj-header .custom-logo { width: 40px; height: 48px; }
  .pkj-header .pkj-brand-text strong { font-size: 18px; letter-spacing: .035em; }
  .pkj-header .pkj-brand-text span { font-size: 13px; max-width: 173px; line-height: 1.35; margin-top: 3px; }
  .pkj-menu-toggle { padding: 8px; gap: 4px; }
  .pkj-menu-toggle svg { width: 22px; height: 22px; }
  .pkj-menu-toggle span { display: none; }
  .pkj-eyebrow { font-size: 13px; letter-spacing: .1em; margin-bottom: 18px !important; }
  .pkj-hero { padding: 39px 0 38px; }
  .pkj-hero-grid { grid-template-columns: 1fr; gap: 30px; }
  .pkj-hero h1 { font-size: 44px; line-height: 1.08; letter-spacing: -.045em; margin-bottom: 23px; max-width: 510px; }
  .pkj-hero .pkj-lead { line-height: 1.8; max-width: 540px; }
  .pkj-hero .pkj-actions { margin-top: 26px; gap: 20px; }
  .pkj-hero .pkj-button { padding: 14px 18px; gap: 10px; }
  .pkj-hero .pkj-text-link { gap: 9px; }
  .pkj-hero-note { margin-top: 25px; padding-top: 19px; max-width: 100%; font-size: 14px; }
  .pkj-hero-note > svg { width: 25px; height: 25px; }
  .pkj-hero-visual { width: 100%; max-width: 540px; margin-inline: auto; padding-top: 8px; }
  .pkj-hero-visual::before { top: -4px; right: -9px; border-radius: 20px 66px 20px 20px; }
  .pkj-hero-photo { aspect-ratio: 16 / 9; border-width: 5px; border-radius: 20px 40px 20px 20px; }
  .pkj-photo-caption { padding: 20px 21px; margin: -5px 14px 0; border-radius: 0 0 15px 15px; }
  .pkj-photo-caption strong { font-size: 26px; max-width: 250px; }
  .pkj-photo-caption span { font-size: 14px; }
  .pkj-visual-stamp { right: -5px; bottom: -13px; width: 85px; height: 85px; padding: 11px; }
  .pkj-visual-stamp span { font-size: 12px; }
  .pkj-pillars { grid-template-columns: 1fr; gap: 22px; padding: 27px 0; }
  .pkj-pillar { grid-template-columns: 46px minmax(0, 1fr); column-gap: 15px; row-gap: 0; }
  .pkj-pillar > div:first-child, .pkj-pillar-icon { grid-row: span 2; }
  .pkj-pillar h3 { font-size: 18px; margin-bottom: 4px; }
  .pkj-pillar p { font-size: 16px; }
  .pkj-section { padding: 57px 0; }
  .pkj-section-head { display: block; margin-bottom: 28px; }
  .pkj-section-head h2 br { display: none; }
  .pkj-section-head > p { max-width: 100%; margin-top: 17px; }
  .pkj-section-head > .pkj-text-link { margin-top: 18px; }
  .pkj-about-grid { grid-template-columns: 1fr; gap: 31px; }
  .pkj-about-photo { max-width: 540px; width: 100%; margin-inline: auto; order: 2; }
  .pkj-about-photo > img { aspect-ratio: 1.28; border-radius: 18px 18px 52px 18px; }
  .pkj-about h2 { font-size: 36px; margin-bottom: 22px; }
  .pkj-about-facts { gap: 9px; margin-block: 25px; padding-top: 22px; }
  .pkj-about-facts > * { font-size: 14px; padding: 7px 11px; }
  .pkj-grid { grid-template-columns: 1fr; gap: 23px; }
  .pkj-card-image { aspect-ratio: 1.55; }
  .pkj-card-body { padding: 24px; }
  .pkj-card h2, .pkj-card h3, .pkj-activity-card h3 { font-size: 29px; }
  .pkj-card-body > p { font-size: 17px; }
  .pkj-empty { padding: 28px 25px; }
  .pkj-empty h3 { font-size: 29px; }
  .pkj-home-content { padding-block: 50px; }
  .pkj-contact-section { padding: 54px 0; }
  .pkj-contact-card { grid-template-columns: 1fr; gap: 27px; padding: 33px 26px; border-radius: 16px; }
  .pkj-contact-card h2 { font-size: 36px; }
  .pkj-contact-actions { justify-self: stretch; align-items: flex-start; width: 100%; }
  .pkj-contact-actions .pkj-button { width: 100%; padding: 14px 15px; }
  .pkj-contact-number { font-size: 22px !important; }
  .pkj-contact-details { grid-template-columns: 1fr; gap: 27px; margin-bottom: 39px; }
  .pkj-footer { padding: 42px 0 25px; }
  .pkj-footer-grid { grid-template-columns: 1fr; gap: 32px; }
  .pkj-footer-grid > div:last-child { grid-column: auto; }
  .pkj-footer .pkj-brand { margin-bottom: 20px; }
  .pkj-footer .pkj-brand-text strong { font-size: 22px; }
  .pkj-footer-about > p { max-width: 100%; }
  .pkj-footer h2 { margin-bottom: 17px; }
  .pkj-footer-bottom { flex-direction: column; align-items: flex-start; gap: 11px; margin-top: 32px; padding-top: 21px; }
  .pkj-has-mobile-nav { padding-bottom: calc(78px + env(safe-area-inset-bottom, 0px)); }
  .pkj-mobile-nav { display: flex; position: fixed; bottom: 0; left: 0; right: 0; align-items: center; justify-content: space-around; z-index: 996; background: #fffffff7; border-top: 1px solid #d7e0ce; padding: 7px 5px calc(7px + env(safe-area-inset-bottom, 0px)); box-shadow: 0 -4px 22px #234b3c08; backdrop-filter: blur(14px); min-height: 71px; }
  .pkj-mobile-nav a { display: flex; align-items: center; justify-content: center; gap: 4px; flex-direction: column; min-height: 54px; min-width: 63px; padding: 3px 7px; border-radius: 9px; color: #5c6a60; font-size: 12px; font-weight: 600; line-height: 1.45; text-decoration: none; }
  .pkj-mobile-nav a[aria-current="page"] { color: var(--pkj-accent); background: #edf3e6; }
  .pkj-mobile-nav svg { width: 22px; height: 22px; }
  .pkj-floating-wa { right: 16px; bottom: 18px; width: 54px; height: 54px; min-height: 54px; padding: 0; justify-content: center; border: 2px solid #fff; }
  .pkj-floating-wa.pkj-above-nav { bottom: calc(88px + env(safe-area-inset-bottom, 0px)); }
  .pkj-floating-wa span { display: none; }
  .pkj-floating-wa svg { width: 28px; height: 28px; }
  .pkj-page-title { padding-top: 41px; margin-bottom: 29px; }
  .pkj-page-title h1 { font-size: 40px; }
  .pkj-standard-page .pkj-page-content { width: calc(100% - 40px); margin-bottom: 50px; }
  .pkj-archive { padding-top: 43px; padding-bottom: 54px; }
  .pkj-archive-head { margin-bottom: 31px; }
  .pkj-archive-head h1 { font-size: 39px; }
  .pkj-single { padding-top: 33px; }
  .pkj-breadcrumb { font-size: 13px; gap: 7px; margin-bottom: 25px; }
  .pkj-article-header h1 { font-size: 39px; line-height: 1.17; }
  .pkj-byline { font-size: 13px; gap: 5px 8px; }
  .pkj-article-cover { margin-bottom: 29px !important; }
  .pkj-article-cover img { border-radius: 10px; }
  .pkj-article-cover figcaption { font-size: 14px; }
  .pkj-article-content { margin-top: 29px; }
  .entry-content h2 { font-size: 31px; }
  .entry-content h3 { font-size: 27px; }
  .entry-content h4 { font-size: 24px; }
  .entry-content blockquote { font-size: 24px; padding: 19px 22px; }
  .entry-content .alignleft, .entry-content .alignright { float: none; margin: 22px 0; }
  .pkj-share { gap: 10px; margin-block: 20px; }
  .pkj-share-status:not(:empty) { flex-basis: 100%; }
  .pkj-author-card { padding: 23px 20px; gap: 15px; }
  .pkj-author-symbol { width: 44px; height: 44px; }
  .post-navigation .nav-links { gap: 23px; }
  .post-navigation strong { font-size: 16px; }
}

@media (min-width: 580px) and (max-width: 767px) {
  .pkj-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
  .pkj-card-body { padding: 21px; }
  .pkj-card h2, .pkj-card h3, .pkj-activity-card h3 { font-size: 26px; }
  .pkj-hero h1 { font-size: 55px; }
}

@media (max-width: 390px) {
  .pkj-wrap, .pkj-reading-wrap { width: calc(100% - 34px); }
  .pkj-header .pkj-brand-text strong { font-size: 17px; }
  .pkj-header .pkj-brand-text span { max-width: 160px; }
  .pkj-hero h1 { font-size: 42px; }
  .pkj-hero .pkj-actions { gap: 18px; }
  .pkj-photo-caption { padding: 19px 16px; margin-inline: 10px; }
  .pkj-photo-caption strong { font-size: 24px; }
  .pkj-contact-card { padding: 30px 23px; }
  .pkj-card-body { padding: 22px; }
  .pkj-mobile-nav a { min-width: 58px; padding-inline: 5px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .pkj-site * { transition: none !important; animation: none !important; }
  .pkj-card:hover, .pkj-activity-card:hover { transform: none; }
}

/* Escape closes a keyboard submenu without focus reopening it. */
@media (min-width: 1101px) {
  .pkj-js .pkj-menu li:focus-within:not(.pkj-sub-open) > .sub-menu { display: none; }
}

@media print {
  .pkj-header, .pkj-footer, .pkj-mobile-nav, .pkj-floating-wa, .pkj-share, .pkj-breadcrumb, .pkj-contact-section, .pkj-latest, .post-navigation, #comments, .pkj-author-card { display: none !important; }
  body.pkj-site { background: #fff; color: #000; padding: 0 !important; font-size: 12pt; }
  .pkj-reading-wrap, .pkj-wrap { width: 100%; max-width: none; }
  .pkj-single { padding: 0; }
  .pkj-article-header h1 { font-size: 27pt; }
  .pkj-article-content, .entry-content p { font-size: 12pt; }
  .pkj-article-cover { max-width: 680px; }
  .pkj-article-cover img { max-height: 300px; }
  .pkj-site a { color: #000; }
  .entry-content h2, .entry-content h3 { break-after: avoid; }
  .entry-content figure, .entry-content blockquote { break-inside: avoid; }
  .pkj-tags a { background: none; border: 1px solid #aaa; }
}
