:root {
  --nikco-ink: #061923;
  --nikco-carbon: #263d47;
  --nikco-blue: #578b9e;
  --nikco-cyan: #63bdd7;
  --nikco-paper: #f3f6f5;
  --nikco-line: rgba(38, 61, 71, .18);
  --nikco-pad: clamp(22px, 5vw, 80px);
}

html { scroll-padding-top: 92px; }

body.nikco-wordpress {
  margin: 0;
  overflow-x: hidden;
  background: var(--nikco-paper);
  color: var(--nikco-ink);
}

body.admin-bar .nikco-header { top: 32px; }

img { max-width: 100%; height: auto; }

.nikco-skip-link {
  position: fixed;
  z-index: 9999;
  top: 12px;
  right: 12px;
  padding: 12px 18px;
  background: #fff;
  color: var(--nikco-ink);
  transform: translateY(-160%);
}

.nikco-skip-link:focus { transform: translateY(0); }

.nikco-brand .custom-logo-link { display: flex; align-items: center; height: 100%; }
.nikco-brand .custom-logo { width: 212px; max-height: 58px; object-fit: contain; }

.nikco-main { min-height: 70vh; padding-top: 0; background: var(--nikco-paper); }

.home-page .nikco-main { padding-top: 0; }

.nikco-wp-hero {
  position: relative;
  min-height: min(860px, calc(100svh - 92px));
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, .45fr);
  align-items: center;
  overflow: hidden;
  padding: clamp(70px, 10vw, 150px) var(--nikco-pad);
  background: #071923;
  color: #fff;
}

.nikco-wp-hero::after {
  content: "";
  position: absolute;
  right: var(--nikco-pad);
  bottom: 0;
  width: min(34vw, 520px);
  height: 5px;
  background: var(--nikco-cyan);
}

.nikco-wp-hero-copy { position: relative; z-index: 2; max-width: 920px; }

.nikco-eyebrow {
  margin: 0 0 24px;
  color: var(--nikco-cyan);
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .02em;
}

.nikco-wp-hero h1,
.nikco-page-hero h1,
.nikco-archive-head h1,
.nikco-not-found h1 {
  margin: 0;
  font-family: "Abar", "NIKCO UI", Tahoma, sans-serif;
  font-size: clamp(58px, 9.5vw, 148px);
  font-weight: 880;
  line-height: .96;
  letter-spacing: -.055em;
  text-wrap: balance;
}

.nikco-wp-hero-copy > p:not(.nikco-eyebrow) {
  max-width: 48ch;
  margin: 30px 0 0;
  color: #b7c6cc;
  font-size: clamp(17px, 1.4vw, 22px);
}

.nikco-wp-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 38px; }
.nikco-wp-actions a,
.nikco-not-found > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0 25px;
  border: 1px solid rgba(255, 255, 255, .32);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}
.nikco-wp-actions a.is-primary { border-color: #fff; background: #fff; color: var(--nikco-ink); }
.nikco-wp-actions a:hover,
.nikco-wp-actions a:focus-visible { border-color: var(--nikco-cyan); background: var(--nikco-cyan); color: var(--nikco-ink); }

.nikco-wp-hero-mark { position: relative; z-index: 1; opacity: .14; transform: scaleX(-1); }
.nikco-wp-hero-mark img { width: min(36vw, 520px); }

.nikco-front-content,
.nikco-entry {
  width: min(100% - (var(--nikco-pad) * 2), 1040px);
  margin-inline: auto;
  padding: clamp(70px, 9vw, 130px) 0;
  font-size: clamp(16px, 1.1vw, 19px);
}

.nikco-entry > :first-child { margin-top: 0; }
.nikco-entry > :last-child { margin-bottom: 0; }
.nikco-entry h2 { margin: 1.6em 0 .6em; font-size: clamp(38px, 5vw, 72px); line-height: 1.1; }
.nikco-entry h3 { margin: 1.5em 0 .5em; font-size: clamp(28px, 3vw, 44px); }
.nikco-entry p,
.nikco-entry li { color: #40565e; }
.nikco-entry a { color: #0a7898; text-underline-offset: .2em; }
.nikco-entry .alignwide { width: min(1180px, calc(100vw - (var(--nikco-pad) * 2))); max-width: none; margin-right: 50%; transform: translateX(50%); }
.nikco-entry .alignfull { width: 100vw; max-width: none; margin-right: 50%; transform: translateX(50%); }

.nikco-directory { padding: clamp(80px, 10vw, 150px) var(--nikco-pad); background: #dce8eb; }
.nikco-directory > header { display: grid; grid-template-columns: 1fr minmax(280px, .65fr); gap: 40px; align-items: end; margin-bottom: 48px; }
.nikco-directory h2 { max-width: 11ch; margin: 0; font-size: clamp(42px, 6vw, 88px); line-height: 1.03; letter-spacing: -.045em; }
.nikco-directory-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--nikco-line); border-right: 1px solid var(--nikco-line); }
.nikco-directory-grid a { position: relative; min-height: 280px; display: flex; flex-direction: column; justify-content: flex-end; padding: 30px; border-left: 1px solid var(--nikco-line); border-bottom: 1px solid var(--nikco-line); color: var(--nikco-ink); text-decoration: none; transition: background-color .25s ease, color .25s ease; }
.nikco-directory-grid small { color: #527786; }
.nikco-directory-grid strong { margin-top: 12px; font-size: clamp(27px, 3vw, 43px); }
.nikco-directory-grid span { position: absolute; top: 28px; left: 28px; color: var(--nikco-blue); font-size: 28px; }
.nikco-directory-grid a:hover,
.nikco-directory-grid a:focus-visible { background: var(--nikco-ink); color: #fff; }

.nikco-page-hero {
  min-height: 680px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr);
  gap: clamp(40px, 7vw, 110px);
  align-items: center;
  padding: clamp(80px, 10vw, 150px) var(--nikco-pad);
  background: var(--nikco-ink);
  color: #fff;
}
.nikco-page-hero > div { max-width: 840px; }
.nikco-page-hero > div > p:last-child { max-width: 50ch; color: #b4c4ca; }
.nikco-page-hero figure { height: clamp(360px, 52vw, 650px); margin: 0; overflow: hidden; }
.nikco-page-hero figure img { width: 100%; height: 100%; object-fit: cover; }

.nikco-archive-head { padding: clamp(100px, 12vw, 180px) var(--nikco-pad) clamp(60px, 7vw, 100px); background: #dce8eb; }
.nikco-archive-head h1 { max-width: 10ch; }
.nikco-archive-head > div { max-width: 56ch; margin-top: 26px; color: #4a616a; }
.nikco-archive-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; padding: 1px var(--nikco-pad) clamp(80px, 10vw, 150px); background: var(--nikco-line); }
.nikco-archive-card { background: var(--nikco-paper); }
.nikco-archive-card > a { min-height: 430px; display: grid; grid-template-rows: minmax(220px, 1fr) auto; color: inherit; text-decoration: none; }
.nikco-archive-card figure { margin: 0; overflow: hidden; }
.nikco-archive-card figure img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.nikco-archive-card > a > div { position: relative; min-height: 200px; padding: 30px; }
.nikco-archive-card small { color: var(--nikco-blue); }
.nikco-archive-card h2 { max-width: 13ch; margin: 10px 0; font-size: clamp(30px, 3vw, 47px); line-height: 1.15; }
.nikco-archive-card p { max-width: 50ch; color: #526970; }
.nikco-archive-card div > span { position: absolute; top: 28px; left: 28px; font-size: 26px; }
.nikco-archive-card a:hover figure img { transform: scale(1.035); }
.nikco-empty { grid-column: 1 / -1; padding: 60px; background: #fff; }

.navigation.pagination { padding: 0 var(--nikco-pad) 80px; background: var(--nikco-paper); }
.nav-links { display: flex; gap: 8px; }
.page-numbers { min-width: 44px; min-height: 44px; display: grid; place-items: center; border: 1px solid var(--nikco-line); color: var(--nikco-ink); text-decoration: none; }
.page-numbers.current { background: var(--nikco-ink); color: #fff; }

.nikco-not-found { min-height: 78svh; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: clamp(90px, 12vw, 180px) var(--nikco-pad); background: var(--nikco-ink); color: #fff; }
.nikco-not-found h1 { max-width: 10ch; }
.nikco-not-found > p:not(.nikco-eyebrow) { max-width: 48ch; color: #b7c6cc; }
.nikco-not-found > a { margin-top: 24px; }

.nikco-footer-menu { display: flex; flex-direction: column; gap: 12px; margin: 0; padding: 0; list-style: none; }
.hr-footer-middle nav .menu { display: flex; flex-direction: column; gap: 12px; margin: 0; padding: 0; list-style: none; }

@media (max-width: 900px) {
  body.admin-bar .nikco-header { top: 46px; }
  .nikco-wp-hero { grid-template-columns: 1fr; }
  .nikco-wp-hero-mark { position: absolute; left: -15vw; bottom: 6%; }
  .nikco-wp-hero-mark img { width: min(62vw, 480px); }
  .nikco-directory > header,
  .nikco-page-hero { grid-template-columns: 1fr; }
  .nikco-directory-grid { grid-template-columns: 1fr; }
  .nikco-directory-grid a { min-height: 210px; }
  .nikco-page-hero { min-height: auto; }
  .nikco-page-hero figure { height: min(75vw, 540px); }
  .nikco-archive-grid { grid-template-columns: 1fr; }
}

@media (max-width: 782px) {
  html { scroll-padding-top: 76px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
