:root { --gfp-navy: #163a5f; --gfp-blue: #256aa3; --gfp-cyan: #10beca; --gfp-teal: #54868a; --gfp-gold: #ffbf00; --gfp-ink: #203040; --gfp-muted: #627284; --gfp-border: #dce5ec; --gfp-surface: #f5f8fb; }
body { color: var(--gfp-ink); background: rgb(247, 249, 251); }
.main-header { background: linear-gradient(rgb(255, 255, 255) 0%, rgb(244, 248, 251) 100%); border-bottom: 1px solid var(--gfp-border); box-shadow: rgba(20, 54, 84, 0.08) 0px 4px 18px; }
.main-header .navbar-logo { padding: 30px 0px 18px; text-align: center; }
.main-header .navbar-logo img, .main-header .navbar-brand img { width: auto; max-height: 82px; }
.main-header .navbar { position: relative; z-index: 10; min-height: 64px; padding: 0px; border-top: 0px; background: var(--gfp-teal); box-shadow: 0 0 0 100vmax var(--gfp-teal); clip-path: inset(0px -100vmax); }
.main-header .navbar-collapse { justify-content: flex-start !important; }
#primaryNav { align-items: stretch; width: 100%; }
#primaryNav > .nav-item { position: relative; min-width: 150px; text-align: center; }
#primaryNav > .nav-item > .nav-link { display: flex; align-items: center; justify-content: center; min-height: 64px; padding: 14px 28px; font-size: 1.08rem; font-weight: 500; letter-spacing: 0px; transition: background-color 0.18s, color 0.18s; color: rgb(255, 255, 255) !important; }
#primaryNav > .nav-item:first-child > .nav-link, #primaryNav > .nav-item > .nav-link:hover, #primaryNav > .nav-item > .nav-link:focus { background: rgba(0, 0, 0, 0.12); color: var(--gfp-gold) !important; }
#primaryNav > .nav-item:first-child > .nav-link::after { position: absolute; right: 0px; bottom: 0px; left: 0px; height: 3px; background: var(--gfp-gold); content: ""; }
#primaryNav .dropdown-menu { min-width: 320px; margin-top: 0px; padding: 8px; border: 1px solid rgba(22, 58, 95, 0.14); border-radius: 0px 0px 10px 10px; box-shadow: rgba(22, 58, 95, 0.18) 0px 14px 32px; }
#primaryNav .dropdown-item { padding: 10px 14px; color: var(--gfp-navy); white-space: normal; line-height: 1.35; }
#primaryNav .dropdown-item:hover, #primaryNav .dropdown-item:focus { color: var(--gfp-navy); background: rgb(237, 245, 246); }
.page-content { padding-top: 0px; }
.container > .row > .col-md-8:has(.site-about) { display: grid; grid-template-columns: minmax(270px, 31%) minmax(0px, 1fr); gap: 30px; flex: 0 0 100%; max-width: 100%; align-items: start; padding-top: 38px; padding-bottom: 50px; }
.container > .row > .col-md-4:has(.pkp_block) { display: none; }
.site-about { margin: 0px; padding: 34px 28px; color: rgb(255, 255, 255); background: radial-gradient(circle at 90% 10%, rgba(16, 190, 202, 0.35), transparent 34%), linear-gradient(160deg, rgb(18, 52, 82) 0%, rgb(32, 92, 140) 100%); border-radius: 16px; box-shadow: rgba(18, 52, 82, 0.18) 0px 18px 45px; }
.site-about h1 { margin: 0px 0px 18px; color: rgb(255, 255, 255); font-size: 2rem; line-height: 1.15; }
.site-about h2 { margin: 25px 0px 9px; color: rgb(255, 255, 255); font-size: 1.08rem; }
.site-about p { max-width: none; margin: 0px 0px 13px; color: rgba(255, 255, 255, 0.9); font-size: 0.97rem; line-height: 1.68; }
.site-about p:first-of-type { margin-bottom: 18px; color: rgb(255, 255, 255); font-size: clamp(1.75rem, 2.5vw, 2.35rem); font-weight: 700; line-height: 1.14; }
.site-about p:nth-of-type(3), .site-about p:nth-of-type(5) { margin-top: 24px; margin-bottom: 9px; color: rgb(255, 255, 255); font-size: 1.08rem; font-weight: 700; line-height: 1.35; }
.site-about br, .site-journal-description br { display: none; }
.site-journals { min-width: 0px; margin: 0px; }
.site-journals::before { display: block; margin: 0px 0px 20px; color: var(--gfp-navy); font-size: clamp(1.65rem, 3vw, 2.2rem); font-weight: 700; line-height: 1.2; content: "Our Journals"; }
.site-journals-list { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 22px; }
.site-journal { display: flex; min-width: 0px; min-height: 260px; padding: 26px; background: rgb(255, 255, 255); border-top: 5px solid var(--gfp-blue); border-radius: 14px; box-shadow: rgba(31, 70, 104, 0.08) 0px 8px 24px; transition: transform 0.2s, box-shadow 0.2s; margin: 0px !important; }
.site-journal:hover { transform: translateY(-3px); box-shadow: rgba(31, 70, 104, 0.13) 0px 14px 32px; }
.site-journal:nth-child(2n) { border-top-color: var(--gfp-cyan); }
.site-journal-img { display: none; }
.site-journal-body { display: flex; flex: 1 1 0%; flex-direction: column; min-width: 0px; }
.site-journal-title { margin: 0px 0px 14px; font-size: 1.25rem; line-height: 1.35; }
.site-journal-title a { color: var(--gfp-navy); text-decoration: none; }
.site-journal-description { display: -webkit-box; overflow: hidden; color: var(--gfp-muted); line-height: 1.65; -webkit-box-orient: vertical; -webkit-line-clamp: 5; }
.site-journal .links { margin: auto 0px 0px; padding-top: 18px; }
.site-journal .btn { margin: 4px 8px 4px 0px; padding: 9px 15px; color: rgb(255, 255, 255); background: var(--gfp-blue); border: 1px solid var(--gfp-blue); border-radius: 7px; font-size: 0.92rem; font-weight: 600; }
.site-journal .btn + .btn { color: var(--gfp-blue); background: rgb(255, 255, 255); }
.site-footer { border-top: 4px solid var(--gfp-blue); background: rgb(16, 47, 75); }
.site-footer, .site-footer p, .site-footer a { color: rgba(255, 255, 255, 0.88); }
@media (max-width: 991px) {
  .main-header .navbar { min-height: 54px; padding: 8px 0px; }
  .main-header .navbar-toggler { margin-left: auto; background: rgba(255, 255, 255, 0.9); }
  #primaryNav > .nav-item { min-width: 0px; text-align: left; }
  #primaryNav > .nav-item > .nav-link { justify-content: flex-start; min-height: 48px; padding: 10px 16px; }
  #primaryNav > .nav-item:first-child > .nav-link::after { display: none; }
  #primaryNav .dropdown-menu { min-width: 0px; border-radius: 8px; box-shadow: none; }
  .container > .row > .col-md-8:has(.site-about) { grid-template-columns: minmax(235px, 34%) minmax(0px, 1fr); gap: 22px; }
  .site-journals-list { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  .main-header .navbar-logo { display: none; }
  .container > .row > .col-md-8:has(.site-about) { display: block; padding-top: 22px; }
  .site-about { margin: 0px 0px 30px; padding: 28px 22px; border-radius: 14px; }
  .site-journal { min-height: 220px; padding: 22px; }
}
@media (min-width: 992px) {
  .container > .row > .col-md-8:has(.site-about) { grid-template-columns: 225px minmax(0px, 1fr); gap: 24px; margin-left: -14px; width: calc(100% + 14px); }
  .site-about { padding: 22px 18px; border-radius: 10px; }
  .site-about h1 { margin-bottom: 12px; font-size: 1.35rem; }
  .site-about h2, .site-about p:nth-of-type(3), .site-about p:nth-of-type(5) { margin-top: 18px; font-size: 0.96rem; }
  .site-about p, .site-about p:first-of-type { margin-bottom: 10px; font-size: 0.82rem; line-height: 1.55; }
  .site-journal { min-height: 235px; padding: 22px; }
}
.main-header, .main-header .navbar, .main-header .navbar-collapse, #primaryNav { overflow: visible; }
.main-header .navbar { clip-path: none; box-shadow: none; }
#primaryNav .dropdown-menu { z-index: 1050; }
/* Publisher homepage refinement only */
body:has(.site-journals) .main-header .navbar-logo{padding:14px 0 12px}
body:has(.site-journals) .main-header .navbar-logo img{max-height:60px}
body:has(.site-journals) .main-header .navbar{min-height:48px;background:#163a5f;border-bottom:3px solid #d8b267}
body:has(.site-journals) #primaryNav>.nav-item>.nav-link{min-height:48px;padding:10px 22px;font-size:1rem}
body:has(.site-journals) .site-journal{box-shadow:0 3px 12px rgba(20,54,84,.06);border-radius:6px;border-top-width:3px;padding:24px;min-height:280px}
body:has(.site-journals) .site-journal-title{font-size:1.35rem;line-height:1.35;min-height:3.6em}
body:has(.site-journals) .site-journal-description{font-size:.95rem;line-height:1.6;-webkit-line-clamp:5}
body:has(.site-journals) .site-journal-description p{margin:0 0 8px}
body:has(.site-journals) .site-journal-description p:empty{display:none}
body:has(.site-journals) .site-about{box-shadow:none;border-radius:6px}
body:has(.site-journals) .site-about a{color:#fff;text-decoration:underline;text-underline-offset:4px}
body:has(.site-journals) .site-about h2{font-size:1rem;margin-top:24px}
body:has(.site-journals) .site-about p:first-of-type{font-weight:400}
body:has(.site-journals) .site-journals-list{gap:20px}
body:has(.site-journals) .site-footer{border-top-color:#d8b267}
@media(max-width:767px){body:has(.site-journals) .site-about p,body:has(.site-journals) .site-about p:first-of-type{font-size:.95rem;line-height:1.6}body:has(.site-journals) .site-journal-title{min-height:0}}
