@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=Source+Serif+4:opsz,wght@8..60,400;8..60,600;8..60,700&display=swap');
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css');

:root {
  --pkml-blue: #0193da;
  --pkml-blue-dark: #0171a7;
  --pkml-purple: #301b5e;
  --pkml-purple-2: #1f1140;
  --pkml-pink: #cc2984;
  --pkml-orange: #ffa200;
  --pkml-ink: #1a1a1a;
  --pkml-text: #333;
  --pkml-muted: #666;
  --pkml-line: #e6e6e6;
  --pkml-bg: #f0f2f5;
  --pkml-paper: #fff;
  --font-ui: "DM Sans", system-ui, sans-serif;
  --font-read: "Source Serif 4", Georgia, "Times New Roman", serif;
  --max: 1100px;
  --read: 720px;
  --link-color: #0193da;
  --cassiopeia-color-primary: #0193da;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0 !important;
  font-family: var(--font-ui) !important;
  font-size: 18px !important;
  line-height: 1.7 !important;
  color: var(--pkml-text) !important;
  background: var(--pkml-bg) !important;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--pkml-blue); text-decoration: none; }
a:hover { color: var(--pkml-blue-dark); }

img { max-width: 100%; height: auto; }

/* Kill Cassiopeia card chrome leftovers */
.container-top-a .card,
.container-bottom-a .card,
.container-bottom-b .card,
.container-top-a .card-body,
.container-bottom-a .card-body,
.container-bottom-b .card-body {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

/* ===== GRID: single centered column ===== */
.site-grid {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--pkml-bg) !important;
}
.grid-child,
.container-top-a,
.container-top-b,
.container-component,
.container-bottom-a,
.container-bottom-b,
.container-sidebar-left,
.container-sidebar-right {
  display: block !important;
  width: 100% !important;
  max-width: var(--max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 1.25rem !important;
  padding-right: 1.25rem !important;
  float: none !important;
  grid-area: auto !important;
  grid-column: auto !important;
}
.container-sidebar-left,
.container-sidebar-right { display: none !important; }
.container-banner,
.container-header,
.container-footer,
.footer {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.container-header .grid-child,
.container-footer .grid-child,
.container-banner .grid-child {
  max-width: var(--max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 1.25rem !important;
  padding-right: 1.25rem !important;
}
.container-top-a { padding-top: 1rem !important; padding-bottom: .25rem !important; }
.container-component { padding-top: .5rem !important; padding-bottom: 1.5rem !important; }
.container-bottom-a { padding-top: .5rem !important; padding-bottom: 1rem !important; }
.container-bottom-b { padding-bottom: 1.5rem !important; }

/* Hide page CTA on home (home has its own quote) */
body.itemid-121 .pkml-page-cta { display: none !important; }

/* ===== HEADER ===== */
.container-header, header.header {
  background: var(--pkml-purple) !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.2);
  padding: .5rem 0 !important;
  position: sticky; top: 0; z-index: 1000;
  transition: background .25s, box-shadow .25s;
}
.container-header.is-scrolled {
  background: var(--pkml-purple-2) !important;
  box-shadow: 0 6px 24px rgba(0,0,0,.28);
}
.container-header .brand-logo img { max-height: 48px; width: auto; }
.container-header a,
.container-header .metismenu-item > a {
  color: #fff !important;
  font-family: var(--font-ui) !important;
  font-weight: 600;
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: .55rem .75rem !important;
  border-radius: 6px;
}
.container-header .metismenu-item > a:hover,
.container-header .metismenu-item.current > a,
.container-header .metismenu-item.active > a {
  background: rgba(255,255,255,.14) !important;
}
.container-header .mm-toggler { display: none !important; }
.container-header .metismenu {
  display: flex !important; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; gap: .15rem;
}
.container-header .metismenu > li { position: relative; display: inline-block; }
.container-header .mm-collapse {
  display: block !important;
  visibility: hidden; opacity: 0; pointer-events: none;
  position: absolute !important; top: calc(100% + 6px) !important; left: 0 !important;
  z-index: 1200; min-width: 260px; margin: 0; padding: .4rem;
  background: #1a1230 !important; border-radius: 10px;
  box-shadow: 0 16px 40px rgba(0,0,0,.4);
  transform: translateY(8px); transition: .22s ease; list-style: none;
}
.container-header li:hover > .mm-collapse,
.container-header li:focus-within > .mm-collapse,
.container-header .mm-collapse.mm-show {
  visibility: visible; opacity: 1; pointer-events: auto; transform: none;
}
.container-header .mm-collapse .mm-collapse { top: 0 !important; left: calc(100% + 4px) !important; }
.container-header .metismenu-item.deeper > a::after { content: " ▾"; font-size: .65em; opacity: .75; }
.container-header .mm-collapse .metismenu-item.deeper > a::after { content: " ▸"; float: right; }
.container-header .mm-collapse a {
  display: block !important; padding: .5rem .85rem !important;
  color: #eee !important; font-size: .84rem !important;
  text-transform: none !important; letter-spacing: 0 !important; font-weight: 500 !important;
  border-radius: 6px;
}
.container-header .mm-collapse a:hover { background: var(--pkml-blue) !important; color: #fff !important; }
@media (max-width: 991.98px) {
  .container-header .mm-toggler {
    display: inline-flex !important; align-items: center; justify-content: center;
    float: right; width: 2.6rem; height: 2.6rem; margin-top: -2.6rem;
    border: 0; background: rgba(255,255,255,.12); color: #fff; border-radius: 8px;
  }
  .container-header .metismenu { flex-direction: column; width: 100%; }
  .container-header .mm-collapse {
    position: static !important; transform: none !important;
    max-height: 0; overflow: hidden; opacity: 0; visibility: hidden;
    background: rgba(0,0,0,.2) !important; box-shadow: none !important;
  }
  .container-header .mm-collapse.mm-show {
    max-height: 1600px; opacity: 1; visibility: visible; padding: .35rem !important;
  }
}

/* Breadcrumb */
.mod-breadcrumbs { font-size: .82rem; color: var(--pkml-muted); margin: 0 0 .75rem; }
.mod-breadcrumbs .breadcrumb {
  display: flex; flex-wrap: wrap; gap: .25rem; list-style: none;
  margin: 0; padding: 0; background: transparent !important;
}
.mod-breadcrumbs a { color: var(--pkml-blue); font-weight: 500; }
.mod-breadcrumbs .breadcrumb-item + .breadcrumb-item::before {
  content: "/"; color: #999; padding-right: .3rem;
}

/* ========== NEWSPAPER PAPER (uniform every article) ========== */
.pkml-paper {
  background: var(--pkml-paper);
  border: 1px solid #ddd;
  box-shadow: 0 1px 3px rgba(0,0,0,.04), 0 10px 36px rgba(0,0,0,.06);
  border-radius: 4px;
  max-width: var(--read);
  margin: 0 auto 1.5rem;
  padding: 2.5rem 2.75rem 3rem;
  animation: pkmlIn .5s ease both;
}
@media (max-width: 720px) {
  .pkml-paper { padding: 1.5rem 1.15rem 2rem; }
}
.pkml-kicker {
  margin: 0 0 .5rem;
  font-family: var(--font-ui);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--pkml-blue);
}
.pkml-paper-title {
  font-family: var(--font-read) !important;
  font-weight: 700;
  font-size: clamp(1.85rem, 4vw, 2.5rem);
  line-height: 1.2;
  color: var(--pkml-ink);
  margin: 0 0 1rem;
  letter-spacing: -0.01em;
}
.pkml-paper-rule {
  width: 100%;
  height: 1px;
  background: #ccc;
  position: relative;
  margin: 0 0 1.75rem;
}
.pkml-paper-rule::after {
  content: "";
  position: absolute; left: 0; top: -1px;
  width: 80px; height: 3px;
  background: var(--pkml-blue);
}



/* Reading body — newspaper */
.pkml-paper-body {
  font-family: var(--font-read) !important;
  font-size: 1.125rem;
  line-height: 1.85;
  color: var(--pkml-ink);
  max-width: 38em;
}
.pkml-paper-body p {
  margin: 0 0 1.2rem;
  text-align: left !important;
}
.pkml-lead,
.pkml-paper-body > p:first-child {
  font-size: 1.2rem;
  line-height: 1.65;
  color: #222;
  margin-bottom: 1.4rem;
}
.pkml-lead strong,
.pkml-paper-body > p:first-child strong {
  font-weight: 700;
  color: var(--pkml-purple);
}
.pkml-section-head,
.pkml-paper-body h2,
.pkml-paper-body h3,
.pkml-paper-body h4 {
  font-family: var(--font-ui) !important;
  font-size: .78rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  color: var(--pkml-purple) !important;
  margin: 2rem 0 .75rem !important;
  padding-top: .9rem;
  border-top: 1px solid var(--pkml-line);
}
.pkml-paper-body ul,
.pkml-paper-body ol {
  margin: 0 0 1.3rem;
  padding-left: 1.3rem;
  font-family: var(--font-ui);
  font-size: 1.02rem;
  line-height: 1.7;
}
.pkml-paper-body li {
  margin: 0 0 .55rem;
  text-align: left !important;
}
.pkml-paper-body li::marker { color: var(--pkml-blue); }
.pkml-paper-body a {
  color: var(--pkml-blue);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.pkml-paper-body img {
  display: block; margin: 1.5rem auto; border-radius: 4px;
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
}

/* AI cards inside body */
.ai-services-page .row-fluid {
  display: grid !important; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 1.25rem 0;
}
.ai-services-page .span6 {
  background: #f7f8fa; border: 1px solid var(--pkml-line);
  border-radius: 8px; padding: 1rem 1.1rem; margin: 0 !important; width: auto !important;
}
.ai-services-page h2, .ai-services-page h3, .ai-services-page h4 {
  border: 0 !important; padding-top: 0 !important; text-transform: none !important;
  letter-spacing: 0 !important; font-size: 1.1rem !important;
  font-family: var(--font-read) !important; color: var(--pkml-ink) !important;
}
@media (max-width: 700px) { .ai-services-page .row-fluid { grid-template-columns: 1fr; } }

/* Contact uses same paper */
.com-contact {
  background: var(--pkml-paper);
  border: 1px solid #ddd;
  box-shadow: 0 10px 36px rgba(0,0,0,.06);
  border-radius: 4px;
  max-width: var(--read);
  margin: 0 auto 1.5rem;
  padding: 2rem 2.25rem 2.5rem;
}
.com-contact h1, .com-contact .page-header h1 {
  font-family: var(--font-read) !important;
  font-size: 2rem; margin: 0 0 1rem;
}

/* More section */
.pkml-more { max-width: var(--read); margin: 0 auto 1.25rem; }
.pkml-more-inner {
  background: #fff; border: 1px solid #ddd; border-radius: 4px;
  padding: 1.35rem 1.25rem 1.5rem;
  box-shadow: 0 6px 20px rgba(0,0,0,.05);
}
.pkml-more h2 {
  font-family: var(--font-ui) !important;
  font-size: .75rem; text-transform: uppercase; letter-spacing: .1em;
  color: var(--pkml-muted); margin: 0 0 .9rem; font-weight: 700;
  border-bottom: 1px solid var(--pkml-line); padding-bottom: .5rem;
}
.pkml-more-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: .55rem; margin-bottom: 1rem;
}
.pkml-more-card {
  display: flex; justify-content: space-between; align-items: center;
  gap: .4rem; padding: .7rem .85rem;
  background: #f7f8fa; border: 1px solid #e8e8e8; border-left: 3px solid var(--pkml-blue);
  color: var(--pkml-ink) !important; font-weight: 600; font-size: .88rem;
  transition: background .2s, transform .2s;
}
.pkml-more-card em {
  font-style: normal; color: var(--pkml-blue); font-size: .7rem;
  text-transform: uppercase; letter-spacing: .05em; font-weight: 700;
}
.pkml-more-card:hover { background: #eef7fc; transform: translateX(3px); color: var(--pkml-ink) !important; }
.pkml-more-cta { text-align: center; }

/* Directory */
.pkml-dir { max-width: var(--max); margin: 0 auto 1.5rem; }
.pkml-dir h2 {
  font-family: var(--font-read) !important;
  text-align: center; font-size: 1.75rem; margin: 0 0 1.15rem; color: var(--pkml-ink);
}
.pkml-dir-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: .75rem;
}
.pkml-dir-item {
  display: flex; flex-direction: column; justify-content: space-between; gap: .6rem;
  min-height: 110px; background: #fff; border: 1px solid #ddd; border-top: 3px solid var(--pkml-blue);
  padding: 1.15rem 1.1rem; color: var(--pkml-ink) !important;
  box-shadow: 0 4px 14px rgba(0,0,0,.04);
  transition: transform .25s, box-shadow .25s;
  opacity: 1; transform: none;
}
.pkml-dir-item.pkml-in { opacity: 1; transform: none; }
.pkml-dir-item:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(0,0,0,.08); color: var(--pkml-ink) !important; }
.pkml-dir-title { font-weight: 700; font-size: 1.02rem; }
.pkml-dir-go { color: var(--pkml-blue); font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }

/* Buttons */
.pkml-btn, a.pkml-btn, .btn-primary, .btn, .button {
  display: inline-block;
  background: var(--pkml-blue) !important;
  color: #fff !important;
  border: 0 !important;
  font-family: var(--font-ui) !important;
  font-weight: 700;
  font-size: .78rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: .8rem 1.5rem;
  border-radius: 999px;
  text-decoration: none !important;
  box-shadow: 0 6px 16px rgba(1,147,218,.25);
  transition: background .2s, transform .2s;
}
.pkml-btn:hover, a.pkml-btn:hover, .btn-primary:hover, .btn:hover, .button:hover {
  background: var(--pkml-orange) !important;
  color: #fff !important;
  transform: translateY(-2px);
}

/* Hero */
.pkml-hero {
  position: relative; width: 100%; min-height: 480px;
  overflow: hidden; background: var(--pkml-purple-2); margin: 0 0 1.75rem;
}
.pkml-slide {
  position: absolute; inset: 0; opacity: 0;
  transition: opacity .85s ease, transform 7s ease;
  background-size: cover; background-position: center 28%;
  display: flex; align-items: center; transform: scale(1.05);
}
.pkml-slide.active { opacity: 1; z-index: 2; transform: scale(1); }
.pkml-slide .pkml-shade {
  position: absolute; inset: 0;
  background: linear-gradient(105deg, rgba(31,17,64,.94) 0%, rgba(48,27,94,.65) 50%, rgba(1,147,218,.22) 100%);
}
.pkml-slide .pkml-caption {
  position: relative; z-index: 3; max-width: var(--max); margin: 0 auto;
  padding: 3.5rem 1.5rem; width: 100%; color: #fff;
  animation: pkmlIn .65s ease .1s both;
}
.pkml-slide h2 {
  font-family: var(--font-read) !important;
  color: #fff !important; font-weight: 600;
  font-size: clamp(1.9rem, 4vw, 3rem); line-height: 1.15;
  margin: 0 0 1rem; max-width: 18ch;
}
.pkml-slide p {
  color: rgba(255,255,255,.9); font-size: 1.08rem;
  max-width: 32rem; margin: 0 0 1.4rem; line-height: 1.6;
  font-family: var(--font-ui);
}
.pkml-hero .pkml-dots {
  position: absolute; bottom: 1.1rem; left: 0; right: 0; z-index: 5;
  display: flex; gap: .45rem; justify-content: center;
}
.pkml-hero .pkml-dots button {
  width: 2rem; height: 4px; border: 0; border-radius: 4px; padding: 0;
  background: rgba(255,255,255,.35); cursor: pointer;
}
.pkml-hero .pkml-dots button.active { background: #fff; width: 2.5rem; }

/* Home cards */
.pkml-section { max-width: var(--max); margin: 0 auto 1.75rem; padding: 0 .25rem; }
.pkml-section > h2 {
  font-family: var(--font-read) !important;
  text-align: center; font-size: 1.65rem; margin: 0 0 1.15rem; color: var(--pkml-ink);
}
.pkml-cards {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: .9rem;
}
.pkml-card {
  background: #fff; border: 1px solid #ddd; border-top: 3px solid var(--pkml-blue);
  border-radius: 4px; padding: 1.2rem 1.15rem 1rem;
  display: flex; flex-direction: column;
  box-shadow: 0 4px 14px rgba(0,0,0,.04);
  transition: transform .25s, box-shadow .25s;
  opacity: 1; transform: none;
}
.pkml-card.pkml-in { opacity: 1; transform: none; }
.pkml-card:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(0,0,0,.08); }
.pkml-card h3 {
  font-family: var(--font-ui) !important; font-size: 1.05rem; margin: 0 0 .45rem;
  color: var(--pkml-purple); border: 0; padding: 0; text-transform: none; letter-spacing: 0;
}
.pkml-card .pkml-cardbody { flex: 1; font-size: .92rem; line-height: 1.6; color: var(--pkml-muted); font-family: var(--font-ui); }
.pkml-card .pkml-cardbody p { margin: 0 0 .5rem; text-align: left !important; }
.pkml-card a.pkml-more {
  margin-top: .7rem; font-weight: 700; font-size: .72rem;
  text-transform: uppercase; letter-spacing: .06em; color: var(--pkml-blue);
}
.pkml-card a.pkml-more::after { content: " →"; }

.pkml-quote {
  background: linear-gradient(115deg, var(--pkml-purple-2), var(--pkml-purple) 50%, #186a9e);
  color: #fff; text-align: center;
  padding: 3rem 1.25rem; margin: 1.5rem 0 0;
}
.pkml-quote h2 {
  color: #fff !important; font-family: var(--font-read) !important;
  font-weight: 600; font-size: clamp(1.4rem, 3vw, 2.1rem); margin: 0 0 .45rem;
}
.pkml-quote p { color: rgba(255,255,255,.9); margin: 0 0 1.25rem; font-family: var(--font-ui); }

.pkml-page-cta { max-width: var(--read); margin: 0 auto 1.25rem; }
.pkml-page-cta-inner {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem;
  background: linear-gradient(115deg, var(--pkml-purple), #186a9e);
  color: #fff; border-radius: 4px; padding: 1.35rem 1.5rem;
}
.pkml-page-cta h2 {
  color: #fff !important; margin: 0 0 .2rem; font-family: var(--font-read) !important;
  font-size: 1.3rem; border: 0; padding: 0; text-transform: none;
}
.pkml-page-cta p { margin: 0; color: rgba(255,255,255,.9); font-size: .95rem; }

/* Footer */
.container-footer, footer.site-footer, .footer {
  background: var(--pkml-purple-2) !important;
  color: #fff !important; border: 0 !important; margin-top: 0 !important;
}
.pkml-footerbar {
  display: flex; flex-wrap: wrap; gap: 1.2rem 2rem;
  align-items: center; justify-content: space-between;
  max-width: var(--max); margin: 0 auto;
  padding: 1.75rem 1.25rem 2.4rem;
  font-size: .86rem; color: rgba(255,255,255,.88); font-family: var(--font-ui);
}
.pkml-footerbar a { color: #fff; }
.pkml-footerbar a:hover { color: #8fd0f7; }
.pkml-fbrand img { max-height: 40px; display: block; margin-bottom: .4rem; }
.pkml-fcopy { opacity: .7; font-size: .8rem; }
.pkml-fnav {
  display: flex; flex-wrap: wrap; gap: .75rem 1.2rem;
  text-transform: uppercase; letter-spacing: .06em; font-weight: 600; font-size: .74rem;
}
.pkml-fcontact { display: flex; flex-direction: column; gap: .35rem; }
.pkml-fcontact a[href*="contact-us"] {
  display: inline-block; background: var(--pkml-blue); color: #fff !important;
  padding: .5rem 1.1rem; border-radius: 999px; font-weight: 700;
  font-size: .7rem; letter-spacing: .06em; text-transform: uppercase; width: fit-content;
}
.pkml-fsocial { display: flex; gap: .4rem; }
.pkml-fsocial a {
  display: inline-flex; width: 2.1rem; height: 2.1rem;
  align-items: center; justify-content: center;
  border-radius: 50%; background: rgba(255,255,255,.1); color: #fff;
}
.pkml-fsocial a:hover { background: var(--pkml-blue); }

/* Forms */
.form-control, input[type=text], input[type=email], input[type=number], textarea, .form-select {
  border-radius: 6px !important; border: 1px solid #ccc !important;
  padding: .75rem .9rem !important; font-size: 1rem !important;
  font-family: var(--font-ui) !important; width: 100%;
}
.form-control:focus {
  border-color: var(--pkml-blue) !important;
  box-shadow: 0 0 0 3px rgba(1,147,218,.15) !important; outline: 0 !important;
}
.pkml-math-captcha label { font-weight: 600; display: block; margin-bottom: .35rem; }
.control-group, .mb-3 { margin-bottom: 1rem !important; }

/* Motion */
@keyframes pkmlIn {
  from { opacity: 1; transform: none; }
  to { opacity: 1; transform: none; }
}
.pkml-reveal { opacity: 1; transform: none; transition: opacity .5s ease, transform .5s ease; }
.pkml-reveal.pkml-in { opacity: 1; transform: none; }
.pkml-paper-body > * { animation: pkmlIn .45s ease both; }
.pkml-paper-body > *:nth-child(1) { animation-delay: .05s; }
.pkml-paper-body > *:nth-child(2) { animation-delay: .1s; }
.pkml-paper-body > *:nth-child(3) { animation-delay: .15s; }
.pkml-paper-body > *:nth-child(4) { animation-delay: .2s; }
.pkml-paper-body > *:nth-child(5) { animation-delay: .25s; }
.pkml-paper-body > *:nth-child(n+6) { animation-delay: .3s; }

@media (max-width: 767px) {
  body { font-size: 17px !important; }
  .pkml-hero { min-height: 360px; }
  .pkml-slide h2 { max-width: none; }
  .pkml-footerbar, .pkml-page-cta-inner { flex-direction: column; align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
/* PKML editorial layout, September 2026. Content is visible without JavaScript. */
:root { --pkml-blue:#0077ad; --pkml-blue-dark:#005a85; --pkml-purple:#172c4a; --pkml-purple-2:#102139; --pkml-ink:#172534; --pkml-text:#263747; --pkml-muted:#526171; --pkml-bg:#f4f5f6; --pkml-line:#dce2e6; --read:940px; --max:1180px; }
body { font-size:17px !important; line-height:1.65 !important; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline:3px solid #db8b20 !important; outline-offset:4px; }
header.header.container-header { background:#102139 !important; padding:20px max(24px,calc((100vw - 1180px)/2)) !important; display:flex; align-items:center; gap:36px; }
.container-header > .grid-child { width:auto !important; margin:0 !important; padding:0 !important; }
.container-header > .container-nav { flex:1; justify-content:flex-end; }
.container-header .navbar-brand { padding:0; margin:0; }
.container-header .brand-logo img { width:205px; height:auto; max-height:70px; }
.container-header .container-nav nav { margin:0; }
.container-header .metismenu { gap:12px; justify-content:flex-end; }
.container-header .metismenu > li > a { font-size:13px !important; padding:12px 14px !important; }
.container-header .mm-collapse { background:#172c4a !important; min-width:250px; }
.container-header .mm-collapse:not(.mm-show) { display:none !important; }
.container-header .mm-collapse.mm-show { display:block !important; }
.container-header .mm-collapse .mm-collapse { left:100% !important; }
.container-top-a { padding-top:22px !important; }
.mod-breadcrumbs .breadcrumb { background:transparent !important; padding:0 !important; font-size:13px; }
.container-component { padding-top:12px !important; padding-bottom:24px !important; }
.pkml-paper { max-width:var(--read); padding:48px 64px; border:1px solid var(--pkml-line); border-radius:2px; box-shadow:0 4px 20px #10213906; margin-bottom:24px; animation:none; }
.pkml-paper-head { display:block !important; max-width:720px; margin:0 auto 28px; border-bottom:1px solid #bac8d2; padding-bottom:24px; }
.pkml-paper-head .pkml-kicker { color:#00709f; margin-bottom:12px; font-size:11px; }
.pkml-paper-title { font-size:clamp(30px,3.3vw,44px); letter-spacing:-.035em; margin:0; line-height:1.16; color:#14283f; }
.pkml-paper-body { max-width:720px; margin:0 auto; font-size:19px; line-height:1.75; color:#263442; overflow-wrap:break-word; }
.pkml-paper-body > * { animation:none; }
.pkml-paper-body p, .pkml-paper-body li { text-align:left !important; }
.pkml-paper-body p { margin:0 0 1.15em; }
.pkml-paper-body .pkml-lead, .pkml-paper-body > p:first-child { font-size:21px; line-height:1.6; color:#263d51; }
.pkml-paper-body h2, .pkml-paper-body h3, .pkml-paper-body h4, .pkml-section-head { font-family:var(--font-read) !important; color:#17314c !important; font-size:26px !important; line-height:1.3 !important; font-weight:600 !important; letter-spacing:-.015em !important; text-transform:none !important; border:0 !important; padding:0 !important; margin:1.6em 0 .65em !important; scroll-margin-top:120px; }
.pkml-paper-body h3 { font-size:22px !important; }
.pkml-paper-body h4 { font-size:20px !important; }
.pkml-paper-body ul, .pkml-paper-body ol { font:inherit; padding-left:1.3em; margin-bottom:1.3em; }
.pkml-paper-body li { margin-bottom:.7em; padding-left:.2em; }
.pkml-paper-body li::marker { color:#0077ad; }
.pkml-paper-body a { color:#006997; text-decoration-thickness:1px; text-underline-offset:3px; }
.pkml-paper-body img { max-width:100%; height:auto; float:none !important; box-shadow:none; border-radius:2px; }
.pkml-paper-body iframe, .pkml-paper-body video { max-width:100%; }
.pkml-paper-body table { max-width:100%; border-collapse:collapse; font-family:var(--font-ui); font-size:15px; }
.pkml-paper-body th, .pkml-paper-body td { padding:12px; border:1px solid #ccd6df; vertical-align:top; }
.pkml-table-wrap { overflow-x:auto; margin:24px 0; }
.pkml-paper-body .row-fluid { display:flex; flex-wrap:wrap; gap:24px; }
.pkml-paper-body .row-fluid > [class*="span"] { flex:1 1 280px; width:auto !important; margin:0 !important; min-width:0; }
.pkml-contents { font-family:var(--font-ui); margin:0 0 32px; padding:18px 22px; background:#f1f5f7; border-left:3px solid #0087bd; font-size:14px; }
.pkml-contents summary { cursor:pointer; font-weight:700; }
.pkml-contents ol { columns:2; column-gap:28px; margin:14px 0 0; font:inherit; }
.pkml-contents li { break-inside:avoid; margin:0 0 7px; }
.pkml-contents a { text-decoration:none; }
.pkml-section { padding:0; margin:0 auto 48px; }
.pkml-section > h2 { text-align:left; font-size:30px; padding-bottom:16px; margin-bottom:24px; border-bottom:1px solid #bdcbd5; color:#16314b; }
.pkml-cards { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
@media(min-width:1100px) {
 .pkml-cards:has(> .pkml-card:nth-child(4):last-child), .pkml-cards:has(> .pkml-card:nth-child(8):last-child) { grid-template-columns:repeat(4,minmax(0,1fr)); }
 .pkml-cards:has(> .pkml-card:nth-child(2):last-child) { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
.pkml-card { opacity:1; transform:none; padding:0; overflow:hidden; border:1px solid #d5dee5; border-radius:3px; box-shadow:none; transition:transform .2s,box-shadow .2s; min-width:0; }
.pkml-card > img { width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; margin:0; border-radius:0; }
.pkml-card-content { display:flex; flex:1; flex-direction:column; padding:24px; }
.pkml-card h3, .pkml-paper-body .pkml-card h3 { font-family:var(--font-read) !important; font-size:23px !important; font-weight:600 !important; line-height:1.25 !important; margin:0 0 12px !important; color:#18324b !important; }
.pkml-card .pkml-cardbody { font-family:var(--font-ui); color:#435565; font-size:15px; line-height:1.7; }
.pkml-card .pkml-cardbody p { font-size:inherit; line-height:inherit; margin:0 0 20px; }
.pkml-card-link { display:block; margin-top:auto; font-family:var(--font-ui); font-size:13px; font-weight:700; line-height:1.5; color:#006d9d; text-decoration:none !important; }
.pkml-card:hover { transform:translateY(-3px); box-shadow:0 10px 24px #16314b0d; }
.pkml-dir-item, .pkml-reveal, .pkml-more, .pkml-page-cta { opacity:1; transform:none; }
.pkml-dir { margin-bottom:36px; }
.pkml-more-inner { box-shadow:none; border-color:#d5dee5; padding:24px; }
.pkml-more-grid { gap:12px; }
.pkml-more-card { font-size:14px; }
.pkml-btn, a.pkml-btn, .btn-primary, .btn, .button { border-radius:4px; background:#0077ad !important; letter-spacing:.02em; text-transform:none; font-size:14px; padding:12px 20px; box-shadow:none; }
.pkml-btn:hover, .btn:hover, .button:hover { background:#005e89 !important; }
.pkml-hero { min-height:470px; margin-bottom:20px; }
.pkml-slide h2 { font-size:clamp(34px,4vw,58px); max-width:21ch; }
.pkml-slide .pkml-shade { background:linear-gradient(90deg,#102139eb,#10213999 55%,#10213933); }
.pkml-slide .pkml-caption { padding:60px 24px 90px; animation:none; }
.pkml-slide p { font-size:18px; max-width:520px; }
.pkml-slide:not(.active) { visibility:hidden; pointer-events:none; }
.pkml-slide.active { visibility:visible; }
.pkml-hero .pkml-dots { bottom:22px; gap:8px; }
.pkml-hero .pkml-dots button { width:32px; height:24px; background:transparent; border-radius:0; border-top:3px solid #ffffff66; }
.pkml-hero .pkml-dots button.active { width:32px; border-color:white; background:transparent; }
.pkml-hero-pause { position:absolute; z-index:6; right:max(24px,calc((100vw - 1132px)/2)); bottom:26px; background:#102139b3; color:#fff; border:1px solid #ffffff80; border-radius:3px; padding:8px 12px; font-size:12px; }
.pkml-service-guide details { background:white; border:1px solid #d5dee5; padding:20px 24px; margin-bottom:10px; }
.pkml-service-guide summary { color:#17314c; font-size:19px; font-weight:600; cursor:pointer; }
.pkml-service-guide details[open] summary { margin-bottom:16px; }
.pkml-contact-strip { border-top:3px solid #0077ad; padding:30px; background:#e9eff3; }
.pkml-ai-nav { display:inline-flex; align-items:center; min-height:44px; padding:0 14px; color:white !important; font-family:var(--font-ui); font-size:14px; font-weight:800; letter-spacing:.03em; line-height:1; text-decoration:none !important; text-transform:uppercase; }
.pkml-ai-nav:hover, .pkml-ai-nav:focus { background:#ffffff1f; color:white !important; }
.pkml-contact-strip p { max-width:720px; }
.pkml-page-cta-inner, .pkml-quote { background:#17314c; border-radius:3px; padding:32px; }
.pkml-contact-theme { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(360px,.75fr); background:white; border:1px solid #d5dee5; box-shadow:0 12px 32px #10213912; margin:44px auto; max-width:1200px; }
.pkml-contact-theme__copy { padding:42px 40px; align-self:center; }
.pkml-contact-theme__copy h2 { font-size:34px; margin:0 0 18px; color:#17314c; }
.pkml-contact-theme__copy p { max-width:760px; }
.pkml-contact-theme__actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.pkml-contact-theme__panel { background:#321a62; color:white; padding:42px 36px; }
.pkml-contact-theme__panel img { width:min(300px,100%); height:auto; margin:0 0 34px; display:block; filter:none; }
.pkml-contact-theme__panel h3 { color:white; font-size:28px; margin:0 0 16px; }
.pkml-contact-theme__panel p { color:white; font-family:var(--font-ui); font-size:18px; line-height:1.55; margin:0 0 18px; }
.pkml-contact-theme__panel strong { color:white; }
.pkml-button, a.pkml-button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:12px 18px; border-radius:3px; background:#0077ad; color:white !important; font-family:var(--font-ui); font-weight:700; text-decoration:none !important; }
.pkml-button--ghost, a.pkml-button--ghost { background:#17314c; border:1px solid #ffffff66; }
.pkml-paper:has(.pkml-cards) { max-width:var(--max); }
body.itemid-121 .container-top-a,
body.itemid-121 .container-component { display:none !important; }
.pkml-paper-body:has(> .pkml-section) { max-width:none; }
.pkml-paper-body:has(> .pkml-section) > :not(.pkml-section) { max-width:720px; margin-left:auto !important; margin-right:auto !important; }
.pkml-paper-body .pkml-section { margin-top:40px; font-family:var(--font-ui); }
.pkml-paper-body .pkml-section > h2 { max-width:none; padding-bottom:16px !important; border-bottom:1px solid #bdcbd5 !important; }
.com-contact { max-width:940px; padding:40px 56px; box-shadow:none; border-color:#d5dee5; }
.pkml-contact-location { max-width:1200px; margin:0 auto 34px; display:grid; grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr); background:white; border:1px solid #d5dee5; box-shadow:0 12px 32px #10213912; }
.pkml-contact-location__intro { padding:42px 40px; align-self:center; }
.pkml-contact-location__intro h1 { font-size:38px; line-height:1.15; margin:0 0 18px; color:#17314c; }
.pkml-contact-location__intro p { font-family:var(--font-ui); font-size:17px; line-height:1.65; color:#263747; margin:0 0 18px; }
.pkml-contact-location__facts { display:grid; gap:10px; margin-top:24px; padding-top:24px; border-top:1px solid #d5dee5; }
.pkml-contact-location__facts p { margin:0; }
.pkml-contact-location__facts strong { color:#17314c; }
.pkml-contact-location__map { min-height:420px; background:#321a62; padding:12px; }
.pkml-contact-location__map iframe { display:block; width:100%; height:100%; min-height:420px; border:0; background:white; }
body.com_contact .com-contact { max-width:1200px; }
body.com_contact .com-contact > h1, body.com_contact .com-contact > h3, body.com_contact .com-contact__container { display:none !important; }
body.com_contact .com-contact__form { max-width:900px; margin:0 auto; }
body.com_contact .com-contact legend { font-size:30px; border-bottom:1px solid #bdcbd5; padding-bottom:18px; width:100%; }
body.com_contact .com-contact .control-group { margin-bottom:20px; }
body.com_contact .com-contact .form-control { min-height:48px; border:1px solid #c4d0d9; border-radius:3px; font-family:var(--font-ui); font-size:16px; }
body.com_contact .com-contact textarea.form-control { min-height:220px; }
.com-contact input, .com-contact textarea, .com-contact fieldset { max-width:100%; min-width:0; }
.com-contact > .page-header, .com-contact > h3, .com-contact__container:has(.contact-address:empty) { display:none; }
.com-contact__container:has(.contact-address:not(:has(*))) { display:none; }
.com-contact > h1 { padding-bottom:22px; border-bottom:1px solid #bdcbd5; margin-bottom:28px !important; color:#17314c; }
.com-contact legend { font-family:var(--font-read); font-size:24px; color:#17314c; margin-bottom:20px; }
.com-contact .control-label { margin-bottom:6px; font-size:15px; }
.com-contact .field-spacer { color:#526171; font-size:14px; }
.hikashop_products_listing { padding:24px; background:white; }
.hikashop_products_listing_main > h1 { font-family:var(--font-read); font-size:42px; color:#17314c; margin-bottom:28px; }
.hikashop_products_listing .hk-row-fluid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:0; }
.hikashop_products_listing .hk-row-fluid::before, .hikashop_products_listing .hk-row-fluid::after { content:none !important; display:none !important; }
.hikashop_products_listing .hk-row-fluid > .hikashop_product { width:auto !important; min-width:0; margin:0 !important; padding:0 !important; float:none; }
.hikashop_products_listing .hikashop_container { height:100%; margin:0 !important; }
.hikashop_products_listing .hikashop_subcontainer { height:100%; padding:24px; border:1px solid #d5dee5; border-radius:3px; }
.hikashop_products_listing .hikashop_listing_img_title { display:flex; flex-direction:column; height:100%; text-align:left; }
.hikashop_products_listing .hikashop_product_image { height:auto !important; margin:0 0 20px; text-align:left; }
.hikashop_products_listing .hikashop_product_image_subdiv { width:auto !important; }
.hikashop_products_listing .hikashop_product_listing_image { width:96px !important; height:96px !important; object-fit:contain; }
.hikashop_products_listing .hikashop_product_name { order:1; font-family:var(--font-read); font-size:23px; line-height:1.3; padding:0; margin:0 0 16px; }
.hikashop_products_listing .hikashop_product_name a { color:#17314c; }
.hikashop_products_listing .hikashop_product_price_full { order:2; font-size:19px; margin:auto 0 20px; color:#17314c; }
.hikashop_products_listing .hikabtn { order:3; align-self:flex-start; background:#0077ad; border:0; color:white; border-radius:3px; padding:10px 16px; }
#hikashop_product_description_main { clear:both; font-family:var(--font-read); font-size:19px; line-height:1.75; color:#263442; max-width:820px; margin:32px auto; }
#hikashop_product_description_main h2, #hikashop_product_description_main h3 { font-size:26px; color:#17314c; margin:28px 0 16px; }
.hikashop_product_page { padding:36px; background:white; border:1px solid #d5dee5; }
.hikashop_product_page h1 { font-family:var(--font-read); font-size:38px; line-height:1.2; color:#17314c; margin-bottom:24px; }
.hikashop_product_page input.hikashop_product_quantity_field { width:64px !important; min-width:64px; color:#17314c; }
.hikashop_product_page .hikabtn { background:#0077ad; color:white; border:0; border-radius:3px; padding:10px 16px; }
.hikashop_product { color:#263747; }
.pkml-footerbar { padding:32px 0; }
.pkml-skip-link { position:absolute; left:20px; top:-100px; background:#fff; padding:12px; z-index:9999; }
.pkml-skip-link:focus { top:12px; }
.pkml-menu-toggle { display:none; }
@media(min-width:992px) { .container-header li:hover > .mm-collapse, .container-header li:focus-within > .mm-collapse { display:block !important; } .container-header .metismenu > li:last-child .mm-collapse { left:auto !important; right:0; } .container-header .mm-collapse .mm-collapse { left:auto !important; right:100%; } }
@media(max-width:991px) {
 header.header.container-header { flex-wrap:wrap; padding:18px 24px !important; gap:16px; }
 .pkml-menu-toggle { display:block; margin-left:auto; color:white; background:transparent; padding:8px 14px; border:1px solid #ffffff80; border-radius:3px; }
 .pkml-nav-ready .container-nav[data-open="false"] { display:none !important; }
 .container-header > .container-nav { width:100% !important; }
 .pkml-ai-nav { display:flex; padding:13px 16px; border-top:1px solid #ffffff20; }
 .container-header .metismenu { align-items:stretch; }
 .container-header .mm-collapse { min-width:0; }
 .container-header .mm-toggler { float:none; margin:0; position:absolute; right:4px; top:4px; }
 .container-header .mm-collapse.mm-show { max-height:none; }
 header.header.container-header { position:relative !important; }
 .pkml-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .pkml-paper { padding:36px; }
}
@media(max-width:600px) {
 .grid-child,.container-top-a,.container-component,.container-bottom-a,.container-bottom-b { padding-left:16px !important; padding-right:16px !important; }
 header.header.container-header { padding:16px 20px !important; }
 .container-header .brand-logo img { width:174px; }
 .pkml-paper { padding:26px 22px; }
 .pkml-paper-body { font-size:18px; line-height:1.7; }
 .pkml-paper-body .pkml-lead,.pkml-paper-body > p:first-child { font-size:19px; }
 .pkml-paper-title { font-size:32px; }
 .pkml-paper-body h2 { font-size:24px !important; }
 .pkml-cards { grid-template-columns:minmax(0,1fr); gap:18px; }
 .pkml-section { margin-bottom:34px; }
 .pkml-section > h2 { font-size:27px; }
 .pkml-card-content { padding:22px; }
 .pkml-contents ol { columns:1; }
 .pkml-hero { min-height:490px; }
 .pkml-slide .pkml-caption { padding:35px 24px 110px; }
 .pkml-slide h2 { font-size:36px; }
 .pkml-slide p { font-size:16px; }
 .pkml-hero .pkml-dots { justify-content:flex-start; left:24px; bottom:20px; gap:4px; }
 .pkml-hero .pkml-dots button,.pkml-hero .pkml-dots button.active { width:22px; }
 .pkml-hero-pause { right:18px; bottom:30px; font-size:11px; }
 .com-contact { padding:26px 20px; }
 .pkml-contact-location { grid-template-columns:minmax(0,1fr); }
 .pkml-contact-location__intro { padding:28px 22px; }
 .pkml-contact-location__intro h1 { font-size:30px; }
 .pkml-contact-location__map, .pkml-contact-location__map iframe { min-height:340px; }
 .hikashop_products_listing { padding:0; background:transparent; }
 .hikashop_products_listing .hk-row-fluid { grid-template-columns:minmax(0,1fr); }
 .hikashop_products_listing .hikashop_subcontainer { background:white; }
 .hikashop_product_left_part, .hikashop_product_right_part { float:none !important; width:100% !important; }
 .hikashop_product_page { padding:22px; }
 .hikashop_product_page h1 { font-size:30px; }
 .pkml-more-grid { grid-template-columns:minmax(0,1fr); }
 .pkml-paper-body .row-fluid > [class*="span"] { flex-basis:100%; }
 .pkml-footerbar { padding:28px 20px; }
 .pkml-contact-theme { grid-template-columns:minmax(0,1fr); }
 .pkml-contact-theme__copy, .pkml-contact-theme__panel { padding:28px 22px; }
 .pkml-contact-theme__copy h2 { font-size:28px; }
 .pkml-contact-theme__panel h3 { font-size:24px; }
 .pkml-contact-theme__panel p { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none !important; transition:none !important; } }

/* PKML final site-wide shell and footer alignment */
:root {
  --pkml-shell: 1200px;
  --pkml-readable: 860px;
}

body.site {
  color: var(--ink);
  background: #f4f6f9;
}

.container-component,
.container-bottom-a,
.container-bottom-b,
.container-bottom-c {
  width: min(var(--pkml-shell), calc(100vw - 48px)) !important;
  max-width: var(--pkml-shell) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.itemid-121 .container-component,
body.itemid-121 .container-top-a {
  display: none !important;
}

.pkml-paper,
.com-contact,
.hikashop_products_listing,
.hikashop_product_page,
.blog,
.category-list,
.newsflash,
.pkml-more,
.pkml-contact-theme,
.pkml-page-cta {
  width: min(var(--pkml-shell), calc(100vw - 48px)) !important;
  max-width: var(--pkml-shell) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.pkml-paper {
  padding: clamp(30px, 4vw, 56px) clamp(28px, 5vw, 72px) !important;
}

.pkml-paper-head,
.pkml-paper-body,
.pkml-paper > h1,
.pkml-paper > h2,
.pkml-paper > h3,
.pkml-paper > p,
.pkml-paper > ul,
.pkml-paper > ol,
.pkml-paper > table,
.pkml-paper > blockquote {
  max-width: var(--pkml-readable) !important;
}

.pkml-paper-body {
  margin-left: 0 !important;
  margin-right: auto !important;
}

.pkml-paper-body .pkml-section,
.pkml-paper-body .pkml-cards,
.pkml-paper-body .pkml-grid,
.pkml-paper-body .pkml-split,
.pkml-paper .pkml-section,
.pkml-paper .pkml-cards,
.pkml-paper .pkml-grid,
.pkml-paper .pkml-split {
  max-width: none !important;
  width: 100% !important;
}

.pkml-section,
.pkml-more,
.pkml-contact-theme,
.pkml-page-cta,
.blog-items,
.category-desc,
.hikashop_products {
  margin-top: clamp(28px, 4vw, 52px) !important;
  margin-bottom: clamp(28px, 4vw, 52px) !important;
}

.pkml-card,
.pkml-more-card,
.hikashop_product,
.com-content-category-blog__item,
.blog-item {
  border: 1px solid #d6e0ea !important;
  box-shadow: 0 12px 28px rgba(15, 35, 55, .08) !important;
  background: #fff !important;
}

.pkml-contact-theme {
  display: grid !important;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, .85fr) !important;
  align-items: stretch !important;
  overflow: hidden !important;
}

.pkml-contact-theme > * {
  min-width: 0 !important;
}

.pkml-location-strip {
  width: min(var(--pkml-shell), calc(100vw - 48px)) !important;
  max-width: var(--pkml-shell) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.container-footer {
  margin-top: 0 !important;
  background: var(--navy) !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;
}

.container-footer .grid-child {
  width: min(var(--pkml-shell), calc(100vw - 48px)) !important;
  max-width: var(--pkml-shell) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 34px 0 !important;
}

.pkml-footerbar {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(250px, 1.1fr) minmax(220px, .8fr) minmax(220px, .9fr) auto !important;
  align-items: center !important;
  gap: 28px !important;
}

.pkml-fbrand,
.pkml-flinks,
.pkml-fcontact,
.pkml-fsocial {
  margin: 0 !important;
}

.pkml-fbrand img {
  width: 170px !important;
  height: auto !important;
  display: block !important;
}

.pkml-flinks {
  display: flex !important;
  gap: 18px !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
}

.pkml-fcontact {
  text-align: left !important;
}

.pkml-fsocial {
  justify-content: flex-end !important;
}

.pkml-fcta,
a.pkml-fcta,
.pkml-page-cta a,
.pkml-page-cta .btn,
.pkml-contact-theme .btn,
.pkml-contact-theme a.btn {
  text-transform: none !important;
}

.pkml-fcta,
a.pkml-fcta {
  white-space: nowrap !important;
}

@media (max-width: 900px) {
  .container-component,
  .container-bottom-a,
  .container-bottom-b,
  .container-bottom-c,
  .pkml-paper,
  .com-contact,
  .hikashop_products_listing,
  .hikashop_product_page,
  .blog,
  .category-list,
  .newsflash,
  .pkml-more,
  .pkml-contact-theme,
  .pkml-page-cta,
  .pkml-location-strip,
  .container-footer .grid-child {
    width: min(100%, calc(100vw - 28px)) !important;
  }

  .pkml-paper {
    padding: 28px 20px !important;
  }

  .pkml-contact-theme,
  .pkml-footerbar {
    grid-template-columns: 1fr !important;
  }

  .pkml-flinks,
  .pkml-fsocial {
    justify-content: flex-start !important;
  }
}

/* Legacy footer composition, refined for the current PKML shell. */
.container-footer {
  background: #301b5e !important;
  color: #fff !important;
  min-height: 90px !important;
}
.container-footer .grid-child {
  width: min(var(--pkml-shell), calc(100vw - 48px)) !important;
  max-width: var(--pkml-shell) !important;
  padding: 12px 0 !important;
}
.pkml-footerbar {
  display: grid !important;
  grid-template-columns: minmax(190px, 1fr) minmax(260px, 1.5fr) minmax(220px, 1fr) auto !important;
  align-items: center !important;
  gap: 20px !important;
  min-height: 66px !important;
  padding: 0 !important;
  font-size: .9rem !important;
  line-height: 1.35 !important;
}
.pkml-fbrand img {
  width: 122px !important;
  max-height: 42px !important;
  object-fit: contain !important;
  margin: 0 !important;
}
.pkml-fcopy {
  margin-top: 3px !important;
  opacity: 1 !important;
  font-size: .78rem !important;
  white-space: nowrap !important;
}
.pkml-flinks, .pkml-fnav, .pkml-fcontact { display: none !important; }
.pkml-fdate {
  display: block !important;
  text-align: center !important;
  white-space: nowrap !important;
  color: #fff !important;
  font-size: .88rem !important;
}
.pkml-fsocial {
  display: flex !important;
  justify-content: flex-end !important;
  gap: 8px !important;
}
.pkml-fsocial a {
  width: 18px !important;
  height: 18px !important;
  border-radius: 2px !important;
  background: #fff !important;
  color: var(--pkml-purple) !important;
  font-size: 11px !important;
}
.pkml-fsocial a:hover { background: var(--pkml-blue) !important; color: #fff !important; }
@media (max-width: 700px) {
  .container-footer .grid-child { width: calc(100vw - 28px) !important; }
  .pkml-footerbar { grid-template-columns: minmax(0, 1fr) auto !important; gap: 8px 10px !important; padding: 6px 0 !important; min-width: 0 !important; }
  .pkml-fbrand { grid-column: 1 !important; min-width: 0 !important; }
  .pkml-fcopy { white-space: normal !important; }
  .pkml-fdate { grid-column: 1 / -1 !important; grid-row: 2 !important; text-align: left !important; white-space: normal !important; font-size: .74rem !important; }
  .pkml-fsocial { grid-column: 2 !important; grid-row: 1 !important; min-width: 0 !important; gap: 5px !important; }
}

/* Hide migrated/default breadcrumb strip site-wide */
.mod-breadcrumbs,
.breadcrumb,
.breadcrumbs,
.container-breadcrumbs,
.container-top-a .mod-breadcrumbs,
.container-top-a nav[aria-label="breadcrumbs"],
.container-top-a nav[aria-label="Breadcrumbs"],
nav[aria-label="Breadcrumb"],
nav[aria-label="breadcrumbs"],
nav[aria-label="Breadcrumbs"] {
  display: none !important;
}

.container-top-a:has(.mod-breadcrumbs),
.container-top-a:has(.breadcrumb),
.container-top-a:has(nav[aria-label="Breadcrumb"]),
.container-top-a:has(nav[aria-label="breadcrumbs"]),
.container-top-a:has(nav[aria-label="Breadcrumbs"]) {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}


/* Hide disabled pricing links site-wide */
a[href$="/pricing"],
a[href="pricing"],
a[href="/j5/pricing"],
li:has(> a[href$="/pricing"]),
li:has(> a[href="pricing"]),
li:has(> a[href="/j5/pricing"]) {
  display: none !important;
}
