/* ==========================================================================
   PRIMITEK GROUP — design system
   Basic Plan, 2026-08. A standalone system replacing the retired Porto theme
   and Bootstrap runtime on every rebuilt public page.

   Tone: precision · industrial · credible · modern · international · restrained
   Purposeful motion, minimal shadow and a clear editorial reading rhythm.
   Red is structural punctuation, never decoration.
   ========================================================================== */

/* --------------------------------------------------------------- 1. tokens */

:root {
    /* Brand */
    --pk-red:        #ED1C24;   /* large areas, rules, fills — NOT small text on white */
    --pk-red-deep:   #C41320;   /* accessible interaction red: links, buttons, focus  */
    --pk-red-press:  #9E0F19;
    --pk-red-tint:   #FDECED;

    /* Ink & neutrals */
    --pk-ink:        #16181D;
    --pk-ink-2:      #292D34;
    --pk-muted:      #5D6672;
    --pk-line:       #E6E9ED;
    --pk-canvas:     #FAFBFC;
    --pk-surface:    #F4F6F8;
    --pk-surface-alt:#EEF1F4;
    --pk-white:      #FFFFFF;

    /* Type */
    --pk-font-display: 'Manrope', 'Noto Sans Bengali', 'Helvetica Neue', Arial, sans-serif;
    --pk-font-body:    'Manrope', 'Noto Sans Bengali', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
    --pk-font-mono:    'Manrope', 'Noto Sans Bengali', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
    --pk-font-label:   'Manrope', 'Noto Sans Bengali', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
    --pk-label-track:  .065em;
    /* Compact editorial scale: clear hierarchy without oversized display
       type on wide screens. Use the feature tier only for a page's primary
       editorial statement, never for ordinary section headings. */
    --pk-type-page:    clamp(2rem, 1.6rem + 1.65vw, 3.1rem);
    --pk-type-section: clamp(1.625rem, 1.35rem + 1.05vw, 2.3rem);
    --pk-type-feature: clamp(1.875rem, 1.58rem + 1.35vw, 2.8rem);

    /* Rhythm — a 4px base grid */
    --pk-s1: 4px;   --pk-s2: 8px;   --pk-s3: 12px;  --pk-s4: 16px;
    --pk-s5: 24px;  --pk-s6: 32px;  --pk-s7: 48px;  --pk-s8: 64px;
    --pk-s9: 96px;  --pk-s10: 128px;

    --pk-radius:    4px;
    --pk-radius-md: 12px;
    /* Wide editorial canvas: keeps large screens useful without making copy
       span the full viewport.  The gutters remain fluid below this width. */
    --pk-maxw:   1760px;

    /* Elevation, used sparingly. */
    --pk-shadow: 0 2px 4px rgba(16, 20, 24, .04), 0 12px 30px rgba(16, 20, 24, .08);
    --pk-shadow-float: 0 22px 54px rgba(16, 20, 24, .15);

    /* Motion */
    --pk-motion-fast: 180ms;
    --pk-motion-medium: 420ms;
    --pk-motion-slow: 700ms;
    --pk-ease-out: cubic-bezier(.22, .61, .36, 1);

    /* Header geometry. Mobile overrides the combined height below. */
    --pk-utility-h: 36px;
    --pk-header-main-h: 72px;
    --pk-header-h: calc(var(--pk-utility-h) + var(--pk-header-main-h));
}

/* ------------------------------------------------- 1b. element normalise

   Replaces the small part of Bootstrap's Reboot that this site actually
   depended on. Bootstrap was loaded on every page for 160 KB and contributed
   ZERO class selectors (measured across 235 rendered pages) — but its reboot
   layer was silently styling bare elements, so dropping the file without this
   block shifted every image down by 7-8px and every form control by 4px.

   Each rule below was derived from a measured before/after diff, not copied
   wholesale. Every declaration corresponds to a geometry or typography change
   observed when the Bootstrap link was removed from a live document.

   Placed before section 2 so the site's own base styles still win, exactly as
   they did when Bootstrap was a separate, earlier stylesheet.
   ------------------------------------------------------------------------ */

/* Images sat back on the text baseline once Bootstrap went, leaving a
   descender gap under every figure, card image and the footer logo. This is
   the single most consequential rule in the block. */
img, svg { vertical-align: middle; }

/* Form controls do not inherit typography from the page by default. Without
   this the contact form rendered in 13.33px Arial. */
button, input, optgroup, select, textarea {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}
button, select { text-transform: none; }
button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; }
button:not(:disabled), [type="button"]:not(:disabled),
[type="reset"]:not(:disabled), [type="submit"]:not(:disabled) { cursor: pointer; }
label { display: inline-block; }
textarea { resize: vertical; }

/* Block elements whose UA defaults are wrong for this layout. */
figure  { margin: 0 0 var(--pk-s4); }
address { font-style: normal; line-height: inherit; margin-bottom: var(--pk-s4); }
dl { margin-top: 0; margin-bottom: var(--pk-s4); }
dt { font-weight: 700; }
dd { margin-bottom: var(--pk-s2); margin-left: 0; }
h6 { font-family: var(--pk-font-display); color: var(--pk-ink); font-weight: 700;
     font-size: 1rem; line-height: 1.15; margin: 0 0 var(--pk-s4); }

/* Tables. .pk-specs sets its own; CMS-authored content tables rely on these. */
table   { caption-side: bottom; border-collapse: collapse; }
caption { padding: var(--pk-s2) 0; color: var(--pk-muted); text-align: left; }
th      { text-align: inherit; text-align: -webkit-match-parent; }

b, strong { font-weight: bolder; }
small     { font-size: .875em; }

/* ----------------------------------------------------------------- 2. base */

*, *::before, *::after { box-sizing: border-box; }

html {
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
    scroll-padding-top: calc(var(--pk-header-h) + 16px);
}

body {
    margin: 0;
    font-family: var(--pk-font-body);
    font-size: 16px;
    line-height: 1.62;
    color: var(--pk-ink-2);
    background: var(--pk-canvas);
    -webkit-font-smoothing: antialiased;
    font-synthesis: none;
    font-variant-numeric: tabular-nums;
}

/* A neutral canvas keeps pages visually quiet; white remains reserved for
   cards, editorial panels and other foreground surfaces. */
main { background: var(--pk-canvas); }

img, svg, video { max-width: 100%; height: auto; }
img { border: 0; }

a {
    color: var(--pk-red-deep);
    text-decoration: none;
}
a:hover { color: var(--pk-red-press); }

h1, h2, h3, h4, h5 {
    font-family: var(--pk-font-display);
    color: var(--pk-ink);
    font-weight: 700;
    letter-spacing: -.026em;
    line-height: 1.16;
    margin: 0 0 var(--pk-s4);
    text-wrap: balance;
}

h1 {
    font-size: var(--pk-type-page);
    font-weight: 800;
    letter-spacing: -.042em;
}
h2 { font-size: var(--pk-type-section); letter-spacing: -.032em; }
h3 { font-size: clamp(1.125rem, 1.04rem + .42vw, 1.45rem); letter-spacing: -.022em; }
h4 { font-size: 1.0625rem; }

p { margin: 0 0 var(--pk-s4); }
p:last-child { margin-bottom: 0; }

/* Bengali editorial content appears in the newsroom and CMS-managed pages.
   Declaring a high-quality Bengali fallback prevents platform-dependent type
   substitutions while keeping the Latin corporate system unchanged. */
:lang(bn),
.pk-bn {
    font-family: 'Noto Sans Bengali', 'Nirmala UI', sans-serif;
    letter-spacing: 0;
    line-height: 1.72;
}

ul, ol { margin: 0 0 var(--pk-s4); padding-left: 1.25em; }

hr { border: 0; border-top: 1px solid var(--pk-line); margin: var(--pk-s7) 0; }

::selection { background: var(--pk-red); color: #fff; }

/* --------------------------------------------------------- 3. a11y basics */

.pk-skip-link {
    position: absolute;
    left: -9999px;
    top: 0;
    z-index: 2000;
    padding: 14px 24px;
    background: var(--pk-ink);
    color: #fff;
    font-weight: 600;
    text-decoration: none;
}
.pk-skip-link:focus {
    left: 12px;
    top: 12px;
    color: #fff;
}

:focus-visible {
    outline: 3px solid var(--pk-red-deep);
    outline-offset: 2px;
    border-radius: 2px;
}

.pk-sr-only {
    position: absolute;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}

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

/* ------------------------------------------------------------- 4. layout */

.pk-wrap {
    width: 100%;
    max-width: var(--pk-maxw);
    margin-inline: auto;
    padding-inline: var(--pk-s5);
}
@media (min-width: 768px) { .pk-wrap { padding-inline: var(--pk-s6); } }

.pk-section { padding-block: clamp(64px, 6.5vw, 96px); }
.pk-section--tight { padding-block: clamp(44px, 5vw, 64px); }
.pk-section--surface { background: var(--pk-surface); }
.pk-section--ink { background: var(--pk-ink); color: #C7CDD4; }
.pk-section--ink h2, .pk-section--ink h3 { color: #fff; }

/* Section header: eyebrow + heading + optional intro, left-aligned.
   Deliberately not centred — long centred paragraphs read badly and the
   brand direction calls for restraint. */
.pk-sec-head { max-width: 62ch; margin-bottom: var(--pk-s7); }
.pk-sec-head--split {
    max-width: none;
    display: grid;
    gap: var(--pk-s4);
    align-items: end;
}
@media (min-width: 992px) {
    .pk-sec-head--split { grid-template-columns: minmax(0, 1fr) auto; }
}

.pk-eyebrow {
    display: block;
    font-family: var(--pk-font-label);
    font-size: clamp(.75rem, .72rem + .1vw, .8125rem);
    font-weight: 800;
    letter-spacing: var(--pk-label-track);
    line-height: 1.35;
    text-transform: uppercase;
    color: #B20F19;
    margin-bottom: var(--pk-s3);
}
.pk-section--ink .pk-eyebrow { color: #FF8B90; }

/* Small all-caps labels carry navigation and content hierarchy. They use the
   same readable family, weight and tracking throughout the public website—
   never the thin, over-spaced treatment that made these labels hard to scan. */
.pk-card__kicker,
.pk-discovery-rail__eyebrow,
.pk-discovery-rail__status,
.pk-focus-card__body small,
.pk-home-leadership__identity span,
.pk-home-achievements__feature figcaption > span,
.pk-home-achievements__period span,
.pk-home-achievements__timeline li span,
.pk-legal-updated,
.pk-legal-nav h2,
.pk-legal-nav a span,
.pk-contact-card h2,
.pk-sitemap-group h2,
.pk-contact-card h3,
.pk-profile-nav__label,
.pk-footer h2,
.pk-footer h3 {
    font-family: var(--pk-font-label);
    font-weight: 700;
    letter-spacing: var(--pk-label-track);
    line-height: 1.4;
}

.pk-sec-head p {
    color: var(--pk-muted);
    font-size: clamp(1rem, .96rem + .18vw, 1.125rem);
    margin-top: var(--pk-s3);
}
.pk-sec-head--flush { margin-bottom: 0; }
.pk-section--ink .pk-sec-head p { color: #A8B2BC; }

/* A short red rule used as a section marker. The only decorative red. */
.pk-rule {
    width: 40px;
    height: 3px;
    background: var(--pk-red);
    margin-bottom: var(--pk-s5);
}

.pk-grid { display: grid; gap: var(--pk-s5); }
.pk-grid--3 { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.pk-grid--4 { grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); }

/* ------------------------------------------------------------ 5. buttons */

.pk-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--pk-s2);
    min-height: 48px;                 /* comfortable touch target */
    padding: 12px 26px;
    border: 1px solid transparent;
    border-radius: var(--pk-radius);
    font-family: var(--pk-font-body);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--pk-motion-fast) ease,
                border-color var(--pk-motion-fast) ease,
                color var(--pk-motion-fast) ease,
                box-shadow var(--pk-motion-medium) var(--pk-ease-out),
                transform var(--pk-motion-medium) var(--pk-ease-out);
}
.pk-btn:not(:disabled):hover,
.pk-btn:focus-visible { transform: translateY(-2px); box-shadow: var(--pk-shadow); }
.pk-btn:not(:disabled):active { transform: translateY(0); box-shadow: none; }

.pk-btn--primary {
    background: var(--pk-red-deep);
    border-color: var(--pk-red-deep);
    color: #fff;
}
.pk-btn--primary:hover,
.pk-btn--primary:focus {
    background: var(--pk-red-press);
    border-color: var(--pk-red-press);
    color: #fff;
}

.pk-btn--secondary {
    background: transparent;
    border-color: var(--pk-ink);
    color: var(--pk-ink);
}
.pk-btn--secondary:hover,
.pk-btn--secondary:focus {
    background: var(--pk-ink);
    color: #fff;
}

.pk-btn--ghost {
    background: transparent;
    border-color: rgba(255, 255, 255, .35);
    color: #fff;
}
.pk-btn--ghost:hover,
.pk-btn--ghost:focus {
    background: #fff;
    border-color: #fff;
    color: var(--pk-ink);
}

.pk-btn--block { width: 100%; }

/* Inline "more" link with an arrow that shifts on hover. */
.pk-link-arrow {
    display: inline-flex;
    align-items: center;
    gap: var(--pk-s2);
    font-weight: 600;
    font-size: .9375rem;
    text-decoration: none;
    border-bottom: 0;
    padding-bottom: 0;
}
.pk-link-arrow::after {
    content: "→";
    transition: transform .15s ease;
}
.pk-link-arrow:hover::after,
.pk-link-arrow:focus-visible::after { transform: translate(5px, -1px); }

/* ------------------------------------------------------- 6. site header */

.pk-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: var(--pk-white);
    border-bottom: 1px solid var(--pk-line);
    transition: box-shadow var(--pk-motion-fast) ease;
}

.pk-header.pk-header--scrolled {
    box-shadow: 0 10px 30px rgba(16, 20, 24, .08);
}
.pk-header__progress {
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    z-index: 2;
    display: block;
    height: 2px;
    overflow: hidden;
    background: rgba(16, 20, 24, .08);
    opacity: 0;
    transition: opacity var(--pk-motion-fast) ease;
}
.pk-header--scrolled .pk-header__progress { opacity: 1; }
.pk-header__progress > span {
    display: block;
    width: 100%;
    height: 100%;
    background: var(--pk-red);
    transform: scaleX(var(--pk-scroll-progress, 0));
    transform-origin: left center;
    transition: transform 80ms linear;
}

.pk-utility {
    min-height: var(--pk-utility-h);
    background: var(--pk-ink);
    color: #D9DEE3;
    font-size: .75rem;
    line-height: 1.2;
}

.pk-utility__inner {
    min-height: var(--pk-utility-h);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--pk-s5);
}

.pk-utility__identity {
    font-family: var(--pk-font-mono);
    letter-spacing: .055em;
    text-transform: uppercase;
    white-space: nowrap;
}

.pk-utility__identity::before {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    margin-right: 10px;
    border-radius: 50%;
    background: #FF575D;
    vertical-align: 1px;
}

.pk-utility__contact {
    display: flex;
    align-items: center;
    gap: var(--pk-s6);
}

.pk-utility__contact a {
    display: inline-flex;
    align-items: baseline;
    gap: var(--pk-s2);
    color: #F7F8F9;
    font-weight: 500;
    text-decoration: none;
    white-space: nowrap;
}

.pk-utility__contact a:hover { color: #fff; }
.pk-utility__contact span {
    color: #8E9AA5;
    font-family: var(--pk-font-mono);
    font-size: .6875rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.pk-header__main {
    position: relative;
    background: var(--pk-white);
}

.pk-header__inner {
    display: flex;
    align-items: center;
    gap: var(--pk-s5);
    min-height: var(--pk-header-main-h);
}

.pk-logo { display: inline-flex; align-items: center; flex-shrink: 0; }
.pk-logo img { height: 38px; width: auto; display: block; }

.pk-nav {
    align-self: stretch;
    display: flex;
    align-items: stretch;
    margin-left: auto;
}

.pk-nav__list {
    display: flex;
    align-items: stretch;
    gap: var(--pk-s1);
    list-style: none;
    margin: 0;
    padding: 0;
}

.pk-nav__item,
.pk-nav__entry {
    display: flex;
    align-items: stretch;
}

.pk-nav__item--mega { position: static; }

.pk-nav__link {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 0 10px;
    color: var(--pk-ink-2);
    font-size: .96875rem;
    font-weight: 700;
    letter-spacing: -.006em;
    text-decoration: none;
    white-space: nowrap;
}

.pk-nav__link::after {
    content: "";
    position: absolute;
    right: 10px;
    bottom: 0;
    left: 10px;
    height: 2px;
    background: var(--pk-red);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform var(--pk-motion-fast) var(--pk-ease-out);
}

.pk-nav__link:hover,
.pk-nav__item--mega.is-open .pk-nav__link { color: var(--pk-ink); }
.pk-nav__link:hover::after,
.pk-nav__item--mega.is-open > .pk-nav__entry .pk-nav__link::after {
    transform: scaleX(1);
}
.pk-nav__link[aria-current="page"] {
    color: var(--pk-ink);
    font-weight: 800;
}
.pk-nav__link[aria-current="page"]::after { transform: scaleX(1); }

.pk-mega-toggle {
    align-self: center;
    display: inline-flex;
    width: 44px;
    height: 44px;
    margin-left: -10px;
    align-items: center;
    justify-content: center;
    border: 0;
    background: transparent;
    color: var(--pk-ink-2);
}

.pk-mega-toggle:hover { color: var(--pk-ink); }

.pk-chevron {
    width: 8px;
    height: 8px;
    border-right: 1.75px solid currentColor;
    border-bottom: 1.75px solid currentColor;
    transform: translateY(-2px) rotate(45deg);
    transition: transform var(--pk-motion-fast) var(--pk-ease-out);
}

.pk-mega-toggle[aria-expanded="true"] .pk-chevron {
    transform: translateY(2px) rotate(225deg);
}

.pk-nav__cta {
    display: flex;
    align-items: center;
    margin-left: var(--pk-s2);
}

.pk-nav__cta .pk-btn {
    min-height: 44px;
    padding: 10px 20px;
    white-space: nowrap;
}

/* Full-width visual disclosure panel. It is a navigation region, not an ARIA
   menu: familiar links retain normal browser and screen-reader behaviour. */
.pk-mega {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    z-index: 20;
    background: var(--pk-white);
    border-top: 1px solid var(--pk-line);
    border-bottom: 1px solid var(--pk-line);
    box-shadow: var(--pk-shadow-float);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-8px);
    transition:
        opacity var(--pk-motion-fast) ease,
        transform var(--pk-motion-medium) var(--pk-ease-out),
        visibility 0s linear var(--pk-motion-fast);
}

.pk-mega__inner {
    display: grid;
    grid-template-columns: minmax(210px, 250px) minmax(0, 1fr);
    gap: var(--pk-s7);
    padding-block: var(--pk-s6);
}
.pk-mega__inner--about,
.pk-mega__inner--concerns,
.pk-mega__inner--products { grid-template-columns: minmax(0, 1fr); }

.pk-mega__intro {
    padding-right: var(--pk-s6);
    border-right: 1px solid var(--pk-line);
}

.pk-mega__intro .pk-eyebrow { margin-bottom: var(--pk-s2); }
.pk-mega__intro h2 {
    margin-bottom: var(--pk-s3);
    font-size: 1.25rem;
    line-height: 1.2;
}
.pk-mega__intro p {
    margin-bottom: var(--pk-s5);
    color: var(--pk-muted);
    font-size: .875rem;
    line-height: 1.55;
}
.pk-mega__intro .pk-link-arrow { font-size: .8125rem; }

.pk-mega__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--pk-s3);
    align-content: start;
    list-style: none;
    margin: 0;
    padding: 0;
}
.pk-mega__grid--products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--pk-s3);
}
/* The About panel has seven destinations. Centre its final card on desktop
   instead of leaving an unbalanced single card at the edge. */
@media (min-width: 1180px) {
    .pk-mega__grid--about > li:last-child:nth-child(7) { grid-column: 2 / span 2; }
}

/* Every mega panel uses this same intro + grid + card foundation. Modifiers
   adjust only the leading media treatment for about, concern or product data. */
.pk-mega-card {
    position: relative;
    display: grid;
    align-items: center;
    min-width: 0;
    min-height: 84px;
    padding: var(--pk-s3);
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius-md);
    background: var(--pk-white);
    color: var(--pk-ink);
    text-decoration: none;
    transition:
        transform var(--pk-motion-fast) var(--pk-ease-out),
        border-color var(--pk-motion-fast) ease,
        box-shadow var(--pk-motion-fast) ease,
        background-color var(--pk-motion-fast) ease;
}

.pk-mega-card {
    grid-template-columns: 48px minmax(0, 1fr) auto;
    gap: var(--pk-s3);
}

.pk-mega-card:hover,
.pk-mega-card:focus-visible {
    z-index: 1;
    border-color: #C9D0D6;
    background: var(--pk-surface);
    box-shadow: var(--pk-shadow);
    color: var(--pk-ink);
    transform: translateY(-2px);
}

.pk-mega-card__icon {
    display: flex;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--pk-surface);
}
.pk-mega-card__icon img { width: 38px; height: 38px; object-fit: contain; }

.pk-mega-card__body {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 3px;
}

.pk-mega-card__body strong {
    color: var(--pk-ink);
    font-size: .875rem;
    line-height: 1.3;
}

.pk-mega-card__body span {
    color: var(--pk-muted);
    font-size: .75rem;
    line-height: 1.4;
}

.pk-mega-card__arrow {
    color: var(--pk-red-deep);
    opacity: 0;
    transform: translateX(-4px);
    transition: opacity var(--pk-motion-fast) ease, transform var(--pk-motion-fast) var(--pk-ease-out);
}
.pk-mega-card:hover .pk-mega-card__arrow,
.pk-mega-card:focus-visible .pk-mega-card__arrow {
    opacity: 1;
    transform: translateX(0);
}

.pk-mega-card__media {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    overflow: hidden;
    border: 1px solid var(--pk-line);
    border-radius: 50%;
    background: var(--pk-surface);
}
.pk-mega-card__image {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform var(--pk-motion-medium) var(--pk-ease-out);
}
.pk-mega-card__fallback {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    color: var(--pk-red-deep);
    background: linear-gradient(135deg, #fff 0%, #F4F6F8 100%);
    font: 600 .875rem/1 var(--pk-font-mono);
    letter-spacing: .04em;
}
.pk-mega-card:hover .pk-mega-card__image,
.pk-mega-card:focus-visible .pk-mega-card__image { transform: scale(1.06); }

.pk-mega-card--concern {
    grid-template-columns: 96px minmax(0, 1fr) auto;
    gap: var(--pk-s3);
    min-height: 88px;
}

.pk-mega-card__logo {
    display: flex;
    width: 96px;
    height: 52px;
    align-items: center;
    justify-content: center;
    padding: 4px;
    border-right: 1px solid var(--pk-line);
}
.pk-mega-card__logo img {
    width: 84px;
    height: 42px;
    object-fit: contain;
}

.pk-mega__empty {
    align-self: center;
    color: var(--pk-muted);
}

/* Media is a compact destination menu rather than a full visual mega-panel.
   It keeps the same keyboard, touch and focus behaviour as the other header
   disclosures while making its four CMS content areas immediately scannable. */
.pk-nav__item--media { position: relative; }
.pk-nav__item--media .pk-mega {
    right: auto;
    left: 0;
    width: min(360px, calc(100vw - 32px));
    border: 1px solid var(--pk-line);
    border-radius: 0 0 var(--pk-radius-md) var(--pk-radius-md);
}
.pk-media-menu {
    list-style: none;
    margin: 0;
    padding: var(--pk-s2);
}
.pk-media-menu li + li { border-top: 1px solid var(--pk-line); }
.pk-media-menu a {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 3px var(--pk-s3);
    padding: 13px 38px 13px var(--pk-s3);
    color: var(--pk-ink);
    text-decoration: none;
    transition: background-color var(--pk-motion-fast), color var(--pk-motion-fast);
}
.pk-media-menu a:hover,
.pk-media-menu a:focus-visible,
.pk-media-menu a[aria-current="page"] { background: var(--pk-red-tint); }
.pk-media-menu strong { font-size: .9rem; line-height: 1.3; }
.pk-media-menu i {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    color: var(--pk-red-deep);
    font-size: 1rem;
    font-style: normal;
    opacity: 0;
    transform: translateX(-4px);
    transition: opacity var(--pk-motion-fast), transform var(--pk-motion-fast) var(--pk-ease-out);
}
.pk-media-menu a:hover i,
.pk-media-menu a:focus-visible i,
.pk-media-menu a[aria-current="page"] i { opacity: 1; transform: translateX(0); }

@media (min-width: 1180px) {
    .pk-nav__item--mega.is-open > .pk-mega {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
        transition-delay: 0s;
    }

    body.pk-mega-open::after {
        content: "";
        position: fixed;
        inset: var(--pk-header-h) 0 0;
        z-index: 850;
        background: rgba(16, 20, 24, .36);
        backdrop-filter: blur(1px);
    }
}

.pk-nav-toggle {
    display: none;
    margin-left: auto;
    width: 48px; height: 48px;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius);
    cursor: pointer;
}
.pk-nav-toggle span,
.pk-nav-toggle span::before,
.pk-nav-toggle span::after {
    display: block;
    width: 20px; height: 2px;
    background: var(--pk-ink);
    position: relative;
}
.pk-nav-toggle span::before { content: ""; position: absolute; top: -6px; }
.pk-nav-toggle span::after  { content: ""; position: absolute; top:  6px; }
.pk-nav-toggle span,
.pk-nav-toggle span::before,
.pk-nav-toggle span::after {
    transition: transform var(--pk-motion-fast) var(--pk-ease-out), opacity var(--pk-motion-fast) ease;
}
.pk-nav-toggle[aria-expanded="true"] span { background: transparent; }
.pk-nav-toggle[aria-expanded="true"] span::before {
    top: 0;
    background: var(--pk-ink);
    transform: rotate(45deg);
}
.pk-nav-toggle[aria-expanded="true"] span::after {
    top: 0;
    background: var(--pk-ink);
    transform: rotate(-45deg);
}

/* Laptop band: preserve the full navigation without squeezing labels. */
@media (min-width: 1180px) and (max-width: 1399px) {
    .pk-wrap                { padding-inline: var(--pk-s5); }
    .pk-header__inner       { gap: var(--pk-s3); }
    .pk-logo img            { height: 32px; }
    .pk-nav__list           { gap: 0; }
    .pk-nav__link           { padding-inline: 7px; font-size: .875rem; font-weight: 700; letter-spacing: -.008em; }
    .pk-mega-toggle         { width: 38px; height: 44px; margin-left: -8px; }
    .pk-nav__cta            { margin-left: var(--pk-s1); }
    .pk-nav__cta .pk-btn    { padding: 10px 14px; font-size: .8125rem; }
    .pk-mega__inner         { grid-template-columns: 220px minmax(0, 1fr); gap: var(--pk-s6); }
    .pk-mega__inner--products { grid-template-columns: minmax(0, 1fr); }
    .pk-mega__intro         { padding-right: var(--pk-s5); }
    .pk-mega-card           { padding: 10px; }
    .pk-mega-card--concern  { grid-template-columns: 82px minmax(0, 1fr) auto; }
    .pk-mega-card__logo     { width: 82px; }
    .pk-mega-card__logo img { width: 72px; }
}

@media (max-width: 1179px) {
    :root { --pk-header-h: var(--pk-header-main-h); }
    .pk-utility { display: none; }
    .pk-nav-toggle { display: inline-flex; }
    .pk-logo img { height: 36px; }

    /* A full-height disclosure panel, not a squeezed desktop bar. */
    .pk-nav {
        position: fixed;
        inset: var(--pk-header-h) 0 0 0;
        z-index: 30;
        display: block;
        background: var(--pk-white);
        border-top: 1px solid var(--pk-line);
        padding: var(--pk-s3) var(--pk-s5) var(--pk-s8);
        overflow-y: auto;
        margin: 0;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(-8px);
        transition:
            opacity var(--pk-motion-fast) ease,
            transform var(--pk-motion-medium) var(--pk-ease-out),
            visibility 0s linear var(--pk-motion-fast);
    }
    .pk-nav.is-open {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
        transition-delay: 0s;
    }

    .pk-nav__list {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
    }
    .pk-nav__item,
    .pk-nav__entry { display: flex; width: 100%; }
    .pk-nav__item { flex-direction: column; border-bottom: 1px solid var(--pk-line); }
    .pk-nav__entry { align-items: center; }
    .pk-nav__link {
        flex: 1;
        min-height: 58px;
        padding: 14px 0;
        font-size: 1.0625rem;
        font-weight: 700;
    }
    .pk-nav__link::after {
        right: auto;
        bottom: 12px;
        left: 0;
        width: 32px;
    }
    .pk-nav__link[aria-current="page"] {
        padding-left: 12px;
        border-left: 3px solid var(--pk-red);
    }
    .pk-nav__link[aria-current="page"]::after { display: none; }
    .pk-mega-toggle {
        flex: 0 0 48px;
        width: 48px;
        height: 48px;
        margin: 0;
        border-left: 1px solid var(--pk-line);
    }

    .pk-mega {
        position: static;
        display: none;
        border: 0;
        border-top: 1px solid var(--pk-line);
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: none;
        transition: none;
    }
    .pk-nav__item--mega.is-open > .pk-mega { display: block; }
    .pk-mega__inner {
        display: block;
        padding: 0 0 var(--pk-s5);
    }
    .pk-mega__intro {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: var(--pk-s4);
        padding: var(--pk-s4) 0;
        border-right: 0;
        border-bottom: 1px solid var(--pk-line);
    }
    .pk-mega__intro .pk-eyebrow { margin: 0; }
    .pk-mega__intro h2,
    .pk-mega__intro p { display: none; }
    .pk-mega__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--pk-s2);
        padding-top: var(--pk-s3);
    }
    .pk-nav__item--media .pk-mega {
        width: auto;
        border: 0;
        border-top: 1px solid var(--pk-line);
        border-radius: 0;
    }
    .pk-media-menu { padding: var(--pk-s2) 0 var(--pk-s3); }
    .pk-media-menu a { padding-inline: var(--pk-s3); }
    .pk-mega-card { min-height: 80px; background: var(--pk-surface); }
    .pk-nav__cta { margin: var(--pk-s5) 0 0; }
    .pk-nav__cta .pk-btn { min-height: 50px; }
    body.pk-nav-open { overflow: hidden; }
}

@media (max-width: 639px) {
    .pk-header__inner { gap: var(--pk-s3); }
    .pk-logo img { height: 32px; }
    .pk-nav { padding-inline: var(--pk-s5); }
    .pk-mega__grid { grid-template-columns: minmax(0, 1fr); }
    .pk-mega-card { border-radius: var(--pk-radius); }
    .pk-mega-card { grid-template-columns: 44px minmax(0, 1fr) auto; }
    .pk-mega-card__icon { width: 44px; height: 44px; }
    .pk-mega-card--concern { grid-template-columns: 86px minmax(0, 1fr) auto; }
    .pk-mega-card__logo { width: 86px; }
    .pk-mega-card__arrow { display: none; }
    .pk-media-menu a { padding-block: 13px; }
    .pk-media-menu i { display: block; opacity: 1; transform: none; }
}

/* -------------------------------------------------------------- 7. hero */

.pk-hero {
    position: relative;
    height: clamp(440px, 48vw, 760px);
    background: var(--pk-ink);
    color: #fff;
    overflow: hidden;
    isolation: isolate;
}
.pk-hero__viewport {
    position: absolute;
    inset: 0;
    background: #0A0E12;
}
.pk-hero__slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity 900ms var(--pk-ease-out), visibility 900ms;
}
.pk-hero__slide.is-active {
    opacity: 1;
    visibility: visible;
    z-index: 1;
}
.pk-hero__slide img {
    width: 100%; height: 100%;
    object-fit: cover;
    object-position: center 20%;
    display: block;
    transform: scale(1.025);
    transition: transform 8s linear;
}
.pk-hero__slide.is-active img {
    transform: scale(1);
}
/* Keep the artwork intact; only the control dock needs a shallow edge scrim. */
.pk-hero__viewport::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background: linear-gradient(0deg, rgba(5, 11, 16, .4), transparent 27%);
}
.pk-hero__actions { display: flex; flex-wrap: wrap; gap: var(--pk-s3); }
.pk-hero__dock {
    position: relative;
    z-index: 3;
    height: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding-bottom: clamp(18px, 3vw, 38px);
    pointer-events: none;
}
.pk-hero__dock-inner {
    max-width: 100%;
    padding: 6px 10px;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 999px;
    background: rgba(8, 16, 22, .8);
    box-shadow: 0 14px 42px rgba(0, 0, 0, .26);
    backdrop-filter: blur(16px);
    pointer-events: auto;
}
.pk-hero__controls {
    display: none;
    align-items: center;
    gap: 2px;
    color: #fff;
}
.pk-hero.is-enhanced .pk-hero__controls { display: flex; }
.pk-hero__arrow,
.pk-hero__dot,
.pk-hero__autoplay {
    appearance: none;
    border: 0;
    color: inherit;
    background: transparent;
}
.pk-hero__arrow {
    display: inline-grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 50%;
    transition: border-color var(--pk-motion-fast), background var(--pk-motion-fast);
}
.pk-hero__arrow:hover {
    border-color: rgba(255, 255, 255, .75);
    background: rgba(255, 255, 255, .12);
}
.pk-hero__arrow svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.pk-hero__dots {
    display: flex;
    align-items: center;
    max-width: min(30vw, 268px);
    overflow-x: auto;
    scrollbar-width: none;
    padding-inline: 5px;
}
.pk-hero__dots::-webkit-scrollbar { display: none; }
.pk-hero__dot {
    position: relative;
    display: grid;
    flex: 0 0 34px;
    height: 40px;
    place-items: center;
}
.pk-hero__dot span {
    display: block;
    width: 20px;
    height: 2px;
    overflow: hidden;
    background: rgba(255, 255, 255, .42);
    transition: width var(--pk-motion-medium), background var(--pk-motion-medium);
}
.pk-hero__dot span::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: #fff;
    transform: scaleX(0);
    transform-origin: left;
}
.pk-hero__dot.is-active span {
    width: 30px;
    background: rgba(255, 255, 255, .6);
}
.pk-hero.is-playing .pk-hero__dot.is-active span::after {
    animation: pk-hero-progress var(--pk-hero-interval, 7000ms) linear forwards;
}
.pk-hero__control-divider {
    width: 1px;
    height: 22px;
    margin-inline: 7px;
    background: rgba(255, 255, 255, .24);
}
.pk-hero__autoplay {
    display: inline-grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border-radius: 50%;
    transition: background var(--pk-motion-fast);
}
.pk-hero__autoplay:hover { background: rgba(255, 255, 255, .12); }
.pk-hero__autoplay-icon {
    position: relative;
    width: 12px;
    height: 14px;
}
.pk-hero__autoplay-icon::before,
.pk-hero__autoplay-icon::after {
    content: "";
    position: absolute;
    top: 1px;
    width: 3px;
    height: 12px;
    border-radius: 1px;
    background: currentColor;
}
.pk-hero__autoplay-icon::before { left: 1px; }
.pk-hero__autoplay-icon::after { right: 1px; }
.pk-hero.is-paused .pk-hero__autoplay-icon::before {
    top: 1px;
    left: 2px;
    width: 0;
    height: 0;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 10px solid currentColor;
    border-radius: 0;
    background: transparent;
}
.pk-hero.is-paused .pk-hero__autoplay-icon::after { display: none; }
@keyframes pk-hero-progress {
    to { transform: scaleX(1); }
}
@media (max-width: 767px) {
    .pk-hero { height: auto; }
    .pk-hero__viewport {
        position: relative;
        inset: auto;
        width: 100%;
        aspect-ratio: 16 / 10;
    }
    /* Fill the mobile canvas even when CMS banners have different ratios. */
    .pk-hero__slide img { object-fit: cover; object-position: center; }
    .pk-hero__viewport::after { display: none; }
    .pk-hero__dock {
        height: 62px;
        align-items: center;
        padding-bottom: 0;
        background: #101820;
    }
    .pk-hero__dock-inner {
        padding: 4px 7px;
        border: 0;
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
    }
    .pk-hero__dots { max-width: 29vw; padding-inline: 2px; }
    .pk-hero__dot { flex-basis: 27px; }
    .pk-hero__dot span { width: 15px; }
    .pk-hero__dot.is-active span { width: 22px; }
    .pk-hero__control-divider { margin-inline: 4px; }
}
@media (max-width: 419px) {
    .pk-hero__arrow, .pk-hero__autoplay { width: 36px; height: 36px; }
    .pk-hero__dot { height: 36px; }
    .pk-hero__control-divider { margin-inline: 2px; }
}

/* ------------------------------------------------------- 8. trust / stats */

.pk-stats {
    border-block: 1px solid var(--pk-line);
    background: var(--pk-white);
}
.pk-stats__list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    list-style: none;
    margin: 0;
    padding: 0;
}
.pk-stats__item {
    padding: var(--pk-s6) var(--pk-s5);
    border-right: 1px solid var(--pk-line);
}
.pk-stats__item:last-child { border-right: 0; }
@media (max-width: 767px) {
    .pk-stats__item { border-right: 0; border-bottom: 1px solid var(--pk-line); }
    .pk-stats__item:last-child { border-bottom: 0; }
}

.pk-stats__value {
    display: block;
    font-family: var(--pk-font-display);
    font-size: clamp(2rem, 1.6rem + 1.6vw, 2.75rem);
    font-weight: 700;
    color: var(--pk-ink);
    line-height: 1.05;
    letter-spacing: -0.02em;
}
.pk-stats__label {
    display: block;
    margin-top: var(--pk-s2);
    font-size: .875rem;
    color: var(--pk-muted);
}

/* ------------------------------------------------------------- 9. cards */

.pk-card {
    display: flex;
    flex-direction: column;
    background: var(--pk-white);
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius);
    overflow: hidden;
    transition: border-color var(--pk-motion-fast) ease,
                transform var(--pk-motion-medium) var(--pk-ease-out),
                box-shadow var(--pk-motion-medium) ease;
}
.pk-card:hover {
    border-color: #C7CDD4;
    transform: translateY(-3px);
    box-shadow: var(--pk-shadow);
}

.pk-card__media {
    position: relative;
    aspect-ratio: 4 / 3;
    background: var(--pk-surface);
    overflow: hidden;
}
.pk-card__media img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
}

.pk-card__body {
    padding: var(--pk-s5);
    display: flex;
    flex-direction: column;
    gap: var(--pk-s2);
    flex: 1;
}
.pk-card__kicker {
    font-family: var(--pk-font-mono);
    /* 12px floor. This carries dates and category names — real information,
       not decoration — and 11px uppercase mono at 375px is genuinely hard to
       read. Measured at 11px during the layout audit. */
    font-size: .75rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--pk-muted);
}
.pk-card__title {
    font-family: var(--pk-font-display);
    font-size: 1.0625rem;
    font-weight: 700;
    color: var(--pk-ink);
    margin: 0;
    line-height: 1.3;
}
.pk-card__title a {
    color: inherit;
    text-decoration: none;
}
/* Whole-card click target, keyboard focus still lands on the real link. */
.pk-card__title a::after {
    content: "";
    position: absolute;
    inset: 0;
}
.pk-card { position: relative; }
.pk-card__title a:hover { color: var(--pk-red-deep); }

.pk-card__text {
    font-size: .9375rem;
    color: var(--pk-muted);
    margin: 0;
}
.pk-card__meta {
    position: relative;
    z-index: 2;
    margin-top: auto;
    padding-top: var(--pk-s3);
    font-size: .8125rem;
    color: var(--pk-muted);
}

.pk-card__media--portrait { aspect-ratio: 3 / 4; }
.pk-card__media--link { display: block; }

/* Category tile — image-led, compact label bar. */
.pk-tile { position: relative; display: block; text-decoration: none; }
.pk-tile__media {
    aspect-ratio: 1 / 1;
    background: var(--pk-surface);
    border: 1px solid var(--pk-line);
    overflow: hidden;
}
.pk-tile__media img {
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform .3s ease;
}
.pk-tile:hover .pk-tile__media img { transform: scale(1.03); }
@media (prefers-reduced-motion: reduce) {
    .pk-tile__media img { transition: none; }
    .pk-tile:hover .pk-tile__media img { transform: none; }
}
.pk-tile__label {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--pk-s2);
    padding: var(--pk-s3) 0 0;
    font-weight: 600;
    font-size: .9375rem;
    line-height: 1.35;
    text-align: center;
    color: var(--pk-ink);
}

/* Concern card — text-led, no photography required. */
.pk-concern {
    display: flex;
    flex-direction: column;
    gap: var(--pk-s3);
    padding: var(--pk-s6);
    background: var(--pk-white);
    border: 1px solid var(--pk-line);
    border-top: 3px solid var(--pk-red);
    border-radius: var(--pk-radius);
    position: relative;
}
.pk-concern h3 { margin: 0; font-size: 1.125rem; }
.pk-concern h3 a { color: inherit; text-decoration: none; }
.pk-concern h3 a::after { content: ""; position: absolute; inset: 0; }
.pk-concern h3 a:hover { color: var(--pk-red-deep); }
.pk-concern p { font-size: .9375rem; color: var(--pk-muted); }

/* Visual company network — the homepage and About page share this pattern. */
.pk-network-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: var(--pk-s4);
}
.pk-network-card {
    position: relative;
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    gap: var(--pk-s5);
    align-items: center;
    min-height: 132px;
    padding: var(--pk-s5);
    color: var(--pk-ink);
    background: var(--pk-white);
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius-md);
    text-decoration: none;
    transition: transform var(--pk-motion-medium) var(--pk-ease-out),
                border-color var(--pk-motion-fast) ease,
                box-shadow var(--pk-motion-medium) ease;
}
.pk-network-card:hover,
.pk-network-card:focus-visible {
    color: var(--pk-ink);
    border-color: #C7CDD4;
    transform: translateY(-3px);
    box-shadow: var(--pk-shadow);
}
.pk-network-card::after {
    content: "→";
    position: absolute;
    right: var(--pk-s4);
    top: var(--pk-s4);
    color: var(--pk-red-deep);
    transition: transform var(--pk-motion-medium) var(--pk-ease-out);
}
.pk-network-card:hover::after,
.pk-network-card:focus-visible::after { transform: translate(3px, -2px); }
.pk-network-card__logo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 92px;
    height: 64px;
    padding-right: var(--pk-s4);
    border-right: 1px solid var(--pk-line);
}
.pk-network-card__logo img { width: 78px; height: 50px; object-fit: contain; }
.pk-network-card__body { min-width: 0; }
.pk-network-card__body strong,
.pk-network-card__body h3 {
    display: block;
    padding-right: var(--pk-s5);
    font-family: var(--pk-font-display);
    line-height: 1.25;
}
.pk-network-card__body h3 { margin: 0; }
.pk-network-card__body span {
    display: block;
    margin-top: var(--pk-s2);
    color: var(--pk-muted);
    font-size: .8125rem;
    line-height: 1.45;
}
.pk-network-card__meta {
    font-family: var(--pk-font-mono);
    letter-spacing: .08em;
    text-transform: uppercase;
}
@media (min-width: 1040px) {
    .pk-network-grid--home { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1180px) {
    .pk-network-grid--home { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 479px) {
    .pk-network-card { grid-template-columns: 72px minmax(0, 1fr); gap: var(--pk-s4); }
    .pk-network-card__logo { width: 72px; }
    .pk-network-card__logo img { width: 62px; }
}

/* Home company directory — a deliberately quiet company network rather than
   a generic grid. The visual motion confirms interactivity without competing
   with the company names or logos. */
.pk-home-companies {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: #F8FAFC;
}
/* Reusable brand-only corner motif. Decorative motion uses the approved
   Primitek mark rather than an unrelated abstract shape. */
.pk-brand-corner-mark {
    position: absolute;
    z-index: 0;
    pointer-events: none;
    opacity: .13;
    transform: none;
}
.pk-brand-corner-mark img {
    display: block;
    width: 100%;
    height: auto;
    mix-blend-mode: normal;
}
.pk-home-companies__brand-mark {
    top: clamp(18px, 2vw, 38px);
    right: clamp(20px, 5vw, 96px);
    width: clamp(118px, 11vw, 190px);
}
.pk-home-companies__brand-mark img {
    filter: none;
}
.pk-home-companies > .pk-wrap { position: relative; z-index: 1; }
.pk-home-companies .pk-sec-head {
    position: relative;
    margin-bottom: clamp(36px, 5vw, 56px);
}
.pk-home-companies .pk-eyebrow { color: #B20F19; }
.pk-home-companies .pk-sec-head h2 {
    max-width: 18ch;
    font-size: var(--pk-type-feature);
    line-height: 1.04;
    letter-spacing: -.04em;
}
.pk-home-companies .pk-sec-head p {
    max-width: 58ch;
    font-size: clamp(1rem, .96rem + .2vw, 1.125rem);
    line-height: 1.65;
}
.pk-home-companies__all {
    align-self: end;
    padding: 10px 0;
    color: var(--pk-red-deep);
    font-weight: 800;
}
.pk-network-grid--home { gap: clamp(16px, 2vw, 24px); }
.pk-network-grid--home .pk-network-card {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: 68px auto;
    gap: var(--pk-s4);
    align-items: start;
    min-height: 220px;
    padding: clamp(20px, 1.8vw, 26px);
    overflow: hidden;
    border-color: #DDE5EC;
    background: linear-gradient(145deg, #FFFFFF 0%, #FBFCFD 100%);
    box-shadow: 0 1px 0 rgba(16, 20, 24, .02);
    will-change: transform;
}
.pk-network-grid--home .pk-network-card::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 3px;
    height: 0;
    background: var(--pk-red);
    transition: height var(--pk-motion-medium) var(--pk-ease-out);
}
.pk-network-grid--home .pk-network-card::after {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: 1px solid #E0E6EB;
    border-radius: 50%;
    background: #fff;
    color: var(--pk-red-deep);
    font-size: 1rem;
    line-height: 1;
    transition: transform var(--pk-motion-medium) var(--pk-ease-out),
                border-color var(--pk-motion-fast) ease,
                color var(--pk-motion-fast) ease,
                background-color var(--pk-motion-fast) ease;
}
.pk-network-grid--home .pk-network-card:hover,
.pk-network-grid--home .pk-network-card:focus-visible {
    border-color: #F0A9AD;
    transform: translateY(-7px);
    box-shadow: 0 16px 34px rgba(16, 20, 24, .10);
}
.pk-network-grid--home .pk-network-card:hover::before,
.pk-network-grid--home .pk-network-card:focus-visible::before { height: 100%; }
.pk-network-grid--home .pk-network-card:hover::after,
.pk-network-grid--home .pk-network-card:focus-visible::after {
    color: #fff;
    border-color: var(--pk-red-deep);
    background: var(--pk-red-deep);
    transform: translate(3px, -2px);
}
.pk-network-grid--home .pk-network-card__logo {
    justify-content: flex-start;
    width: 100%;
    height: 68px;
    padding: 0 42px var(--pk-s4) 0;
    border-right: 0;
    border-bottom: 1px solid var(--pk-line);
}
.pk-network-grid--home .pk-network-card__logo img {
    width: 136px;
    height: 56px;
    object-position: left center;
    transform-origin: left center;
    transition: opacity var(--pk-motion-medium) var(--pk-ease-out),
                transform var(--pk-motion-medium) var(--pk-ease-out),
                filter var(--pk-motion-medium) ease;
}
.pk-network-grid--home .pk-network-card:hover .pk-network-card__logo img,
.pk-network-grid--home .pk-network-card:focus-visible .pk-network-card__logo img {
    filter: saturate(1.1) contrast(1.03);
    transform: scale(1.055);
}
.pk-network-grid--home .pk-network-card__body {
    display: flex;
    flex-direction: column;
    align-self: start;
}
.pk-network-grid--home .pk-network-card__body h3 {
    max-width: 20ch;
    padding-right: var(--pk-s5);
    font-family: var(--pk-font-body);
    font-size: clamp(1.0625rem, 1rem + .22vw, 1.1875rem);
    font-weight: 700;
    line-height: 1.28;
    letter-spacing: -.018em;
    text-wrap: balance;
}
.pk-network-grid--home .pk-network-card__specialisation {
    max-width: 27ch;
    margin: var(--pk-s3) 0 0;
    color: var(--pk-muted);
    font-size: .9375rem;
    line-height: 1.55;
}
.pk-network-grid--home .pk-network-card__meta {
    margin-top: var(--pk-s3);
    padding-top: 0;
    color: #697784;
    font-size: .75rem;
    line-height: 1.4;
}
@media (prefers-reduced-motion: no-preference) {
    .pk-home-companies__brand-mark {
        animation: pk-company-brand-breathe 16s cubic-bezier(.22, 1, .36, 1) infinite alternate;
        will-change: transform, opacity;
    }
    .pk-home-companies .pk-network-card.is-reveal-pending:not(.is-visible) .pk-network-card__logo img {
        opacity: 0;
        transform: translateX(-12px) scale(.96);
    }
}
@media (prefers-reduced-motion: reduce) {
    .pk-brand-corner-mark { animation: none; will-change: auto; }
    .pk-network-grid--home .pk-network-card,
    .pk-network-grid--home .pk-network-card::before,
    .pk-network-grid--home .pk-network-card::after,
    .pk-network-grid--home .pk-network-card__logo img { transition: none; }
    .pk-network-grid--home .pk-network-card:hover,
    .pk-network-grid--home .pk-network-card:focus-visible { transform: none; }
}
@media (max-width: 639px) {
    .pk-network-grid--home .pk-network-card {
        grid-template-rows: 60px auto;
        min-height: 204px;
    }
    .pk-network-grid--home .pk-network-card__logo {
        height: 60px;
        padding-bottom: var(--pk-s3);
    }
    .pk-network-grid--home .pk-network-card__logo img {
        width: 124px;
        height: 48px;
    }
}

@keyframes pk-company-brand-breathe {
    from { opacity: .11; transform: translate3d(0, 0, 0) scale(.985); }
    to { opacity: .17; transform: translate3d(0, -5px, 0) scale(1); }
}

/* Feature row — icon-free, industrial. */
.pk-features { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--pk-s6); }
@media (min-width: 768px) { .pk-features { grid-template-columns: repeat(2, 1fr); } }

.pk-feature { padding-top: var(--pk-s4); border-top: 1px solid var(--pk-line); }
.pk-feature h3 { font-size: 1.0625rem; margin-bottom: var(--pk-s2); }
.pk-feature p { font-size: .9375rem; color: var(--pk-muted); margin: 0; }
.pk-section--ink .pk-feature { border-color: #2C3238; }
.pk-section--ink .pk-feature p { color: #A8B2BC; }

/* Verified operational figures directly beneath the hero. */
.pk-stats--signal {
    background: #151A1F;
    border-color: #2C3238;
}
.pk-stats--signal .pk-stats__item { border-color: #2C3238; }
.pk-stats--signal .pk-stats__value { color: #fff; }
.pk-stats--signal .pk-stats__label { color: #A8B2BC; }
.pk-stats--signal .pk-stats__value::after {
    content: "";
    display: block;
    width: 24px;
    height: 2px;
    margin-top: var(--pk-s3);
    background: var(--pk-red);
}

/* Flagship homepage editorial patterns. */
.pk-home-story {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: #F8F9FA;
}
.pk-home-story > .pk-wrap { position: relative; z-index: 1; }
.pk-story {
    position: relative;
    display: grid;
    gap: clamp(32px, 6vw, 104px);
    align-items: center;
    padding: clamp(28px, 4.6vw, 76px);
    background: rgba(255, 255, 255, .92);
    border: 1px solid rgba(201, 13, 26, .72);
    border-radius: clamp(24px, 2.8vw, 40px);
    box-shadow: 0 20px 48px rgba(18, 27, 38, .055);
}
.pk-story__visual {
    position: relative;
    margin: 0;
    overflow: hidden;
    aspect-ratio: 16 / 10;
    min-height: 0;
    border-radius: clamp(18px, 2vw, 30px) clamp(18px, 2vw, 30px) clamp(42px, 5vw, 88px) clamp(18px, 2vw, 30px);
    background: #DCE5E9;
    box-shadow: 0 18px 40px rgba(18, 27, 38, .14);
}
.pk-story__visual::after {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 0;
    background: linear-gradient(90deg, rgba(8, 17, 24, .13), transparent 48%, rgba(8, 17, 24, .04));
    pointer-events: none;
}
.pk-story__visual img {
    display: block;
    position: absolute;
    z-index: 0;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 900ms var(--pk-ease-out);
}
.pk-story__copy {
    max-width: 650px;
}
.pk-story__copy .pk-eyebrow {
    display: flex;
    align-items: center;
    gap: var(--pk-s3);
    margin-bottom: var(--pk-s3);
}
.pk-story__copy .pk-eyebrow::before {
    content: '';
    width: 32px;
    height: 2px;
    flex: 0 0 auto;
    background: var(--pk-red);
}
.pk-story__copy h2 {
    max-width: 22ch;
    margin: 0 0 var(--pk-s4);
    font-size: clamp(2rem, 1.64rem + 1.25vw, 3rem);
    letter-spacing: -.04em;
    line-height: 1.12;
}
.pk-story__copy > p {
    max-width: 55ch;
    margin: 0 0 var(--pk-s5);
    color: var(--pk-muted);
    font-size: clamp(1rem, .95rem + .28vw, 1.125rem);
    line-height: 1.7;
}
.pk-story__copy .pk-btn { text-decoration: none; }
@media (hover: hover) and (pointer: fine) {
    .pk-story:hover .pk-story__visual img { transform: scale(1.025); }
}
@media (prefers-reduced-motion: no-preference) {
    .pk-story.is-visible .pk-story__visual img { animation: pk-story-image-settle 900ms var(--pk-ease-out) both; }
}
@keyframes pk-story-image-settle {
    from { transform: scale(1.055); }
    to { transform: scale(1); }
}
@media (min-width: 900px) {
    .pk-story { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .pk-story__visual {
        align-self: stretch;
        aspect-ratio: auto;
        min-height: 460px;
    }
}
@media (max-width: 699px) {
    .pk-home-story { padding-block: clamp(44px, 9vw, 64px); }
    .pk-story { gap: var(--pk-s5); padding: var(--pk-s5); border-radius: 20px; }
    .pk-story__visual { border-radius: 18px; }
    .pk-story__copy h2 { font-size: var(--pk-type-section); }
}

.pk-home-capability-layout { display: grid; gap: var(--pk-s8); align-items: start; }
.pk-home-capability-note { max-width: 44ch; }
.pk-home-capability-grid { gap: var(--pk-s4); }
.pk-home-capability-grid .pk-feature { min-width: 0; }
.pk-home-capability-card {
    display: grid;
    grid-template-columns: clamp(104px, 18vw, 138px) minmax(0, 1fr);
    min-height: 148px;
    padding: 0;
    overflow: hidden;
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius-md);
    background: #FFF;
    box-shadow: 0 10px 24px rgba(15, 22, 31, 0);
    transition: transform var(--pk-t-med), border-color var(--pk-t-med), box-shadow var(--pk-t-med);
}
.pk-home-capability-card__media {
    position: relative;
    min-height: 100%;
    margin: 0;
    overflow: hidden;
    background: #EAF0F4;
}
.pk-home-capability-card__media::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent 65%, rgba(255, 255, 255, .2));
    content: "";
    pointer-events: none;
}
.pk-home-capability-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 700ms cubic-bezier(.2, .75, .25, 1);
}
.pk-home-capability-card__content {
    display: grid;
    align-content: center;
    padding: var(--pk-s4) var(--pk-s4) var(--pk-s4) var(--pk-s5);
}
.pk-home-capability-card h3 {
    margin: 0 0 7px;
    font-size: clamp(1rem, 1.1vw, 1.125rem);
    line-height: 1.23;
}
.pk-home-capability-card p {
    margin: 0;
    font-size: clamp(.8125rem, .88vw, .9375rem);
    line-height: 1.52;
}
.pk-home-capability-card:hover {
    transform: translateY(-4px);
    border-color: rgba(201, 13, 26, .42);
    box-shadow: 0 15px 32px rgba(18, 27, 38, .1);
}
.pk-home-capability-card:hover .pk-home-capability-card__media img { transform: scale(1.07); }
.pk-home-capability-card:focus-within {
    border-color: var(--pk-red);
    box-shadow: 0 0 0 3px rgba(201, 13, 26, .14), 0 15px 32px rgba(18, 27, 38, .1);
}
@media (min-width: 768px) {
    .pk-home-capability-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1040px) {
    .pk-home-capability-layout { grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr); gap: clamp(56px, 7vw, 96px); }
    .pk-home-capability-layout .pk-sec-head { position: sticky; top: calc(var(--pk-header-h) + var(--pk-s6)); }
}
@media (max-width: 479px) {
    .pk-home-capability-card { grid-template-columns: 96px minmax(0, 1fr); min-height: 130px; }
    .pk-home-capability-card__content { padding: 16px; }
    .pk-home-capability-card h3 { margin-bottom: 5px; }
    .pk-home-capability-card p { font-size: .8125rem; line-height: 1.45; }
}

/* Product discovery rail: an industrial canvas sits behind the cards, with
   a slow-moving Primitek mark pattern. It creates depth without competing
   with product photography or turning the section into an advertisement. */
.pk-home-products {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: #11171C;
    color: #C7CDD4;
}
.pk-home-products::before,
.pk-home-products::after {
    content: "";
    position: absolute;
    z-index: 0;
    pointer-events: none;
}
.pk-home-products::before {
    inset: -24% -16%;
    background-image: url('/img/favicon.png');
    background-repeat: repeat;
    background-size: clamp(150px, 12vw, 230px);
    background-position: 0 0;
    filter: grayscale(1) brightness(0) invert(1);
    opacity: .055;
    transform: rotate(-10deg) scale(1.08);
}
.pk-home-products::after {
    inset: 0;
    background-image:
        linear-gradient(90deg, rgba(237, 28, 36, .09) 1px, transparent 1px),
        linear-gradient(rgba(237, 28, 36, .07) 1px, transparent 1px),
        radial-gradient(circle at 74% 20%, rgba(237, 28, 36, .20), transparent 33%);
    background-size: 72px 72px, 72px 72px, auto;
    opacity: .62;
}
.pk-home-products > .pk-wrap { position: relative; z-index: 1; }
.pk-home-products .pk-sec-head h2,
.pk-home-products .pk-home-products__focus h3 { color: #fff; }
.pk-home-products .pk-sec-head { margin-bottom: var(--pk-s5); }
.pk-home-products .pk-sec-head p {
    max-width: 56ch;
    margin-top: var(--pk-s3);
    color: #C7CDD4;
}
.pk-home-products .pk-home-products__focus {
    border-top-color: rgba(255, 255, 255, .18);
}
.pk-home-products .pk-home-products__focus-head p {
    color: #C7CDD4;
}
.pk-home-products .pk-discovery-rail__eyebrow,
.pk-home-products .pk-discovery-rail__status { color: #B9C1C9; }
.pk-home-products .pk-discovery-rail__arrow {
    border-color: rgba(255, 255, 255, .32);
    background: rgba(16, 20, 24, .42);
    color: #fff;
}
.pk-home-products .pk-discovery-rail__arrow:disabled { opacity: .5; }
.pk-home-products .pk-discovery-rail__progress { background: rgba(255, 255, 255, .17); }
.pk-home-products .pk-discovery-rail__progress span { background: var(--pk-red); }
@media (prefers-reduced-motion: no-preference) {
    .pk-home-products::before { animation: pk-product-brand-drift 44s linear infinite; }
    .pk-home-products::after { animation: pk-product-grid-pulse 16s var(--pk-ease-out) infinite alternate; }
}
@keyframes pk-product-brand-drift {
    from { transform: rotate(-10deg) translate3d(-2%, -1%, 0) scale(1.08); }
    to { transform: rotate(-10deg) translate3d(8%, 5%, 0) scale(1.08); }
}
@keyframes pk-product-grid-pulse {
    from { opacity: .34; transform: scale(1); }
    to { opacity: .74; transform: scale(1.025); }
}
.pk-discovery-rail__toolbar,
.pk-discovery-rail__controls { display: flex; align-items: center; }
.pk-discovery-rail__toolbar {
    justify-content: space-between;
    gap: var(--pk-s4);
    margin-bottom: var(--pk-s4);
}
.pk-discovery-rail__eyebrow,
.pk-discovery-rail__status {
    font-family: var(--pk-font-mono);
    font-size: .75rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--pk-muted);
}
.pk-discovery-rail__controls { gap: var(--pk-s2); }
.pk-discovery-rail__status { min-width: 64px; margin-right: var(--pk-s3); }
.pk-discovery-rail__arrow {
    display: inline-grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border: 1px solid #C7CDD4;
    border-radius: 50%;
    background: #fff;
    color: var(--pk-ink);
    font-size: 1.125rem;
    transition: border-color var(--pk-motion-fast), color var(--pk-motion-fast),
                background var(--pk-motion-fast), transform var(--pk-motion-fast);
}
.pk-discovery-rail__arrow:not(:disabled):hover {
    border-color: var(--pk-red-deep);
    background: var(--pk-red-deep);
    color: #fff;
    transform: translateY(-2px);
}
.pk-discovery-rail__arrow:disabled { opacity: .38; cursor: not-allowed; }
.pk-discovery-rail__track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(250px, 78%);
    gap: clamp(16px, 2vw, 24px);
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 2px;
    scrollbar-width: none;
    padding: 2px 2px var(--pk-s4);
}
.pk-discovery-rail__track { cursor: grab; }
.pk-discovery-rail.is-pointer-dragging .pk-discovery-rail__track {
    cursor: grabbing;
    scroll-snap-type: none;
    user-select: none;
}
.pk-discovery-rail__track::-webkit-scrollbar { display: none; }
.pk-discovery-rail__track:focus-visible {
    outline: 3px solid var(--pk-red-deep);
    outline-offset: 2px;
}
.pk-home-product-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius-md);
    scroll-snap-align: start;
    transition: border-color var(--pk-motion-fast), box-shadow var(--pk-motion-medium),
                transform var(--pk-motion-medium) var(--pk-ease-out);
}
.pk-home-product-card:hover,
.pk-home-product-card:focus-visible {
    color: var(--pk-ink);
    border-color: #C7CDD4;
    box-shadow: var(--pk-shadow);
    transform: translateY(-3px);
}
.pk-home-product-card .pk-tile__media {
    width: 100%;
    aspect-ratio: 4 / 3;
    padding: clamp(18px, 2vw, 28px);
    border: 0;
    border-bottom: 1px solid var(--pk-line);
    background: #fff;
}
.pk-home-product-card .pk-tile__media img { object-fit: contain; }
.pk-home-product-card .pk-tile__label {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px;
    gap: var(--pk-s3);
    min-height: 92px;
    align-items: center;
    justify-items: start;
    padding: var(--pk-s4) var(--pk-s5);
    text-align: left;
}
.pk-home-product-card__title {
    color: var(--pk-ink);
    font-size: clamp(1rem, .96rem + .25vw, 1.1875rem);
    font-weight: 600;
    line-height: 1.3;
}
.pk-home-product-card__arrow {
    display: inline-grid;
    width: 44px;
    height: 44px;
    place-items: center;
    justify-self: end;
    border-radius: 50%;
    background: var(--pk-red-tint);
    color: var(--pk-red-deep);
    font-size: 1.25rem;
    transition: background var(--pk-motion-fast), color var(--pk-motion-fast),
                transform var(--pk-motion-fast);
}
.pk-home-product-card:hover .pk-home-product-card__arrow,
.pk-home-product-card:focus-visible .pk-home-product-card__arrow {
    background: var(--pk-red-deep);
    color: #fff;
    transform: translate(2px, -2px);
}
.pk-discovery-rail__progress {
    height: 2px;
    margin-top: var(--pk-s2);
    background: #D8DEE4;
}
.pk-discovery-rail__progress span {
    display: block;
    width: 16%;
    height: 100%;
    background: var(--pk-red-deep);
    transition: width var(--pk-motion-medium) var(--pk-ease-out);
}
@media (min-width: 640px) {
    .pk-discovery-rail__track { grid-auto-columns: minmax(260px, 45%); }
}
@media (min-width: 900px) {
    .pk-discovery-rail__track { grid-auto-columns: minmax(270px, 31%); }
}
@media (min-width: 1180px) {
    .pk-discovery-rail__track { grid-auto-columns: minmax(270px, 28%); }
}
@media (max-width: 479px) {
    .pk-discovery-rail__eyebrow { display: none; }
    .pk-discovery-rail__toolbar { justify-content: flex-end; }
    .pk-home-product-card .pk-tile__label { padding-inline: var(--pk-s4); }
}

/* A second, quieter rail reveals actual published products without turning
   the Group homepage into a price-led e-commerce storefront. */
.pk-home-products__focus {
    margin-top: clamp(64px, 7vw, 96px);
    padding-top: clamp(44px, 5vw, 64px);
    border-top: 1px solid var(--pk-line);
}
.pk-home-products__focus-head {
    display: grid;
    gap: var(--pk-s4);
    align-items: end;
    margin-bottom: var(--pk-s6);
}
.pk-home-products__focus-head h3 {
    max-width: 22ch;
    margin-bottom: var(--pk-s3);
    font-size: clamp(1.625rem, 1.3rem + 1.1vw, 2.25rem);
}
.pk-home-products__focus-head p { max-width: 58ch; color: var(--pk-muted); }
.pk-home-products__focus-head .pk-link-arrow { justify-self: start; }
.pk-focus-track { grid-auto-columns: minmax(220px, 72%); }
.pk-focus-card {
    min-width: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    color: var(--pk-ink);
    background: var(--pk-white);
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius-md);
    text-decoration: none;
    scroll-snap-align: start;
    transition: border-color var(--pk-motion-fast), box-shadow var(--pk-motion-medium),
                transform var(--pk-motion-medium) var(--pk-ease-out);
}
.pk-focus-card:hover,
.pk-focus-card:focus-visible {
    color: var(--pk-ink);
    border-color: #C7CDD4;
    box-shadow: var(--pk-shadow);
    transform: translateY(-3px);
}
.pk-focus-card__media {
    display: grid;
    place-items: center;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    padding: clamp(16px, 2vw, 28px);
    background: #fff;
    border-bottom: 1px solid var(--pk-line);
}
.pk-focus-card__media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform 400ms var(--pk-ease-out);
}
.pk-focus-card:hover .pk-focus-card__media img,
.pk-focus-card:focus-visible .pk-focus-card__media img { transform: scale(1.045); }
.pk-focus-card__body {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-height: 114px;
    padding: var(--pk-s4) 58px var(--pk-s5) var(--pk-s5);
}
.pk-focus-card__body small {
    color: var(--pk-red-deep);
    font-family: var(--pk-font-mono);
    font-size: .6875rem;
    font-weight: 600;
    letter-spacing: .08em;
    line-height: 1.4;
    text-transform: uppercase;
}
.pk-focus-card__body strong {
    font-family: var(--pk-font-display);
    font-size: clamp(1rem, .95rem + .25vw, 1.125rem);
    line-height: 1.3;
}
.pk-focus-card__arrow {
    position: absolute;
    right: var(--pk-s4);
    top: 50%;
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 50%;
    background: var(--pk-red-tint);
    color: var(--pk-red-deep);
    transform: translateY(-50%);
    transition: background var(--pk-motion-fast), color var(--pk-motion-fast);
}
.pk-focus-card:hover .pk-focus-card__arrow,
.pk-focus-card:focus-visible .pk-focus-card__arrow {
    background: var(--pk-red-deep);
    color: #fff;
}
@media (min-width: 640px) { .pk-focus-track { grid-auto-columns: minmax(230px, 44%); } }
@media (min-width: 900px) {
    .pk-home-products__focus-head { grid-template-columns: minmax(0, 1fr) auto; }
    .pk-home-products__focus-head .pk-link-arrow { justify-self: end; }
    .pk-focus-track { grid-auto-columns: minmax(230px, 30%); }
}
@media (min-width: 1180px) { .pk-focus-track { grid-auto-columns: minmax(230px, 23%); } }

/* Product showcase refinement: the two rails share one calm, editorial
   surface, but have deliberately different hierarchy. Category discovery
   leads; individual product highlights sit in a quieter second stage. */
.pk-home-products {
    background: linear-gradient(118deg, #F4F7F9 0%, #FFF 52%, #FAF4F5 100%);
    color: var(--pk-ink);
}
.pk-home-products::before {
    inset: auto -4% auto auto;
    top: clamp(30px, 4vw, 72px);
    width: clamp(180px, 19vw, 320px);
    height: clamp(180px, 19vw, 320px);
    background-image: url('/1p2r4imitek/images/logo_2.png');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    filter: grayscale(1);
    opacity: .055;
    transform: rotate(-8deg);
}
.pk-home-products::after {
    inset: 0;
    background: radial-gradient(circle at 91% 9%, rgba(201, 13, 26, .085), transparent 22%);
    opacity: 1;
}
.pk-home-products .pk-sec-head h2,
.pk-home-products .pk-home-products__focus h3 { color: var(--pk-ink); }
.pk-home-products .pk-sec-head { margin-bottom: clamp(32px, 4vw, 48px); }
.pk-home-products .pk-sec-head p,
.pk-home-products .pk-home-products__focus-head p { color: var(--pk-muted); }
.pk-home-products .pk-link-arrow { color: var(--pk-red-deep); }
.pk-home-products .pk-discovery-rail__eyebrow,
.pk-home-products .pk-discovery-rail__status { color: #596777; }
.pk-home-products .pk-discovery-rail__arrow {
    border-color: #D5DDE5;
    background: rgba(255, 255, 255, .86);
    color: var(--pk-ink);
}
.pk-home-products .pk-discovery-rail__arrow:disabled { opacity: .42; }
.pk-home-products .pk-discovery-rail__progress { background: #DFE5EA; }
.pk-home-products .pk-discovery-rail__progress span { background: var(--pk-red-deep); }
@media (prefers-reduced-motion: no-preference) {
    .pk-home-products::before { animation: pk-product-corner-mark 24s var(--pk-ease-out) infinite alternate; }
    .pk-home-products::after { animation: none; }
}
@keyframes pk-product-corner-mark {
    from { transform: rotate(-8deg) translate3d(0, 0, 0); }
    to { transform: rotate(-3deg) translate3d(-12px, 10px, 0); }
}
.pk-discovery-rail__toolbar { margin-bottom: var(--pk-s3); }
.pk-discovery-rail__track {
    gap: clamp(18px, 2vw, 28px);
    padding: 3px 3px var(--pk-s4);
}
.pk-home-product-card {
    min-height: 100%;
    border-color: #DCE4EA;
    border-radius: 14px;
    box-shadow: 0 6px 20px rgba(23, 33, 44, .045);
}
.pk-home-product-card:hover,
.pk-home-product-card:focus-visible {
    border-color: rgba(201, 13, 26, .4);
    box-shadow: 0 16px 34px rgba(23, 33, 44, .12);
    transform: translateY(-5px);
}
.pk-home-product-card .pk-tile__media {
    aspect-ratio: 5 / 4;
    padding: clamp(22px, 2.4vw, 36px);
    background: linear-gradient(145deg, #FFF, #F3F6F8);
}
.pk-home-product-card .pk-tile__label {
    min-height: 104px;
    padding: var(--pk-s4) var(--pk-s5);
}
.pk-home-product-card__title {
    font-size: clamp(1.0625rem, 1rem + .3vw, 1.25rem);
    font-weight: 700;
}
.pk-home-products__focus {
    margin-top: clamp(68px, 8vw, 112px);
    padding: clamp(30px, 4vw, 52px);
    border: 1px solid #E0E6EB;
    border-radius: 18px;
    background: rgba(255, 255, 255, .82);
    box-shadow: 0 14px 36px rgba(20, 30, 42, .05);
}
.pk-home-products .pk-home-products__focus { border-top-color: #E0E6EB; }
.pk-home-products__focus-head { margin-bottom: clamp(28px, 4vw, 42px); }
.pk-home-products__focus-head h3 {
    max-width: 24ch;
    font-size: clamp(1.75rem, 1.4rem + 1.25vw, 2.5rem);
}
.pk-focus-card {
    border-color: #DCE4EA;
    border-radius: 14px;
    box-shadow: 0 5px 18px rgba(23, 33, 44, .04);
}
.pk-focus-card:hover,
.pk-focus-card:focus-visible {
    border-color: rgba(201, 13, 26, .4);
    box-shadow: 0 16px 34px rgba(23, 33, 44, .12);
    transform: translateY(-5px);
}
.pk-focus-card__media {
    aspect-ratio: 5 / 4;
    padding: clamp(22px, 2.4vw, 34px);
    background: linear-gradient(145deg, #FFF, #F3F6F8);
}
.pk-focus-card__body { min-height: 118px; }
@media (min-width: 640px) {
    .pk-home-product-grid { grid-auto-columns: minmax(280px, 46%); }
    .pk-focus-track { grid-auto-columns: minmax(280px, 46%); }
}
@media (min-width: 900px) {
    .pk-home-product-grid { grid-auto-columns: minmax(300px, 31.5%); }
    .pk-focus-track { grid-auto-columns: minmax(290px, 31.5%); }
}
@media (min-width: 1180px) {
    .pk-home-product-grid { grid-auto-columns: minmax(310px, 30.8%); }
    .pk-focus-track { grid-auto-columns: minmax(300px, 30.8%); }
}
@media (max-width: 639px) {
    .pk-home-products::before { width: 160px; height: 160px; right: -36px; }
    .pk-home-products__focus { padding: 24px 18px; }
    .pk-home-product-card .pk-tile__label { min-height: 92px; }
}

/* Company identities are facts already published in the directory. The rail
   is decorative; the adjacent text link is the accessible navigation path. */
.pk-identity-rail {
    padding-block: clamp(52px, 6vw, 76px);
    overflow: hidden;
    border-block: 1px solid var(--pk-line);
    background: var(--pk-white);
}
.pk-identity-rail__head {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: end;
    gap: var(--pk-s4);
    margin-bottom: var(--pk-s6);
}
.pk-identity-rail__head h2 { max-width: 24ch; margin: 0; }
.pk-identity-marquee { overflow: hidden; }
.pk-identity-marquee__track {
    display: flex;
    width: max-content;
    animation: pk-identity-pass 42s linear infinite;
    will-change: transform;
}
.pk-identity-marquee:hover .pk-identity-marquee__track { animation-play-state: paused; }
.pk-identity-marquee__group {
    display: flex;
    flex: 0 0 auto;
    gap: var(--pk-s4);
    padding-right: var(--pk-s4);
}
.pk-identity-marquee__item {
    display: flex;
    flex: 0 0 186px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: var(--pk-s2);
    width: 186px;
    min-height: 124px;
    padding: var(--pk-s3);
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius-md);
    background: var(--pk-white);
}
.pk-identity-marquee__item img { width: 138px; height: 54px; object-fit: contain; }
.pk-identity-marquee__item span {
    max-width: 100%;
    overflow: hidden;
    color: var(--pk-muted);
    font-size: .75rem;
    line-height: 1.3;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}
@keyframes pk-identity-pass { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
    .pk-identity-marquee { overflow-x: auto; }
    .pk-identity-marquee__track { animation: none; will-change: auto; }
    .pk-identity-marquee__group + .pk-identity-marquee__group { display: none; }
}

/* The homepage credentials rail shares the calm, continuous rhythm of the
   identity rail, but only renders CMS-backed certificates and verified facts. */
.pk-credentials-rail {
    overflow: hidden;
    padding-block: clamp(56px, 6vw, 92px);
    border-top: 1px solid var(--pk-line);
    background: linear-gradient(115deg, #fff 0%, #fff 76%, #fdf5f6 100%);
}
.pk-credentials-rail__head {
    display: grid;
    justify-items: center;
    max-width: 680px;
    margin: 0 auto clamp(34px, 4.75vw, 60px);
    text-align: center;
}
.pk-credentials-rail__head h2 {
    max-width: none;
    margin: var(--pk-s2) 0 0;
    font-size: var(--pk-type-section);
    scroll-margin-top: 132px;
}
.pk-credentials-rail__head p {
    max-width: 560px;
    margin: var(--pk-s3) 0 0;
    color: var(--pk-muted);
}
.pk-credentials-rail__head .pk-link-arrow { margin-top: var(--pk-s4); }
.pk-credentials-rail__viewport { overflow: hidden; }
.pk-credentials-rail__track {
    display: flex;
    width: max-content;
    animation: pk-credentials-pass 42s linear infinite;
    will-change: transform;
}
.pk-credentials-rail:hover .pk-credentials-rail__track { animation-play-state: paused; }
.pk-credentials-rail__group {
    display: flex;
    flex: 0 0 auto;
    gap: clamp(36px, 6vw, 96px);
    padding-right: clamp(36px, 6vw, 96px);
}
.pk-credentials-rail__item {
    display: grid;
    grid-template-rows: minmax(78px, 1fr) auto;
    flex: 0 0 152px;
    width: 152px;
    min-height: 116px;
    padding: 0;
    background: transparent;
}
.pk-credentials-rail__mark {
    display: grid;
    place-items: center;
    min-height: 78px;
}
.pk-credentials-rail__mark img {
    width: min(132px, 100%);
    height: 78px;
    object-fit: contain;
}
.pk-credentials-rail__item--fact .pk-credentials-rail__mark span {
    color: var(--pk-red-deep);
    font-family: var(--pk-font-display);
    font-size: clamp(1.75rem, 2.7vw, 2.45rem);
    font-weight: 700;
    letter-spacing: -.045em;
    line-height: 1;
}
.pk-credentials-rail__item--certificate .pk-credentials-rail__mark span {
    color: var(--pk-red-deep);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .11em;
    text-transform: uppercase;
}
.pk-credentials-rail__copy {
    display: grid;
    gap: 3px;
    padding-top: 10px;
    text-align: center;
}
.pk-credentials-rail__copy strong {
    color: var(--pk-ink);
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.25;
}
.pk-credentials-rail__copy span {
    display: none;
}
@keyframes pk-credentials-pass { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
    .pk-credentials-rail__viewport { overflow-x: auto; }
    .pk-credentials-rail__track { animation: none; will-change: auto; }
    .pk-credentials-rail__group + .pk-credentials-rail__group { display: none; }
}

/* Confirmed input standards on the Apparel Accessories compliance page. */
.pk-standard-rail {
    overflow: hidden;
    padding-block: clamp(54px, 6vw, 88px);
    border-block: 1px solid var(--pk-line);
    background: var(--pk-white);
}
.pk-standard-rail__head {
    display: grid;
    justify-items: center;
    max-width: 760px;
    margin: 0 auto clamp(30px, 4vw, 52px);
    text-align: center;
}
.pk-standard-rail__head h2 {
    max-width: none;
    margin: var(--pk-s2) 0 0;
    font-size: clamp(1.8rem, 1.48rem + 1.5vw, 2.55rem);
    scroll-margin-top: 132px;
}
.pk-standard-rail__head p {
    max-width: 650px;
    margin: var(--pk-s3) 0 0;
    color: var(--pk-muted);
}
.pk-standard-rail__viewport { overflow: hidden; }
.pk-standard-rail__viewport:focus-visible { outline-offset: -3px; }
.pk-standard-rail__track {
    display: flex;
    width: max-content;
    animation: pk-standard-rail-pass 34s linear infinite;
    will-change: transform;
}
.pk-standard-rail__viewport:hover .pk-standard-rail__track,
.pk-standard-rail__viewport:focus-within .pk-standard-rail__track {
    animation-play-state: paused;
}
.pk-standard-rail__group {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: clamp(54px, 7.5vw, 118px);
    padding: 0 clamp(54px, 7.5vw, 118px) 0 0;
    margin: 0;
    list-style: none;
}
.pk-standard-rail__item {
    display: grid;
    flex: 0 0 clamp(142px, 15vw, 202px);
    justify-items: center;
    align-content: center;
    gap: 12px;
    min-height: 144px;
    text-align: center;
}
.pk-standard-rail__item img {
    display: block;
    width: min(156px, 100%);
    height: 88px;
    object-fit: contain;
}
.pk-standard-rail__item span {
    color: var(--pk-muted);
    font-size: .76rem;
    font-weight: 600;
    line-height: 1.35;
}
@keyframes pk-standard-rail-pass { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
    .pk-standard-rail__viewport { overflow-x: auto; }
    .pk-standard-rail__track { animation: none; will-change: auto; }
    .pk-standard-rail__group + .pk-standard-rail__group { display: none; }
}

.pk-home-assurance-grid { display: grid; gap: var(--pk-s5); }
.pk-home-assurance-card {
    display: flex;
    flex-direction: column;
    min-height: 280px;
    padding: clamp(28px, 4vw, 44px);
    background: var(--pk-white);
    border: 1px solid var(--pk-line);
    border-top: 3px solid var(--pk-red);
}

/* ------------------------------------------------------ products directory */

.pk-products-hero .pk-pagehead__lede { max-width: 820px; }
.pk-products-signals {
    display: flex;
    flex-wrap: wrap;
    gap: var(--pk-s3) var(--pk-s6);
    margin: var(--pk-s6) 0 0;
    padding: var(--pk-s5) 0 0;
    border-top: 1px solid var(--pk-line);
    list-style: none;
}
.pk-products-signals li {
    position: relative;
    padding-left: 18px;
    color: var(--pk-muted);
    font-size: .875rem;
    font-weight: 500;
}
.pk-products-signals li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .7em;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--pk-red-deep);
    transform: translateY(-50%);
}

.pk-product-category-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
    gap: clamp(18px, 2.4vw, 28px);
}
.pk-product-category-card { min-height: 100%; }
.pk-product-category-card .pk-card__media {
    aspect-ratio: 3 / 2;
    padding: clamp(18px, 2.2vw, 28px);
    background: #fff;
    border-bottom: 1px solid var(--pk-line);
}
.pk-product-category-card .pk-card__media img {
    object-fit: contain;
    transition: transform var(--pk-motion-medium) var(--pk-ease-out);
}
.pk-product-category-card:hover .pk-card__media img { transform: scale(1.025); }
.pk-product-category-card .pk-card__body {
    padding: clamp(22px, 2.4vw, 30px);
    text-align: center;
}
.pk-product-category-card .pk-card__title {
    font-family: var(--pk-font-body);
    font-size: clamp(1.15rem, 1.08rem + .35vw, 1.35rem);
    font-weight: 600;
    line-height: 1.28;
    letter-spacing: -.02em;
}
.pk-product-category-card .pk-card__text {
    margin-top: var(--pk-s2);
    font-size: .9375rem;
    line-height: 1.6;
}
.pk-product-category-card__footer {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--pk-s3);
    padding-top: var(--pk-s5);
    border-top: 1px solid var(--pk-line);
    pointer-events: none;
}
.pk-product-category-card__action {
    color: var(--pk-red-deep);
    font-weight: 600;
    white-space: nowrap;
}

.pk-product-enquiry-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr));
    gap: var(--pk-s4);
}
.pk-product-enquiry-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--pk-s3);
    min-height: 132px;
    padding: var(--pk-s5);
    color: var(--pk-ink);
    background: #fff;
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius-md);
    text-decoration: none;
    transition: transform var(--pk-motion-medium) var(--pk-ease-out),
                border-color var(--pk-motion-fast) ease,
                box-shadow var(--pk-motion-medium) ease;
}
.pk-product-enquiry-card:hover {
    color: var(--pk-ink);
    border-color: #C7CDD4;
    transform: translateY(-2px);
    box-shadow: var(--pk-shadow);
}
.pk-product-enquiry-card strong {
    align-self: end;
    padding-right: var(--pk-s4);
    font-size: 1rem;
    line-height: 1.35;
}
.pk-product-enquiry-card > span:last-child {
    color: var(--pk-muted);
    font-size: .8125rem;
}
@media (max-width: 639px) {
    .pk-products-signals { display: grid; gap: var(--pk-s3); }
    .pk-product-category-card__footer { align-items: flex-end; }
}
@media (prefers-reduced-motion: reduce) {
    .pk-product-category-card .pk-card__media img { transition: none; }
    .pk-product-category-card:hover .pk-card__media img { transform: none; }
}
.pk-home-assurance-card h3 { max-width: 22ch; }
.pk-home-assurance-card p { color: var(--pk-muted); max-width: 54ch; }
.pk-home-assurance-card .pk-link-arrow { margin-top: auto; align-self: flex-start; }
@media (min-width: 820px) {
    .pk-home-assurance-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Homepage — Primitek Appliances visual link */
.pk-home-appliances {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: #061014;
}
.pk-home-appliances::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(0, 0, 0, .48) 0%, rgba(0, 0, 0, .08) 48%, transparent 72%);
}
.pk-home-appliances > img {
    display: block;
    width: 100%;
    min-height: 290px;
    max-height: 620px;
    object-fit: cover;
    object-position: center;
}
.pk-home-appliances__link {
    position: absolute;
    z-index: 2;
    left: clamp(20px, 4vw, 64px);
    bottom: clamp(20px, 3.4vw, 52px);
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 13px 18px;
    color: #fff;
    background: var(--pk-red);
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 3px;
    font-family: var(--pk-font-label);
    font-size: .8125rem;
    font-weight: 800;
    letter-spacing: .025em;
    line-height: 1.2;
    text-decoration: none;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .28);
    transition: transform .2s ease, background-color .2s ease;
}
.pk-home-appliances__link:hover,
.pk-home-appliances__link:focus-visible {
    color: #fff;
    background: #aa0614;
    transform: translateY(-2px);
}
@media (max-width: 639px) {
    .pk-home-appliances > img {
        min-height: 260px;
        object-position: 54% center;
    }
    .pk-home-appliances__link { padding: 12px 15px; }
}

.pk-home-final-cta { display: grid; gap: var(--pk-s6); align-items: end; }
.pk-home-final-cta .pk-hero__actions { align-items: center; }
@media (min-width: 900px) {
    .pk-home-final-cta { grid-template-columns: minmax(0, 1fr) auto; gap: var(--pk-s8); }
    .pk-home-final-cta .pk-hero__actions { justify-content: flex-end; }
}

/* Leadership feature — the legacy red split is translated into the restrained
   ink/red system, with real leadership media and evidence-safe copy. */
.pk-home-leadership { padding-block: 0; overflow: hidden; }
.pk-home-leadership__layout { display: grid; align-items: stretch; }
.pk-home-leadership__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding-block: clamp(56px, 7vw, 96px);
}
.pk-home-leadership__copy h2 { max-width: 15ch; }
.pk-home-leadership__copy > p {
    max-width: 54ch;
    margin-top: var(--pk-s4);
    color: #B9C1C9;
    font-size: 1.0625rem;
}
.pk-home-leadership__identity {
    display: grid;
    gap: 3px;
    margin: var(--pk-s6) 0;
    padding-left: var(--pk-s4);
    border-left: 2px solid #FF6B70;
}
.pk-home-leadership__identity strong { color: #fff; font-family: var(--pk-font-display); }
.pk-home-leadership__identity span {
    color: #A8B2BC;
    font-family: var(--pk-font-mono);
    font-size: .75rem;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.pk-home-leadership__media {
    min-height: 460px;
    margin: 0;
    overflow: hidden;
    background: #23292F;
}
.pk-home-leadership__media img {
    width: 100%;
    height: 100%;
    min-height: 460px;
    object-fit: cover;
    object-position: center 18%;
    filter: saturate(.82) contrast(1.03);
}
@media (min-width: 900px) {
    .pk-home-leadership__layout { grid-template-columns: minmax(0, .95fr) minmax(420px, 1.05fr); }
    .pk-home-leadership__copy { padding-right: clamp(48px, 7vw, 96px); }
    .pk-home-leadership__media { margin-right: calc((100vw - min(100vw, var(--pk-maxw))) / -2); }
}
@media (max-width: 899px) {
    .pk-home-leadership__media,
    .pk-home-leadership__media img { min-height: 0; }
    /* The homepage leadership feature is supplied as a portrait. Keeping a
       portrait frame on handheld screens preserves the complete photograph
       instead of turning it into an awkward, heavily cropped landscape. */
    .pk-home-leadership__media { aspect-ratio: 3 / 4; }
    .pk-home-leadership__media img {
        object-position: center top;
        filter: none;
    }
}

/* Achievements: editorial feature + trophy archive. No carousel, hidden slide,
   autoplay or text overlay collision. */
.pk-home-achievements { background: #fff; }
.pk-home-achievements__stage {
    display: grid;
    overflow: hidden;
    background: var(--pk-ink);
    border-radius: var(--pk-radius-md);
}
.pk-home-achievements__feature {
    position: relative;
    min-height: 420px;
    margin: 0;
    overflow: hidden;
    background: #22282E;
}
.pk-home-achievements__feature > img {
    width: 100%;
    height: 100%;
    min-height: 420px;
    object-fit: cover;
}
.pk-home-achievements__feature::after {
    content: "";
    position: absolute;
    inset: 38% 0 0;
    background: linear-gradient(0deg, rgba(9, 13, 17, .9), rgba(9, 13, 17, 0));
}
.pk-home-achievements__feature figcaption {
    position: absolute;
    z-index: 1;
    right: clamp(24px, 4vw, 44px);
    bottom: clamp(24px, 4vw, 44px);
    left: clamp(24px, 4vw, 44px);
}
.pk-home-achievements__feature figcaption span,
.pk-home-award-gallery figcaption span {
    display: block;
    margin-bottom: var(--pk-s2);
    color: #FF7B80;
    font-family: var(--pk-font-mono);
    font-size: .75rem;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.pk-home-achievements__feature figcaption strong {
    display: block;
    max-width: 42ch;
    color: #fff;
    font-family: var(--pk-font-display);
    font-size: clamp(1.125rem, 1rem + .55vw, 1.5rem);
    line-height: 1.35;
}
.pk-home-achievements__copy { padding: clamp(32px, 5vw, 64px); }
.pk-home-achievements__copy h2 { max-width: 16ch; color: #fff; }
.pk-home-achievements__copy > p { color: #B9C1C9; }
.pk-home-achievements__period {
    display: grid;
    gap: var(--pk-s2);
    margin: var(--pk-s6) 0;
    padding: var(--pk-s5) 0;
    border-block: 1px solid #30373E;
}
.pk-home-achievements__period span {
    color: #A8B2BC;
    font-family: var(--pk-font-mono);
    font-size: .75rem;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.pk-home-achievements__period strong {
    color: #fff;
    font-family: var(--pk-font-display);
    font-size: clamp(1.35rem, 1.15rem + .9vw, 2rem);
}
.pk-home-achievements__timeline {
    display: grid;
    gap: 0;
    margin: 0 0 var(--pk-s6);
    padding: 0;
    list-style: none;
}
.pk-home-achievements__timeline li {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: var(--pk-s4);
    padding: var(--pk-s3) 0;
    border-bottom: 1px solid #2C3238;
}
.pk-home-achievements__timeline li span {
    color: #FF7B80;
    font-family: var(--pk-font-mono);
    font-size: .75rem;
}
.pk-home-achievements__timeline li strong { color: #E8EBEE; font-size: .875rem; font-weight: 600; }
.pk-home-achievements__copy .pk-link-arrow { color: #fff; }
@media (min-width: 960px) {
    .pk-home-achievements__stage { grid-template-columns: minmax(0, 1.22fr) minmax(360px, .78fr); }
}

.pk-home-award-gallery {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--pk-s4);
    margin-top: var(--pk-s6);
}
.pk-home-award-gallery__item {
    margin: 0;
    overflow: hidden;
    background: var(--pk-surface);
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius);
    transition: transform var(--pk-motion-medium) var(--pk-ease-out),
                border-color var(--pk-motion-fast) ease,
                box-shadow var(--pk-motion-medium) ease;
}
.pk-home-award-gallery__item:hover {
    transform: translateY(-3px);
    border-color: #C7CDD4;
    box-shadow: var(--pk-shadow);
}
.pk-home-award-gallery__media {
    aspect-ratio: 4 / 5;
    padding: clamp(18px, 3vw, 32px);
    overflow: hidden;
    background: #F2F3F5;
}
.pk-home-award-gallery__media img { width: 100%; height: 100%; object-fit: contain; }
.pk-home-award-gallery figcaption { padding: var(--pk-s4); }
.pk-home-award-gallery figcaption span { color: var(--pk-red-deep); }
.pk-home-award-gallery figcaption strong {
    display: block;
    color: var(--pk-ink);
    font-family: var(--pk-font-display);
    font-size: .9375rem;
    line-height: 1.35;
}
@media (min-width: 760px) {
    .pk-home-award-gallery { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
    .pk-home-achievements__feature,
    .pk-home-achievements__feature > img { min-height: 360px; }
    .pk-home-achievements__timeline li { grid-template-columns: 92px minmax(0, 1fr); }
    .pk-home-award-gallery { gap: var(--pk-s3); }
    .pk-home-award-gallery figcaption { padding: var(--pk-s3); }
}

/* Homepage newsroom: a high-impact editorial rail. The image and Primitek-red
   story panel preserve a clear reading order; its optional gentle advance
   always yields to hover, focus, direct control and reduced-motion settings. */
.pk-home-news {
    position: relative;
    overflow: hidden;
    background: var(--pk-white);
    border-top: 1px solid var(--pk-line);
    scroll-margin-top: calc(var(--pk-header-h) + var(--pk-s5));
}
.pk-home-news::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(16, 20, 24, .025), transparent 25%);
}
.pk-home-news > .pk-wrap { position: relative; }
.pk-home-news__head { margin-bottom: clamp(28px, 3vw, 44px); }
.pk-home-news__head h2 { max-width: 21ch; }
.pk-home-news__head p {
    max-width: 52ch;
    margin: var(--pk-s3) 0 0;
    color: var(--pk-muted);
    font-size: clamp(1rem, .96rem + .18vw, 1.125rem);
}
.pk-home-news__track { grid-auto-columns: calc(100% - 16px); }
.pk-home-news__card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
    min-width: 0;
    height: clamp(300px, 19vw, 340px);
    min-height: 0;
    overflow: hidden;
    scroll-snap-align: start;
    background: var(--pk-red-deep);
    border-radius: 14px;
    box-shadow: var(--pk-shadow);
    transition: transform var(--pk-motion-medium) var(--pk-ease-out), box-shadow var(--pk-motion-medium) var(--pk-ease-out);
}
.pk-home-news__card:hover,
.pk-home-news__card:focus-within {
    transform: translateY(-6px);
    box-shadow: var(--pk-shadow-float);
}
.pk-home-news__media {
    display: block;
    min-height: 0;
    height: 100%;
    overflow: hidden;
    background: var(--pk-ink);
}
.pk-home-news__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--pk-motion-slow) var(--pk-ease-out);
}
.pk-home-news__card:hover .pk-home-news__media img,
.pk-home-news__card:focus-within .pk-home-news__media img { transform: scale(1.045); }
.pk-home-news__body {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
    min-height: 0;
    padding: clamp(22px, 2vw, 34px);
    color: #fff;
    background: var(--pk-red-deep);
}
.pk-home-news__body time {
    display: inline-flex;
    align-items: center;
    gap: var(--pk-s2);
    margin-bottom: var(--pk-s4);
    color: #fff;
    font-family: var(--pk-font-body);
    font-size: clamp(.875rem, .84rem + .12vw, .9375rem);
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
}
.pk-home-news__body time::before {
    content: "";
    width: 8px;
    height: 8px;
    border: 1.5px solid currentColor;
    border-radius: 50%;
    box-shadow: inset 0 0 0 2px var(--pk-red-deep);
    background: #fff;
}
.pk-home-news__body h3 {
    max-width: 24ch;
    margin: 0;
    color: #fff;
    font-size: clamp(1.1875rem, 1.02rem + .55vw, 1.45rem);
    line-height: 1.18;
}
.pk-home-news__body h3 a { color: inherit; text-decoration: none; }
.pk-home-news__body h3 a:hover { color: #fff; text-decoration: none; }
.pk-home-news__body p {
    display: -webkit-box;
    max-width: 35ch;
    margin: var(--pk-s4) 0 0;
    overflow: hidden;
    color: rgba(255, 255, 255, .9);
    font-size: .9375rem;
    line-height: 1.6;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
.pk-home-news__read {
    display: inline-flex;
    align-items: center;
    gap: var(--pk-s2);
    margin-top: auto;
    padding-top: var(--pk-s5);
    color: #fff;
    font-size: 1rem;
    font-weight: 700;
    text-decoration: none;
}
.pk-home-news__read span { transition: transform var(--pk-motion-fast) var(--pk-ease-out); }
.pk-home-news__read:hover { color: #fff; text-decoration: none; }
.pk-home-news__read:hover span { transform: translateX(4px); }
.pk-home-news__footer {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: var(--pk-s4) var(--pk-s5);
    align-items: center;
    margin-top: var(--pk-s5);
}
.pk-home-news__all {
    display: inline-flex;
    align-items: center;
    justify-self: start;
    gap: var(--pk-s2);
    color: var(--pk-red-deep);
    font-weight: 700;
    text-decoration: none;
}
.pk-home-news__all span { transition: transform var(--pk-motion-fast) var(--pk-ease-out); }
.pk-home-news__all:hover { color: var(--pk-red-press); text-decoration: none; }
.pk-home-news__all:hover span { transform: translateX(4px); }
.pk-home-news__progress { grid-column: 1 / -1; margin-top: 0; }
.pk-home-news__progress span { background: var(--pk-red-deep); }
@media (min-width: 760px) {
    .pk-home-news__track { grid-auto-columns: minmax(540px, 74%); }
}
@media (min-width: 1180px) {
    .pk-home-news__track { grid-auto-columns: calc((100% - clamp(16px, 2vw, 24px)) / 2); }
}
@media (max-width: 599px) {
    .pk-home-news__card { grid-template-columns: 1fr; height: auto; min-height: 0; }
    .pk-home-news__media { aspect-ratio: 16 / 10; min-height: 0; }
    .pk-home-news__body { min-height: 236px; }
}

/* ---------------------------------------------------- 10. page furniture */

.pk-pagehead {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: var(--pk-surface);
    border-bottom: 1px solid var(--pk-line);
    padding-block: clamp(52px, 5.5vw, 80px);
}
.pk-pagehead::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 50%;
    right: clamp(-34px, 6vw, 124px);
    width: clamp(132px, 15vw, 240px);
    aspect-ratio: 1;
    background: url('/img/favicon.png') center / contain no-repeat;
    opacity: .1;
    pointer-events: none;
    filter: drop-shadow(0 16px 24px rgba(196, 19, 32, .08));
    transform: translate3d(0, -50%, 0) rotate(-9deg);
}
.pk-pagehead .pk-wrap { position: relative; z-index: 1; }
.pk-pagehead h1 { max-width: 18ch; margin-bottom: var(--pk-s3); }
.pk-pagehead__lede {
    color: var(--pk-muted);
    font-size: clamp(1rem, .96rem + .25vw, 1.125rem);
    line-height: 1.65;
    max-width: 60ch;
    margin: 0;
}
.pk-pagehead--compact { padding-block: var(--pk-s5); }
.pk-pagehead--compact .pk-breadcrumb { margin-bottom: 0; }

/* The page-introduction sequence is deliberately short. It establishes the
   page without competing with the content or making routes feel like a
   marketing splash screen. */
@media (prefers-reduced-motion: no-preference) {
    .pk-pagehead::before { animation: pk-pagehead-drift 16s ease-in-out infinite alternate; }
    .pk-pagehead .pk-breadcrumb { animation: pk-pagehead-enter 460ms var(--pk-ease-out) both; }
    .pk-pagehead .pk-eyebrow { animation: pk-pagehead-enter 500ms var(--pk-ease-out) 70ms both; }
    .pk-pagehead h1 { animation: pk-pagehead-enter 580ms var(--pk-ease-out) 120ms both; }
    .pk-pagehead__lede,
    .pk-legal-updated { animation: pk-pagehead-enter 600ms var(--pk-ease-out) 180ms both; }
}
@keyframes pk-pagehead-enter {
    from { opacity: 0; transform: translate3d(0, 12px, 0); }
    to { opacity: 1; transform: none; }
}
@keyframes pk-pagehead-drift {
    from { opacity: .065; transform: translate3d(0, -50%, 0) rotate(-9deg) scale(.96); }
    to { opacity: .14; transform: translate3d(-16px, calc(-50% - 10px), 0) rotate(4deg) scale(1.03); }
}

/* About > History — a CMS-fed editorial timeline. The central line retains
   the familiarity of the original history page, while card rhythm, fluid
   type and reduced-motion behaviour follow the current Primitek system. */
.pk-history-pagehead {
    position: relative;
    overflow: hidden;
    background: var(--pk-surface);
}
.pk-history-pagehead::before { display: block; }
.pk-history-pagehead::after { display: none; }
.pk-history-pagehead .pk-wrap { position: relative; z-index: 1; }
.pk-history { position: relative; overflow: hidden; isolation: isolate; background: #fff; }
.pk-history::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 11%;
    right: -6vw;
    width: min(38vw, 520px);
    aspect-ratio: 1;
    border: 1px solid rgba(202, 20, 32, .12);
    border-radius: 42% 58% 54% 46% / 48% 42% 58% 52%;
    box-shadow: inset 0 0 0 42px rgba(202, 20, 32, .025);
    opacity: .8;
    pointer-events: none;
}
.pk-history__intro { display: grid; gap: var(--pk-s3); max-width: 760px; margin: 0 auto clamp(56px, 8vw, 104px); text-align: center; }
.pk-history__intro .pk-eyebrow { justify-self: center; }
.pk-history__intro h2 { margin: 0; }
.pk-history__intro p {
    max-width: 62ch;
    margin: 0 auto;
    color: var(--pk-muted);
}
.pk-history__timeline { position: relative; display: grid; gap: clamp(44px, 6vw, 88px); max-width: 1240px; margin: 0 auto; padding: 0; list-style: none; }
.pk-history__timeline::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 2px;
    background: linear-gradient(to bottom, transparent, #D7DCE1 3%, #D7DCE1 97%, transparent);
    transform: translateX(-50%);
}
.pk-history__item { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 160px minmax(0, 1fr); grid-template-rows: 70px auto; align-items: start; }
.pk-history__marker {
    position: relative;
    z-index: 1;
    grid-column: 2;
    grid-row: 1;
    display: grid;
    place-items: center;
    width: 150px;
    height: 58px;
    margin: 0 auto;
    border: 1px solid var(--pk-line);
    border-radius: 0;
    background: var(--pk-surface);
    box-shadow: var(--pk-shadow-card);
    color: var(--pk-red-deep);
    font-family: var(--pk-font-display);
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: -.02em;
}
.pk-history__marker::after {
    content: "";
    position: absolute;
    top: calc(100% + 26px);
    left: 50%;
    width: 16px;
    height: 16px;
    border: 4px solid var(--pk-surface);
    border-radius: 50%;
    background: var(--pk-red-deep);
    box-shadow: 0 0 0 2px var(--pk-red-deep);
    transform: translateX(-50%);
}
.pk-history__card {
    grid-row: 2;
    overflow: hidden;
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius-lg);
    background: var(--pk-surface);
    width: min(100%, 480px);
    margin-top: var(--pk-s4);
    box-shadow: 0 18px 40px rgba(20, 28, 35, .07);
    transition: transform var(--pk-motion-medium) var(--pk-ease-out),
                box-shadow var(--pk-motion-medium) var(--pk-ease-out),
                border-color var(--pk-motion-fast);
}
.pk-history__item:nth-child(odd) .pk-history__card { grid-column: 1; justify-self: end; }
.pk-history__item:nth-child(even) .pk-history__card { grid-column: 3; justify-self: start; }
.pk-history__card:hover {
    border-color: rgba(202, 20, 32, .32);
    box-shadow: var(--pk-shadow-float);
    transform: translateY(-4px);
}
.pk-history__media {
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: var(--pk-surface-alt);
}
.pk-history__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 700ms var(--pk-ease-out);
}
.pk-history__card:hover .pk-history__media img { transform: scale(1.035); }
.pk-history__card-body { padding: clamp(22px, 2.4vw, 30px); }
.pk-history__card-body h3 { margin: 0 0 var(--pk-s2); font-size: clamp(1.125rem, 1.7vw, 1.375rem); text-transform: none; }
.pk-history__card-body p { margin: 0; color: var(--pk-muted); font-size: .9375rem; line-height: 1.7; }
.pk-history__closing {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: var(--pk-s6);
}
.pk-history__closing > div { max-width: 660px; }
.pk-history__closing h2 { margin: var(--pk-s2) 0; }
.pk-history__closing p { max-width: 56ch; margin: 0; }
@media (prefers-reduced-motion: no-preference) {
    .pk-history::before { animation: pk-history-drift 16s ease-in-out infinite alternate; }
    .pk-history__marker::after { animation: pk-history-marker 3.8s ease-in-out infinite; }
    .pk-history__item:nth-child(even) .pk-history__marker::after { animation-delay: .8s; }
}
@keyframes pk-history-drift {
    from { transform: translate3d(0, 0, 0) rotate(-7deg); }
    to { transform: translate3d(-18px, 24px, 0) rotate(6deg); }
}
@keyframes pk-history-marker {
    0%, 100% { box-shadow: 0 0 0 2px var(--pk-red-deep), 0 0 0 0 rgba(202, 20, 32, 0); }
    50% { box-shadow: 0 0 0 2px var(--pk-red-deep), 0 0 0 8px rgba(202, 20, 32, .1); }
}
@media (max-width: 699px) {
    .pk-history__intro { margin-bottom: var(--pk-s6); text-align: left; }
    .pk-history__intro .pk-eyebrow { justify-self: start; }
    .pk-history__intro p { margin-inline: 0; }
    .pk-history__timeline { gap: var(--pk-s6); }
    .pk-history__timeline::before { left: 31px; transform: none; }
    .pk-history__item { grid-template-columns: 64px minmax(0, 1fr); grid-template-rows: 54px auto; align-items: start; }
    .pk-history__marker { grid-column: 1; width: 62px; height: 48px; font-size: .8125rem; }
    .pk-history__marker::after { top: calc(100% + 19px); width: 12px; height: 12px; border-width: 3px; }
    .pk-history__item:nth-child(odd) .pk-history__card,
    .pk-history__item:nth-child(even) .pk-history__card { grid-column: 2; justify-self: stretch; width: auto; margin-top: var(--pk-s3); }
    .pk-history__closing { align-items: flex-start; flex-direction: column; gap: var(--pk-s4); }
}

/* Legal and policy pages — calm, navigable long-form reading. */
.pk-legal-pagehead {
    position: relative;
    overflow: hidden;
    background: var(--pk-surface);
}
.pk-legal-pagehead::after { display: none; }
.pk-legal-pagehead h1 { max-width: 820px; }
.pk-legal-pagehead .pk-pagehead__lede { max-width: 72ch; }
.pk-legal-updated {
    margin: var(--pk-s5) 0 0;
    color: var(--pk-muted);
    font-family: var(--pk-font-mono);
    font-size: .75rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.pk-legal-surface { background: #f7f8fa; }
.pk-legal-layout {
    display: grid;
    gap: clamp(var(--pk-s6), 5vw, var(--pk-s8));
    align-items: start;
}
.pk-legal-nav {
    display: grid;
    gap: var(--pk-s6);
    padding: var(--pk-s5);
    background: #fff;
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius);
}
.pk-legal-nav h2 {
    margin: 0 0 var(--pk-s4);
    font-family: var(--pk-font-mono);
    font-size: .75rem;
    font-weight: 500;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.pk-legal-nav ol,
.pk-legal-nav ul {
    display: grid;
    gap: 2px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.pk-legal-nav a {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: var(--pk-s2);
    padding: 9px 10px;
    border-radius: 8px;
    color: var(--pk-ink-2);
    font-size: .875rem;
    line-height: 1.4;
    text-decoration: none;
}
.pk-legal-nav a span {
    color: var(--pk-red-deep);
    font-family: var(--pk-font-mono);
    font-size: .6875rem;
    line-height: 1.8;
}
.pk-legal-nav a:hover,
.pk-legal-nav a:focus-visible,
.pk-legal-nav a[aria-current="page"] {
    background: var(--pk-surface);
    color: var(--pk-red-deep);
}
.pk-legal-library {
    padding-top: var(--pk-s5);
    border-top: 1px solid var(--pk-line);
}
.pk-legal-library a { grid-template-columns: minmax(0, 1fr); }
.pk-legal-article {
    min-width: 0;
    padding: clamp(var(--pk-s5), 5vw, var(--pk-s8));
    background: #fff;
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius);
}
.pk-legal-summary {
    margin-bottom: clamp(var(--pk-s7), 7vw, var(--pk-s9));
    padding: clamp(var(--pk-s5), 4vw, var(--pk-s7));
    background: var(--pk-ink);
    color: #fff;
    border-radius: var(--pk-radius);
}
.pk-legal-summary .pk-eyebrow { color: #ff858b; }
.pk-legal-summary p {
    max-width: 66ch;
    margin: var(--pk-s3) 0 0;
    color: rgba(255, 255, 255, .82);
    font-size: clamp(1rem, .96rem + .2vw, 1.125rem);
    line-height: 1.7;
}
.pk-legal-lead { margin-bottom: var(--pk-s7); }
.pk-legal-section {
    position: relative;
    scroll-margin-top: 116px;
    padding: clamp(var(--pk-s6), 5vw, var(--pk-s8)) 0;
    border-top: 1px solid var(--pk-line);
}
.pk-legal-summary + .pk-legal-section,
.pk-legal-lead + .pk-legal-section { border-top: 0; padding-top: 0; }
.pk-legal-section > h2 {
    max-width: 28ch;
    margin: 0 0 var(--pk-s4);
    font-size: clamp(1.35rem, 1.18rem + .65vw, 1.8rem);
    letter-spacing: -.025em;
}
.pk-legal-section .pk-prose { max-width: 72ch; color: var(--pk-ink-2); }
.pk-legal-section .pk-prose p { line-height: 1.75; }
.pk-legal-section .pk-prose a { text-decoration: none; }
.pk-legal-contact {
    display: grid;
    gap: var(--pk-s5);
    align-items: end;
    margin-top: clamp(var(--pk-s6), 6vw, var(--pk-s8));
    padding-top: clamp(var(--pk-s6), 5vw, var(--pk-s7));
    border-top: 3px solid var(--pk-ink);
}
.pk-legal-contact h2 {
    max-width: 34ch;
    margin: var(--pk-s2) 0 0;
    font-size: clamp(1.2rem, 1.05rem + .55vw, 1.55rem);
}
@media (min-width: 960px) {
    .pk-legal-layout { grid-template-columns: minmax(230px, 280px) minmax(0, 1fr); }
    .pk-legal-nav { position: sticky; top: 112px; }
    .pk-legal-contact { grid-template-columns: minmax(0, 1fr) auto; }
}
@media (max-width: 959px) {
    .pk-legal-nav nav:first-child ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
    .pk-legal-nav nav:first-child ol { grid-template-columns: minmax(0, 1fr); }
    .pk-legal-article { padding-inline: var(--pk-s5); }
    .pk-legal-contact .pk-btn { width: 100%; }
}

.pk-content-layout {
    display: grid;
    gap: var(--pk-s7);
    align-items: start;
}
@media (min-width: 992px) {
    .pk-content-layout { grid-template-columns: minmax(0, 1fr) 320px; }
}
.pk-content-aside {
    padding: var(--pk-s5);
    background: var(--pk-surface);
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius-md);
}
.pk-content-aside h2,
.pk-data-card h2,
.pk-contact-card h2,
.pk-sitemap-group h2 {
    font-size: .8125rem;
    font-family: var(--pk-font-mono);
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--pk-muted);
}

.pk-figure {
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius);
    background: var(--pk-surface);
}
.pk-figure img { width: 100%; }
.pk-figure__caption {
    padding: var(--pk-s3);
    color: var(--pk-muted);
    font-size: .8125rem;
}

/* Award showcase: a CMS-backed centre-stage carousel. It follows the live
   Primitek pattern of a primary image with adjacent previews, with keyboard,
   pointer and reduced-motion behaviour added for a stronger usable version. */
.pk-awards-showcase {
    overflow: hidden;
    padding-block: 0;
    background: var(--pk-white);
}
.pk-awards-showcase .pk-wrap {
    max-width: none;
    padding-inline: 0;
}
.pk-awards-showcase__count {
    align-self: end;
    color: var(--pk-muted);
    font-family: var(--pk-font-label);
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: var(--pk-label-track);
    text-transform: uppercase;
}
.pk-awards-carousel {
    position: relative;
    padding: clamp(20px, 3vw, 42px) clamp(52px, 7vw, 116px);
    overflow: hidden;
    background: var(--pk-red-deep);
}
.pk-awards-carousel__stage {
    position: relative;
    height: clamp(360px, 42vw, 640px);
    outline: none;
    touch-action: pan-y;
}
.pk-awards-carousel__stage:focus-visible { box-shadow: 0 0 0 3px rgba(255, 255, 255, .8); }
.pk-awards-carousel__slides { position: relative; width: 100%; height: 100%; }
.pk-awards-carousel__slide {
    position: absolute;
    top: 0;
    left: 50%;
    display: grid;
    width: clamp(190px, 25vw, 400px);
    height: 100%;
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .38);
    border-radius: var(--pk-radius-md);
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 18px 38px rgba(67, 9, 15, .28);
    opacity: 0;
    pointer-events: none;
    transform: translate3d(-50%, 0, 0) scale(.68);
    transition: opacity 500ms var(--pk-ease-out), transform 680ms var(--pk-ease-out), filter 500ms var(--pk-ease-out);
}
.pk-awards-carousel__slide.is-active {
    z-index: 3;
    width: clamp(270px, 42vw, 660px);
    opacity: 1;
    pointer-events: auto;
    transform: translate3d(-50%, 0, 0) scale(1);
}
.pk-awards-carousel__slide.is-before,
.pk-awards-carousel__slide.is-after { z-index: 2; opacity: .62; filter: saturate(.82) brightness(.88); }
.pk-awards-carousel__slide.is-before { transform: translate3d(calc(-50% - clamp(210px, 31vw, 500px)), 11%, 0) scale(.62); }
.pk-awards-carousel__slide.is-after { transform: translate3d(calc(-50% + clamp(210px, 31vw, 500px)), 11%, 0) scale(.62); }
.pk-awards-carousel__slide.is-hidden { z-index: 1; }
.pk-awards-carousel__slide .pk-lightbox-trigger,
.pk-awards-carousel__slide .pk-lightbox-trigger img {
    width: 100%;
    height: 100%;
    min-height: 0;
}
.pk-awards-carousel__slide .pk-lightbox-trigger {
    display: grid;
    place-items: center;
    padding: clamp(14px, 2.2vw, 32px);
    background: #fff;
}
.pk-awards-carousel__slide .pk-lightbox-trigger img {
    object-fit: contain;
    transition: transform 650ms var(--pk-ease-out);
}
.pk-awards-carousel__control {
    position: absolute;
    z-index: 5;
    top: 50%;
    display: grid;
    width: 48px;
    height: 74px;
    place-items: center;
    border: 0;
    border-radius: 0 8px 8px 0;
    background: rgba(129, 11, 21, .88);
    color: #fff;
    font-size: 1.65rem;
    transform: translateY(-50%);
    transition: background var(--pk-motion-fast), width var(--pk-motion-fast);
}
.pk-awards-carousel__control--prev { left: 0; }
.pk-awards-carousel__control--next { right: 0; border-radius: 8px 0 0 8px; }
.pk-awards-carousel__control:hover,
.pk-awards-carousel__control:focus-visible { width: 58px; background: var(--pk-ink); }
.pk-awards-carousel__control:disabled { opacity: .42; cursor: not-allowed; }
@media (max-width: 767px) {
    .pk-awards-showcase__count { margin-top: var(--pk-s4); }
    .pk-awards-carousel { padding-inline: 40px; }
    .pk-awards-carousel__stage { height: clamp(330px, 106vw, 490px); }
    .pk-awards-carousel__slide.is-active { width: min(100%, 390px); }
    .pk-awards-carousel__slide.is-before { transform: translate3d(calc(-50% - 52vw), 12%, 0) scale(.52); }
    .pk-awards-carousel__slide.is-after { transform: translate3d(calc(-50% + 52vw), 12%, 0) scale(.52); }
    .pk-awards-carousel__control { width: 36px; height: 58px; font-size: 1.25rem; }
    .pk-awards-carousel__control:hover,
    .pk-awards-carousel__control:focus-visible { width: 40px; }
}
@media (prefers-reduced-motion: reduce) {
    .pk-awards-carousel__slide,
    .pk-awards-carousel__slide .pk-lightbox-trigger img,
    .pk-awards-carousel__control { transition: none; }
}

/* Award records follow the same image-led editorial rhythm as the appliance
   news index: a calm white grid, practical reading width and restrained hover. */
.pk-awards-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(18px, 2vw, 30px);
}
.pk-award-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius-md);
    background: var(--pk-white);
    box-shadow: 0 10px 28px rgba(16, 20, 24, .055);
    transition: border-color var(--pk-motion-fast), box-shadow var(--pk-motion-medium) var(--pk-ease-out), transform var(--pk-motion-medium) var(--pk-ease-out);
}
.pk-award-card__media {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--pk-surface);
}
.pk-award-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 600ms var(--pk-ease-out);
}
.pk-award-card__body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: flex-start;
    padding: clamp(20px, 2vw, 28px);
}
.pk-award-card__date {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: var(--pk-s3);
    color: var(--pk-muted);
    font-family: var(--pk-font-label);
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: var(--pk-label-track);
    line-height: 1.3;
    text-transform: uppercase;
}
.pk-award-card__date::before { content: "◷"; color: var(--pk-red-deep); font-size: .9rem; }
.pk-award-card h3 {
    margin: 0;
    color: var(--pk-ink);
    font-size: clamp(1.05rem, .98rem + .28vw, 1.25rem);
    line-height: 1.35;
}
.pk-award-card p {
    margin: var(--pk-s3) 0 0;
    color: var(--pk-muted);
    font-size: .9375rem;
    line-height: 1.6;
}
.pk-award-card__place {
    margin-top: auto !important;
    padding-top: var(--pk-s4);
    color: var(--pk-ink) !important;
    font-size: .8125rem !important;
    font-weight: 600;
}
.pk-award-card:hover,
.pk-award-card:focus-within {
    border-color: rgba(196, 19, 32, .45);
    box-shadow: 0 18px 36px rgba(16, 20, 24, .13);
    transform: translateY(-5px);
}
.pk-award-card:hover .pk-award-card__media img,
.pk-award-card:focus-within .pk-award-card__media img { transform: scale(1.045); }
@media (max-width: 1099px) { .pk-awards-list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 719px) { .pk-awards-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 459px) { .pk-awards-list { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) {
    .pk-award-card,
    .pk-award-card__media img { transition: none; }
    .pk-award-card:hover,
    .pk-award-card:focus-within { transform: none; }
}

/* Award-event photos use a directly manipulable rail: it can be dragged with
   a mouse or swiped on touch, with the shared discovery controls providing a
   calm automatic advance that pauses whenever someone is interacting. */
.pk-award-events-rail .pk-discovery-rail__toolbar { margin-bottom: var(--pk-s4); }
.pk-award-events-rail__track {
    grid-auto-columns: minmax(240px, 72%);
    gap: clamp(16px, 2vw, 28px);
    padding: 3px 3px var(--pk-s4);
}
.pk-award-events-rail__item {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius-md);
    background: var(--pk-surface);
    box-shadow: 0 7px 22px rgba(16, 20, 24, .06);
    scroll-snap-align: start;
    transition: border-color var(--pk-motion-fast), box-shadow var(--pk-motion-medium) var(--pk-ease-out), transform var(--pk-motion-medium) var(--pk-ease-out);
}
.pk-award-events-rail__item .pk-lightbox-trigger,
.pk-award-events-rail__item .pk-lightbox-trigger img,
.pk-award-events-rail__item > img {
    display: block;
    width: 100%;
    height: 100%;
}
.pk-award-events-rail__item .pk-lightbox-trigger,
.pk-award-events-rail__item > img { aspect-ratio: 6 / 5; }
.pk-award-events-rail__item .pk-lightbox-trigger img,
.pk-award-events-rail__item > img { object-fit: cover; transition: transform 600ms var(--pk-ease-out); }
.pk-award-events-rail__item:hover,
.pk-award-events-rail__item:focus-within {
    border-color: rgba(196, 19, 32, .45);
    box-shadow: 0 16px 34px rgba(16, 20, 24, .13);
    transform: translateY(-4px);
}
.pk-award-events-rail__item:hover img,
.pk-award-events-rail__item:focus-within img { transform: scale(1.035); }
@media (min-width: 720px) { .pk-award-events-rail__track { grid-auto-columns: minmax(250px, 40%); } }
@media (min-width: 1100px) { .pk-award-events-rail__track { grid-auto-columns: minmax(270px, 28.75%); } }
@media (prefers-reduced-motion: reduce) {
    .pk-award-events-rail__item,
    .pk-award-events-rail__item img { transition: none; }
    .pk-award-events-rail__item:hover,
    .pk-award-events-rail__item:focus-within { transform: none; }
}

/* News index — an image-led, consistently readable editorial grid. */
.pk-news-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(18px, 2vw, 30px);
}
.pk-news-list__card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius-md);
    background: var(--pk-white);
    box-shadow: 0 10px 28px rgba(16, 20, 24, .055);
    transition: border-color var(--pk-motion-fast), box-shadow var(--pk-motion-medium) var(--pk-ease-out), transform var(--pk-motion-medium) var(--pk-ease-out);
}
.pk-news-list__media {
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--pk-surface);
}
.pk-news-list__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 600ms var(--pk-ease-out);
}
.pk-news-list__placeholder {
    position: relative;
    display: flex;
    width: 100%;
    height: 100%;
    flex-direction: column;
    justify-content: flex-end;
    overflow: hidden;
    padding: clamp(20px, 2.4vw, 32px);
    color: var(--pk-ink);
    background:
        linear-gradient(135deg, rgba(196, 19, 32, .12), transparent 48%),
        linear-gradient(45deg, #f7f9fa, #e9eef2);
}
.pk-news-list__placeholder::before,
.pk-news-list__placeholder::after {
    position: absolute;
    border: 1px solid rgba(196, 19, 32, .22);
    border-radius: 50%;
    content: '';
}
.pk-news-list__placeholder::before {
    width: 11rem;
    height: 11rem;
    top: -5.5rem;
    right: -3rem;
}
.pk-news-list__placeholder::after {
    width: 7rem;
    height: 7rem;
    top: -2.75rem;
    right: -.8rem;
}
.pk-news-list__placeholder-kicker,
.pk-news-list__placeholder-title { position: relative; z-index: 1; }
.pk-news-list__placeholder-kicker {
    margin-bottom: 8px;
    color: var(--pk-red-deep);
    font-family: var(--pk-font-label);
    font-size: .6875rem;
    font-weight: 800;
    letter-spacing: var(--pk-label-track);
    text-transform: uppercase;
}
.pk-news-list__placeholder-title {
    max-width: 11rem;
    font-size: clamp(1.15rem, 1rem + .4vw, 1.45rem);
    font-weight: 700;
    line-height: 1.12;
}
.pk-news-list__placeholder-mark {
    position: absolute;
    width: 50px;
    height: 7px;
    right: clamp(20px, 2.4vw, 32px);
    bottom: clamp(24px, 3vw, 40px);
    background: var(--pk-red-deep);
}
.pk-news-list__body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: flex-start;
    padding: clamp(20px, 2vw, 28px);
}
.pk-news-list__date {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: var(--pk-s3);
    color: var(--pk-muted);
    font-family: var(--pk-font-label);
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: var(--pk-label-track);
    line-height: 1.3;
    text-transform: uppercase;
}
.pk-news-list__date::before { content: "◷"; color: var(--pk-red-deep); font-size: .9rem; }
.pk-news-list__body h2 {
    margin: 0;
    font-size: clamp(1.05rem, .98rem + .28vw, 1.25rem);
    line-height: 1.35;
}
.pk-news-list__body h2 a { color: var(--pk-ink); text-decoration: none; }
.pk-news-list__body p {
    display: -webkit-box;
    overflow: hidden;
    margin: var(--pk-s3) 0 0;
    color: var(--pk-muted);
    font-size: .9375rem;
    line-height: 1.6;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
.pk-news-list__read {
    display: inline-flex;
    align-items: center;
    gap: var(--pk-s2);
    margin-top: auto;
    padding-top: var(--pk-s5);
    color: var(--pk-red-deep);
    font-size: .875rem;
    font-weight: 700;
    text-decoration: none;
}
.pk-news-list__read span { transition: transform var(--pk-motion-fast) var(--pk-ease-out); }
.pk-news-list__card:hover,
.pk-news-list__card:focus-within {
    border-color: rgba(196, 19, 32, .45);
    box-shadow: 0 18px 36px rgba(16, 20, 24, .13);
    transform: translateY(-5px);
}
.pk-news-list__card:hover .pk-news-list__media img,
.pk-news-list__card:focus-within .pk-news-list__media img { transform: scale(1.045); }
.pk-news-list__card:hover .pk-news-list__read span,
.pk-news-list__card:focus-within .pk-news-list__read span { transform: translateX(4px); }
@media (max-width: 1099px) { .pk-news-list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 719px) { .pk-news-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 459px) { .pk-news-list { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) {
    .pk-news-list__card,
    .pk-news-list__media img,
    .pk-news-list__read span { transition: none; }
    .pk-news-list__card:hover,
    .pk-news-list__card:focus-within { transform: none; }
}
/* News detail — the article is led by the story, not an oversized generic
   page heading. This works equally well for full articles and image-only CMS
   updates. */
.pk-news-article-hero {
    padding-block: clamp(30px, 3.5vw, 52px) clamp(44px, 5vw, 76px);
    background: var(--pk-surface);
    border-bottom: 1px solid var(--pk-line);
}
.pk-news-article-hero .pk-breadcrumb {
    margin-bottom: clamp(28px, 3.5vw, 46px);
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
.pk-news-article-hero .pk-breadcrumb ol { gap: 8px; font-size: .8125rem; }
.pk-news-article-hero .pk-breadcrumb a,
.pk-news-article-hero .pk-breadcrumb [aria-current="page"] {
    min-height: 0;
    padding: 0;
    color: var(--pk-muted);
    background: transparent;
    border-radius: 0;
}
.pk-news-article-hero .pk-breadcrumb [aria-current="page"] { color: var(--pk-ink-2); }
.pk-news-article-hero__grid {
    display: grid;
    gap: clamp(28px, 5vw, 76px);
    align-items: center;
}
.pk-news-article-hero__content { max-width: 780px; }
.pk-news-article-hero h1 {
    max-width: none;
    margin: 0;
    font-size: clamp(2rem, 1.55rem + 1.55vw, 3rem);
    letter-spacing: -.035em;
    line-height: 1.1;
}
.pk-news-article-hero__intro {
    max-width: 58ch;
    margin: var(--pk-s4) 0 0;
    color: var(--pk-muted);
    font-size: clamp(1rem, .96rem + .14vw, 1.0625rem);
    line-height: 1.65;
}
.pk-news-article-hero__meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--pk-s3) var(--pk-s5);
    align-items: center;
    margin-top: var(--pk-s5);
    color: var(--pk-muted);
    font-family: var(--pk-font-label);
    font-size: .8125rem;
    font-weight: 700;
    letter-spacing: .025em;
    line-height: 1.4;
}
.pk-news-article-hero__meta time { display: inline-flex; gap: 8px; align-items: center; }
.pk-news-article-hero__meta time span { color: var(--pk-red-deep); font-size: 1rem; }
.pk-news-article-hero__meta a {
    color: var(--pk-red-deep);
    text-decoration: none;
}
.pk-news-article-hero__meta a span { display: inline-block; margin-left: 4px; transition: transform var(--pk-motion-fast) var(--pk-ease-out); }
.pk-news-article-hero__meta a:hover span,
.pk-news-article-hero__meta a:focus-visible span { transform: translateX(4px); }
.pk-news-article-hero__media,
.pk-news-article-hero__fallback {
    aspect-ratio: 4 / 3;
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius-md);
    box-shadow: 0 18px 38px rgba(16, 20, 24, .09);
}
.pk-news-article-hero__media { background: var(--pk-white); }
.pk-news-article-hero__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.pk-news-article-hero__fallback {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: clamp(24px, 3vw, 42px);
    background: linear-gradient(135deg, rgba(196, 19, 32, .12), transparent 58%), var(--pk-white);
}
.pk-news-article-hero__fallback::before,
.pk-news-article-hero__fallback::after {
    position: absolute;
    border: 1px solid rgba(196, 19, 32, .22);
    border-radius: 50%;
    content: '';
}
.pk-news-article-hero__fallback::before { width: 72%; aspect-ratio: 1; top: -26%; right: -17%; }
.pk-news-article-hero__fallback::after { width: 44%; aspect-ratio: 1; top: -9%; right: 0; }
.pk-news-article-hero__fallback span,
.pk-news-article-hero__fallback strong { position: relative; z-index: 1; }
.pk-news-article-hero__fallback span {
    margin-bottom: 8px;
    color: var(--pk-red-deep);
    font-family: var(--pk-font-label);
    font-size: .6875rem;
    font-weight: 800;
    letter-spacing: var(--pk-label-track);
    text-transform: uppercase;
}
.pk-news-article-hero__fallback strong { font-size: clamp(1.25rem, 1rem + .65vw, 1.85rem); line-height: 1.1; }
.pk-news-article__copy { max-width: 760px; margin-inline: auto; }
.pk-news-article__copy > :first-child { margin-top: 0; }
.pk-news-article__copy > :last-child { margin-bottom: 0; }
.pk-news-article__note {
    padding: clamp(22px, 3vw, 34px);
    background: linear-gradient(135deg, rgba(196, 19, 32, .06), transparent 62%), var(--pk-surface);
    border: 1px solid var(--pk-line);
    border-left: 3px solid var(--pk-red-deep);
    border-radius: 0 var(--pk-radius-md) var(--pk-radius-md) 0;
}
.pk-news-article__note .pk-eyebrow { margin-bottom: var(--pk-s2); }
.pk-news-article__note p { margin: 0; color: var(--pk-ink-2); line-height: 1.65; }
.pk-news-list--related { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (min-width: 900px) {
    .pk-news-article-hero__grid { grid-template-columns: minmax(0, 1.4fr) minmax(300px, .8fr); }
}
@media (max-width: 719px) {
    .pk-news-article-hero { padding-block: var(--pk-s6) var(--pk-s7); }
    .pk-news-article-hero__media,
    .pk-news-article-hero__fallback { max-width: 520px; }
}
/* Text-led editorial cards must never become narrow columns on a phone.
   This deliberately overrides the tablet two-column rule for the news and
   awards systems; horizontal rails retain their own intentional behaviour. */
@media (max-width: 639px) {
    .pk-news-list,
    .pk-news-list--related,
    .pk-awards-list { grid-template-columns: 1fr; }
    .pk-news-list__body,
    .pk-award-card__body { padding: var(--pk-s5); }
}
@media (prefers-reduced-motion: reduce) {
    .pk-news-article-hero__meta a span { transition: none; }
    .pk-news-article-hero__meta a:hover span,
    .pk-news-article-hero__meta a:focus-visible span { transform: none; }
}
.pk-article-figure { margin-bottom: 40px; }
.pk-article-back { margin-top: 40px; }

.pk-data-card,
.pk-contact-card {
    padding: var(--pk-s5);
    background: var(--pk-surface);
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius-md);
}
.pk-data-card dl { margin: 0; font-size: .9375rem; }
.pk-data-card dt { color: var(--pk-ink); font-weight: 600; }
.pk-data-card dd { margin: 0 0 var(--pk-s4); }
.pk-data-card__logo {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 92px;
    margin: calc(var(--pk-s5) * -1) calc(var(--pk-s5) * -1) var(--pk-s5);
    padding: var(--pk-s4);
    background: #fff;
    border-bottom: 1px solid var(--pk-line);
    border-radius: var(--pk-radius-md) var(--pk-radius-md) 0 0;
}
.pk-data-card__logo img { width: 180px; height: 64px; object-fit: contain; }

.pk-business-layout,
.pk-product-layout,
.pk-contact-layout,
.pk-leader {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--pk-s7);
    align-items: start;
}
@media (min-width: 768px) {
    .pk-leader { grid-template-columns: 320px minmax(0, 1fr); }
}
@media (min-width: 992px) {
    .pk-business-layout { grid-template-columns: minmax(0, 1fr) 320px; }
    .pk-contact-layout { grid-template-columns: minmax(0, 1fr) minmax(300px, .82fr); gap: 56px; }
    .pk-product-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}
.pk-leader { margin-bottom: 56px; }
.pk-leader:last-child { margin-bottom: 0; }
.pk-leader__media {
    max-width: 320px;
    overflow: hidden;
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius-md);
    background: var(--pk-surface);
}
.pk-leader__name { margin-bottom: var(--pk-s1); }
.pk-leader__role {
    color: var(--pk-red-deep);
    font-size: .8125rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.pk-product-media {
    overflow: hidden;
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius-md);
    background: var(--pk-surface);
}
.pk-product-gallery { margin-top: var(--pk-s4); gap: var(--pk-s3); }
.pk-product-gallery__item {
    overflow: hidden;
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius);
}
.pk-product-copy { margin-bottom: var(--pk-s6); }
.pk-product-heading { font-size: 1.125rem; }
.pk-product-maker { color: var(--pk-muted); font-size: .9375rem; }
.pk-category-link { color: inherit; }

.pk-contact-card { padding: var(--pk-s6); }
.pk-contact-card address { line-height: 1.7; margin-bottom: var(--pk-s5); }
.pk-contact-card h3 {
    color: var(--pk-muted);
    font-size: .8125rem;
    font-family: var(--pk-font-mono);
    letter-spacing: .1em;
    text-transform: uppercase;
}

/* ---------------------------------------------------- brand/editorial story */

.pk-prose--flush { max-width: none; }
.pk-prose--flush > :first-child { margin-top: 0; }
.pk-prose--flush > :last-child { margin-bottom: 0; }

.pk-brand-lead {
    display: grid;
    gap: var(--pk-s7);
    align-items: start;
}
.pk-brand-lead > div { max-width: 780px; }
.pk-brand-lead h2,
.pk-business-intro h2 {
    max-width: 780px;
    margin-bottom: var(--pk-s5);
    font-size: var(--pk-type-feature);
    line-height: 1.05;
    letter-spacing: -.035em;
}
.pk-brand-lead__text {
    max-width: 760px;
    margin: 0;
    color: var(--pk-muted);
    font-size: clamp(1.05rem, 1.5vw, 1.25rem);
    line-height: 1.72;
}
.pk-brand-principle {
    padding: var(--pk-s6);
    background: var(--pk-surface);
    border-top: 3px solid var(--pk-red);
    border-radius: 0 0 var(--pk-radius-md) var(--pk-radius-md);
}
.pk-brand-principle p {
    margin: var(--pk-s4) 0 0;
    color: var(--pk-ink);
    font-family: var(--pk-font-display);
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.38;
}
@media (min-width: 900px) {
    .pk-brand-lead {
        grid-template-columns: minmax(0, 1.65fr) minmax(280px, .75fr);
        gap: clamp(48px, 7vw, 96px);
    }
}

.pk-brand-story-grid {
    display: grid;
    gap: 1px;
    overflow: hidden;
    background: var(--pk-line);
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius-md);
}
.pk-brand-story-card {
    min-width: 0;
    padding: clamp(28px, 4vw, 48px);
    scroll-margin-top: 130px;
    background: #fff;
}
.pk-brand-story-card h2,
.pk-brand-story-card h3 {
    margin-bottom: var(--pk-s4);
    font-size: clamp(1.35rem, 2.3vw, 1.8rem);
    line-height: 1.16;
}
.pk-brand-story-card__copy { color: var(--pk-muted); }
.pk-brand-story-card__copy p { margin-bottom: var(--pk-s4); }
.pk-brand-story-card__copy ul,
.pk-brand-story-card__copy ol { margin-bottom: 0; }
@media (min-width: 780px) {
    .pk-brand-story-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1080px) {
    .pk-brand-story-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* ---------------------------------------------------------- about profile */
/*
   A calm, image-led editorial sequence.  The sizing deliberately stays below
   the site feature type tier so long statements remain readable on desktop
   and mobile alike.  All rails use native horizontal scrolling: touch, mouse
   wheel and keyboard work without a heavy carousel dependency.
*/
.pk-about-hero {
    padding: clamp(48px, 7vw, 104px) 0;
    overflow: hidden;
    background: linear-gradient(118deg, #F7F9FA 0%, #F7F9FA 53%, #FDEEEF 53%, #FDEEEF 100%);
}
.pk-about-hero__grid {
    display: grid;
    align-items: center;
    gap: clamp(32px, 6vw, 88px);
}
.pk-about-hero__copy { max-width: 630px; }
.pk-about-hero h1 {
    max-width: 15ch;
    margin: var(--pk-s4) 0 var(--pk-s5);
    font-size: clamp(2.25rem, 2rem + 2vw, 4rem);
    letter-spacing: -.05em;
    line-height: 1.02;
}
.pk-about-hero__lede {
    max-width: 57ch;
    margin: 0 0 var(--pk-s5);
    color: var(--pk-muted);
    font-size: clamp(1rem, .95rem + .35vw, 1.18rem);
    line-height: 1.72;
}
.pk-about-hero__media {
    margin: 0;
    overflow: hidden;
    border-radius: 0 0 var(--pk-radius-md) var(--pk-radius-md);
    box-shadow: var(--pk-shadow-float);
}
.pk-about-hero__media img { display: block; width: 100%; aspect-ratio: 1.31; object-fit: cover; }

.pk-about-journey { padding: clamp(48px, 6vw, 96px) 0 0; background: var(--pk-red-deep); color: #fff; }
.pk-about-journey__grid { display: grid; gap: var(--pk-s7); }
.pk-about-journey .pk-eyebrow { color: #FFD1D4; }
.pk-about-journey h2 {
    max-width: 13ch;
    margin: var(--pk-s4) 0 0;
    color: #fff;
    font-size: clamp(1.9rem, 1.55rem + 1.6vw, 3rem);
    letter-spacing: -.04em;
    line-height: 1.05;
}
.pk-about-journey__copy { max-width: 65ch; color: #fff; }
.pk-about-journey__copy p { color: inherit; }
.pk-about-proof {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    margin: clamp(40px, 5vw, 72px) 0 0;
    padding: 1px 0 0;
    background: rgba(255,255,255,.28);
    list-style: none;
}
.pk-about-proof li { min-width: 0; padding: var(--pk-s5) var(--pk-s4); background: var(--pk-red-deep); }
.pk-about-proof strong { display: block; color: #fff; font-family: var(--pk-font-display); font-size: clamp(1.5rem, 2vw, 2.25rem); line-height: 1.1; }
.pk-about-proof span { display: block; margin-top: var(--pk-s2); color: #FFD1D4; font-size: .8rem; font-weight: 700; letter-spacing: .06em; line-height: 1.3; text-transform: uppercase; }

.pk-about-excellence .pk-sec-head--split > p,
.pk-about-people .pk-sec-head--split > p { max-width: 50ch; margin: 0; color: var(--pk-muted); }
.pk-about-excellence__grid { display: grid; gap: var(--pk-s4); }
.pk-about-feature {
    display: grid;
    overflow: hidden;
    min-width: 0;
    background: var(--pk-surface);
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius-md);
}
.pk-about-feature > img { display: block; width: 100%; height: 220px; object-fit: cover; }
.pk-about-feature__copy { padding: var(--pk-s5); }
.pk-about-feature__copy > span { color: var(--pk-red-deep); font-family: var(--pk-font-mono); font-size: .75rem; font-weight: 700; letter-spacing: .1em; }
.pk-about-feature h3 { margin: var(--pk-s3) 0; font-size: clamp(1.2rem, 1rem + .55vw, 1.55rem); line-height: 1.16; }
.pk-about-feature p { margin: 0; color: var(--pk-muted); font-size: .94rem; line-height: 1.62; }

.pk-about-people { padding: clamp(56px, 8vw, 112px) 0; background: #12171B; }
.pk-about-people h2, .pk-about-people h3, .pk-about-people h4 { color: #fff; }
.pk-about-people .pk-eyebrow { color: #F27479; }
.pk-about-people .pk-sec-head--split > p { color: #B9C2CA; }
.pk-about-people .pk-link-arrow { color: #fff; }
.pk-about-people .pk-link-arrow:hover { color: #FFD1D4; }
.pk-about-people__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--pk-s4); margin-top: var(--pk-s7); }
.pk-about-people__head h3 { margin: 0; font-size: clamp(1.25rem, 1rem + .65vw, 1.65rem); }
.pk-about-people__head--next { margin-top: clamp(48px, 6vw, 80px); }
.pk-about-people__rail {
    display: flex;
    gap: var(--pk-s4);
    margin: var(--pk-s5) calc(50% - min(50%, var(--pk-maxw) / 2)) 0;
    padding: 0 max(var(--pk-s4), calc((100vw - min(100vw - (var(--pk-s4) * 2), var(--pk-maxw))) / 2)) var(--pk-s3);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-color: #59646F transparent;
    scrollbar-width: thin;
}
.pk-about-person { flex: 0 0 min(76vw, 278px); overflow: hidden; scroll-snap-align: start; background: #20262D; border-radius: var(--pk-radius-md); }
.pk-about-person__media { aspect-ratio: .92; background: #30363D; }
.pk-about-person__media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.pk-about-person > div:last-child { padding: var(--pk-s4) var(--pk-s4) var(--pk-s5); }
.pk-about-person h4 { margin: 0 0 var(--pk-s2); font-size: 1.02rem; }
.pk-about-person p { margin: 0; color: #B9C2CA; font-size: .75rem; font-weight: 700; letter-spacing: .06em; line-height: 1.4; text-transform: uppercase; }

.pk-about-direction { padding: clamp(48px, 7vw, 104px) 0; background: #fff; }
.pk-about-direction__band { display: grid; margin: 0; overflow: hidden; background: var(--pk-surface); border: 1px solid var(--pk-line); }
.pk-about-direction__band + .pk-about-direction__band { margin-top: var(--pk-s5); }
.pk-about-direction__image { min-height: 250px; background: #FDEEEF; }
.pk-about-direction__image img { display: block; width: 100%; height: 100%; min-height: inherit; object-fit: cover; }
.pk-about-direction__copy { padding: clamp(28px, 5vw, 72px); align-self: center; }
.pk-about-direction__copy h2 { max-width: 21ch; margin: var(--pk-s4) 0 0; font-size: clamp(1.55rem, 1.35rem + 1vw, 2.35rem); letter-spacing: -.035em; line-height: 1.16; }
.pk-about-direction__copy ul { display: grid; gap: var(--pk-s3); margin: var(--pk-s5) 0 0; padding: 0; list-style: none; }
.pk-about-direction__copy li { display: grid; gap: var(--pk-s1); padding-top: var(--pk-s3); border-top: 1px solid var(--pk-line); }
.pk-about-direction__copy li strong { font-size: .95rem; }
.pk-about-direction__copy li span { color: var(--pk-muted); font-size: .86rem; line-height: 1.5; }
.pk-about-companies { border-top: 1px solid var(--pk-line); }

.pk-about-closing { padding: clamp(48px, 7vw, 104px) 0; background: var(--pk-ink); }
.pk-about-closing__grid { display: grid; gap: clamp(28px, 6vw, 88px); align-items: center; }
.pk-about-closing__grid > img { width: 100%; border-radius: var(--pk-radius-md); }
.pk-about-closing .pk-eyebrow { color: #F27479; }
.pk-about-closing h2 { max-width: 16ch; margin-top: var(--pk-s4); color: #fff; font-size: clamp(1.7rem, 1.45rem + 1.1vw, 2.55rem); letter-spacing: -.035em; }
.pk-about-closing p { max-width: 56ch; color: #B9C2CA; }
.pk-about-closing .pk-btn { margin-top: var(--pk-s3); }

@media (min-width: 720px) {
    .pk-about-hero__grid, .pk-about-journey__grid, .pk-about-closing__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pk-about-proof { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .pk-about-excellence__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pk-about-feature--wide { grid-column: span 2; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); }
    .pk-about-feature--wide > img { height: 100%; min-height: 300px; }
    .pk-about-direction__band { grid-template-columns: repeat(2, minmax(0, 1fr)); min-height: 410px; }
    .pk-about-direction__band--reverse .pk-about-direction__image { order: 2; }
}
@media (min-width: 980px) {
    .pk-about-excellence__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .pk-about-feature--wide { grid-column: span 2; }
    .pk-about-feature--wide > img { min-height: 250px; }
    .pk-about-person { flex-basis: 278px; }
}
@media (max-width: 719px) {
    .pk-about-hero { background: linear-gradient(160deg, #F7F9FA 0%, #F7F9FA 63%, #FDEEEF 63%, #FDEEEF 100%); }
    .pk-about-hero h1 { max-width: 14ch; }
    .pk-about-journey h2 br { display: none; }
    .pk-about-people__head { align-items: center; }
    .pk-about-people__head .pk-link-arrow { font-size: .875rem; }
    .pk-about-direction__image { min-height: 220px; }
}
@media (prefers-reduced-motion: reduce) {
    .pk-about-people__rail { scroll-behavior: auto; }
}

.pk-business-intro { max-width: 800px; }
.pk-business-intro .pk-eyebrow { margin-bottom: var(--pk-s4); }

.pk-profile-nav {
    border-top: 1px solid var(--pk-line);
    border-bottom: 1px solid var(--pk-line);
    background: #fff;
}
.pk-profile-nav__inner {
    display: flex;
    align-items: center;
    gap: var(--pk-s5);
    min-height: 64px;
    overflow: hidden;
}
.pk-profile-nav__label {
    flex: 0 0 auto;
    color: var(--pk-red-deep);
    font-family: var(--pk-font-mono);
    font-size: .7rem;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.pk-profile-nav ul {
    display: flex;
    flex: 1 1 auto;
    gap: var(--pk-s5);
    margin: 0;
    padding: var(--pk-s3) 0;
    overflow-x: auto;
    list-style: none;
    scrollbar-width: thin;
}
.pk-profile-nav li { flex: 0 0 auto; }
.pk-profile-nav a {
    color: var(--pk-muted);
    font-size: .875rem;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
}
.pk-profile-nav a:hover,
.pk-profile-nav a:focus-visible { color: var(--pk-red-deep); }
@media (max-width: 639px) {
    .pk-profile-nav__inner { display: block; padding-top: var(--pk-s3); }
    .pk-profile-nav ul { gap: var(--pk-s4); padding-top: var(--pk-s2); }
}

.pk-principle-grid {
    display: grid;
    gap: 1px;
    margin-top: var(--pk-s7);
    overflow: hidden;
    background: #30363D;
    border: 1px solid #30363D;
    border-radius: var(--pk-radius-md);
}
.pk-principle-card {
    min-width: 0;
    padding: clamp(30px, 4vw, 48px);
    background: #171C21;
}
.pk-principle-card .pk-eyebrow { color: #F27479; }
.pk-principle-card h3 {
    margin: var(--pk-s5) 0 0;
    color: #fff;
    font-size: clamp(1.35rem, 2.5vw, 2rem);
    line-height: 1.35;
}
.pk-values-grid {
    display: grid;
    gap: 1px;
    margin-top: 1px;
    overflow: hidden;
    background: #30363D;
    border: 1px solid #30363D;
    border-radius: var(--pk-radius-md);
}
.pk-value-card {
    min-width: 0;
    padding: var(--pk-s6);
    background: #12171B;
}
.pk-value-card h3 { margin-bottom: var(--pk-s3); color: #fff; font-size: 1.05rem; }
.pk-value-card p { margin: 0; color: #A8B2BC; font-size: .93rem; line-height: 1.65; }
@media (min-width: 720px) {
    .pk-principle-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pk-values-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1180px) {
    .pk-values-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

.pk-count-row { margin-bottom: var(--pk-s6); color: var(--pk-muted); }
.pk-section-cta-head { margin-bottom: var(--pk-s6); }
.pk-follow-heading { margin-top: var(--pk-s6); }

.pk-sitemap-grid { align-items: start; }
.pk-sitemap-list { list-style: none; padding: 0; }

.pk-faq { border-bottom: 1px solid var(--pk-line); }
.pk-faq summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--pk-s4);
    min-height: 56px;
    padding-block: var(--pk-s3);
    color: var(--pk-ink);
    font-size: 1.0625rem;
    font-weight: 600;
    line-height: 1.4;
    list-style: none;
}
.pk-faq summary::-webkit-details-marker { display: none; }
.pk-faq summary::after { content: "+"; color: var(--pk-red-deep); font-size: 1.4rem; font-weight: 400; }
.pk-faq[open] summary::after { content: "\2212"; }
.pk-faq__answer { padding: 0 0 var(--pk-s5); }

.pk-video-media { width: 100%; display: block; background: #000; }

.pk-breadcrumb {
    display: inline-flex;
    max-width: 100%;
    margin-bottom: var(--pk-s5);
    padding: 4px;
    border: 1px solid rgba(196, 19, 32, .16);
    border-radius: 999px;
    background: rgba(255, 255, 255, .8);
    box-shadow: 0 8px 22px rgba(16, 20, 24, .045);
}
.pk-breadcrumb ol {
    display: flex;
    align-items: center;
    max-width: 100%;
    gap: 4px;
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: .875rem;
    font-weight: 700;
    color: var(--pk-muted);
}
.pk-breadcrumb li + li::before {
    content: "›";
    display: inline-block;
    margin: 0 4px 0 2px;
    color: #87919A;
    font-size: 1.125em;
    font-weight: 400;
    vertical-align: -1px;
}
.pk-breadcrumb a {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 10px;
    border-radius: 999px;
    color: var(--pk-ink-2);
    text-decoration: none;
    transition: color var(--pk-motion-fast) var(--pk-ease-out),
                background-color var(--pk-motion-fast) var(--pk-ease-out),
                transform var(--pk-motion-fast) var(--pk-ease-out);
}
.pk-breadcrumb a:hover,
.pk-breadcrumb a:focus-visible {
    color: var(--pk-red-press);
    background: var(--pk-red-tint);
    text-decoration: none;
    transform: translateY(-1px);
}
.pk-breadcrumb [aria-current="page"] {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 11px;
    border-radius: 999px;
    background: var(--pk-ink);
    color: #fff;
}
@media (prefers-reduced-motion: no-preference) {
    .pk-breadcrumb li { animation: pk-breadcrumb-step 420ms var(--pk-ease-out) both; }
    .pk-breadcrumb li:nth-child(2) { animation-delay: 45ms; }
    .pk-breadcrumb li:nth-child(3) { animation-delay: 90ms; }
    .pk-breadcrumb li:nth-child(4) { animation-delay: 135ms; }
}
@keyframes pk-breadcrumb-step {
    from { opacity: 0; transform: translate3d(-6px, 0, 0); }
    to { opacity: 1; transform: none; }
}
@media (max-width: 599px) {
    .pk-pagehead { padding-block: var(--pk-s7); }
    /* Keep the shared logo watermark fully recognisable on a narrow screen.
       The former decorative shape could safely bleed beyond the edge; the
       logo should remain visible without crowding the editorial copy. */
    .pk-pagehead::before { right: -30px; width: 144px; }
    .pk-breadcrumb { display: flex; width: 100%; overflow-x: auto; border-radius: var(--pk-radius-md); scrollbar-width: none; }
    .pk-breadcrumb::-webkit-scrollbar { display: none; }
    .pk-breadcrumb ol { flex-wrap: nowrap; white-space: nowrap; }
    .pk-breadcrumb a,
    .pk-breadcrumb [aria-current="page"] { min-height: 32px; }
}

.pk-pagination { margin-top: var(--pk-s7); }
.pk-pagination ul {
    display: flex;
    flex-wrap: wrap;
    gap: var(--pk-s2);
    list-style: none;
    margin: 0;
    padding: 0;
}
.pk-pagination a,
.pk-pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: 0 12px;
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius);
    font-size: .9375rem;
    text-decoration: none;
    color: var(--pk-ink-2);
}
.pk-pagination a:hover { border-color: var(--pk-ink); color: var(--pk-ink); }
.pk-pagination .is-current {
    background: var(--pk-ink);
    border-color: var(--pk-ink);
    color: #fff;
    font-weight: 600;
}
.pk-pagination__gap { border: 0; min-width: auto; }

/* Prose — long-form body copy from the CMS. */
.pk-prose { max-width: 68ch; }
.pk-prose h2 { margin-top: var(--pk-s7); font-size: 1.5rem; }
.pk-prose h2:first-child { margin-top: 0; }
.pk-prose h3 { margin-top: var(--pk-s6); }
.pk-prose ul, .pk-prose ol { margin-bottom: var(--pk-s4); }
.pk-prose li { margin-bottom: var(--pk-s2); }

/* Specification table — this is a specifications business. */
.pk-specs-wrap { overflow-x: auto; margin-bottom: var(--pk-s5); }
.pk-specs {
    width: 100%;
    border-collapse: collapse;
    font-size: .9375rem;
}
.pk-specs th, .pk-specs td {
    padding: 12px 16px;
    border-bottom: 1px solid var(--pk-line);
    text-align: left;
    vertical-align: top;
}
.pk-specs th {
    width: 34%;
    font-weight: 600;
    color: var(--pk-ink);
    background: var(--pk-surface);
    font-family: var(--pk-font-body);
}
.pk-specs td { font-family: var(--pk-font-mono); font-size: .875rem; }

/* ------------------------------------------------------------ 11. forms */

.pk-field { margin-bottom: var(--pk-s5); }
.pk-field label {
    display: block;
    font-size: .875rem;
    font-weight: 600;
    color: var(--pk-ink);
    margin-bottom: var(--pk-s2);
}
.pk-field .pk-req { color: var(--pk-red-deep); }

.pk-field input[type="text"],
.pk-field input[type="email"],
.pk-field input[type="tel"],
.pk-field input[type="url"],
.pk-field select,
.pk-field textarea {
    width: 100%;
    min-height: 48px;
    padding: 12px 14px;
    font-family: inherit;
    font-size: 1rem;
    color: var(--pk-ink);
    background: var(--pk-white);
    border: 1px solid #C7CDD4;
    border-radius: var(--pk-radius);
}
.pk-field textarea { min-height: 150px; resize: vertical; }

.pk-field input:focus,
.pk-field select:focus,
.pk-field textarea:focus {
    border-color: var(--pk-ink);
    outline: 3px solid var(--pk-red-deep);
    outline-offset: 1px;
}

.pk-field__hint {
    display: block;
    margin-top: var(--pk-s2);
    font-size: .8125rem;
    color: var(--pk-muted);
}
.pk-field--error input,
.pk-field--error textarea { border-color: var(--pk-red-deep); }
.pk-field__error {
    display: block;
    margin-top: var(--pk-s2);
    font-size: .8125rem;
    font-weight: 600;
    color: var(--pk-red-deep);
}

/* Honeypot — visually hidden, never focusable by a real user. */
.pk-hp { position: absolute; left: -9999px; opacity: 0; height: 0; overflow: hidden; }

.pk-alert {
    padding: var(--pk-s4) var(--pk-s5);
    border-radius: var(--pk-radius);
    border-left: 3px solid;
    margin-bottom: var(--pk-s5);
    font-size: .9375rem;
}
.pk-alert--success { background: #EDF7F1; border-color: #0E7A4A; color: #0B5C38; }
.pk-alert--error   { background: var(--pk-red-tint); border-color: var(--pk-red-deep); color: #8A1218; }

/* ----------------------------------------------------------- 12. footer */

.pk-footer {
    background: var(--pk-ink);
    color: #A8B2BC;
    font-size: .9375rem;
    padding-block: var(--pk-s8) var(--pk-s5);
}
.pk-footer h2, .pk-footer h3 {
    color: #fff;
    font-size: .8125rem;
    font-family: var(--pk-font-mono);
    letter-spacing: .12em;
    text-transform: uppercase;
    font-weight: 500;
    margin-bottom: var(--pk-s4);
}
.pk-footer a { color: #C7CDD4; text-decoration: none; }
.pk-footer a:hover { color: #fff; text-decoration: none; }

.pk-footer__grid {
    display: grid;
    gap: var(--pk-s7);
    grid-template-columns: 1fr;
}
@media (min-width: 640px)  { .pk-footer__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 992px)  { .pk-footer__grid { grid-template-columns: 1.4fr 1fr 1fr 1fr; } }

.pk-footer__list { list-style: none; margin: 0; padding: 0; }
.pk-footer__list li { margin-bottom: var(--pk-s2); }

.pk-footer__logo { margin-bottom: var(--pk-s4); }
.pk-footer__logo img { height: 40px; width: auto; }
/* No reversed logo asset exists yet. The standard mark is black on a near-black
   footer, so it gets a white plate to stay legible. Remove this rule the day a
   real /img/logo-light.png is supplied — the PHP already switches automatically. */
.pk-footer__logo--plate {
    display: inline-block;
    background: #fff;
    padding: var(--pk-s2) var(--pk-s3);
    border-radius: var(--pk-radius);
}

.pk-footer address { font-style: normal; margin-bottom: var(--pk-s4); line-height: 1.7; }

.pk-footer__bottom {
    margin-top: var(--pk-s7);
    padding-top: var(--pk-s5);
    border-top: 1px solid #2C3238;
    display: flex;
    flex-wrap: wrap;
    gap: var(--pk-s4);
    justify-content: space-between;
    font-size: .8125rem;
    color: #7C8792;
}
.pk-footer__legal { display: flex; flex-wrap: wrap; gap: var(--pk-s4); list-style: none; margin: 0; padding: 0; }

/* --------------------------------------------------------- 13. utilities */

.pk-mb-0 { margin-bottom: 0 !important; }
.pk-muted { color: var(--pk-muted); }
.pk-mono { font-family: var(--pk-font-mono); }
.pk-lede { font-size: 1.125rem; color: var(--pk-muted); max-width: 62ch; }
.pk-center-actions { display: flex; flex-wrap: wrap; gap: var(--pk-s3); margin-top: var(--pk-s6); }

.pk-img-missing { background: var(--pk-surface); }

/* A gallery image stays an ordinary link without JavaScript. With JS, the
   same link opens a native dialog with a full keyboard focus trap. */
.pk-lightbox-trigger { display: block; position: relative; text-decoration: none; }
.pk-lightbox-trigger img { display: block; }
.pk-lightbox-trigger::after {
    content: "↗";
    position: absolute;
    right: var(--pk-s3);
    bottom: var(--pk-s3);
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 50%;
    background: rgba(16, 20, 24, .88);
    color: #fff;
    font-size: 1.125rem;
    opacity: 0;
    transform: translateY(4px);
    transition: opacity var(--pk-motion-fast), transform var(--pk-motion-fast);
}
.pk-lightbox-trigger:hover::after,
.pk-lightbox-trigger:focus-visible::after { opacity: 1; transform: translateY(0); }
.pk-home-award-gallery .pk-lightbox-trigger,
.pk-home-award-gallery .pk-lightbox-trigger img { width: 100%; height: 100%; }
.pk-home-award-gallery .pk-lightbox-trigger img { object-fit: contain; }
.pk-photo-gallery .pk-lightbox-trigger { overflow: hidden; }
.pk-photo-gallery .pk-lightbox-trigger img {
    transition: transform var(--pk-motion-medium) var(--pk-ease-out);
}
.pk-photo-gallery .pk-lightbox-trigger:hover img { transform: scale(1.025); }

.pk-lightbox {
    width: min(1120px, calc(100% - 24px));
    max-width: none;
    max-height: min(92dvh, 920px);
    padding: 0;
    overflow: hidden;
    border: 1px solid #3A424A;
    border-radius: var(--pk-radius-md);
    background: var(--pk-ink);
    color: #fff;
    box-shadow: var(--pk-shadow-float);
}
.pk-lightbox:not([open]) { display: none; }
.pk-lightbox::backdrop { background: rgba(5, 8, 12, .88); }
.pk-lightbox__frame {
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    max-height: min(92dvh, 920px);
}
.pk-lightbox__media {
    display: grid;
    min-height: 0;
    place-items: center;
    padding: clamp(16px, 3vw, 32px);
}
.pk-lightbox__media img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: min(68dvh, 720px);
    object-fit: contain;
}
.pk-lightbox__close,
.pk-lightbox__nav {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .38);
    border-radius: 50%;
    background: rgba(16, 20, 24, .88);
    color: #fff;
    font-size: 1.25rem;
}
.pk-lightbox__close {
    position: absolute;
    z-index: 2;
    top: var(--pk-s4);
    right: var(--pk-s4);
}
.pk-lightbox__nav:disabled { opacity: .35; cursor: not-allowed; }
.pk-lightbox__close:hover,
.pk-lightbox__nav:not(:disabled):hover { border-color: #fff; background: var(--pk-red-deep); }
.pk-lightbox__footer {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--pk-s4);
    align-items: center;
    padding: var(--pk-s4) var(--pk-s5);
    border-top: 1px solid #30373E;
}
.pk-lightbox__caption { margin: 0; color: #E4E8EC; font-size: .9375rem; }
.pk-lightbox__controls { display: flex; align-items: center; gap: var(--pk-s3); }
.pk-lightbox__count {
    min-width: 64px;
    color: #B9C1C9;
    font-family: var(--pk-font-mono);
    font-size: .75rem;
    text-align: center;
}
@media (max-width: 599px) {
    .pk-lightbox__footer { grid-template-columns: minmax(0, 1fr); padding: var(--pk-s3) var(--pk-s4); }
    .pk-lightbox__controls { justify-content: space-between; }
    .pk-lightbox__media img { max-height: 62dvh; }
    .pk-lightbox-trigger::after { opacity: 1; transform: none; }
}

/* Progressive, restrained entrance: content is never hidden without JS and
   reduced-motion visitors never enter the pending state. */
@media (prefers-reduced-motion: no-preference) {
    [data-reveal].is-reveal-pending {
        opacity: 0;
        transform: translate3d(0, 22px, 0) scale(.985);
        transition: opacity 560ms var(--pk-ease-out), transform 680ms var(--pk-ease-out);
        transition-delay: calc(var(--pk-reveal-order, 0) * 85ms);
    }
    [data-reveal].is-reveal-pending.is-visible { opacity: 1; transform: none; }
}

/* Persistent utilities stay out of the reading column and never imply an
   unattended live-chat service. Both buttons are progressive enhancements. */
.pk-floating-actions {
    position: fixed;
    z-index: 950;
    right: clamp(12px, 2vw, 28px);
    bottom: max(16px, env(safe-area-inset-bottom));
    left: clamp(12px, 2vw, 28px);
    display: flex;
    align-items: end;
    justify-content: space-between;
    pointer-events: none;
}
.pk-floating-actions[hidden],
.pk-contact-tools[hidden],
.pk-contact-panel[hidden],
.pk-backtop[hidden] { display: none; }
.pk-contact-tools { position: relative; pointer-events: auto; }
.pk-contact-toggle,
.pk-backtop {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 52px;
    min-height: 52px;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 28px;
    box-shadow: var(--pk-shadow-float);
    transition: transform var(--pk-motion-medium) var(--pk-ease-out),
                box-shadow var(--pk-motion-medium) var(--pk-ease-out),
                background var(--pk-motion-fast);
    pointer-events: auto;
}
.pk-contact-toggle {
    width: 52px;
    height: 52px;
    padding: 0;
    background: var(--pk-red-deep);
    color: #fff;
}
.pk-contact-toggle span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
}
.pk-contact-toggle:hover,
.pk-contact-toggle[aria-expanded="true"] { background: var(--pk-red-press); transform: translateY(-2px); }
.pk-contact-toggle svg { flex: none; }
.pk-contact-panel {
    position: absolute;
    bottom: calc(100% + 12px);
    left: 0;
    display: grid;
    gap: 0;
    width: min(338px, calc(100vw - 24px));
    padding: var(--pk-s5);
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius-md);
    background: #fff;
    box-shadow: var(--pk-shadow-float);
}
.pk-contact-panel strong {
    color: var(--pk-ink);
    font-family: var(--pk-font-display);
    font-size: 1.125rem;
}
.pk-contact-panel p {
    margin: var(--pk-s2) 0 var(--pk-s4);
    color: var(--pk-muted);
    font-size: .875rem;
    line-height: 1.5;
}
.pk-contact-panel a {
    display: flex;
    justify-content: space-between;
    gap: var(--pk-s3);
    padding: var(--pk-s3) 0;
    border-top: 1px solid var(--pk-line);
    color: var(--pk-ink);
    font-size: .9rem;
    font-weight: 600;
    text-decoration: none;
}
.pk-contact-panel a:hover,
.pk-contact-panel a:focus-visible { color: var(--pk-red-deep); }
.pk-contact-panel a span { color: var(--pk-red-deep); }
.pk-backtop {
    position: relative;
    width: 52px;
    height: 52px;
    background: #fff;
    color: var(--pk-ink);
    font-size: 1.375rem;
}
.pk-backtop:hover { transform: translateY(-3px); box-shadow: var(--pk-shadow-float); }
.pk-backtop__progress { position: absolute; inset: 3px; width: 44px; height: 44px; transform: rotate(-90deg); }
.pk-backtop__track,
.pk-backtop__meter { fill: none; stroke-width: 2; }
.pk-backtop__track { stroke: #D8DEE4; }
.pk-backtop__meter {
    stroke: var(--pk-red-deep);
    stroke-linecap: round;
    stroke-dasharray: 119.38;
    stroke-dashoffset: 119.38;
    transition: stroke-dashoffset 120ms linear;
}
.pk-backtop > span { position: relative; margin-top: -3px; }
.pk-nav-open .pk-floating-actions { display: none; }

.pk-empty-state {
    padding: var(--pk-s8) var(--pk-s5);
    text-align: center;
    border: 1px dashed var(--pk-line);
    border-radius: var(--pk-radius);
    color: var(--pk-muted);
}

/* ---------------------------------------------------- 13b. label legibility
   Kept at the end of the stylesheet so page-specific components cannot fall
   back to a smaller or lighter inherited label treatment. */
.pk-card__kicker,
.pk-discovery-rail__eyebrow,
.pk-discovery-rail__status,
.pk-focus-card__body small,
.pk-home-leadership__identity span,
.pk-home-achievements__feature figcaption > span,
.pk-home-achievements__period span,
.pk-home-achievements__timeline li span,
.pk-legal-updated,
.pk-legal-nav h2,
.pk-legal-nav a span,
.pk-contact-card h2,
.pk-sitemap-group h2,
.pk-contact-card h3,
.pk-profile-nav__label,
.pk-footer h2,
.pk-footer h3 {
    font-family: var(--pk-font-label);
    font-size: .8125rem;
    font-weight: 700;
    letter-spacing: var(--pk-label-track);
    line-height: 1.4;
}

/* ------------------------------------------------ 13c. compact viewport flow
   Desktop uses deliberately constrained editorial measures. Once the header
   switches to its compact/mobile navigation, those measures create unused
   right-hand columns (especially on 700–899px devices). Let body copy use
   the available reading width there, while preserving the desktop rhythm. */
@media (max-width: 899px) {
    .pk-story__copy,
    .pk-story__copy > p,
    .pk-home-capability-note,
    .pk-home-products__focus-head p,
    .pk-home-news__head p,
    .pk-pagehead .pk-pagehead__lede,
    .pk-about-hero__copy,
    .pk-about-hero__lede,
    .pk-about-journey__copy,
    .pk-about-excellence .pk-sec-head--split > p,
    .pk-about-people .pk-sec-head--split > p,
    .pk-about-closing p,
    .pk-business-intro,
    .pk-lede {
        max-width: none;
    }
}

/* ------------------------------------------------ 13d. long-form alignment
   Justification is reserved for sustained reading blocks. Navigation, cards,
   captions and short marketing ledes remain naturally left-aligned so their
   word spacing stays calm. Handheld widths are excluded deliberately: a
   narrow justified column produces distracting rivers between words. */
@media (min-width: 640px) {
    .pk-story__copy > p,
    .pk-prose > p,
    .pk-news-article__copy > p,
    .pk-legal-summary p,
    .pk-legal-section .pk-prose p,
    .pk-about-journey__copy > p,
    .pk-about-closing p {
        text-align: justify;
        text-align-last: auto;
        text-justify: inter-word;
        hyphens: auto;
    }
}

/* ------------------------------------------------------------- 14. print */

@media print {
    .pk-header, .pk-footer, .pk-nav, .pk-btn, .pk-pagination,
    .pk-floating-actions { display: none !important; }
    body { color: #000; font-size: 11pt; }
    a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 9pt; }
}
