@charset "UTF-8";
/* ============================================================
   NN Publication — journal theme v2  (3 Nov 2026)
   One file for all NNPub journals on OJS 3.5 (default theme).
   Install: Website → Appearance → Advanced → "Journal style sheet".
   It loads AFTER the default-theme CSS, so most rules need no !important.
   Per-journal values are only in §3b (phone title) — see make_deploy.py.
   ============================================================ */

/* ---------- 0. Tokens ---------- */
:root{
  --nn-blue:#1E5AF1; --nn-blue-d:#1747C2; --nn-blue-bg:#EEF3FE; --nn-blue-line:#C9D6FB;
  --nn-ink:#1E1E24; --nn-mute:#5B6478; --nn-line:#E4E8F0; --nn-light:#F4F6FA;
  --nn-font:'Plus Jakarta Sans',system-ui,-apple-system,"Segoe UI",sans-serif;
  --nn-r:8px; --nn-shadow:0 18px 40px rgba(30,30,36,.12);
}

/* ---------- 1. Base ---------- */
html{background:var(--nn-light)}
body{background:var(--nn-light);color:var(--nn-ink);font-family:var(--nn-font)}
body *:not(.fa):not([class^="fa-"]):not([class*=" fa-"]):not(i){font-family:var(--nn-font)!important}
.pkp_structure_page{box-shadow:0 18px 50px rgba(30,30,36,.06);border-bottom:0}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}

/* ---------- 2. Links — ONE system ----------
   2a  text link   : any <a> in running text, facts, breadcrumbs, footer bar
   2b  list link   : .nn-links a  (sidebar lists, footer columns, mobile menu)
   2c  menu item   : desktop dropdowns (About, user menu) — list link + tinted row
   2d  external    : target=_blank inside lists gets a ↗ marker
   All share: colour blue / hover dark blue, no underline at rest, visible focus ring. */
a{color:var(--nn-blue);text-decoration:none;transition:color .15s}
a:hover,a:focus{color:var(--nn-blue-d)}
a:focus-visible{outline:2px solid var(--nn-blue);outline-offset:2px;border-radius:4px}
.pkp_structure_main p a,.pkp_block .journal-info a,.nn-bar a,.cmp_breadcrumbs a,.nn-page p a,.nn-page .nn-acc__body li a{
  text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:rgba(30,90,241,.35)}
.pkp_structure_main p a:hover,.pkp_block .journal-info a:hover,.nn-bar a:hover,.cmp_breadcrumbs a:hover,.nn-page p a:hover,.nn-page .nn-acc__body li a:hover{text-decoration-color:currentColor}
.cmp_breadcrumbs ol{font-size:12.5px;text-transform:uppercase;letter-spacing:.06em;font-weight:600}
.cmp_breadcrumbs .separator{color:var(--nn-mute)}

/* 2b list links (sidebar + footer + accordion lists share this) */
.nn-links{list-style:none;margin:0;padding:0}
.nn-links li{margin:0;padding:0;line-height:1.4}
.nn-links a{display:block;padding:6px 0;color:var(--nn-ink);font-size:14.5px;font-weight:500;text-decoration:none;transition:color .15s,padding-left .15s}
.nn-links a:hover,.nn-links a:focus{color:var(--nn-blue);text-decoration:none}
.nn-links a[aria-current="page"]{color:var(--nn-blue);font-weight:700}
/* 2d external marker */
.nn-links a[target="_blank"]::after{content:"\00a0\2197";font-size:11px;color:var(--nn-mute);transition:color .15s}
.nn-links a[target="_blank"]:hover::after{color:var(--nn-blue)}
/* muted non-link facts that sit in the same lists (address, notes) */
.nn-links .nn-txt{display:block;padding:6px 0;color:var(--nn-mute);font-size:14.5px;line-height:1.4}

/* ---------- 3. Buttons — ONE system ----------
   .nn-btn (outline) · .nn-btn--pri (filled) · .nn-btn--block (full width)
   Also applied to OJS galley buttons and the nav "Submit Manuscript" item. */
.nn-btn,.obj_galley_link,.pkp_block .cmp_button,.block_make_submission a{
  display:inline-block;padding:10px 18px;border-radius:var(--nn-r);border:1.5px solid var(--nn-blue);
  background:#fff;color:var(--nn-blue);font-weight:600;font-size:14.5px;line-height:1.2;text-decoration:none;
  box-shadow:none;transition:background .15s,color .15s,border-color .15s}
.nn-btn:hover,.nn-btn:focus,.obj_galley_link:hover,.obj_galley_link:focus,.pkp_block .cmp_button:hover,.block_make_submission a:hover{
  background:var(--nn-blue-d);border-color:var(--nn-blue-d);color:#fff;text-decoration:none}
.nn-btn--pri,.obj_galley_link,.pkp_block .cmp_button,.block_make_submission a{background:var(--nn-blue);color:#fff}
.nn-btn--block{display:block;text-align:center}
.nn-btn--sm,.obj_galley_link{padding:6px 12px;font-size:13.5px}
.obj_galley_link::before{margin-right:.4em}

/* ---------- 4. Top bar + header ---------- */
.pkp_structure_head{background:#fff;border-bottom:3px solid var(--nn-blue);position:relative;padding-top:40px}
.pkp_structure_head::before{content:"Ninety Nine Publication \00a0·\00a0 Open Access \00a0·\00a0 Peer-reviewed";position:absolute;left:0;right:0;top:0;height:40px;line-height:40px;background:var(--nn-ink);color:#C9CEDA;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:0 2.143rem;box-sizing:border-box;white-space:nowrap;overflow:hidden}
.pkp_site_name_wrapper{height:auto;background:#fff;border:0}
.pkp_site_name{padding:18px 0 14px}
.pkp_site_name .is_img:focus{outline:2px solid var(--nn-blue);outline-offset:2px}
@media (min-width:992px){.pkp_site_name .is_img img{max-height:90px;width:auto}}
/* 3b phone title (pure CSS; text comes from make_deploy.py per journal) */
@media (max-width:991px){
  .pkp_structure_head::before{content:"Ninety Nine Publication \00a0·\00a0 Open Access";padding:0 16px;font-size:11px}
  .pkp_head_wrapper{padding:0}
  .pkp_site_name_wrapper{display:flex;align-items:center;gap:12px;padding:12px 16px;height:auto}
  .pkp_site_nav_toggle{position:relative;order:2;flex:0 0 42px;width:42px;height:42px;border:1px solid var(--nn-line);border-radius:10px;box-shadow:none;
    background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%231E1E24' stroke-width='2.2' stroke-linecap='round' viewBox='0 0 24 24'%3E%3Cpath d='M4 7h16M4 12h16M4 17h16'/%3E%3C/svg%3E") no-repeat center}
  .pkp_site_nav_toggle:focus{outline:2px solid var(--nn-blue);outline-offset:2px}
  .pkp_site_nav_toggle>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);border:0;padding:0}
  .pkp_site_nav_toggle>span::before,.pkp_site_nav_toggle>span::after{display:none}
  .pkp_site_name{position:static;padding:0;width:auto;flex:1 1 auto;min-width:0;margin:0;white-space:normal;overflow:visible;
    display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:10px;align-items:center}
  .pkp_site_name .is_img{grid-row:1/3;margin:0;line-height:0}
  .pkp_site_name .is_img img{height:44px;width:131px;max-width:none;max-height:none;object-fit:cover;object-position:left center}
  .pkp_site_name::before,.pkp_site_name::after{grid-column:2;border-left:1px solid var(--nn-line);padding-left:10px;line-height:1.25;white-space:normal}
  .pkp_site_name::before{content:"Journal of Advance Research in";font-size:10.5px;color:var(--nn-mute);align-self:end;padding-bottom:1px}
  .pkp_site_name::after{content:"Social Science and Humanities";font-size:13.5px;font-weight:700;color:var(--nn-ink);align-self:start}
}
@media (max-width:360px){.pkp_site_name .is_img img{height:36px;width:107px}.pkp_site_name::after{font-size:12.5px}}

/* ---------- 5. Primary nav (desktop) ----------
   NB: this OJS 3.5 install's theme CSS has ID rules (#navigationPrimary a {uppercase; Montserrat; .93rem; 700}
   and #navigationPrimary > li > a {border-bottom-width:4px}) — class selectors cannot beat them, so the nav
   rules below use the same IDs instead of !important. */
.pkp_navigation_primary_row{background:#fff;border-top:1px solid var(--nn-line)}
#navigationPrimary a{text-transform:none;letter-spacing:0;font-weight:600;font-size:15px}
@media (min-width:992px){
  #navigationPrimary>li>a{color:var(--nn-ink);font-weight:600;font-size:15px;padding-bottom:calc(0.714rem - 3px);border-bottom:3px solid transparent;background:transparent}
  #navigationPrimary>li>a:hover,#navigationPrimary>li>a:focus{color:var(--nn-blue);border-bottom-color:var(--nn-blue);background:transparent}
  #navigationPrimary>[aria-haspopup]>a:hover,#navigationPrimary>[aria-haspopup]>a:focus{border-bottom-color:var(--nn-blue)}
  #navigationPrimary>li>a:focus-visible{outline:2px solid var(--nn-blue);outline-offset:-2px;border-radius:4px}
  /* Submit Manuscript — matches a real menu item (Remote URL → /submission) or the JS-added one */
  #navigationPrimary>li>a[href$="/submission"]{background:var(--nn-blue);color:#fff;border-radius:var(--nn-r);padding:8px 18px;border:0;margin-left:6px}
  #navigationPrimary>li>a[href$="/submission"]:hover,#navigationPrimary>li>a[href$="/submission"]:focus{background:var(--nn-blue-d);color:#fff}
  .pkp_navigation_search_wrapper a{color:var(--nn-ink);font-weight:600;text-transform:none;letter-spacing:0;font-size:15px}
  .pkp_navigation_search_wrapper a:hover,.pkp_navigation_search_wrapper a:focus{color:var(--nn-blue);border-bottom-color:var(--nn-blue);background:transparent}
  /* 2c dropdown menus (About + user menu): white card, hover bridge, list-link rows */
  #navigationPrimary ul,#navigationUser ul{background:#fff;border:1px solid var(--nn-line);border-radius:12px;box-shadow:var(--nn-shadow);padding:8px;min-width:240px;margin-top:6px;overflow:visible}
  #navigationPrimary ul::before,#navigationUser ul::before{content:"";position:absolute;left:0;right:0;top:-8px;height:8px}
  #navigationPrimary ul li,#navigationUser ul li{margin:0}
  #navigationPrimary ul a,#navigationUser ul a{display:block;color:var(--nn-ink);background:transparent;text-transform:none;letter-spacing:0;font-size:14.5px;font-weight:500;padding:9px 12px;border-radius:8px;border:0}
  #navigationPrimary ul a:hover,#navigationPrimary ul a:focus,#navigationUser ul a:hover,#navigationUser ul a:focus{background:var(--nn-blue-bg);color:var(--nn-blue);border-color:transparent;outline:0}
  #navigationUser .dropdown-menu{right:0;left:auto}
  #navigationUser>li>ul a .task_count{display:inline-block;background:var(--nn-blue-bg);color:var(--nn-blue)}
  /* user links live in the 40px top bar */
  .pkp_navigation_user_wrapper{top:-40px;right:0;left:auto;width:auto;height:40px;transform:none;display:flex;align-items:center;justify-content:flex-end;padding:0 2.143rem 0 0}
  .pkp_navigation_user_wrapper #navigationUser{display:flex;align-items:center;gap:18px;margin:0;padding:0;float:none}
  .pkp_navigation_user_wrapper #navigationUser>li{margin:0;float:none}
  .pkp_navigation_user_wrapper #navigationUser>li>a{padding:0;line-height:40px;color:#fff;font-weight:600;background:transparent}
  .pkp_navigation_user_wrapper #navigationUser>li>a:hover,.pkp_navigation_user_wrapper #navigationUser>li>a:focus{color:#C9CEDA;background:transparent}
  #navigationUser>li>a .task_count{background:rgba(255,255,255,.18);color:#fff}
}

/* Desktop: the menu takes the full row (OJS caps it at 80 %), Search sits at the far right; items wrap only if they must */
@media (min-width:992px){
  .pkp_navigation_primary_wrapper{display:flex;align-items:center;justify-content:space-between;gap:12px}
  #navigationPrimary{max-width:none;flex:1 1 auto;text-align:left;display:flex;flex-wrap:wrap;align-items:center}
  #navigationPrimary>li{display:block}
  #navigationPrimary>li>a{margin-left:.3em;margin-right:.3em;padding-left:.4em;padding-right:.4em}
  #navigationPrimary>li:first-child>a{margin-left:-.4em}
  .pkp_navigation_search_wrapper{float:none;flex:0 0 auto}
  .pkp_navigation_search_wrapper a{margin-right:0}
}
/* 992–1199 px (OJS container 952 px): smaller type so long menus still fit on one row */
@media (min-width:992px) and (max-width:1199px){
  #navigationPrimary>li>a{font-size:14px;margin-left:.2em;margin-right:.2em;padding-left:.3em;padding-right:.3em}
  #navigationPrimary>li>a[href$="/submission"]{padding:7px 12px;margin-left:4px}
  .pkp_navigation_search_wrapper a{font-size:14px}
}

/* ---------- 6. Phone menu ---------- */
@media (max-width:991px){
  .pkp_site_nav_menu{background:#fff;padding:6px 16px 18px;box-shadow:0 18px 34px rgba(30,30,36,.14);border-top:1px solid var(--nn-line)}
  .pkp_site_nav_menu .pkp_navigation_primary_row{border-top:0;padding:0}
  .pkp_site_nav_menu .pkp_navigation_primary_wrapper,.pkp_site_nav_menu #navigationPrimary{display:block;width:100%;padding:0;margin:0}
  .pkp_site_nav_menu #navigationPrimary>li{display:block;margin:0;float:none}
  .pkp_site_nav_menu #navigationPrimary a,.pkp_site_nav_menu #navigationUser a,.pkp_site_nav_menu .pkp_navigation_search_wrapper a{display:block;padding:12px 2px;margin:0;border:0;border-bottom:1px solid #EEF1F6;font-size:16px;font-weight:600;color:var(--nn-ink);text-decoration:none;text-transform:none;letter-spacing:0}
  .pkp_site_nav_menu #navigationPrimary a:hover,.pkp_site_nav_menu #navigationPrimary a:focus,.pkp_site_nav_menu #navigationUser a:hover,.pkp_site_nav_menu #navigationUser a:focus,.pkp_site_nav_menu .pkp_navigation_search_wrapper a:hover{color:var(--nn-blue);text-decoration:none;background:transparent}
  .pkp_site_nav_menu #navigationPrimary ul,.pkp_site_nav_menu #navigationUser ul{position:static;display:block;float:none;box-shadow:none;border:0;background:transparent;margin:0;padding:2px 0 6px 14px;min-width:0;width:auto;transform:none}
  .pkp_site_nav_menu #navigationPrimary ul li,.pkp_site_nav_menu #navigationUser ul li{display:block;float:none;margin:0;border:0;background:transparent}
  .pkp_site_nav_menu #navigationPrimary ul a,.pkp_site_nav_menu #navigationUser ul a{padding:9px 2px;color:var(--nn-mute);font-size:15px;font-weight:500;border-bottom:0}
  .pkp_site_nav_menu #navigationPrimary>li>a[href$="/submission"]{display:block;text-align:center;margin:16px 0 6px;padding:13px 18px;border:0;border-radius:var(--nn-r);background:var(--nn-blue);color:#fff}
  .pkp_site_nav_menu .pkp_navigation_search_wrapper{float:none;padding:0;margin:0;border:0}
  .pkp_site_nav_menu .pkp_navigation_user_wrapper{position:static;display:block;height:auto;padding:10px 0 0;margin:8px 0 0;border-top:1px solid var(--nn-line);transform:none}
  .pkp_site_nav_menu #navigationUser{display:block;margin:0;padding:0;border:0}
  .pkp_site_nav_menu #navigationUser>li{display:block}
  .pkp_site_nav_menu #navigationUser a{font-size:15px;font-weight:500}
}

/* ---------- 7. Homepage strip (markup from nn-hero-js) ---------- */
.pkp_page_index .homepage_image,.pkp_structure_page>.homepage_image{display:none}
.pkp_page_index .pkp_structure_sidebar img.nn-cover{display:none}
.nn-hero{background:linear-gradient(180deg,var(--nn-light) 0%,#fff 100%);border-bottom:1px solid var(--nn-line);position:relative;overflow:hidden}
.nn-hero::after{content:"";position:absolute;right:-140px;top:-160px;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(30,90,241,.10) 0%,rgba(30,90,241,0) 70%);pointer-events:none}
.nn-hero__in{display:flex;gap:34px;align-items:center;padding:30px 2.143rem 32px;position:relative;z-index:1}
.nn-hero__cover{flex:0 0 auto}
.nn-hero__cover img{display:block;width:150px;height:auto;border-radius:4px;box-shadow:0 18px 30px -12px rgba(30,30,36,.45),0 3px 10px rgba(30,30,36,.12);transition:transform .25s}
.nn-hero__cover:hover img{transform:translateY(-3px)}
.nn-hero__body{flex:1 1 auto;min-width:0}
.nn-hero__eyebrow{margin:0 0 8px;color:var(--nn-blue);font-size:12px;font-weight:700;letter-spacing:.12em}
.nn-hero__lead{margin:0 0 18px;font-size:18px;line-height:1.5;color:var(--nn-ink);font-weight:500;max-width:660px}
.nn-hero__facts{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-wrap:wrap;border:1px solid var(--nn-line);border-radius:10px;background:#fff}
.nn-hero__facts li{flex:1 1 0;min-width:112px;padding:10px 14px;border-left:1px solid var(--nn-line);margin:0}
.nn-hero__facts li:first-child{border-left:0}
.nn-hero__facts span{display:block;font-size:11px;color:var(--nn-mute);text-transform:uppercase;letter-spacing:.06em;font-weight:600}
.nn-hero__facts strong{display:block;font-size:15px;color:var(--nn-ink);font-weight:700;margin-top:2px;white-space:nowrap}
.nn-hero__cta{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.nn-hero__issue{margin-left:6px;color:var(--nn-ink);font-weight:600;font-size:14.5px}
.nn-hero__issue:hover{color:var(--nn-blue)}
@media (max-width:767px){
  .nn-hero__in{flex-direction:column;align-items:flex-start;gap:18px;padding:22px 1rem}
  .nn-hero__cover img{width:118px}.nn-hero__lead{font-size:16px}.nn-hero__eyebrow{font-size:11px;letter-spacing:.07em}
  .nn-hero__facts li{flex:1 1 45%;border-left:0;border-top:1px solid var(--nn-line)}.nn-hero__facts li:nth-child(-n+2){border-top:0}
}

/* ---------- 8. Content column ---------- */
.pkp_structure_main h1,.pkp_structure_main h2,.pkp_structure_main h3,.page h1,.obj_issue_toc h2,.homepage_about h2,.current_issue h2{font-weight:700;color:var(--nn-ink);letter-spacing:-.01em}
.obj_issue_toc .section>h2,.obj_issue_toc .section>h3,.obj_issue_toc .galleys>h2{color:var(--nn-ink);font-weight:700;font-size:1.143rem} /* the install's theme CSS greys these at (0,2,1) */
.obj_article_summary{background:#fff;border:1px solid var(--nn-line);border-radius:10px;padding:16px 18px;margin-bottom:14px;transition:box-shadow .2s,transform .2s}
.obj_article_summary:hover{box-shadow:0 10px 24px rgba(30,30,36,.10);transform:translateY(-1px)}
.obj_article_summary>.title a{color:var(--nn-ink);font-weight:700;text-decoration:none}
.obj_article_summary>.title a:hover{color:var(--nn-blue)}
/* "Read more" / "View all issues" → plain text links, not uppercase buttons */
.pkp_page_index .current_issue .read_more,.pkp_page_index .cmp_announcements .read_more,.pkp_structure_main .obj_announcement_summary .read_more{color:var(--nn-blue);font-weight:600;text-transform:none;letter-spacing:0;font-size:14.5px}
.pkp_page_index .current_issue .read_more:hover,.pkp_page_index .cmp_announcements .read_more:hover,.pkp_structure_main .obj_announcement_summary .read_more:hover{color:var(--nn-blue-d)}
.pkp_page_index .current_issue .read_more::after,.pkp_structure_main .obj_announcement_summary .read_more::after{color:inherit}
.pkp_page_index .current_issue h2,.pkp_page_index .homepage_about h2{color:var(--nn-ink)}
/* article view: justified abstract/references (carried over from the old journal stylesheet) */
.pkp_page_article .item.abstract p,.pkp_page_article .item.references p{text-align:justify;text-justify:inter-word;line-height:1.6;hyphens:auto}
.pkp_page_article .item.references p,.pkp_page_article .item.references .value p,.pkp_page_article .item.references .value a{overflow-wrap:anywhere;word-break:break-word;white-space:normal;max-width:100%}

/* ---------- 9. Sidebar ---------- */
.pkp_structure_sidebar .pkp_block{border-bottom:1px solid var(--nn-line)}
.pkp_structure_sidebar .pkp_block h3,.pkp_structure_sidebar .pkp_block .nn-h{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--nn-ink);border-bottom:2px solid var(--nn-blue);padding-bottom:6px;margin:0 0 14px;display:inline-block}
.pkp_block .content p{line-height:1.6}
.pkp_block .journal-info p{margin:0 0 8px;font-size:14px}
.pkp_block .journal-info strong{color:var(--nn-ink)}
.pkp_block .nn-btn{margin-top:8px}
.nn-cover-wrap{text-align:center;margin:0 0 18px}
img.nn-cover{display:inline-block;max-width:100%;height:auto;border-radius:4px;box-shadow:0 18px 32px -14px rgba(30,30,36,.45),0 4px 12px rgba(30,30,36,.12);transition:transform .3s,box-shadow .3s}
img.nn-cover:hover{transform:translateY(-3px)}
.nn-note{font-size:12.5px;color:var(--nn-mute);margin:10px 0 0;line-height:1.5}
@media (max-width:640px){img.nn-cover{max-width:60%}}

/* ---------- 10. Content pages with accordions (/aboutus etc.) ---------- */
.nn-page{max-width:72ch}
.nn-page details{background:#fff;border:1px solid var(--nn-line);border-radius:12px;margin:0 0 10px;padding:0 18px;transition:border-color .2s,box-shadow .2s}
.nn-page details:hover{border-color:var(--nn-blue-line)}
.nn-page details[open]{box-shadow:0 10px 24px rgba(30,30,36,.06)}
.nn-page summary{list-style:none;cursor:pointer;padding:14px 0;font-weight:700;font-size:15.5px;color:var(--nn-ink);display:flex;align-items:center;gap:10px}
.nn-page summary::-webkit-details-marker{display:none}
.nn-page summary::before{content:"";flex:0 0 8px;width:8px;height:8px;border-right:2px solid var(--nn-mute);border-bottom:2px solid var(--nn-mute);transform:rotate(-45deg);transition:transform .2s;margin:0 4px 0 2px}
.nn-page details[open] summary::before{transform:rotate(45deg)}
.nn-page summary:hover{color:var(--nn-blue)}
.nn-page summary:focus-visible{outline:2px solid var(--nn-blue);outline-offset:-2px;border-radius:8px}
.nn-page .nn-acc__body{padding:0 0 16px 24px;color:var(--nn-ink);font-size:15px;line-height:1.65}
.nn-page .nn-acc__body p{margin:0 0 12px}.nn-page .nn-acc__body p:last-child{margin-bottom:0}
.nn-page .nn-acc__body ul{margin:8px 0 12px 18px;padding:0}.nn-page .nn-acc__body li{margin:0 0 4px}
.nn-page .nn-lead{color:var(--nn-mute);font-size:15px;margin:0 0 18px}

/* ---------- 11. Editorial Board (/eboard, markup by scripts/theme/eboard.js) ---------- */
.nn-eb__intro{font-size:16px;line-height:1.6;color:var(--nn-mute);max-width:680px;margin:0 0 22px}
.nn-eb__tools{margin:0 0 26px}
.nn-eb__search{width:100%;max-width:420px;padding:11px 14px 11px 40px;border:1px solid var(--nn-line);border-radius:10px;font-size:15px;box-sizing:border-box;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%235B6478' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 13px center}
.nn-eb__search:focus{outline:none;border-color:var(--nn-blue);box-shadow:0 0 0 3px rgba(30,90,241,.15)}
.nn-eb__group{margin:0 0 34px}
.nn-eb .nn-eb__h{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--nn-ink);margin:0 0 14px;padding:0 0 10px;border-bottom:1px solid var(--nn-line);display:flex;align-items:center;gap:10px}
.nn-eb__count{background:var(--nn-blue-bg);color:var(--nn-blue);border-radius:20px;padding:2px 10px;font-size:12px;letter-spacing:0}
.nn-eb__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.nn-eb__grid--lead{grid-template-columns:1fr}
.nn-eb__card{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--nn-line);border-radius:12px;padding:16px;transition:border-color .2s,box-shadow .2s,transform .2s;min-width:0}
.nn-eb__card:hover{border-color:var(--nn-blue-line);box-shadow:0 10px 24px rgba(30,30,36,.07);transform:translateY(-2px)}
.nn-eb__card--lead{padding:22px;background:linear-gradient(135deg,#F4F7FF 0%,#fff 70%);border-color:#D5E0FC}
.nn-eb__av{flex:0 0 44px;width:44px;height:44px;border-radius:50%;background:var(--nn-blue-bg);color:var(--nn-blue);font-weight:700;font-size:15px;display:flex;align-items:center;justify-content:center;letter-spacing:.02em}
.nn-eb__card--lead .nn-eb__av{flex-basis:60px;width:60px;height:60px;font-size:20px;background:var(--nn-blue);color:#fff}
.nn-eb__info{min-width:0}
.nn-eb .nn-eb__role{display:none}
.nn-eb .nn-eb__name{margin:0 0 6px;font-size:16px;font-weight:700;line-height:1.3;color:var(--nn-ink);letter-spacing:0}
.nn-eb__card--lead .nn-eb__name{font-size:20px}
.nn-eb .nn-eb__aff{margin:0 0 3px;font-size:13.5px;line-height:1.5;color:var(--nn-mute)}
.nn-eb .nn-eb__mail{margin:8px 0 0;font-size:13px;overflow-wrap:anywhere}
.nn-eb__note{margin:6px 0 0;padding:14px 16px;border-radius:10px;background:var(--nn-light);color:var(--nn-mute);font-size:14px}
.nn-eb__empty{display:none;color:var(--nn-mute);font-size:14px;margin:0 0 20px}
.pkp_page_eboard .page>h1,.pkp_page_eboard .page_title{font-size:30px;font-weight:800;letter-spacing:-.02em}
@media (max-width:600px){.nn-eb__grid{grid-template-columns:1fr}.nn-eb__card--lead{padding:16px}.nn-eb__card--lead .nn-eb__av{flex-basis:48px;width:48px;height:48px;font-size:16px}.nn-eb__card--lead .nn-eb__name{font-size:18px}}

/* ---------- 12. Contact page (markup by nn-ct-js) ---------- */
.pkp_op_contact .contact_section{display:none}
.pkp_op_contact .page h1,.pkp_op_contact .page_contact h1{font-size:30px;font-weight:800;letter-spacing:-.02em}
.nn-ct__lead{font-size:16px;line-height:1.6;color:var(--nn-mute);margin:0 0 24px;max-width:640px}
.nn-ct__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 30px}
.nn-ct__card{background:#fff;border:1px solid var(--nn-line);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:6px;min-width:0;transition:box-shadow .2s,border-color .2s,transform .2s}
.nn-ct__card:hover{border-color:var(--nn-blue-line);box-shadow:0 12px 28px rgba(30,30,36,.08);transform:translateY(-2px)}
.nn-ct__ic{width:42px;height:42px;border-radius:12px;background:var(--nn-blue-bg);color:var(--nn-blue);display:flex;align-items:center;justify-content:center;margin:0 0 8px}
.nn-ct__ic svg{width:22px;height:22px}
.nn-ct__ic--wa{background:#E8F8EE;color:#1FA855}
.nn-ct .nn-ct__k{margin:0;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--nn-mute)}
.nn-ct .nn-ct__v{margin:0;font-size:15.5px;font-weight:700;color:var(--nn-ink);line-height:1.4;overflow-wrap:anywhere}
.nn-ct .nn-ct__s{margin:0;font-size:13.5px;color:var(--nn-mute);line-height:1.5}
.nn-ct__acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:12px}
.nn-ct .nn-btn{padding:8px 14px;font-size:13.5px}
.nn-ct .nn-btn--wa{background:#1FA855;border-color:#1FA855;color:#fff}
.nn-ct .nn-btn--wa:hover{background:#188A45;border-color:#188A45}
.nn-ct .nn-ct__h{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--nn-ink);margin:0 0 14px;padding:0 0 10px;border-bottom:1px solid var(--nn-line)}
.nn-ct__people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 28px}
.nn-ct__person{display:flex;gap:14px;background:#F8FAFD;border:1px solid var(--nn-line);border-radius:14px;padding:18px;min-width:0}
.nn-ct__av{flex:0 0 44px;height:44px;border-radius:50%;background:var(--nn-blue);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:15px}
.nn-ct .nn-ct__role{margin:0 0 2px;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--nn-blue)}
.nn-ct .nn-ct__name{margin:0 0 4px;font-size:16px;font-weight:700;color:var(--nn-ink)}
.nn-ct .nn-ct__line{margin:0;font-size:14px;color:var(--nn-mute);line-height:1.6;overflow-wrap:anywhere}
.nn-ct__links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.nn-ct .nn-ct__link{display:block;padding:14px 16px;border:1px solid var(--nn-line);border-radius:12px;text-decoration:none;color:var(--nn-ink);font-weight:600;font-size:14.5px;background:#fff;transition:border-color .2s,color .2s}
.nn-ct .nn-ct__link span{display:block;font-weight:400;font-size:12.5px;color:var(--nn-mute);margin-top:2px}
.nn-ct .nn-ct__link:hover{border-color:var(--nn-blue);color:var(--nn-blue)}
@media (max-width:900px){.nn-ct__cards{grid-template-columns:1fr}.nn-ct__links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.nn-ct__people{grid-template-columns:1fr}}

/* ---------- 13. Footer (light) ---------- */
.pkp_structure_footer_wrapper{background:var(--nn-light);color:var(--nn-mute);border-top:1px solid var(--nn-line);border-bottom:0;margin-bottom:0;padding-bottom:4px}
.pkp_structure_footer{background:transparent;padding-bottom:0;text-align:left}
.pkp_footer_content{padding:44px 28px 0}
.pkp_brand_footer{display:none}
.nn-foot{display:grid;grid-template-columns:1.4fr 1fr 1.2fr 1fr;gap:32px}
.nn-foot h4{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--nn-ink);margin:0 0 10px;padding-bottom:6px;border-bottom:2px solid var(--nn-blue);display:inline-block}
.nn-foot p{font-size:14px;line-height:1.6;margin:0 0 10px;color:var(--nn-mute)}
.nn-foot p strong{color:var(--nn-ink)}
.nn-foot .nn-logo{display:block;line-height:0;margin:0 0 14px}
.nn-foot .nn-logo svg{height:30px;width:auto;display:block}
.nn-pill{display:inline-block;margin:4px 6px 0 0;padding:4px 10px;border:1px solid #D5DCE8;border-radius:999px;font-size:12px;color:var(--nn-ink);background:#fff}
.nn-foot address{font-style:normal}
.nn-bar{margin-top:34px;padding:16px 0;border-top:1px solid var(--nn-line);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--nn-mute)}
@media (max-width:992px){.nn-foot{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.nn-foot{grid-template-columns:1fr}.pkp_footer_content{padding:32px 16px 0}}

/* ---------- 14. Floating WhatsApp (header-plugin footer content) ---------- */
.nn-wa{position:fixed;left:18px;bottom:18px;z-index:9999;display:flex;align-items:center;gap:10px;padding:8px 16px 8px 8px;border-radius:999px;background:var(--nn-ink);color:#fff;text-decoration:none;box-shadow:0 12px 28px rgba(30,30,36,.35);border:1px solid rgba(255,255,255,.12);transition:transform .2s,box-shadow .2s}
.nn-wa:hover,.nn-wa:focus{color:#fff;transform:translateY(-2px);box-shadow:0 16px 34px rgba(30,30,36,.45)}
.nn-wa__ic{position:relative;width:40px;height:40px;border-radius:50%;background:#25d366;display:flex;align-items:center;justify-content:center}
.nn-wa__ic::after{content:"";position:absolute;top:1px;right:1px;width:10px;height:10px;border-radius:50%;background:#7CFFB2;border:2px solid var(--nn-ink)}
.nn-wa__tx{display:flex;flex-direction:column;line-height:1.15}
.nn-wa__tx strong{font-size:14px;font-weight:600}
.nn-wa__tx small{font-size:11px;color:#9DB8FA}
@media (max-width:640px){.nn-wa{padding:8px}.nn-wa__tx{display:none}.obj_article_summary{padding:12px}}
