/* ==========================================================================
   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:      #4B5563;
    --pk-line:       #E6E9ED;
    --pk-canvas:     #FAFBFC;
    --pk-surface:    #F4F6F8;
    --pk-surface-alt:#EEF1F4;
    --pk-white:      #FFFFFF;

    /* Type */
    /* One corporate typeface, plus the Bengali companion and a generic
       emergency fallback. Browsers use the first font containing the glyph. */
    --pk-font-display: 'Titillium Web', 'Noto Sans Bengali', sans-serif;
    --pk-font-body:    'Titillium Web', 'Noto Sans Bengali', sans-serif;
    --pk-font-mono:    'Titillium Web', 'Noto Sans Bengali', sans-serif;
    --pk-font-label:   'Titillium Web', 'Noto Sans Bengali', 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);
    --pk-type-hero:    clamp(2.25rem, 1.8rem + 2vw, 3.5rem);
    /* Fixed text steps. Benchmarked 2026-09 against leading Bangladeshi
       group sites (ACI, BSRM, DBL, Beximco, Bashundhara): all set reading
       copy at 16px and nothing below 12-13px. Use only these five steps for
       non-heading text. */
    --pk-fs-xs:   .8125rem;  /* 13px  labels, dates, meta, eyebrows      */
    --pk-fs-sm:   .875rem;   /* 14px  navigation, captions, small UI     */
    --pk-fs-base: 1rem;      /* 16px  reading copy, card text, buttons    */
    --pk-fs-md:   1.125rem;  /* 18px  lead copy, card titles             */
    --pk-fs-lg:   1.25rem;   /* 20px  panel titles                       */

    /* 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: 40px;  --pk-s8: 56px;
    --pk-s9: 80px;  --pk-s10: 104px;

    --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: var(--pk-fs-base); 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);
    /* Decorative panels must never widen the document. Individual rails keep
       their own deliberate horizontal scrolling. */
    overflow-x: clip;
}

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: -.01em;
    line-height: 1.16;
    margin: 0 0 var(--pk-s4);
    text-wrap: balance;
}

h1 {
    font-size: var(--pk-type-page);
    font-weight: 700;
    letter-spacing: -.01em;
}
h2 { font-size: var(--pk-type-section); letter-spacing: -.01em; }
h3 { font-size: clamp(1.125rem, 1.04rem + .42vw, 1.45rem); letter-spacing: -.01em; }
h4 { font-size: var(--pk-fs-md); }

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', 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-s6) 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(48px, 5vw, 72px); }
.pk-section--tight { padding-block: clamp(34px, 4vw, 52px); }
.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-s6); }
.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: var(--pk-fs-xs);
    font-weight: 700;
    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-achievements__feature figcaption > 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-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: var(--pk-fs-base);
    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: var(--pk-fs-base);
    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: var(--pk-fs-xs);
    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: 600;
    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: var(--pk-fs-xs);
    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: var(--pk-fs-base);
    font-weight: 600;
    letter-spacing: -.01em;
    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: 700;
}
.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); row-gap: 0; }

.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: var(--pk-fs-lg);
    line-height: 1.2;
}
.pk-mega__intro p {
    margin-bottom: var(--pk-s5);
    color: var(--pk-muted);
    font-size: var(--pk-fs-sm);
    line-height: 1.55;
}
.pk-mega__intro .pk-link-arrow { font-size: var(--pk-fs-sm); }

.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: var(--pk-fs-sm);
    line-height: 1.3;
}

.pk-mega-card__body span {
    color: var(--pk-muted);
    font-size: var(--pk-fs-xs);
    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);
}

/* Eight companies read as two even rows of four. */
.pk-mega__grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* Product categories without a photograph: compact links under the cards. */
.pk-mega__range { display: flex; flex-wrap: wrap; align-items: center; gap: var(--pk-s2) var(--pk-s3); margin-top: var(--pk-s5); padding-top: var(--pk-s4); border-top: 1px solid var(--pk-line); }
.pk-mega__range-label { margin-right: var(--pk-s2); color: var(--pk-muted); font-size: var(--pk-fs-xs); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.pk-mega__range ul { display: flex; flex-wrap: wrap; gap: var(--pk-s2); margin: 0; padding: 0; list-style: none; }
.pk-mega__range a { display: inline-flex; align-items: center; min-height: 36px; padding: 0 14px; color: var(--pk-ink-2); background: var(--pk-surface); border: 1px solid var(--pk-line); border-radius: 999px; font-size: var(--pk-fs-sm); font-weight: 600; text-decoration: none; }
.pk-mega__range a:hover, .pk-mega__range a:focus-visible { color: var(--pk-red-deep); border-color: var(--pk-red-deep); }
.pk-mega__all { justify-self: start; margin-top: var(--pk-s4); font-size: var(--pk-fs-sm); }
.pk-mega__inner.pk-mega__inner--products,
.pk-mega__inner.pk-mega__inner--concerns { row-gap: 0; }

/* 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: 0;
    left: auto;
    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: var(--pk-fs-sm); line-height: 1.3; }
.pk-media-menu i {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    color: var(--pk-red-deep);
    font-size: var(--pk-fs-base);
    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: .9375rem; font-weight: 600; letter-spacing: -.01em; }
    .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: var(--pk-fs-sm); }
    .pk-mega__inner         { grid-template-columns: 220px minmax(0, 1fr); gap: 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-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: var(--pk-fs-md);
        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;
    /* The slides are 16:9 artwork with lettering about 10% from the top.
       The hero fills the screen below the header, but is never wider than
       2.2:1 (45.45vw) nor taller than 16:9 (56.25vw): on a short or wide
       window it may run slightly below the fold rather than crop the text. */
    height: clamp(440px, max(calc(100svh - var(--pk-header-h, 108px)), 45.45vw), 56.25vw);
    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 {
    position: absolute;
    inset: 0;
    width: 100%; height: 100%;
    object-fit: cover;
    /* Any crop falls mostly on the floor, never on the lettering near the top. */
    object-position: center 25%;
    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 / 9;
    }
    /* The phone canvas is 16:9 like the artwork, so almost nothing is cropped. */
    .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: -.01em;
}
.pk-stats__label {
    display: block;
    margin-top: var(--pk-s2);
    font-size: var(--pk-fs-sm);
    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: var(--pk-fs-xs);
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--pk-muted);
}
.pk-card__title {
    font-family: var(--pk-font-display);
    font-size: var(--pk-fs-md);
    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: var(--pk-fs-base);
    color: var(--pk-muted);
    margin: 0;
}
.pk-card__meta {
    position: relative;
    z-index: 2;
    margin-top: auto;
    padding-top: var(--pk-s3);
    font-size: var(--pk-fs-sm);
    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: var(--pk-fs-base);
    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: var(--pk-fs-md); }
.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: var(--pk-fs-base); 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: var(--pk-fs-sm);
    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;
}
.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: -.01em;
}
.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: 700;
}
.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: var(--pk-fs-base);
    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: -.01em;
    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: var(--pk-fs-base);
    line-height: 1.55;
}
.pk-network-grid--home .pk-network-card__meta {
    margin-top: var(--pk-s3);
    padding-top: 0;
    color: #697784;
    font-size: var(--pk-fs-xs);
    line-height: 1.4;
}
@media (prefers-reduced-motion: no-preference) {
    .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-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;
    }
}


/* 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: var(--pk-fs-md); margin-bottom: var(--pk-s2); }
.pk-feature p { font-size: var(--pk-fs-base); 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);
}

/* 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 1 both; }
    .pk-home-products::after { animation: pk-product-grid-pulse 16s var(--pk-ease-out) 2 alternate both; }
}
@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: var(--pk-fs-xs);
    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: var(--pk-fs-md);
    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: var(--pk-fs-lg);
    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(40px, 5vw, 64px);
    padding-top: clamp(32px, 4vw, 48px);
    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: var(--pk-fs-xs);
    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) 2 alternate both; }
    .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(40px, 5vw, 64px);
    padding: clamp(24px, 3vw, 40px);
    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; }
}

/* The homepage credentials rail presents the local Primitek Appliances
   certification artwork in a quiet, continuous sequence. */
.pk-credentials-rail {
    overflow: hidden;
    padding-block: clamp(44px, 5vw, 68px);
    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(26px, 3vw, 40px);
    text-align: center;
}
.pk-credentials-rail__head h2 {
    max-width: none;
    margin: 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,
.pk-credentials-rail.is-offscreen .pk-credentials-rail__track { animation-play-state: paused; }
.pk-credentials-rail__group {
    display: flex;
    flex: 0 0 auto;
    gap: clamp(24px, 4vw, 56px);
    padding-right: clamp(24px, 4vw, 56px);
}
.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: -.01em;
    line-height: 1;
}
.pk-credentials-rail__item--certificate .pk-credentials-rail__mark span {
    color: var(--pk-red-deep);
    font-size: var(--pk-fs-xs);
    font-weight: 700;
    letter-spacing: .11em;
    text-transform: uppercase;
}
.pk-credentials-rail__item--standard {
    grid-template-rows: minmax(92px, 1fr);
    flex-basis: 168px;
    width: 168px;
    min-height: 96px;
}
.pk-credentials-rail__item--standard .pk-credentials-rail__mark { min-height: 92px; }
.pk-credentials-rail__item--standard .pk-credentials-rail__mark img {
    width: min(148px, 100%);
    height: 92px;
}
.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: var(--pk-fs-xs);
    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; }
}
/* Phones: smaller marks so three to four fit across instead of two and a half. */
@media (max-width: 639px) {
    .pk-credentials-rail { padding-block: 36px; }
    .pk-credentials-rail__head { margin-bottom: 20px; }
    .pk-credentials-rail__group { gap: 20px; padding-right: 20px; }
    .pk-credentials-rail__item {
        grid-template-rows: minmax(52px, 1fr) auto;
        flex-basis: 104px;
        width: 104px;
        min-height: 84px;
    }
    .pk-credentials-rail__mark { min-height: 52px; }
    .pk-credentials-rail__mark img { width: min(92px, 100%); height: 52px; }
    .pk-credentials-rail__item--standard {
        grid-template-rows: minmax(56px, 1fr);
        flex-basis: 96px;
        width: 96px;
        min-height: 56px;
    }
    .pk-credentials-rail__item--standard .pk-credentials-rail__mark { min-height: 56px; }
    .pk-credentials-rail__item--standard .pk-credentials-rail__mark img { width: min(84px, 100%); height: 56px; }
    .pk-credentials-rail__item--fact .pk-credentials-rail__mark span { font-size: 1.5rem; }
    .pk-credentials-rail__copy { padding-top: 6px; }
    .pk-credentials-rail__copy strong { font-size: .72rem; }
}

.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: var(--pk-fs-sm);
    font-weight: 600;
}
.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: -.01em;
}
.pk-product-category-card .pk-card__text {
    margin-top: var(--pk-s2);
    font-size: var(--pk-fs-base);
    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: var(--pk-fs-base);
    line-height: 1.35;
}
.pk-product-enquiry-card > span:last-child {
    color: var(--pk-muted);
    font-size: var(--pk-fs-sm);
}
@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)); }
}

.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; }
}

/* Achievements: a light, stats-led record. Figures first, one row per
   recognised company, the ceremony photograph shown uncropped at its own
   ratio, then the trophy gallery. Follows the dark "Why Primitek" band, so it
   deliberately stays light. */
.pk-home-achievements { background: var(--pk-canvas); }

.pk-home-achievements__head {
    display: grid;
    gap: var(--pk-s6);
    align-items: end;
    margin-bottom: clamp(32px, 4vw, 56px);
}
.pk-home-achievements__intro h2 { max-width: 20ch; margin-bottom: var(--pk-s4); }
.pk-home-achievements__intro p {
    max-width: 58ch;
    margin: 0;
    color: var(--pk-muted);
    font-size: clamp(1rem, .96rem + .2vw, 1.125rem);
    line-height: 1.65;
}
.pk-home-achievements__stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
    border-top: 2px solid var(--pk-ink);
}
.pk-home-achievements__stats > div {
    display: flex;
    flex-direction: column-reverse;
    justify-content: flex-end;
    gap: var(--pk-s2);
    padding: var(--pk-s4) var(--pk-s4) 0 0;
}
.pk-home-achievements__stats > div + div {
    padding-left: var(--pk-s4);
    border-left: 1px solid var(--pk-line);
}
.pk-home-achievements__stats dd {
    margin: 0;
    color: var(--pk-ink);
    font-family: var(--pk-font-display);
    font-size: clamp(2.25rem, 1.8rem + 1.8vw, 3.5rem);
    font-weight: 700;
    line-height: 1;
}
.pk-home-achievements__stats > div:first-child dd { color: var(--pk-red-deep); }
.pk-home-achievements__stats dt {
    color: var(--pk-muted);
    font-size: var(--pk-fs-sm);
    font-weight: 600;
    line-height: 1.35;
}

.pk-home-achievements__body {
    display: grid;
    gap: var(--pk-s5);
    align-items: stretch;
}
.pk-home-achievements__feature {
    display: flex;
    flex-direction: column;
    margin: 0;
    overflow: hidden;
    background: var(--pk-white);
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius-md);
}
.pk-home-achievements__photo {
    flex: 1 1 auto;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: var(--pk-surface);
}
.pk-home-achievements__photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.pk-home-achievements__feature figcaption {
    padding: var(--pk-s4) var(--pk-s5);
    color: var(--pk-ink);
    font-size: var(--pk-fs-base);
    font-weight: 600;
    line-height: 1.45;
}
.pk-home-achievements__feature figcaption span {
    display: block;
    margin-bottom: var(--pk-s1);
    color: var(--pk-red-deep);
    font-size: var(--pk-fs-xs);
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.pk-home-achievements__roll {
    display: flex;
    flex-direction: column;
    padding: clamp(24px, 3vw, 36px);
    background: var(--pk-white);
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius-md);
}
.pk-home-achievements__roll h3 {
    margin: 0 0 var(--pk-s2);
    color: var(--pk-muted);
    font-size: var(--pk-fs-xs);
    font-weight: 700;
    letter-spacing: var(--pk-label-track);
    text-transform: uppercase;
}
.pk-home-achievements__companies {
    margin: 0 0 var(--pk-s5);
    padding: 0;
    list-style: none;
}
.pk-home-achievements__companies > li {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr) auto;
    gap: var(--pk-s4);
    align-items: center;
    padding: var(--pk-s4) 0;
    border-bottom: 1px solid var(--pk-line);
}
.pk-home-achievements__logo {
    display: grid;
    place-items: center;
    width: 96px;
    height: 60px;
    padding: 6px;
    background: var(--pk-white);
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius);
}
.pk-home-achievements__logo img { width: 100%; height: 100%; object-fit: contain; }
.pk-home-achievements__company strong {
    display: block;
    color: var(--pk-ink);
    font-size: var(--pk-fs-base);
    font-weight: 700;
    line-height: 1.3;
}
.pk-home-achievements__company a { color: inherit; text-decoration: none; }
.pk-home-achievements__company a:hover,
.pk-home-achievements__company a:focus-visible { color: var(--pk-red-deep); text-decoration: underline; }
.pk-home-achievements__years {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: var(--pk-s2) 0 0;
    padding: 0;
    list-style: none;
}
.pk-home-achievements__years li {
    padding: 2px 8px;
    color: var(--pk-ink-2);
    background: var(--pk-surface);
    border-radius: 999px;
    font-size: var(--pk-fs-xs);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
/* Button sits on the card's bottom edge, level with the photo caption. */
.pk-home-achievements__roll > .pk-btn { align-self: flex-start; margin-top: auto; }
.pk-home-achievements__count {
    color: var(--pk-red-deep);
    font-family: var(--pk-font-display);
    font-size: var(--pk-fs-lg);
    font-weight: 700;
}

@media (min-width: 960px) {
    .pk-home-achievements__head { grid-template-columns: minmax(0, 1fr) minmax(420px, .9fr); gap: clamp(40px, 6vw, 96px); }
    .pk-home-achievements__body { grid-template-columns: minmax(0, 1fr) minmax(400px, 1fr); }
}
@media (max-width: 520px) {
    .pk-home-achievements__stats > div { padding-right: var(--pk-s2); }
    .pk-home-achievements__stats > div + div { padding-left: var(--pk-s3); }
    .pk-home-achievements__stats dt { font-size: var(--pk-fs-xs); }
    .pk-home-achievements__companies > li { grid-template-columns: 56px minmax(0, 1fr) auto; gap: var(--pk-s3); }
    .pk-home-achievements__logo { width: 56px; height: 44px; }
}

/* Trophy gallery: white cards of a consistent, moderate height so the
   trophies read as a set rather than four oversized photographs. */
.pk-home-award-gallery {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--pk-s4);
    margin-top: var(--pk-s5);
}
.pk-home-award-gallery__item {
    margin: 0;
    overflow: hidden;
    background: var(--pk-white);
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius-md);
    transition: border-color var(--pk-motion-fast) ease,
                box-shadow var(--pk-motion-medium) ease;
}
.pk-home-award-gallery__item:hover {
    border-color: #C7CDD4;
    box-shadow: var(--pk-shadow);
}
.pk-home-award-gallery__media {
    height: clamp(200px, 18vw, 280px);
    padding: var(--pk-s4);
    overflow: hidden;
    background: linear-gradient(180deg, #fff 0%, var(--pk-surface) 100%);
}
.pk-home-award-gallery__media a,
.pk-home-award-gallery__media img { display: block; width: 100%; height: 100%; object-fit: contain; }
.pk-home-award-gallery figcaption {
    padding: var(--pk-s3) var(--pk-s4) var(--pk-s4);
    border-top: 1px solid var(--pk-line);
}
.pk-home-award-gallery figcaption span {
    display: block;
    margin-bottom: 2px;
    color: var(--pk-red-deep);
    font-size: var(--pk-fs-xs);
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.pk-home-award-gallery figcaption strong {
    display: block;
    color: var(--pk-ink);
    font-family: var(--pk-font-display);
    font-size: var(--pk-fs-base);
    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-award-gallery { gap: var(--pk-s3); }
    .pk-home-award-gallery figcaption { padding: var(--pk-s3); }
}

/* ---------------------------------------------------- 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(40px, 4vw, 60px);
}
.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 1 both; }
    .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); }
}

/* 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: var(--pk-fs-xs);
    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: var(--pk-fs-xs);
    font-weight: 600;
    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: var(--pk-fs-sm);
    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: var(--pk-fs-xs);
    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: none;
    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: -.01em;
}
/* The text fills the white article card; a slightly larger size keeps the longer lines comfortable. */
.pk-legal-section .pk-prose { max-width: none; color: var(--pk-ink-2); font-size: clamp(1rem, .97rem + .15vw, 1.0625rem); }
.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%; }
}

/* Policy pages: numbered sections, reading position and print. */
.pk-legal-section > h2 { display: flex; align-items: baseline; gap: var(--pk-s3); max-width: none; }
.pk-legal-section__num { flex: none; color: var(--pk-red-deep); font-family: var(--pk-font-display); font-size: var(--pk-fs-sm); font-weight: 700; letter-spacing: .04em; }
.pk-legal-nav nav[data-scrollspy] a { position: relative; transition: color var(--pk-motion-fast) var(--pk-ease-out), background var(--pk-motion-fast) var(--pk-ease-out); }
.pk-legal-nav a[aria-current="true"] { color: var(--pk-ink); background: var(--pk-surface); font-weight: 600; }
.pk-legal-nav a[aria-current="true"]::before { content: ""; position: absolute; left: 0; top: 8px; bottom: 8px; width: 3px; background: var(--pk-red); border-radius: 2px; }
.pk-legal-print {
    display: inline-flex;
    align-items: center;
    gap: var(--pk-s2);
    margin-top: var(--pk-s4);
    padding: 8px 14px;
    color: var(--pk-ink-2);
    background: var(--pk-white);
    border: 1px solid var(--pk-line);
    border-radius: 999px;
    font: inherit;
    font-size: var(--pk-fs-sm);
    font-weight: 600;
    cursor: pointer;
}
.pk-legal-print[hidden] { display: none; }
.pk-legal-print:hover { color: var(--pk-red-deep); border-color: var(--pk-red-deep); }
.pk-legal-print:focus-visible { outline: 3px solid var(--pk-red-deep); outline-offset: 2px; }

@media print {
    .pk-skip-link, [data-site-header], .pk-footer, .pk-breadcrumb, .pk-legal-nav, .pk-legal-print, .pk-legal-contact { display: none !important; }
    .pk-legal-pagehead, .pk-legal-surface { padding: 0 !important; background: none !important; }
    .pk-legal-pagehead h1 { font-size: 22pt; }
    .pk-legal-layout { display: block; }
    .pk-legal-article { padding: 0; border: 0; }
    .pk-legal-summary { color: #000; background: none; border: 1px solid #999; }
    .pk-legal-summary p { color: #000; }
    .pk-legal-section { padding: 14pt 0; break-inside: avoid-page; }
    .pk-legal-section .pk-prose { max-width: none; color: #000; font-size: 11pt; }
    .pk-legal-section .pk-prose a { color: #000; text-decoration: underline; }
}

.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: var(--pk-fs-sm);
    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: var(--pk-fs-sm);
}

/* 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: var(--pk-fs-xs);
    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: var(--pk-fs-lg); }
    .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: var(--pk-fs-xs);
    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: var(--pk-fs-sm); }
.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: var(--pk-fs-base);
    line-height: 1.6;
}
.pk-award-card__place {
    margin-top: auto !important;
    padding-top: var(--pk-s4);
    color: var(--pk-ink) !important;
    font-size: var(--pk-fs-sm) !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: var(--pk-fs-xs);
    font-weight: 700;
    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: var(--pk-fs-xs);
    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: var(--pk-fs-sm); }
.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: var(--pk-fs-base);
    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: var(--pk-fs-sm);
    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: var(--pk-fs-sm); }
.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: -.01em;
    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: var(--pk-fs-sm);
    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: var(--pk-fs-base); }
.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: var(--pk-fs-xs);
    font-weight: 700;
    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: var(--pk-fs-base); }
.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 {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--pk-s7);
    align-items: start;
}
@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-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: var(--pk-fs-md); }
.pk-product-maker { color: var(--pk-muted); font-size: var(--pk-fs-base); }
.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: var(--pk-fs-sm);
    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: -.01em;
}
.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: var(--pk-fs-lg);
    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 */
/*
   Group profile in the order a buyer, partner or candidate reads it: figures,
   who we are, purpose and values, what sets us apart, milestones, leadership,
   companies, next step. Backgrounds alternate light / ink so sections read as
   chapters. Red marks hierarchy (labels, numbers, rules); it is not used as a
   full-section fill.

   Motion budget (graded): one hero entrance on load, one-time reveals as
   sections arrive, a single count-up on the figures, a timeline that draws
   once, and 180ms hover feedback. Nothing loops or moves on its own, and all
   of it is removed under prefers-reduced-motion.
*/

/* Shared section rhythm */
.pk-about-overview,
.pk-about-purpose,
.pk-about-apart,
.pk-about-milestones,
.pk-about-leaders,
.pk-about-companies,
.pk-cta-band { padding: clamp(56px, 7vw, 104px) 0; }
.pk-about-overview,
.pk-about-apart,
.pk-about-leaders { background: var(--pk-white); }
.pk-about-milestones,
.pk-about-companies,
.pk-cta-band { background: var(--pk-canvas); }
.pk-about-companies { padding-bottom: 0; }

.pk-split-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--pk-s4) var(--pk-s7);
    margin-bottom: clamp(32px, 4vw, 52px);
}
.pk-split-head h2 { max-width: 22ch; margin: var(--pk-s3) 0 0; }
.pk-split-head > p { max-width: 50ch; margin: 0; color: var(--pk-muted); }

/* 1. Hero */
.pk-about-hero {
    padding: clamp(40px, 5vw, 80px) 0 clamp(48px, 6vw, 88px);
    background: linear-gradient(180deg, var(--pk-canvas) 0%, var(--pk-white) 100%);
}
.pk-about-hero__grid {
    display: grid;
    align-items: center;
    gap: clamp(32px, 5vw, 72px);
}
.pk-about-hero h1 {
    max-width: 20ch;
    margin: var(--pk-s4) 0 var(--pk-s5);
    font-size: var(--pk-type-hero);
    line-height: 1.04;
}
.pk-about-hero__lede {
    max-width: 54ch;
    margin: 0 0 var(--pk-s6);
    color: var(--pk-muted);
    font-size: clamp(1.0625rem, 1rem + .3vw, 1.25rem);
    line-height: 1.7;
}
.pk-about-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--pk-s4) var(--pk-s6); }
.pk-about-hero__media {
    position: relative;
    margin: 0;
    overflow: hidden;
    border-radius: var(--pk-radius-md);
    background: var(--pk-surface);
    box-shadow: var(--pk-shadow-float);
}
/* A thin red rule anchors the image to the brand without a decorative fill. */
.pk-about-hero__media::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 4px;
    background: var(--pk-red);
}
.pk-about-hero__media img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }

/* 2. In-page navigation: sticks under the site header on long reads. */
.pk-about-subnav {
    position: sticky;
    top: var(--pk-header-h);
    z-index: 900;
    background: rgba(255, 255, 255, .96);
    border-block: 1px solid var(--pk-line);
    backdrop-filter: saturate(1.4) blur(8px);
}
.pk-about-subnav ul {
    display: flex;
    gap: clamp(20px, 3vw, 40px);
    margin: 0;
    padding: 0;
    overflow-x: auto;
    list-style: none;
    scrollbar-width: none;
}
.pk-about-subnav ul::-webkit-scrollbar { display: none; }
.pk-about-subnav a {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 52px;
    color: var(--pk-muted);
    font-size: var(--pk-fs-sm);
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    transition: color var(--pk-motion-fast) var(--pk-ease-out);
}
.pk-about-subnav a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 2px;
    background: var(--pk-red-deep);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 220ms var(--pk-ease-out);
}
.pk-about-subnav a:hover,
.pk-about-subnav a[aria-current="true"] { color: var(--pk-ink); }
.pk-about-subnav a[aria-current="true"]::after,
.pk-about-subnav a:hover::after { transform: scaleX(1); }
.pk-about-subnav a:focus-visible { outline: 2px solid var(--pk-red-deep); outline-offset: 2px; }
/* Anchored sections clear both the site header and this bar. */
.pk-about-overview,
.pk-about-purpose,
.pk-about-milestones,
.pk-about-leaders,
.pk-about-companies { scroll-margin-top: calc(var(--pk-header-h) + 52px); }

/* 3. Overview: figures (shared .pk-figures, see home section) + who we are */
.pk-about-overview .pk-figures { margin: 0 0 clamp(48px, 6vw, 88px); }

.pk-about-overview__grid { display: grid; gap: var(--pk-s6); }
.pk-about-overview__grid h2 { max-width: 16ch; margin: var(--pk-s3) 0 0; }
.pk-about-overview__copy { max-width: 68ch; }
.pk-about-overview__copy p {
    color: var(--pk-ink-2);
    font-size: clamp(1rem, .96rem + .2vw, 1.125rem);
    line-height: 1.75;
}
.pk-about-overview__copy h3 {
    margin: var(--pk-s6) 0 var(--pk-s3);
    color: var(--pk-muted);
    font-size: var(--pk-fs-xs);
    letter-spacing: var(--pk-label-track);
    text-transform: uppercase;
}
.pk-about-areas {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 0 var(--pk-s5);
    margin: 0;
    padding: 0;
    list-style: none;
}
.pk-about-areas li {
    position: relative;
    padding: var(--pk-s3) 0 var(--pk-s3) var(--pk-s5);
    border-top: 1px solid var(--pk-line);
    color: var(--pk-ink);
    font-weight: 600;
}
.pk-about-areas li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 8px;
    height: 8px;
    background: var(--pk-red);
    transform: translateY(-50%);
}

/* 4. Purpose: vision, mission, values */
.pk-about-purpose { background: var(--pk-ink); color: #C7CDD4; }
.pk-about-purpose .pk-eyebrow { color: #FF8B90; }
.pk-about-purpose h2,
.pk-about-purpose h3 { color: #fff; }
.pk-about-purpose__grid { display: grid; gap: clamp(32px, 4vw, 64px); align-items: center; }
.pk-about-purpose__statements { display: grid; gap: var(--pk-s6); }
.pk-about-purpose__statements article { padding-left: var(--pk-s5); border-left: 3px solid var(--pk-red); }
.pk-about-purpose__statements p {
    margin: var(--pk-s3) 0 0;
    color: #fff;
    font-family: var(--pk-font-display);
    font-size: clamp(1.375rem, 1.15rem + 1vw, 2.125rem);
    font-weight: 600;
    line-height: 1.3;
}
.pk-about-purpose__media { margin: 0; overflow: hidden; border-radius: var(--pk-radius-md); }
.pk-about-purpose__media img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }

.pk-about-values { margin-top: clamp(56px, 7vw, 104px); padding-top: clamp(40px, 5vw, 64px); border-top: 1px solid #2C3238; }
.pk-about-values__head h2 { max-width: 24ch; margin: var(--pk-s3) 0 clamp(28px, 4vw, 44px); }
.pk-about-values__list {
    display: grid;
    gap: var(--pk-s5);
    margin: 0;
    padding: 0;
    list-style: none;
}
.pk-about-values__list li { padding-top: var(--pk-s4); border-top: 1px solid #3A424A; }
.pk-about-values__list span {
    display: block;
    color: #FF8B90;
    font-family: var(--pk-font-display);
    font-size: var(--pk-fs-sm);
    font-weight: 700;
}
.pk-about-values__list h3 { margin: var(--pk-s3) 0 var(--pk-s2); font-size: var(--pk-fs-md); }
.pk-about-values__list p { margin: 0; color: #A8B2BC; font-size: var(--pk-fs-sm); line-height: 1.6; }

/* 5. What sets us apart */
.pk-about-apart__grid {
    display: grid;
    gap: var(--pk-s4);
    margin: 0;
    padding: 0;
    list-style: none;
}
.pk-about-apart__grid li {
    padding: clamp(24px, 2.6vw, 36px);
    background: var(--pk-canvas);
    border: 1px solid var(--pk-line);
    border-top: 3px solid var(--pk-ink);
    border-radius: var(--pk-radius);
    transition: border-top-color var(--pk-motion-fast) var(--pk-ease-out),
                box-shadow var(--pk-motion-medium) var(--pk-ease-out);
}
.pk-about-apart__grid li:hover { border-top-color: var(--pk-red); box-shadow: var(--pk-shadow); }
.pk-about-apart__grid span { color: var(--pk-red-deep); font-family: var(--pk-font-display); font-size: var(--pk-fs-sm); font-weight: 700; }
.pk-about-apart__grid h3 { margin: var(--pk-s4) 0 var(--pk-s3); font-size: var(--pk-fs-lg); line-height: 1.25; }
.pk-about-apart__grid p { margin: 0; color: var(--pk-muted); font-size: var(--pk-fs-base); line-height: 1.65; }

/* 6. Milestones: a timeline that draws once when it arrives. */
.pk-about-timeline {
    position: relative;
    display: grid;
    gap: var(--pk-s6);
    margin: 0;
    padding: 0 0 0 var(--pk-s6);
    list-style: none;
}
.pk-about-timeline::before {
    content: "";
    position: absolute;
    top: 6px;
    bottom: 6px;
    left: 5px;
    width: 2px;
    background: var(--pk-line);
}
.pk-about-timeline::after {
    content: "";
    position: absolute;
    top: 6px;
    bottom: 6px;
    left: 5px;
    width: 2px;
    background: var(--pk-red);
    transform-origin: top;
}
.pk-about-timeline li { position: relative; }
.pk-about-timeline li::before {
    content: "";
    position: absolute;
    z-index: 1;
    top: 6px;
    left: calc(var(--pk-s6) * -1);
    width: 12px;
    height: 12px;
    background: var(--pk-white);
    border: 3px solid var(--pk-red-deep);
    border-radius: 50%;
}
.pk-about-timeline__year {
    display: block;
    color: var(--pk-red-deep);
    font-family: var(--pk-font-display);
    font-size: clamp(1.5rem, 1.3rem + .8vw, 2rem);
    font-weight: 700;
    line-height: 1;
}
.pk-about-timeline h3 { margin: var(--pk-s3) 0 var(--pk-s2); font-size: var(--pk-fs-md); line-height: 1.3; }
.pk-about-timeline p { margin: 0; color: var(--pk-muted); font-size: var(--pk-fs-sm); line-height: 1.6; }

/* 7. Leadership: heading column beside the people, so a small board still
   fills the width. */
.pk-about-leaders__layout { display: grid; gap: var(--pk-s6); }
.pk-about-leaders__intro h2 { max-width: 14ch; margin: var(--pk-s3) 0 var(--pk-s4); }
.pk-about-leaders__intro p { max-width: 40ch; margin: 0 0 var(--pk-s5); color: var(--pk-muted); }
.pk-about-leaders__links { display: flex; flex-direction: column; align-items: flex-start; gap: var(--pk-s3); }
.pk-about-leaders__group { margin: var(--pk-s6) 0 var(--pk-s4); font-size: var(--pk-fs-lg); }
.pk-about-leaders__group:first-child { margin-top: 0; }
.pk-about-leaders__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--pk-s5);
    margin: 0;
    padding: 0;
    list-style: none;
}
.pk-about-leader__media {
    aspect-ratio: 4 / 5;
    overflow: hidden;
    background: linear-gradient(180deg, var(--pk-surface) 0%, var(--pk-surface-alt) 100%);
    border-radius: var(--pk-radius-md);
}
.pk-about-leader__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    transition: transform 500ms var(--pk-ease-out);
}
.pk-about-leader:hover .pk-about-leader__media img { transform: scale(1.03); }
.pk-about-leader h4 { margin: var(--pk-s4) 0 var(--pk-s1); font-size: var(--pk-fs-md); line-height: 1.3; }
.pk-about-leader p { margin: 0; color: var(--pk-red-deep); font-size: var(--pk-fs-sm); font-weight: 600; }

/* 8. Companies: every company is a real link, not a moving strip. */
.pk-about-companies__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--pk-s4);
    margin: 0;
    padding: 0;
    list-style: none;
}
.pk-about-company {
    display: flex;
    flex-direction: column;
    height: 100%;
    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: border-color var(--pk-motion-fast) var(--pk-ease-out),
                box-shadow var(--pk-motion-medium) var(--pk-ease-out),
                transform var(--pk-motion-fast) var(--pk-ease-out);
}
.pk-about-company:hover,
.pk-about-company:focus-visible { border-color: var(--pk-red-deep); box-shadow: var(--pk-shadow); transform: translateY(-2px); }
.pk-about-company:focus-visible { outline: 2px solid var(--pk-red-deep); outline-offset: 2px; }
.pk-about-company__logo { display: flex; align-items: center; height: 64px; margin-bottom: var(--pk-s4); }
.pk-about-company__logo img { max-width: 100%; max-height: 56px; width: auto; height: auto; object-fit: contain; }
.pk-about-company strong { font-size: var(--pk-fs-base); line-height: 1.35; }
.pk-about-company__area { margin-top: var(--pk-s2); color: var(--pk-muted); font-size: var(--pk-fs-sm); line-height: 1.5; }
.pk-about-company__est {
    margin-top: auto;
    padding-top: var(--pk-s4);
    color: var(--pk-red-deep);
    font-size: var(--pk-fs-xs);
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

/* 9. Closing call to action: a contained panel, so it never merges with the
   dark footer below. */
.pk-cta-band__panel {
    display: grid;
    gap: var(--pk-s6);
    align-items: end;
    padding: clamp(32px, 5vw, 64px);
    color: #C7CDD4;
    background: var(--pk-ink);
    border-radius: var(--pk-radius-md);
    border-top: 4px solid var(--pk-red);
}
.pk-cta-band .pk-eyebrow { color: #FF8B90; }
.pk-cta-band h2 { max-width: 20ch; margin: var(--pk-s3) 0 var(--pk-s4); color: #fff; }
.pk-cta-band p { max-width: 58ch; margin: 0; color: #B9C2CA; }
.pk-cta-band__actions { display: flex; flex-wrap: wrap; gap: var(--pk-s3); }

/* Layout steps */
@media (min-width: 600px) {
    .pk-about-companies__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 720px) {
    .pk-about-leaders__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .pk-about-apart__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pk-about-values__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 960px) {
    .pk-about-hero__grid { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); }
    .pk-about-overview__grid { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(40px, 6vw, 96px); }
    .pk-about-purpose__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .pk-cta-band__panel { grid-template-columns: minmax(0, 1fr) auto; }
    /* Horizontal timeline: years run left to right along one rule. */
    .pk-about-timeline {
        grid-auto-columns: minmax(0, 1fr);
        grid-auto-flow: column;
        gap: var(--pk-s5);
        padding: var(--pk-s6) 0 0;
    }
    .pk-about-timeline::before,
    .pk-about-timeline::after { top: 5px; bottom: auto; left: 0; right: 0; width: auto; height: 2px; transform-origin: left; }
    .pk-about-timeline li::before { top: calc(var(--pk-s6) * -1); left: 0; }
}
@media (min-width: 1180px) {
    .pk-about-leaders__layout { grid-template-columns: minmax(260px, .7fr) minmax(0, 2fr); gap: clamp(40px, 5vw, 80px); }
    .pk-about-leaders__intro { position: sticky; top: calc(var(--pk-header-h) + 84px); align-self: start; }
    .pk-about-companies__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .pk-about-apart__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .pk-about-values__list { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

/* Motion (see budget above). Hidden states apply only once JS has marked the
   page (.pk-motion-ready), so content never depends on JavaScript. */
@media (prefers-reduced-motion: no-preference) {
    .pk-about-hero__copy > * { animation: pk-about-rise 600ms var(--pk-ease-out) both; }
    .pk-about-hero__copy > :nth-child(2) { animation-delay: 70ms; }
    .pk-about-hero__copy > :nth-child(3) { animation-delay: 140ms; }
    .pk-about-hero__copy > :nth-child(4) { animation-delay: 210ms; }
    .pk-about-hero__media { animation: pk-about-media 900ms var(--pk-ease-out) 120ms both; }

    .pk-motion-ready .pk-about-timeline::after { transform: scaleY(0); transition: transform 1100ms var(--pk-ease-out); }
    .pk-motion-ready .pk-about-timeline li { opacity: 0; transform: translate3d(0, 12px, 0); transition: opacity 420ms var(--pk-ease-out), transform 520ms var(--pk-ease-out); transition-delay: calc(var(--pk-step, 0) * 140ms + 150ms); }
    .pk-motion-ready .pk-about-timeline.is-drawn::after { transform: none; }
    .pk-motion-ready .pk-about-timeline.is-drawn li { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: no-preference) and (min-width: 960px) {
    .pk-motion-ready .pk-about-timeline::after { transform: scaleX(0); }
    .pk-motion-ready .pk-about-timeline.is-drawn::after { transform: none; }
}
@keyframes pk-about-rise {
    from { opacity: 0; transform: translate3d(0, 14px, 0); }
    to { opacity: 1; transform: none; }
}
@keyframes pk-about-media {
    from { opacity: 0; transform: scale(1.02); }
    to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
    .pk-about-subnav { backdrop-filter: none; }
    .pk-about-leader__media img,
    .pk-about-company,
    .pk-about-apart__grid li { transition: none; }
}

/* ----------------------------------------------------------- home page */
/*
   Everything below the hero follows the About page system: split headers,
   the shared figures band, contained panels, 180ms hover feedback and
   one-time reveals. Nothing below the hero moves on its own except the
   certificate strip (hover and off-screen pause).
   Rhythm: intro (white) · companies (surface) · leadership (canvas panel)
   · capabilities (white) · products (surface) · why (ink) · achievements
   (canvas) · appliances (white) · certificates · newsroom (canvas) · CTA.
*/
.pk-home-intro,
.pk-home-lead,
.pk-home-caps,
.pk-home-why,
.pk-home-brand,
.pk-home-newsroom { padding: clamp(56px, 7vw, 104px) 0; }
.pk-home-intro,
.pk-home-caps,
.pk-home-brand { background: var(--pk-white); }
.pk-home-lead,
.pk-home-newsroom,
.pk-home-cta { background: var(--pk-canvas); }
.pk-home-cta { padding-top: 0; }

/* Intro: story beside the image, verified figures underneath. */
.pk-home-intro__grid { display: grid; gap: clamp(32px, 5vw, 72px); align-items: center; }
.pk-home-intro__copy h2 { max-width: 16ch; margin: var(--pk-s3) 0 var(--pk-s5); font-size: var(--pk-type-feature); line-height: 1.08; }
.pk-home-intro__copy p {
    max-width: 62ch;
    margin: 0 0 var(--pk-s6);
    color: var(--pk-ink-2);
    font-size: clamp(1rem, .96rem + .2vw, 1.125rem);
    line-height: 1.75;
}
.pk-home-intro__media { margin: 0; overflow: hidden; border-radius: var(--pk-radius-md); background: var(--pk-surface); }
.pk-home-intro__media img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.pk-home-intro__figures { margin: clamp(48px, 6vw, 80px) 0 0; }
/* Story: a lead sentence, supporting copy, and a framed photograph —
   the opening statement of the group. */
.pk-home-intro__copy .pk-home-intro__lead {
    max-width: none;
    margin: 0 0 var(--pk-s5);
    padding-left: var(--pk-s5);
    border-left: 3px solid var(--pk-red);
    color: var(--pk-ink);
    font-size: clamp(1.1875rem, 1.05rem + .55vw, 1.5rem);
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: -.005em;
}
.pk-home-intro__copy .pk-home-intro__body {
    max-width: none;
    margin: 0 0 var(--pk-s6);
    color: var(--pk-muted);
    font-size: clamp(1rem, .96rem + .2vw, 1.0625rem);
    line-height: 1.8;
}
.pk-home-intro__visual { position: relative; }
.pk-home-intro__visual::before {
    content: "";
    position: absolute;
    top: -18px;
    right: -18px;
    width: 42%;
    height: 58%;
    border-top: 3px solid var(--pk-red);
    border-right: 3px solid var(--pk-red);
    border-radius: 0 var(--pk-radius-md) 0 0;
    pointer-events: none;
}
.pk-home-intro__media { position: relative; box-shadow: 0 24px 60px rgba(14, 22, 32, .14); }
@media (max-width: 959px) {
    .pk-home-intro__visual::before { display: none; }

}

/* Shared figures band (Home, About). */
.pk-figures {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 2px solid var(--pk-ink);
}
.pk-figures > div {
    display: flex;
    flex-direction: column-reverse;
    justify-content: flex-end;
    gap: var(--pk-s2);
    padding: var(--pk-s5) var(--pk-s4) var(--pk-s5) 0;
    border-bottom: 1px solid var(--pk-line);
}
.pk-figures dd {
    margin: 0;
    color: var(--pk-ink);
    font-family: var(--pk-font-display);
    font-size: clamp(2.5rem, 2rem + 2vw, 4rem);
    font-weight: 700;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}
.pk-figures > div:last-child dd { color: var(--pk-red-deep); }
.pk-figures dt { color: var(--pk-muted); font-size: var(--pk-fs-sm); font-weight: 600; }
@media (max-width: 719px) {
    .pk-figures > div:nth-child(even) { padding-left: var(--pk-s4); border-left: 1px solid var(--pk-line); }
}
@media (min-width: 720px) {
    .pk-figures { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .pk-figures > div + div { padding-left: var(--pk-s5); border-left: 1px solid var(--pk-line); }
}

/* Companies: the grid stays; its decorative logo motif is gone. */
.pk-home-companies .pk-sec-head { margin-bottom: clamp(32px, 4vw, 52px); }

/* Leadership: a contained panel with a portrait of sensible height, rather
   than a full-bleed block taller than the screen. */
.pk-home-lead__panel {
    display: grid;
    overflow: hidden;
    color: #C7CDD4;
    background: var(--pk-ink);
    border-radius: var(--pk-radius-md);
}
.pk-home-lead__media { position: relative; margin: 0; min-height: 360px; background: #22282E; }
.pk-home-lead__media img {
    display: block;
    width: 100%;
    height: 100%;
    max-height: 640px;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: center 20%;
}
.pk-home-lead__copy { align-self: center; padding: clamp(32px, 5vw, 72px); }
.pk-home-lead .pk-eyebrow { color: #FF8B90; }
.pk-home-lead h2 { max-width: 16ch; margin: var(--pk-s3) 0 var(--pk-s4); color: #fff; }
.pk-home-lead__copy > p { max-width: 54ch; margin: 0; color: #B9C2CA; font-size: clamp(1rem, .96rem + .2vw, 1.125rem); line-height: 1.7; }
.pk-home-lead__identity {
    margin: var(--pk-s6) 0;
    padding-left: var(--pk-s4);
    border-left: 3px solid var(--pk-red);
}
.pk-home-lead__identity strong { display: block; color: #fff; font-size: var(--pk-fs-md); }
.pk-home-lead__identity span { display: block; margin-top: 2px; color: #FF8B90; font-size: var(--pk-fs-sm); font-weight: 600; }

/* Capabilities: five steps read left to right, image then text. */
.pk-home-caps__grid {
    display: grid;
    gap: var(--pk-s4);
    margin: 0;
    padding: 0;
    list-style: none;
}
.pk-home-caps__card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: var(--pk-canvas);
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius-md);
    transition: border-color var(--pk-motion-fast) var(--pk-ease-out), box-shadow var(--pk-motion-medium) var(--pk-ease-out);
}
.pk-home-caps__card:hover { border-color: #C7CDD4; box-shadow: var(--pk-shadow); }
.pk-home-caps__media { margin: 0; aspect-ratio: 4 / 3; overflow: hidden; background: var(--pk-white); }
.pk-home-caps__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 500ms var(--pk-ease-out); }
.pk-home-caps__card:hover .pk-home-caps__media img { transform: scale(1.03); }
.pk-home-caps__body { padding: var(--pk-s5); }
.pk-home-caps__body span { color: var(--pk-red-deep); font-family: var(--pk-font-display); font-size: var(--pk-fs-sm); font-weight: 700; }
.pk-home-caps__body h3 { margin: var(--pk-s2) 0 var(--pk-s3); font-size: var(--pk-fs-md); line-height: 1.3; }
.pk-home-caps__body p { margin: 0; color: var(--pk-muted); font-size: var(--pk-fs-sm); line-height: 1.6; }

/* Products: keep the rail, drop the decorative mark pattern and grid glow. */
.pk-home-products::before,
.pk-home-products::after { display: none; }

/* Why Primitek: numbered points on ink. */
.pk-home-why { color: #C7CDD4; background: var(--pk-ink); }
.pk-home-why .pk-eyebrow { color: #FF8B90; }
.pk-home-why h2 { color: #fff; }
.pk-home-why__grid {
    display: grid;
    gap: var(--pk-s5);
    margin: 0;
    padding: 0;
    list-style: none;
}
.pk-home-why__grid li { padding-top: var(--pk-s4); border-top: 1px solid #3A424A; }
.pk-home-why__grid span { color: #FF8B90; font-family: var(--pk-font-display); font-size: var(--pk-fs-sm); font-weight: 700; }
.pk-home-why__grid h3 { margin: var(--pk-s3) 0 var(--pk-s2); color: #fff; font-size: var(--pk-fs-md); }
.pk-home-why__grid p { margin: 0; color: #A8B2BC; font-size: var(--pk-fs-sm); line-height: 1.65; }

/* Consumer brand: the artwork is framed inside the page grid. */
.pk-home-brand { padding-bottom: 0; }
.pk-home-brand__media { margin: 0; overflow: hidden; border-radius: var(--pk-radius-md); background: #0B1014; }
.pk-home-brand__media img { display: block; width: 100%; height: auto; }

/* Newsroom: the three latest stories, whole card clickable. */
.pk-home-newsroom__grid {
    display: grid;
    gap: var(--pk-s5);
    margin: 0;
    padding: 0;
    list-style: none;
}
.pk-home-newsroom__card {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    background: var(--pk-white);
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius-md);
    transition: border-color var(--pk-motion-fast) var(--pk-ease-out), box-shadow var(--pk-motion-medium) var(--pk-ease-out), transform var(--pk-motion-fast) var(--pk-ease-out);
}
.pk-home-newsroom__card:hover,
.pk-home-newsroom__card:focus-within { border-color: #C7CDD4; box-shadow: var(--pk-shadow); transform: translateY(-2px); }
.pk-home-newsroom__media { aspect-ratio: 16 / 10; overflow: hidden; background: var(--pk-surface); }
.pk-home-newsroom__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 500ms var(--pk-ease-out); }
.pk-home-newsroom__card:hover .pk-home-newsroom__media img { transform: scale(1.03); }
.pk-home-newsroom__body { display: flex; flex: 1; flex-direction: column; padding: var(--pk-s5); }
.pk-home-newsroom__body time { color: var(--pk-red-deep); font-size: var(--pk-fs-xs); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.pk-home-newsroom__body h3 { margin: var(--pk-s2) 0 var(--pk-s3); font-size: var(--pk-fs-md); line-height: 1.35; }
.pk-home-newsroom__body h3 a { color: var(--pk-ink); text-decoration: none; }
/* Stretch the headline link over the whole card. */
.pk-home-newsroom__body h3 a::after { content: ""; position: absolute; inset: 0; }
.pk-home-newsroom__body h3 a:focus-visible { outline: none; }
.pk-home-newsroom__card:focus-within { outline: 2px solid var(--pk-red-deep); outline-offset: 2px; }
.pk-home-newsroom__body p {
    display: -webkit-box;
    margin: 0 0 var(--pk-s4);
    overflow: hidden;
    color: var(--pk-muted);
    font-size: var(--pk-fs-sm);
    line-height: 1.6;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
.pk-home-newsroom__more { margin-top: auto; color: var(--pk-red-deep); font-size: var(--pk-fs-sm); font-weight: 700; }

@media (min-width: 720px) {
    .pk-home-caps__grid,
    .pk-home-why__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pk-home-newsroom__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 960px) {
    .pk-home-intro__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .pk-home-lead__panel { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
    .pk-home-cta h2 { max-width: 26ch; }
    /* The copy sets the panel height; the portrait fills it. */
    .pk-home-lead__media img { position: absolute; inset: 0; max-height: none; aspect-ratio: auto; }
    .pk-home-lead__copy { min-height: 520px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
    .pk-home-caps__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1180px) {
    .pk-home-why__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 1360px) {
    .pk-home-caps__grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
    .pk-home-caps__card,
    .pk-home-caps__media img,
    .pk-home-newsroom__card,
    .pk-home-newsroom__media img { transition: none; }
}

/* ------------------------------------------------------- about > history */
/*
   Oldest to newest, one column of milestones beside a sticky introduction.
   Motion: hero entrance once, reveals once, and a red progress line that
   fills as the reader moves through the timeline (scroll-linked, so it never
   plays on its own). All removed under prefers-reduced-motion.
*/
.pk-history-hero {
    padding: clamp(28px, 4vw, 56px) 0 clamp(48px, 6vw, 88px);
    background: linear-gradient(180deg, var(--pk-canvas) 0%, var(--pk-white) 100%);
}
.pk-history-hero__grid { display: grid; gap: clamp(32px, 5vw, 72px); align-items: center; }
.pk-history-hero .pk-breadcrumb { margin-bottom: var(--pk-s6); }
.pk-history-hero h1 { margin: var(--pk-s3) 0 var(--pk-s5); font-size: var(--pk-type-hero); line-height: 1.04; }
.pk-history-hero__lede { max-width: 54ch; margin: 0; color: var(--pk-muted); font-size: clamp(1.0625rem, 1rem + .3vw, 1.25rem); line-height: 1.7; }
.pk-history-hero__media { position: relative; margin: 0; overflow: hidden; border-radius: var(--pk-radius-md); box-shadow: var(--pk-shadow-float); background: var(--pk-surface); }
.pk-history-hero__media::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: var(--pk-red); }
.pk-history-hero__media img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }

.pk-history-figures { padding: 0 0 clamp(48px, 6vw, 88px); background: var(--pk-white); }

.pk-history-journey { padding: clamp(56px, 7vw, 104px) 0; background: var(--pk-canvas); }
.pk-history-journey__grid { display: grid; gap: var(--pk-s7); }
.pk-history-journey__intro h2 { max-width: 16ch; margin: var(--pk-s3) 0 var(--pk-s4); }
.pk-history-journey__intro p { max-width: 46ch; margin: 0; color: var(--pk-muted); line-height: 1.7; }

.pk-history-line {
    --pk-line-progress: 1;
    position: relative;
    display: grid;
    gap: var(--pk-s5);
    margin: 0;
    padding: 0 0 0 var(--pk-s7);
    list-style: none;
}
.pk-history-line::before,
.pk-history-line::after {
    content: "";
    position: absolute;
    top: 10px;
    bottom: 10px;
    left: 7px;
    width: 2px;
    background: var(--pk-line);
}
.pk-history-line::after {
    background: var(--pk-red);
    transform: scaleY(var(--pk-line-progress));
    transform-origin: top;
}
.pk-history-line__item {
    position: relative;
    padding: clamp(20px, 2.4vw, 32px);
    background: var(--pk-white);
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius-md);
    transition: border-color var(--pk-motion-fast) var(--pk-ease-out), box-shadow var(--pk-motion-medium) var(--pk-ease-out);
}
.pk-history-line__item:hover { border-color: #C7CDD4; box-shadow: var(--pk-shadow); }
/* Marker sits on the line, level with the year. */
.pk-history-line__item::before {
    content: "";
    position: absolute;
    z-index: 1;
    top: clamp(26px, 2.8vw, 38px);
    left: calc(var(--pk-s7) * -1);
    width: 16px;
    height: 16px;
    background: var(--pk-white);
    border: 4px solid var(--pk-red-deep);
    border-radius: 50%;
}
.pk-history-line__year {
    display: block;
    color: var(--pk-red-deep);
    font-family: var(--pk-font-display);
    font-size: clamp(1.75rem, 1.4rem + 1.2vw, 2.5rem);
    font-weight: 700;
    line-height: 1;
}
.pk-history-line__body h3 { margin: var(--pk-s3) 0 var(--pk-s2); font-size: var(--pk-fs-lg); line-height: 1.3; }
.pk-history-line__body p { max-width: 64ch; margin: 0; color: var(--pk-muted); line-height: 1.7; }
.pk-history-line__media { max-width: 560px; margin: var(--pk-s5) 0 0; overflow: hidden; border-radius: var(--pk-radius); background: var(--pk-surface); }
.pk-history-line__media img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }

.pk-history-cta { padding: clamp(56px, 7vw, 104px) 0; background: var(--pk-white); }

@media (min-width: 960px) {
    .pk-history-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .pk-history-journey__grid { grid-template-columns: minmax(260px, .8fr) minmax(0, 2fr); gap: clamp(40px, 6vw, 96px); }
    .pk-history-journey__intro { position: sticky; top: calc(var(--pk-header-h) + 40px); align-self: start; }
}
@media (prefers-reduced-motion: no-preference) {
    .pk-history-hero__copy > * { animation: pk-about-rise 600ms var(--pk-ease-out) both; }
    .pk-history-hero__copy > :nth-child(2) { animation-delay: 60ms; }
    .pk-history-hero__copy > :nth-child(3) { animation-delay: 120ms; }
    .pk-history-hero__copy > :nth-child(4) { animation-delay: 180ms; }
    .pk-history-hero__media { animation: pk-about-media 900ms var(--pk-ease-out) 120ms both; }
}
@media (prefers-reduced-motion: reduce) {
    .pk-history-line__item { transition: none; }
}

/* ------------------------------------------ about > board / management */
/*
   People first, then their words. The roster puts every leader on screen in
   the introduction; each card jumps to that person's signed message. Portraits
   sit on one neutral backdrop so differing studio backgrounds read as a set.
   Motion: one-time reveals and 180ms card feedback only.
*/
.pk-lead-hero {
    padding: clamp(28px, 4vw, 56px) 0 clamp(56px, 7vw, 104px);
    background: linear-gradient(180deg, var(--pk-canvas) 0%, var(--pk-white) 100%);
}
.pk-lead-hero__head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--pk-s5) var(--pk-s7);
    margin-bottom: clamp(36px, 5vw, 64px);
}
.pk-lead-hero .pk-breadcrumb { margin-bottom: var(--pk-s6); }
.pk-lead-hero h1 { margin: var(--pk-s3) 0 var(--pk-s4); font-size: var(--pk-type-hero); line-height: 1.04; }
.pk-lead-hero__lede { max-width: 56ch; margin: 0; color: var(--pk-muted); font-size: clamp(1.0625rem, 1rem + .3vw, 1.25rem); line-height: 1.7; }
.pk-lead-hero__switch {
    display: inline-flex;
    padding: 4px;
    background: var(--pk-surface);
    border: 1px solid var(--pk-line);
    border-radius: 999px;
}
.pk-lead-hero__switch a {
    padding: 10px 18px;
    color: var(--pk-muted);
    border-radius: 999px;
    font-size: var(--pk-fs-sm);
    font-weight: 600;
    text-decoration: none;
    transition: color var(--pk-motion-fast) var(--pk-ease-out), background var(--pk-motion-fast) var(--pk-ease-out);
}
.pk-lead-hero__switch a:hover { color: var(--pk-ink); }
.pk-lead-hero__switch a[aria-current="page"] { color: #fff; background: var(--pk-ink); }
.pk-lead-hero__switch a:focus-visible { outline: 2px solid var(--pk-red-deep); outline-offset: 2px; }

.pk-lead-roster {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 300px));
    gap: var(--pk-s5);
    margin: 0;
    padding: 0;
    list-style: none;
}
.pk-lead-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    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;
    transition: border-color var(--pk-motion-fast) var(--pk-ease-out), box-shadow var(--pk-motion-medium) var(--pk-ease-out), transform var(--pk-motion-fast) var(--pk-ease-out);
}
.pk-lead-card:hover,
.pk-lead-card:focus-visible { border-color: #C7CDD4; box-shadow: var(--pk-shadow); transform: translateY(-2px); }
.pk-lead-card:focus-visible { outline: 2px solid var(--pk-red-deep); outline-offset: 2px; }
.pk-lead-card__media,
.pk-lead-message__portrait {
    display: block;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    background: linear-gradient(180deg, #EEF1F4 0%, #DDE3E8 100%);
}
.pk-lead-card__media img,
.pk-lead-message__portrait img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    transition: transform 500ms var(--pk-ease-out);
}
.pk-lead-card:hover .pk-lead-card__media img { transform: scale(1.03); }
.pk-lead-card__body { display: flex; flex: 1; flex-direction: column; gap: var(--pk-s1); padding: var(--pk-s5); border-top: 3px solid var(--pk-red); }
.pk-lead-card__role { color: var(--pk-red-deep); font-size: var(--pk-fs-xs); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.pk-lead-card__body strong { font-size: var(--pk-fs-lg); line-height: 1.3; }
.pk-lead-card__more { margin-top: auto; padding-top: var(--pk-s4); color: var(--pk-muted); font-size: var(--pk-fs-sm); font-weight: 600; }
.pk-lead-card:hover .pk-lead-card__more { color: var(--pk-red-deep); }

.pk-lead-message {
    padding: clamp(56px, 7vw, 112px) 0;
    background: var(--pk-white);
    border-top: 1px solid var(--pk-line);
    scroll-margin-top: var(--pk-header-h);
}
.pk-lead-message--alt { background: var(--pk-canvas); }
.pk-lead-message__grid { display: grid; gap: var(--pk-s7); align-items: start; }
.pk-lead-message__profile { max-width: 340px; }
.pk-lead-message__portrait { border-radius: var(--pk-radius-md); }
.pk-lead-message__name { margin: var(--pk-s4) 0 var(--pk-s1); color: var(--pk-ink); font-size: var(--pk-fs-lg); font-weight: 700; line-height: 1.3; }
.pk-lead-message__role { margin: 0; color: var(--pk-muted); font-size: var(--pk-fs-sm); }
.pk-lead-message__body { max-width: 72ch; }
.pk-lead-message__title { margin: 0 0 var(--pk-s5); }
/* The opening paragraph reads as the message's lead, with a quotation rule. */
.pk-lead-message__lead {
    margin: 0 0 var(--pk-s6);
    padding-left: var(--pk-s5);
    color: var(--pk-ink);
    border-left: 3px solid var(--pk-red);
    font-family: var(--pk-font-display);
    font-size: clamp(1.1875rem, 1.06rem + .5vw, 1.5rem);
    font-weight: 500;
    line-height: 1.45;
}
.pk-lead-message__body > p:not(.pk-lead-message__lead) {
    margin: 0 0 var(--pk-s5);
    color: var(--pk-ink-2);
    font-size: clamp(1rem, .97rem + .15vw, 1.0625rem);
    line-height: 1.8;
}
.pk-lead-message__sign {
    display: grid;
    gap: 2px;
    margin-top: var(--pk-s7);
    padding-top: var(--pk-s5);
    border-top: 1px solid var(--pk-line);
}
.pk-lead-message__sign strong { color: var(--pk-ink); font-size: var(--pk-fs-md); }
.pk-lead-message__sign span { color: var(--pk-red-deep); font-size: var(--pk-fs-sm); font-weight: 600; }

.pk-lead-cta { padding: clamp(56px, 7vw, 104px) 0; background: var(--pk-white); border-top: 1px solid var(--pk-line); }

@media (min-width: 1180px) {
    /* Heading beside the people, so a small board still fills the width. */
    .pk-lead-hero > .pk-wrap { display: grid; grid-template-columns: minmax(320px, .85fr) minmax(0, 1.6fr); gap: clamp(40px, 5vw, 88px); align-items: center; }
    .pk-lead-hero__head { flex-direction: column; align-items: flex-start; margin-bottom: 0; }
    .pk-lead-roster { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
}
@media (min-width: 960px) {
    .pk-lead-message__grid { grid-template-columns: minmax(260px, 340px) minmax(0, 1fr); gap: clamp(48px, 7vw, 120px); }
    .pk-lead-message__profile { position: sticky; top: calc(var(--pk-header-h) + 32px); }
}
@media (max-width: 599px) {
    .pk-lead-roster { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--pk-s3); }
    .pk-lead-card__body { padding: var(--pk-s4); }
    .pk-lead-card__body strong { font-size: var(--pk-fs-base); }
}
@media (max-width: 959px) {
    /* On phones the portrait is already in the roster; keep the message compact. */
    .pk-lead-message__profile { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 0 var(--pk-s4); align-items: center; max-width: none; }
    .pk-lead-message__portrait { grid-row: span 2; border-radius: 50%; aspect-ratio: 1; }
    .pk-lead-message__name { margin: 0; align-self: end; }
    .pk-lead-message__role { align-self: start; }
}
@media (prefers-reduced-motion: no-preference) {
    .pk-lead-hero__copy > * { animation: pk-about-rise 600ms var(--pk-ease-out) both; }
    .pk-lead-hero__copy > :nth-child(2) { animation-delay: 60ms; }
    .pk-lead-hero__copy > :nth-child(3) { animation-delay: 120ms; }
    .pk-lead-hero__copy > :nth-child(4) { animation-delay: 180ms; }
}
@media (prefers-reduced-motion: reduce) {
    .pk-lead-card,
    .pk-lead-card__media img,
    .pk-lead-hero__switch a { transition: none; }
}

/* ------------------------------------------------------- company profiles */
/*
   /businesses/{slug}. Hero with a relevant product photograph and the facts,
   a readable company brief, the full profile open on the page with a sticky
   contents list that follows the reader, related product categories, contact,
   and the rest of the group. Motion: hero entrance once, one-time reveals,
   180ms hover feedback. Nothing loops.
*/
.pk-co-hero {
    padding: clamp(28px, 4vw, 56px) 0 clamp(56px, 7vw, 96px);
    background: linear-gradient(180deg, var(--pk-canvas) 0%, var(--pk-white) 100%);
}
.pk-co-hero__grid { display: grid; gap: clamp(32px, 5vw, 72px); align-items: center; }
.pk-co-hero .pk-breadcrumb { margin-bottom: var(--pk-s6); }
.pk-co-hero h1 { max-width: 18ch; margin: var(--pk-s3) 0 var(--pk-s4); font-size: var(--pk-type-hero); line-height: 1.04; }
.pk-co-hero__lede { max-width: 50ch; margin: 0 0 var(--pk-s6); color: var(--pk-muted); font-size: clamp(1.0625rem, 1rem + .3vw, 1.25rem); line-height: 1.65; }
.pk-co-hero__actions { display: flex; flex-wrap: wrap; gap: var(--pk-s3); }

.pk-co-hero__card {
    position: relative;
    overflow: hidden;
    background: var(--pk-white);
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius-md);
    box-shadow: var(--pk-shadow-float);
}
.pk-co-hero__visual { aspect-ratio: 16 / 10; overflow: hidden; background: var(--pk-surface); }
.pk-co-hero__visual img { display: block; width: 100%; height: 100%; object-fit: cover; }
/* The logo sits on a white chip over the photograph's lower edge. */
.pk-co-hero__logo {
    display: flex;
    align-items: center;
    height: 88px;
    padding: 0 var(--pk-s5);
    border-bottom: 1px solid var(--pk-line);
}
.pk-co-hero__card:not(.pk-co-hero__card--plain) .pk-co-hero__logo {
    position: absolute;
    left: var(--pk-s5);
    top: calc(var(--pk-s5));
    height: 64px;
    padding: 0 var(--pk-s4);
    background: rgba(255, 255, 255, .96);
    border: 0;
    border-radius: var(--pk-radius);
    box-shadow: var(--pk-shadow);
}
.pk-co-hero__logo img { width: auto; max-width: 180px; max-height: 48px; object-fit: contain; }
.pk-co-hero__card--plain { border-top: 4px solid var(--pk-red); }
.pk-co-hero__card--plain .pk-co-hero__logo { height: 120px; }
.pk-co-hero__card--plain .pk-co-hero__logo img { max-width: 220px; max-height: 72px; }
.pk-co-hero__facts { margin: 0; padding: var(--pk-s2) var(--pk-s5) var(--pk-s4); }
.pk-co-hero__facts > div {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr);
    gap: var(--pk-s4);
    padding: var(--pk-s3) 0;
    border-bottom: 1px solid var(--pk-line);
}
.pk-co-hero__facts > div:last-child { border-bottom: 0; }
.pk-co-hero__facts dt { color: var(--pk-muted); font-size: var(--pk-fs-xs); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.pk-co-hero__facts dd { margin: 0; color: var(--pk-ink); font-weight: 600; }
.pk-co-hero__facts a { color: inherit; }
.pk-co-hero__facts a:hover { color: var(--pk-red-deep); }

.pk-co-overview { padding: clamp(56px, 7vw, 104px) 0; background: var(--pk-white); border-top: 1px solid var(--pk-line); }
.pk-co-overview__grid { display: grid; gap: var(--pk-s6); }
.pk-co-overview h2 { max-width: 22ch; margin: var(--pk-s3) 0 0; }
.pk-co-overview__copy { max-width: 68ch; }
.pk-co-overview__lead { margin: 0; color: var(--pk-ink-2); font-size: clamp(1.0625rem, 1rem + .3vw, 1.25rem); line-height: 1.75; }
.pk-co-overview__signals { display: grid; gap: 0; margin: var(--pk-s6) 0 0; padding: 0; list-style: none; border-top: 2px solid var(--pk-ink); }
.pk-co-overview__signals li { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: var(--pk-s4); padding: var(--pk-s4) 0; border-bottom: 1px solid var(--pk-line); }
.pk-co-overview__signals strong { color: var(--pk-red-deep); font-family: var(--pk-font-display); font-size: var(--pk-fs-md); }
.pk-co-overview__signals span { color: var(--pk-ink); font-weight: 600; }

/* Full profile: every chapter open; the contents list follows the reader. */
.pk-co-profile { padding: clamp(56px, 7vw, 104px) 0; background: var(--pk-canvas); }
.pk-co-profile__grid { display: grid; gap: var(--pk-s7); align-items: start; }
.pk-co-toc h2 { margin: var(--pk-s3) 0 var(--pk-s5); font-size: var(--pk-type-section); }
.pk-co-toc ol { display: grid; gap: 2px; margin: 0 0 var(--pk-s5); padding: 0; list-style: none; }
.pk-co-toc ol a {
    display: flex;
    gap: var(--pk-s3);
    padding: 10px var(--pk-s3);
    color: var(--pk-muted);
    border-left: 2px solid var(--pk-line);
    font-size: var(--pk-fs-sm);
    font-weight: 600;
    text-decoration: none;
    transition: color var(--pk-motion-fast) var(--pk-ease-out), border-color var(--pk-motion-fast) var(--pk-ease-out), background var(--pk-motion-fast) var(--pk-ease-out);
}
.pk-co-toc ol a span { color: var(--pk-red-deep); font-variant-numeric: tabular-nums; }
.pk-co-toc ol a:hover { color: var(--pk-ink); border-left-color: #C7CDD4; }
.pk-co-toc ol a[aria-current="true"] { color: var(--pk-ink); background: var(--pk-white); border-left-color: var(--pk-red); }
.pk-co-toc ol a:focus-visible { outline: 2px solid var(--pk-red-deep); outline-offset: 2px; }

.pk-co-chapters { display: grid; gap: var(--pk-s4); }
.pk-co-chapter {
    padding: clamp(24px, 3vw, 44px);
    background: var(--pk-white);
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius-md);
    scroll-margin-top: calc(var(--pk-header-h) + 24px);
}
.pk-co-chapter:focus { outline: none; }
.pk-co-chapter__number { color: var(--pk-red-deep); font-family: var(--pk-font-display); font-size: var(--pk-fs-sm); font-weight: 700; }
.pk-co-chapter h3 { margin: var(--pk-s2) 0 var(--pk-s4); font-size: clamp(1.25rem, 1.1rem + .6vw, 1.625rem); line-height: 1.25; }
.pk-co-prose { max-width: 72ch; }
.pk-co-prose p { margin: 0 0 var(--pk-s4); color: var(--pk-ink-2); line-height: 1.8; }
.pk-co-prose p:last-child { margin-bottom: 0; }
.pk-co-prose ul, .pk-co-prose ol { margin: 0 0 var(--pk-s4); padding-left: 1.2em; color: var(--pk-ink-2); line-height: 1.75; }
.pk-co-prose h3, .pk-co-prose h4 { margin: var(--pk-s5) 0 var(--pk-s2); font-size: var(--pk-fs-md); }

.pk-co-products { padding: clamp(56px, 7vw, 104px) 0; background: var(--pk-white); }
.pk-co-products__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); gap: var(--pk-s4); margin: 0; padding: 0; list-style: none; }
.pk-co-product {
    display: flex;
    flex-direction: column;
    height: 100%;
    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;
    transition: border-color var(--pk-motion-fast) var(--pk-ease-out), box-shadow var(--pk-motion-medium) var(--pk-ease-out), transform var(--pk-motion-fast) var(--pk-ease-out);
}
.pk-co-product:hover,
.pk-co-product:focus-visible { border-color: #C7CDD4; box-shadow: var(--pk-shadow); transform: translateY(-2px); }
.pk-co-product:focus-visible { outline: 2px solid var(--pk-red-deep); outline-offset: 2px; }
.pk-co-product__media { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--pk-surface); }
.pk-co-product__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 500ms var(--pk-ease-out); }
.pk-co-product:hover .pk-co-product__media img { transform: scale(1.03); }
.pk-co-product strong { padding: var(--pk-s4) var(--pk-s4) 0; font-size: var(--pk-fs-md); line-height: 1.3; }
.pk-co-product__more { margin-top: auto; padding: var(--pk-s2) var(--pk-s4) var(--pk-s4); color: var(--pk-red-deep); font-size: var(--pk-fs-sm); font-weight: 700; }

.pk-co-contact { padding: 0 0 clamp(56px, 7vw, 104px); background: var(--pk-white); }
.pk-co-profile + .pk-co-contact,
.pk-co-overview + .pk-co-contact { padding-top: clamp(56px, 7vw, 104px); }
.pk-co-contact__phones { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--pk-s2); margin: var(--pk-s4) 0 0; }
.pk-co-contact__phones span:first-child { width: 100%; color: #A8B2BC; font-size: var(--pk-fs-xs); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.pk-co-contact__phones a { color: #fff; font-family: var(--pk-font-display); font-size: clamp(1.25rem, 1.1rem + .6vw, 1.625rem); font-weight: 700; text-decoration: none; }
.pk-co-contact__phones a:hover { color: #FF8B90; }

.pk-co-others { padding: clamp(56px, 7vw, 104px) 0; background: var(--pk-canvas); border-top: 1px solid var(--pk-line); }
.pk-co-others__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); gap: var(--pk-s3); margin: 0; padding: 0; list-style: none; }
.pk-co-other {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: 2px var(--pk-s4);
    align-items: center;
    height: 100%;
    padding: var(--pk-s4);
    color: var(--pk-ink);
    background: var(--pk-white);
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius-md);
    text-decoration: none;
    transition: border-color var(--pk-motion-fast) var(--pk-ease-out), box-shadow var(--pk-motion-medium) var(--pk-ease-out);
}
.pk-co-other:hover,
.pk-co-other:focus-visible { border-color: var(--pk-red-deep); box-shadow: var(--pk-shadow); }
.pk-co-other:focus-visible { outline: 2px solid var(--pk-red-deep); outline-offset: 2px; }
.pk-co-other__logo { grid-row: span 2; display: flex; align-items: center; justify-content: center; height: 56px; }
.pk-co-other__logo img { max-width: 100%; max-height: 44px; width: auto; height: auto; object-fit: contain; }
.pk-co-other strong { align-self: end; font-size: var(--pk-fs-sm); line-height: 1.35; }
.pk-co-other span:last-child { align-self: start; color: var(--pk-muted); font-size: var(--pk-fs-xs); line-height: 1.4; }

@media (min-width: 960px) {
    .pk-co-hero__grid { grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); }
    .pk-co-overview__grid { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(40px, 6vw, 96px); }
    .pk-co-profile__grid { grid-template-columns: minmax(240px, .7fr) minmax(0, 2fr); gap: clamp(40px, 5vw, 80px); }
    .pk-co-toc { position: sticky; top: calc(var(--pk-header-h) + 32px); }
}
@media (max-width: 959px) {
    /* On small screens the contents list becomes a compact index. */
    .pk-co-toc ol { grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); }
}
@media (prefers-reduced-motion: no-preference) {
    .pk-co-hero__copy > * { animation: pk-about-rise 600ms var(--pk-ease-out) both; }
    .pk-co-hero__copy > :nth-child(2) { animation-delay: 60ms; }
    .pk-co-hero__copy > :nth-child(3) { animation-delay: 120ms; }
    .pk-co-hero__copy > :nth-child(4) { animation-delay: 180ms; }
    .pk-co-hero__copy > :nth-child(5) { animation-delay: 240ms; }
    .pk-co-hero__card { animation: pk-about-media 900ms var(--pk-ease-out) 120ms both; }
}
@media (prefers-reduced-motion: reduce) {
    .pk-co-toc ol a,
    .pk-co-product,
    .pk-co-product__media img,
    .pk-co-other { transition: none; }
}

/* Grid children default to min-width:auto, so an unwrapped breadcrumb could
   widen the page on phones; let hero columns shrink to the viewport. */
.pk-co-hero__copy,
.pk-history-hero__copy,
.pk-lead-hero__copy,
.pk-about-hero__copy { min-width: 0; }

/* /businesses — the group companies hub, in the company-profile system. */
.pk-cos-hero .pk-co-hero__copy { max-width: 860px; }
.pk-cos-hero__figures { margin-top: clamp(40px, 5vw, 64px); }
.pk-cos-list { padding: clamp(48px, 6vw, 88px) 0; background: var(--pk-canvas); border-top: 1px solid var(--pk-line); }
.pk-cos-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: var(--pk-s5); margin: 0; padding: 0; list-style: none; }
.pk-cos-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    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;
    transition: border-color var(--pk-motion-fast) var(--pk-ease-out), box-shadow var(--pk-motion-medium) var(--pk-ease-out), transform var(--pk-motion-fast) var(--pk-ease-out);
}
.pk-cos-card:hover,
.pk-cos-card:focus-visible { border-color: #C7CDD4; box-shadow: var(--pk-shadow); transform: translateY(-2px); }
.pk-cos-card:focus-visible { outline: 2px solid var(--pk-red-deep); outline-offset: 2px; }
.pk-cos-card__media { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: linear-gradient(180deg, var(--pk-surface) 0%, var(--pk-surface-alt) 100%); border-bottom: 3px solid var(--pk-red); }
.pk-cos-card__media > img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 500ms var(--pk-ease-out); }
.pk-cos-card:hover .pk-cos-card__media > img { transform: scale(1.03); }
.pk-cos-card__logo {
    position: absolute;
    left: var(--pk-s4);
    bottom: var(--pk-s4);
    display: flex;
    align-items: center;
    height: 52px;
    padding: 0 var(--pk-s3);
    background: rgba(255, 255, 255, .96);
    border-radius: var(--pk-radius);
    box-shadow: var(--pk-shadow);
}
.pk-cos-card__logo img { width: auto; max-width: 140px; max-height: 38px; object-fit: contain; }
/* Without a product photograph the logo becomes the visual, centred. */
.pk-cos-card--plain .pk-cos-card__media { display: flex; align-items: center; justify-content: center; background: var(--pk-white); }
.pk-cos-card--plain .pk-cos-card__logo { position: static; height: auto; padding: 0; background: none; box-shadow: none; }
.pk-cos-card--plain .pk-cos-card__logo img { max-width: 220px; max-height: 72px; }
.pk-cos-card__body { display: flex; flex: 1; flex-direction: column; gap: var(--pk-s2); padding: var(--pk-s5); }
.pk-cos-card__est { color: var(--pk-red-deep); font-size: var(--pk-fs-xs); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.pk-cos-card__body strong { font-size: var(--pk-fs-lg); line-height: 1.3; }
.pk-cos-card__focus { color: var(--pk-ink-2); font-weight: 600; }
.pk-cos-card__tagline { color: var(--pk-muted); font-size: var(--pk-fs-sm); line-height: 1.55; }
.pk-cos-card__more { margin-top: auto; padding-top: var(--pk-s3); color: var(--pk-red-deep); font-size: var(--pk-fs-sm); font-weight: 700; }
.pk-cos-cta { padding: clamp(56px, 7vw, 104px) 0; background: var(--pk-white); }
@media (min-width: 1180px) { .pk-cos-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (prefers-reduced-motion: reduce) { .pk-cos-card, .pk-cos-card__media > img { transition: none; } }

/* ------------------------------------------------------------ photo gallery */
/*
   Albums, newest first. A sticky album index follows the reader; each album
   opens as its own lightbox sequence. Albums of five or more lead with a
   larger photograph so the grid has rhythm rather than a uniform wall.
*/
.pk-gal-hero {
    padding: clamp(28px, 4vw, 56px) 0 clamp(40px, 5vw, 72px);
    background: linear-gradient(180deg, var(--pk-canvas) 0%, var(--pk-white) 100%);
}
.pk-gal-hero .pk-breadcrumb { margin-bottom: var(--pk-s6); }
.pk-gal-hero h1 { margin: var(--pk-s3) 0 var(--pk-s4); font-size: var(--pk-type-hero); line-height: 1.04; }
.pk-gal-hero .pk-co-hero__actions { align-items: center; gap: var(--pk-s4) var(--pk-s6); }

.pk-gal-nav {
    position: sticky;
    top: var(--pk-header-h);
    z-index: 900;
    background: rgba(255, 255, 255, .96);
    border-block: 1px solid var(--pk-line);
    backdrop-filter: saturate(1.4) blur(8px);
}
.pk-gal-nav ol { display: flex; gap: var(--pk-s2); margin: 0; padding: 10px 0; overflow-x: auto; list-style: none; scrollbar-width: none; }
.pk-gal-nav ol::-webkit-scrollbar { display: none; }
.pk-gal-nav a {
    display: inline-flex;
    align-items: center;
    gap: var(--pk-s2);
    padding: 8px 14px;
    color: var(--pk-ink-2);
    background: var(--pk-surface);
    border: 1px solid var(--pk-line);
    border-radius: 999px;
    font-size: var(--pk-fs-sm);
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    transition: color var(--pk-motion-fast) var(--pk-ease-out), background var(--pk-motion-fast) var(--pk-ease-out), border-color var(--pk-motion-fast) var(--pk-ease-out);
}
.pk-gal-nav a span { color: var(--pk-muted); font-size: var(--pk-fs-xs); font-variant-numeric: tabular-nums; }
.pk-gal-nav a:hover { border-color: #C7CDD4; }
.pk-gal-nav a[aria-current="true"] { color: #fff; background: var(--pk-ink); border-color: var(--pk-ink); }
.pk-gal-nav a[aria-current="true"] span { color: #FF8B90; }
.pk-gal-nav a:focus-visible { outline: 2px solid var(--pk-red-deep); outline-offset: 2px; }

.pk-gal-albums { padding: clamp(40px, 5vw, 72px) 0 clamp(56px, 7vw, 104px); background: var(--pk-white); }
.pk-gal-album + .pk-gal-album { margin-top: clamp(56px, 7vw, 96px); }
.pk-gal-album { scroll-margin-top: calc(var(--pk-header-h) + 72px); }
.pk-gal-album:focus { outline: none; }
.pk-gal-album__head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--pk-s3) var(--pk-s5);
    margin-bottom: var(--pk-s5);
    padding-bottom: var(--pk-s4);
    border-bottom: 1px solid var(--pk-line);
}
.pk-gal-album__head time { color: var(--pk-red-deep); font-size: var(--pk-fs-xs); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.pk-gal-album__head h2 { margin: var(--pk-s2) 0 0; font-size: var(--pk-type-section); }
.pk-gal-album__count { color: var(--pk-muted); font-size: var(--pk-fs-sm); font-weight: 600; }

.pk-gal-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-flow: dense;
    gap: var(--pk-s3);
    margin: 0;
    padding: 0;
    list-style: none;
}
.pk-gal-grid > li { min-width: 0; }
.pk-gal-grid > li:only-child { grid-column: span 2; }
/* Large albums open at nine photographs (three full rows with the lead). */
.pk-gal-grid.is-collapsed > li:nth-child(n+10) { display: none; }
.pk-gal-more {
    display: inline-flex;
    align-items: center;
    gap: var(--pk-s2);
    margin-top: var(--pk-s5);
    padding: 12px 20px;
    color: var(--pk-ink);
    background: var(--pk-white);
    border: 1px solid var(--pk-ink);
    border-radius: var(--pk-radius);
    font-weight: 700;
    cursor: pointer;
    transition: background var(--pk-motion-fast) var(--pk-ease-out), color var(--pk-motion-fast) var(--pk-ease-out);
}
.pk-gal-more:hover { color: #fff; background: var(--pk-ink); }
.pk-gal-more:focus-visible { outline: 2px solid var(--pk-red-deep); outline-offset: 2px; }
.pk-gal-photo {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--pk-surface);
    border-radius: var(--pk-radius);
}
.pk-gal-photo img { display: block; width: 100%; max-width: 100%; height: 100%; object-fit: cover; transition: transform 600ms var(--pk-ease-out), filter 300ms var(--pk-ease-out); }
.pk-gal-photo:hover img,
.pk-gal-photo:focus-visible img { transform: scale(1.04); }
.pk-gal-photo:focus-visible { outline: 2px solid var(--pk-red-deep); outline-offset: 3px; }
/* The lead photograph of a larger album spans two by two. */
.pk-gal-grid--feature > li:first-child { grid-column: span 2; grid-row: span 2; }
.pk-gal-grid--feature > li:first-child .pk-gal-photo { height: 100%; aspect-ratio: auto; }
/* The lead image fills the two rows the smaller photographs define. */
.pk-gal-grid--feature > li:first-child .pk-gal-photo img { position: absolute; inset: 0; }
@media (min-width: 720px) {
    .pk-gal-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--pk-s4); }
}
@media (min-width: 1180px) {
    .pk-gal-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
/* On the two-column phone grid a 2 x 2 lead has no neighbours to give its
   rows height, so it collapsed to a strip. There it spans the width only. */
@media (max-width: 719px) {
    .pk-gal-grid--feature > li:first-child { grid-row: auto; }
    .pk-gal-grid--feature > li:first-child .pk-gal-photo { height: auto; aspect-ratio: 4 / 3; }
    .pk-gal-grid--feature > li:first-child .pk-gal-photo img { position: static; }
}
/* Square photographs (the award ceremony set) shown whole, never cropped:
   two columns on phones, four from tablet width (eight photos, two rows). */
.pk-gal-grid--square .pk-gal-photo { aspect-ratio: 1 / 1; }
@media (min-width: 720px) {
    .pk-gal-grid.pk-gal-grid--square { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
    .pk-gal-photo img,
    .pk-gal-nav a { transition: none; }
    .pk-gal-nav { backdrop-filter: none; }
}

/* ------------------------------------------------------------------- CSR */
.pk-csr-hero__sub { margin: 0 0 var(--pk-s3); color: var(--pk-ink); font-size: var(--pk-fs-lg); font-weight: 600; }
.pk-csr-principle { padding: clamp(48px, 6vw, 88px) 0; background: var(--pk-ink); }
.pk-csr-principle__quote { max-width: 980px; margin: 0; padding-left: clamp(20px, 3vw, 40px); border-left: 4px solid var(--pk-red); }
.pk-csr-principle .pk-eyebrow { color: #FF8B90; }
.pk-csr-principle__quote p { margin: var(--pk-s4) 0 0; color: #fff; font-family: var(--pk-font-display); font-size: clamp(1.5rem, 1.2rem + 1.3vw, 2.5rem); font-weight: 600; line-height: 1.3; }

.pk-csr-commitments { padding: clamp(56px, 7vw, 104px) 0; background: var(--pk-white); scroll-margin-top: var(--pk-header-h); }
.pk-csr-pillars { display: grid; gap: var(--pk-s4); margin: 0; padding: 0; list-style: none; counter-reset: none; }
.pk-csr-pillar {
    padding: clamp(24px, 3vw, 44px);
    background: var(--pk-canvas);
    border: 1px solid var(--pk-line);
    border-top: 3px solid var(--pk-ink);
    border-radius: var(--pk-radius);
    transition: border-top-color var(--pk-motion-fast) var(--pk-ease-out), box-shadow var(--pk-motion-medium) var(--pk-ease-out);
}
.pk-csr-pillar:hover { border-top-color: var(--pk-red); box-shadow: var(--pk-shadow); }
.pk-csr-pillar__num { color: var(--pk-red-deep); font-family: var(--pk-font-display); font-size: var(--pk-fs-sm); font-weight: 700; }
.pk-csr-pillar h3 { margin: var(--pk-s3) 0 var(--pk-s4); font-size: clamp(1.25rem, 1.1rem + .6vw, 1.625rem); line-height: 1.25; }

.pk-csr-record { padding: clamp(56px, 7vw, 104px) 0; background: var(--pk-canvas); border-top: 1px solid var(--pk-line); }
.pk-csr-timeline { display: grid; gap: var(--pk-s4); margin: 0; padding: 0; list-style: none; }
.pk-csr-entry {
    position: relative;
    display: grid;
    height: 100%;
    overflow: hidden;
    background: var(--pk-white);
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius-md);
    transition: border-color var(--pk-motion-fast) var(--pk-ease-out), box-shadow var(--pk-motion-medium) var(--pk-ease-out);
}
.pk-csr-entry:hover, .pk-csr-entry:focus-within { border-color: #C7CDD4; box-shadow: var(--pk-shadow); }
.pk-csr-entry__media { aspect-ratio: 4 / 3; overflow: hidden; background: var(--pk-surface); }
.pk-csr-entry__media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 35%; transition: transform 500ms var(--pk-ease-out); }
.pk-csr-entry:hover .pk-csr-entry__media img { transform: scale(1.03); }
.pk-csr-entry__body { display: flex; flex-direction: column; padding: var(--pk-s5); }
.pk-csr-entry__body time { color: var(--pk-red-deep); font-size: var(--pk-fs-xs); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.pk-csr-entry__body h3 { margin: var(--pk-s2) 0 var(--pk-s3); font-size: var(--pk-fs-lg); line-height: 1.3; }
.pk-csr-entry__body h3 a { color: var(--pk-ink); text-decoration: none; }
.pk-csr-entry__body h3 a::after { content: ""; position: absolute; inset: 0; }
.pk-csr-entry__body p { margin: 0 0 var(--pk-s4); color: var(--pk-muted); font-size: var(--pk-fs-sm); line-height: 1.6; }
.pk-csr-entry__more { margin-top: auto; color: var(--pk-red-deep); font-size: var(--pk-fs-sm); font-weight: 700; }
.pk-csr-entry:focus-within { outline: 2px solid var(--pk-red-deep); outline-offset: 2px; }
.pk-csr-entry__body h3 a:focus-visible { outline: none; }

.pk-csr-archive { margin-top: clamp(40px, 5vw, 64px); }
.pk-csr-archive h3 { margin: 0 0 var(--pk-s4); color: var(--pk-muted); font-size: var(--pk-fs-xs); letter-spacing: var(--pk-label-track); text-transform: uppercase; }
.pk-csr-archive__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); gap: var(--pk-s3); margin: 0; padding: 0; list-style: none; }
.pk-csr-archive__grid > li { min-width: 0; }
.pk-csr-cta { padding: clamp(56px, 7vw, 104px) 0; background: var(--pk-white); }

@media (min-width: 720px) {
    .pk-csr-pillars { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pk-csr-timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pk-csr-entry { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); }
    .pk-csr-entry__media { aspect-ratio: auto; min-height: 240px; }
}
@media (prefers-reduced-motion: reduce) {
    .pk-csr-pillar, .pk-csr-entry, .pk-csr-entry__media img { transition: none; }
}

/* ---------------------------------------------------------- sustainability */
.pk-sus-hero__media { background: #fff; }
/* A product cut-out on white: show it whole, with breathing room. */
.pk-sus-hero__media img { object-fit: contain; padding: clamp(24px, 4vw, 56px); background: #fff; }
.pk-sus-standard { padding: clamp(56px, 7vw, 104px) 0; background: var(--pk-canvas); border-top: 1px solid var(--pk-line); }
.pk-sus-standard__grid { display: grid; gap: var(--pk-s7); align-items: start; }
.pk-sus-standard__grid h2 { margin: var(--pk-s3) 0 var(--pk-s4); }
.pk-sus-standard__grid > div > p { max-width: 44ch; margin: 0; color: var(--pk-muted); line-height: 1.7; }
.pk-sus-standard__list { display: grid; gap: var(--pk-s3); margin: 0; padding: 0; list-style: none; }
.pk-sus-standard__list li {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: var(--pk-s4);
    align-items: start;
    padding: var(--pk-s5);
    background: var(--pk-white);
    border: 1px solid var(--pk-line);
    border-left: 3px solid var(--pk-red);
    border-radius: var(--pk-radius);
}
.pk-sus-standard__list span { color: var(--pk-red-deep); font-family: var(--pk-font-display); font-size: var(--pk-fs-lg); font-weight: 700; line-height: 1.2; }
.pk-sus-standard__list h3 { margin: 0 0 var(--pk-s2); font-size: var(--pk-fs-md); }
.pk-sus-standard__list p { margin: 0; color: var(--pk-muted); line-height: 1.65; }
@media (min-width: 960px) {
    .pk-sus-standard__grid { grid-template-columns: minmax(260px, .8fr) minmax(0, 1.4fr); gap: clamp(40px, 6vw, 96px); }
    .pk-sus-standard__grid > div:first-child { position: sticky; top: calc(var(--pk-header-h) + 40px); }
}

/* --------------------------------------------------------------- products */
/*
   /products, /products/{category}, /product/{slug}. One card per product
   name (the catalogue stores one row per photo), real photographs, the
   making company named, and a clear enquiry path on every page.
*/
.pk-prod-hero > .pk-wrap { display: grid; gap: clamp(32px, 5vw, 64px); align-items: end; }
.pk-prod-steps { display: grid; gap: var(--pk-s3); margin: 0; padding: 0; list-style: none; }
.pk-prod-steps li { padding: var(--pk-s4) var(--pk-s5); background: var(--pk-white); border: 1px solid var(--pk-line); border-left: 3px solid var(--pk-red); border-radius: var(--pk-radius); }
.pk-prod-steps span { color: var(--pk-red-deep); font-family: var(--pk-font-display); font-size: var(--pk-fs-sm); font-weight: 700; }
.pk-prod-steps strong { display: block; margin: 2px 0; font-size: var(--pk-fs-md); }
.pk-prod-steps p { margin: 0; color: var(--pk-muted); font-size: var(--pk-fs-sm); line-height: 1.55; }

.pk-cat-products { padding: clamp(56px, 7vw, 104px) 0; background: var(--pk-canvas); border-top: 1px solid var(--pk-line); }
.pk-prod-grid,
.pk-cat-grid { display: grid; gap: var(--pk-s4); margin: 0; padding: 0; list-style: none; }
.pk-prod-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: var(--pk-s5); }
.pk-cat-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); }
.pk-prod-grid > li, .pk-cat-grid > li { min-width: 0; }

.pk-prod-card,
.pk-cat-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    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;
    transition: border-color var(--pk-motion-fast) var(--pk-ease-out), box-shadow var(--pk-motion-medium) var(--pk-ease-out), transform var(--pk-motion-fast) var(--pk-ease-out);
}
.pk-prod-card:hover, .pk-prod-card:focus-visible,
.pk-cat-card:hover, .pk-cat-card:focus-visible { border-color: #C7CDD4; box-shadow: var(--pk-shadow); transform: translateY(-2px); }
.pk-prod-card:focus-visible, .pk-cat-card:focus-visible { outline: 2px solid var(--pk-red-deep); outline-offset: 2px; }
.pk-prod-card__media,
.pk-cat-card__media { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: #fff; border-bottom: 1px solid var(--pk-line); }
.pk-prod-card__media img,
.pk-cat-card__media img { display: block; width: 100%; height: 100%; object-fit: contain; padding: var(--pk-s4); transition: transform 500ms var(--pk-ease-out); }
.pk-prod-card:hover .pk-prod-card__media img,
.pk-cat-card:hover .pk-cat-card__media img { transform: scale(1.04); }
.pk-prod-card__count { position: absolute; left: var(--pk-s4); top: var(--pk-s4); padding: 4px 10px; color: #fff; background: var(--pk-ink); border-radius: 999px; font-size: var(--pk-fs-xs); font-weight: 700; }
.pk-prod-card__body,
.pk-cat-card__body { display: flex; flex: 1; flex-direction: column; gap: var(--pk-s2); padding: var(--pk-s5); }
.pk-prod-card__body strong { font-size: var(--pk-fs-lg); line-height: 1.3; }
.pk-cat-card__body strong { font-size: var(--pk-fs-md); line-height: 1.3; }
.pk-prod-card__text { color: var(--pk-muted); font-size: var(--pk-fs-sm); line-height: 1.6; }
.pk-prod-card__maker,
.pk-cat-card__meta { color: var(--pk-ink-2); font-size: var(--pk-fs-xs); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.pk-prod-card__more,
.pk-cat-card__more { margin-top: auto; padding-top: var(--pk-s2); color: var(--pk-red-deep); font-size: var(--pk-fs-sm); font-weight: 700; }

.pk-cat-makers { display: flex; flex-wrap: wrap; align-items: center; gap: var(--pk-s2); margin: 0 0 var(--pk-s6); }
.pk-cat-makers span { color: var(--pk-muted); font-size: var(--pk-fs-sm); font-weight: 600; }
.pk-cat-makers a { padding: 6px 12px; color: var(--pk-ink); background: var(--pk-white); border: 1px solid var(--pk-line); border-radius: 999px; font-size: var(--pk-fs-sm); font-weight: 600; text-decoration: none; }
.pk-cat-makers a:hover { color: var(--pk-red-deep); border-color: var(--pk-red-deep); }

.pk-cat-brief { padding: clamp(56px, 7vw, 104px) 0; background: var(--pk-white); border-top: 1px solid var(--pk-line); }
.pk-cat-brief .pk-btn { margin-top: var(--pk-s5); }
.pk-cat-others { padding: clamp(56px, 7vw, 104px) 0; background: var(--pk-canvas); border-top: 1px solid var(--pk-line); }
.pk-cat-others .pk-split-head a:not(.pk-link-arrow) { color: var(--pk-red-deep); }
.pk-cat-chips { display: flex; flex-wrap: wrap; gap: var(--pk-s3); margin: 0; padding: 0; list-style: none; }
.pk-cat-chip {
    display: inline-flex;
    align-items: center;
    gap: var(--pk-s3);
    padding: 6px 18px 6px 6px;
    color: var(--pk-ink);
    background: var(--pk-white);
    border: 1px solid var(--pk-line);
    border-radius: 999px;
    font-weight: 600;
    text-decoration: none;
    transition: border-color var(--pk-motion-fast) var(--pk-ease-out), color var(--pk-motion-fast) var(--pk-ease-out);
}
.pk-cat-chip:hover, .pk-cat-chip:focus-visible { color: var(--pk-red-deep); border-color: var(--pk-red-deep); }
.pk-cat-chip__img { display: grid; place-items: center; width: 40px; height: 40px; overflow: hidden; color: var(--pk-red-deep); background: var(--pk-surface); border-radius: 50%; font-weight: 700; }
.pk-cat-chip__img img { width: 100%; height: 100%; object-fit: cover; }

/* Product detail */
.pk-pd { padding: clamp(28px, 4vw, 56px) 0 clamp(56px, 7vw, 104px); background: linear-gradient(180deg, var(--pk-canvas) 0%, var(--pk-white) 100%); }
.pk-pd .pk-breadcrumb { margin-bottom: var(--pk-s6); }
.pk-pd__grid { display: grid; gap: clamp(32px, 5vw, 72px); align-items: start; }
.pk-pd__gallery { min-width: 0; }
.pk-pd__main {
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius-md);
    box-shadow: var(--pk-shadow);
}
.pk-pd__main img { display: block; width: 100%; height: 100%; object-fit: contain; padding: clamp(16px, 3vw, 40px); transition: opacity 200ms var(--pk-ease-out); }
.pk-pd__main.is-swapping img { opacity: .2; }
.pk-pd__thumbs { display: flex; gap: var(--pk-s3); margin: var(--pk-s4) 0 0; padding: 0; overflow-x: auto; list-style: none; }
.pk-pd__thumb { display: block; width: 96px; height: 76px; padding: 4px; background: #fff; border: 2px solid var(--pk-line); border-radius: var(--pk-radius); cursor: pointer; transition: border-color var(--pk-motion-fast) var(--pk-ease-out); }
.pk-pd__thumb img { width: 100%; height: 100%; object-fit: contain; }
.pk-pd__thumb:hover { border-color: #C7CDD4; }
.pk-pd__thumb[aria-current="true"] { border-color: var(--pk-red); }
.pk-pd__thumb:focus-visible { outline: 2px solid var(--pk-red-deep); outline-offset: 2px; }
.pk-pd__info { min-width: 0; }
.pk-pd__cat { text-decoration: none; }
.pk-pd__cat:hover { text-decoration: underline; }
.pk-pd h1 { margin: var(--pk-s3) 0 var(--pk-s4); font-size: var(--pk-type-page); line-height: 1.05; }
.pk-pd__lede { margin: 0 0 var(--pk-s5); color: var(--pk-muted); font-size: clamp(1.0625rem, 1rem + .3vw, 1.25rem); line-height: 1.7; }
.pk-pd__copy { margin-bottom: var(--pk-s5); }
.pk-pd__facts { margin: 0 0 var(--pk-s5); padding: 0; border-top: 2px solid var(--pk-ink); }
.pk-pd__facts a { color: inherit; }
.pk-pd__facts a:hover { color: var(--pk-red-deep); }
.pk-pd__h2 { margin: var(--pk-s5) 0 var(--pk-s3); font-size: var(--pk-fs-lg); }
.pk-pd__actions { display: flex; flex-wrap: wrap; gap: var(--pk-s3); }
.pk-pd__checklist { display: grid; gap: var(--pk-s2); margin: var(--pk-s5) 0 0; padding: var(--pk-s4) var(--pk-s5); list-style: none; background: var(--pk-canvas); border: 1px solid var(--pk-line); border-radius: var(--pk-radius); }
.pk-pd__checklist::before { content: "Include in your enquiry"; color: var(--pk-muted); font-size: var(--pk-fs-xs); font-weight: 700; letter-spacing: var(--pk-label-track); text-transform: uppercase; }
.pk-pd__checklist li { position: relative; padding-left: var(--pk-s5); color: var(--pk-ink-2); font-size: var(--pk-fs-sm); }
.pk-pd__checklist li::before { content: ""; position: absolute; left: 0; top: .5em; width: 8px; height: 8px; background: var(--pk-red); }

@media (min-width: 960px) {
    .pk-prod-hero > .pk-wrap { grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr); }
    .pk-pd__grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
    .pk-pd__gallery { position: sticky; top: calc(var(--pk-header-h) + 24px); }
}
@media (prefers-reduced-motion: reduce) {
    .pk-prod-card, .pk-cat-card, .pk-prod-card__media img, .pk-cat-card__media img, .pk-cat-chip, .pk-pd__main img { transition: none; }
}

/* ------------------------------------------------------------------ awards */
.pk-aw-figures { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pk-awards-showcase + .pk-history-figures { padding-top: clamp(48px, 6vw, 88px); }
@media (max-width: 719px) { .pk-aw-figures { grid-template-columns: 1fr; } .pk-aw-figures > div { padding-left: 0 !important; border-left: 0 !important; } }
.pk-aw-record { padding: clamp(56px, 7vw, 104px) 0; background: var(--pk-canvas); border-top: 1px solid var(--pk-line); scroll-margin-top: var(--pk-header-h); }
.pk-aw-list { display: grid; gap: var(--pk-s4); margin: 0; padding: 0; list-style: none; }
.pk-aw-entry {
    display: grid;
    overflow: hidden;
    background: var(--pk-white);
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius-md);
    transition: border-color var(--pk-motion-fast) var(--pk-ease-out), box-shadow var(--pk-motion-medium) var(--pk-ease-out);
}
.pk-aw-entry:hover { border-color: #C7CDD4; box-shadow: var(--pk-shadow); }
.pk-aw-entry__media { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--pk-surface); }
.pk-aw-entry__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 500ms var(--pk-ease-out); }
.pk-aw-entry__media:hover img { transform: scale(1.03); }
.pk-aw-entry__body { display: flex; flex-direction: column; padding: clamp(20px, 2.4vw, 32px); }
.pk-aw-entry__fy { align-self: flex-start; padding: 4px 12px; color: #fff; background: var(--pk-red-deep); border-radius: 999px; font-size: var(--pk-fs-sm); font-weight: 700; font-variant-numeric: tabular-nums; }
.pk-aw-entry h3 { margin: var(--pk-s4) 0 var(--pk-s1); font-size: var(--pk-fs-lg); line-height: 1.3; }
.pk-aw-entry h3 a { color: var(--pk-ink); text-decoration: none; }
.pk-aw-entry h3 a:hover { color: var(--pk-red-deep); text-decoration: underline; }
.pk-aw-entry__award { margin: 0 0 var(--pk-s4); color: var(--pk-muted); font-weight: 600; }
.pk-aw-entry__meta { display: grid; gap: var(--pk-s2); margin: 0 0 var(--pk-s4); padding-top: var(--pk-s3); border-top: 1px solid var(--pk-line); }
.pk-aw-entry__meta > div { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: var(--pk-s3); }
.pk-aw-entry__meta dt { color: var(--pk-muted); font-size: var(--pk-fs-xs); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.pk-aw-entry__meta dd { margin: 0; color: var(--pk-ink-2); font-size: var(--pk-fs-sm); }
.pk-aw-entry__note { margin-top: auto; border-top: 1px solid var(--pk-line); }
.pk-aw-entry__note summary { padding: var(--pk-s3) 0 0; color: var(--pk-red-deep); font-size: var(--pk-fs-sm); font-weight: 700; cursor: pointer; }
.pk-aw-entry__note p { margin: var(--pk-s3) 0 0; color: var(--pk-ink-2); font-size: var(--pk-fs-sm); line-height: 1.75; }

.pk-aw-trophies { padding: clamp(56px, 7vw, 104px) 0; background: var(--pk-white); border-top: 1px solid var(--pk-line); }
.pk-aw-trophy-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); gap: var(--pk-s4); margin: 0; padding: 0; list-style: none; }
.pk-aw-trophy { display: flex; flex-direction: column; height: 100%; 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; transition: border-color var(--pk-motion-fast) var(--pk-ease-out), box-shadow var(--pk-motion-medium) var(--pk-ease-out); }
a.pk-aw-trophy:hover { border-color: #C7CDD4; box-shadow: var(--pk-shadow); }
.pk-aw-trophy.pk-lightbox-trigger { display: flex; }
.pk-aw-trophy__img { position: relative; flex: none; display: block; aspect-ratio: 4 / 5; padding: var(--pk-s4); background: linear-gradient(180deg, #fff 0%, var(--pk-surface) 100%); }
.pk-aw-trophy__img img { position: absolute; inset: var(--pk-s4); display: block; width: calc(100% - 2 * var(--pk-s4)); height: calc(100% - 2 * var(--pk-s4)); object-fit: contain; }
.pk-aw-trophy__cap small { display: block; margin-bottom: 2px; color: var(--pk-red-deep); font-size: var(--pk-fs-xs); letter-spacing: .06em; text-transform: uppercase; }
.pk-aw-trophy__cap { display: block; padding: var(--pk-s4); border-top: 3px solid var(--pk-red); font-weight: 700; line-height: 1.35; }
.pk-aw-tokens { margin-top: clamp(40px, 5vw, 64px); }
.pk-aw-tokens h3 { margin: 0 0 var(--pk-s2); font-size: var(--pk-fs-lg); }
.pk-aw-tokens p { max-width: 60ch; margin: 0 0 var(--pk-s4); color: var(--pk-muted); }
.pk-aw-token-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 150px), 1fr)); }
.pk-aw-token { aspect-ratio: 1; background: #fff; border: 1px solid var(--pk-line); }
.pk-aw-token img { object-fit: contain; padding: 8px; }
.pk-aw-ceremonies { padding: clamp(56px, 7vw, 104px) 0; background: var(--pk-canvas); border-top: 1px solid var(--pk-line); }
@media (min-width: 720px) {
    .pk-aw-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1180px) {
    .pk-aw-entry { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); }
    .pk-aw-entry__media { aspect-ratio: auto; min-height: 100%; }
}
@media (prefers-reduced-motion: reduce) { .pk-aw-entry, .pk-aw-entry__media img, .pk-aw-trophy { transition: none; } }

/* ---------------------------------------------------------------- newsroom */
.pk-nr { padding: clamp(28px, 4vw, 56px) 0 clamp(56px, 7vw, 104px); background: linear-gradient(180deg, var(--pk-canvas) 0, var(--pk-white) 420px); }
.pk-nr__head { margin-bottom: clamp(28px, 4vw, 48px); }
.pk-nr__head .pk-breadcrumb { margin-bottom: var(--pk-s6); }
.pk-nr__head h1 { margin: var(--pk-s3) 0 0; font-size: var(--pk-type-hero); line-height: 1.04; }
.pk-nr-tag { display: inline-block; padding: 4px 12px; color: #fff; background: var(--pk-red-deep); border-radius: 999px; font-size: var(--pk-fs-xs); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.pk-nr-tag--soft { color: var(--pk-red-deep); background: var(--pk-red-tint); }

.pk-nr-feature {
    position: relative;
    display: grid;
    overflow: hidden;
    margin-bottom: clamp(40px, 5vw, 64px);
    background: var(--pk-white);
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius-md);
    box-shadow: var(--pk-shadow);
}
.pk-nr-feature__media { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--pk-surface); }
.pk-nr-feature__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 600ms var(--pk-ease-out); }
.pk-nr-feature:hover .pk-nr-feature__media img { transform: scale(1.03); }
.pk-nr-feature__body { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: var(--pk-s3); padding: clamp(24px, 4vw, 56px); }
.pk-nr-feature__body time { color: var(--pk-muted); font-size: var(--pk-fs-sm); font-weight: 600; }
.pk-nr-feature__body h2 { margin: 0; font-size: var(--pk-type-section); line-height: 1.15; }
.pk-nr-feature__body h2 a { color: var(--pk-ink); text-decoration: none; }
.pk-nr-feature__body h2 a:hover { color: var(--pk-red-deep); }
.pk-nr-feature__body p { max-width: 56ch; margin: 0 0 var(--pk-s3); color: var(--pk-muted); font-size: clamp(1rem, .96rem + .2vw, 1.125rem); line-height: 1.7; }

.pk-nr-filter { display: flex; flex-wrap: wrap; gap: var(--pk-s2); margin-bottom: var(--pk-s5); }
.pk-nr-filter button {
    display: inline-flex; align-items: center; gap: var(--pk-s2);
    min-height: 40px; padding: 0 16px;
    color: var(--pk-ink-2); background: var(--pk-white);
    border: 1px solid var(--pk-line); border-radius: 999px;
    font-size: var(--pk-fs-sm); font-weight: 600; cursor: pointer;
    transition: color var(--pk-motion-fast) var(--pk-ease-out), background var(--pk-motion-fast) var(--pk-ease-out), border-color var(--pk-motion-fast) var(--pk-ease-out);
}
.pk-nr-filter button span { color: var(--pk-muted); font-size: var(--pk-fs-xs); }
.pk-nr-filter button:hover { border-color: #C7CDD4; }
.pk-nr-filter button[aria-pressed="true"] { color: #fff; background: var(--pk-ink); border-color: var(--pk-ink); }
.pk-nr-filter button[aria-pressed="true"] span { color: #FF8B90; }
.pk-nr-filter button:focus-visible { outline: 2px solid var(--pk-red-deep); outline-offset: 2px; }

.pk-nr-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: var(--pk-s5); margin: 0; padding: 0; list-style: none; }
.pk-nr-grid > li { min-width: 0; }
.pk-nr-grid > li[hidden] { display: none; }
.pk-nr-card {
    position: relative;
    display: flex; flex-direction: column; height: 100%; overflow: hidden;
    background: var(--pk-white);
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius-md);
    transition: border-color var(--pk-motion-fast) var(--pk-ease-out), box-shadow var(--pk-motion-medium) var(--pk-ease-out), transform var(--pk-motion-fast) var(--pk-ease-out);
}
.pk-nr-card:hover, .pk-nr-card:focus-within { border-color: #C7CDD4; box-shadow: var(--pk-shadow); transform: translateY(-2px); }
.pk-nr-card:focus-within { outline: 2px solid var(--pk-red-deep); outline-offset: 2px; }
.pk-nr-card__media { position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: var(--pk-surface); }
.pk-nr-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 500ms var(--pk-ease-out); }
.pk-nr-card:hover .pk-nr-card__media img { transform: scale(1.04); }
.pk-nr-card__count { position: absolute; right: var(--pk-s3); bottom: var(--pk-s3); padding: 4px 10px; color: #fff; background: rgba(22, 24, 29, .82); border-radius: 999px; font-size: var(--pk-fs-xs); font-weight: 700; }
.pk-nr-card__body { display: flex; flex: 1; flex-direction: column; padding: var(--pk-s5); }
.pk-nr-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--pk-s2) var(--pk-s3); }
.pk-nr-card__meta time { color: var(--pk-red-deep); font-size: var(--pk-fs-xs); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.pk-nr-card h3 { margin: var(--pk-s3) 0 var(--pk-s2); font-size: var(--pk-fs-lg); line-height: 1.3; }
.pk-nr-card h3 a { color: var(--pk-ink); text-decoration: none; }
.pk-nr-card h3 a::after { content: ""; position: absolute; inset: 0; }
.pk-nr-card h3 a:focus-visible { outline: none; }
.pk-nr-card p { display: -webkit-box; margin: 0 0 var(--pk-s4); overflow: hidden; color: var(--pk-muted); font-size: var(--pk-fs-sm); line-height: 1.6; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.pk-nr-card__more { margin-top: auto; color: var(--pk-red-deep); font-size: var(--pk-fs-sm); font-weight: 700; }

/* News article photographs */
.pk-news-photos { padding: 0 0 clamp(48px, 6vw, 88px); }
.pk-news-photos--lead { padding-top: clamp(40px, 5vw, 72px); }
.pk-news-more { padding: clamp(56px, 7vw, 96px) 0; background: var(--pk-canvas); border-top: 1px solid var(--pk-line); }
.pk-news-more .pk-split-head { margin-bottom: var(--pk-s6); }
.pk-news-more .pk-nr-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.pk-news-photos h2 { margin: 0 0 var(--pk-s4); font-size: var(--pk-fs-lg); }

@media (min-width: 960px) {
    .pk-nr-feature { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); }
    .pk-nr-feature__media { aspect-ratio: auto; min-height: 460px; }
}
@media (prefers-reduced-motion: reduce) {
    .pk-nr-feature__media img, .pk-nr-card, .pk-nr-card__media img, .pk-nr-filter button { transition: none; }
}

/* ----------------------------------------------------------- video gallery */
/*
   Broadcast posters are set in type (channel and year) on a dark screen, so
   the page makes no image or video requests until someone presses play.
*/
.pk-vd { padding: clamp(28px, 4vw, 56px) 0 clamp(56px, 7vw, 104px); background: linear-gradient(180deg, var(--pk-canvas) 0, var(--pk-white) 420px); }
.pk-vd__head { margin-bottom: clamp(28px, 4vw, 48px); }
.pk-vd__head .pk-breadcrumb { margin-bottom: var(--pk-s6); }
.pk-vd__head h1 { margin: var(--pk-s3) 0 0; font-size: var(--pk-type-hero); line-height: 1.04; }
.pk-vd__count { margin: var(--pk-s3) 0 0; color: var(--pk-muted); font-size: var(--pk-fs-sm); font-weight: 600; }
.pk-vd-source { margin: 0; color: var(--pk-red-deep); font-size: var(--pk-fs-xs); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }

.pk-vd-poster {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    padding: clamp(16px, 2.4vw, 24px);
    overflow: hidden;
    color: #fff;
    text-align: left;
    background:
        radial-gradient(120% 90% at 100% 0, rgba(200, 16, 46, .38) 0, rgba(200, 16, 46, 0) 60%),
        linear-gradient(135deg, #1D2027 0, #121419 100%);
}
.pk-vd-poster::after {
    content: "";
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(0deg, rgba(255, 255, 255, .025) 0 1px, transparent 1px 3px);
    pointer-events: none;
}
.pk-vd-poster__source { position: relative; z-index: 1; max-width: 80%; font-family: var(--pk-font-display); font-size: var(--pk-fs-lg); font-weight: 700; line-height: 1.2; }
.pk-vd-poster__year { position: relative; z-index: 1; color: rgba(255, 255, 255, .55); font-size: var(--pk-fs-sm); font-weight: 600; letter-spacing: .08em; }
.pk-vd-poster__play {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    display: grid;
    place-items: center;
    width: 60px;
    height: 60px;
    color: #fff;
    background: var(--pk-red);
    border-radius: 50%;
    box-shadow: 0 0 0 8px rgba(200, 16, 46, .22);
    transform: translate(-50%, -50%);
    transition: transform var(--pk-motion-fast) var(--pk-ease-out), box-shadow var(--pk-motion-medium) var(--pk-ease-out);
}
.pk-vd-poster__play svg { margin-left: 3px; }
.pk-vd-poster__clips { position: absolute; right: clamp(16px, 2.4vw, 24px); bottom: clamp(16px, 2.4vw, 24px); z-index: 1; padding: 4px 10px; background: rgba(255, 255, 255, .14); border-radius: 999px; font-size: var(--pk-fs-xs); font-weight: 700; }
.pk-vd-poster--large .pk-vd-poster__source { font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2.5rem); }
.pk-vd-poster--large .pk-vd-poster__play { width: 84px; height: 84px; box-shadow: 0 0 0 12px rgba(200, 16, 46, .22); }
.pk-vd-poster--large .pk-vd-poster__play svg { width: 32px; height: 32px; }

.pk-vd-feature__screen,
.pk-vd-card__screen { display: block; width: 100%; aspect-ratio: 16 / 9; padding: 0; border: 0; cursor: pointer; background: #121419; }
.pk-vd-feature__screen:hover .pk-vd-poster__play,
.pk-vd-card__screen:hover .pk-vd-poster__play,
.pk-vd-feature__screen:focus-visible .pk-vd-poster__play,
.pk-vd-card__screen:focus-visible .pk-vd-poster__play { box-shadow: 0 0 0 14px rgba(200, 16, 46, .28); transform: translate(-50%, -50%) scale(1.08); }
.pk-vd-feature__screen:focus-visible,
.pk-vd-card__screen:focus-visible { outline: 3px solid var(--pk-red); outline-offset: -3px; }

.pk-vd-feature {
    display: grid;
    overflow: hidden;
    margin-bottom: clamp(48px, 6vw, 80px);
    background: var(--pk-white);
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius-md);
    box-shadow: var(--pk-shadow);
}
.pk-vd-feature__body { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: var(--pk-s3); padding: clamp(24px, 4vw, 48px); }
.pk-vd-feature__body time { color: var(--pk-muted); font-size: var(--pk-fs-sm); font-weight: 600; }
.pk-vd-feature__body h2 { margin: 0; font-size: var(--pk-type-section); line-height: 1.15; }

.pk-vd-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: var(--pk-s5); margin: 0; padding: 0; list-style: none; }
.pk-vd-grid > li { min-width: 0; }
.pk-vd-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    background: var(--pk-white);
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius-md);
    transition: border-color var(--pk-motion-fast) var(--pk-ease-out), box-shadow var(--pk-motion-medium) var(--pk-ease-out), transform var(--pk-motion-fast) var(--pk-ease-out);
}
.pk-vd-card:hover { border-color: #C7CDD4; box-shadow: var(--pk-shadow); transform: translateY(-2px); }
.pk-vd-card__body { display: flex; flex: 1; flex-direction: column; gap: var(--pk-s2); padding: var(--pk-s5); }
.pk-vd-card__body time { color: var(--pk-muted); font-size: var(--pk-fs-xs); font-weight: 600; }
.pk-vd-card h3 { margin: 0; font-size: var(--pk-fs-md); line-height: 1.4; }
.pk-vd-card .pk-vd-source { margin-top: auto; padding-top: var(--pk-s2); }

.pk-vd-player { width: min(100% - 32px, 1080px); max-width: none; max-height: calc(100% - 32px); margin: auto; padding: 0; color: #fff; background: transparent; border: 0; }
.pk-vd-player::backdrop { background: rgba(10, 11, 14, .88); backdrop-filter: blur(4px); }
.pk-vd-player[open] { animation: pk-vd-in 240ms var(--pk-ease-out); }
.pk-vd-player__frame { overflow: hidden; background: #121419; border-radius: var(--pk-radius-md); }
.pk-vd-player__head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--pk-s4); padding: var(--pk-s4) var(--pk-s5); }
.pk-vd-player__head h2 { margin: 4px 0 0; color: #fff; font-size: var(--pk-fs-md); line-height: 1.35; }
.pk-vd-player .pk-vd-source { color: #FF8B90; }
.pk-vd-player__close { display: grid; flex: none; place-items: center; width: 44px; height: 44px; color: #fff; background: rgba(255, 255, 255, .1); border: 0; border-radius: 50%; cursor: pointer; }
.pk-vd-player__close:hover { background: rgba(255, 255, 255, .2); }
.pk-vd-player__close:focus-visible,
.pk-vd-player__clips button:focus-visible { outline: 2px solid #FF8B90; outline-offset: 2px; }
.pk-vd-player__stage { aspect-ratio: 16 / 9; background: #000; }
.pk-vd-player__stage video,
.pk-vd-player__stage iframe { display: block; width: 100%; height: 100%; border: 0; background: #000; }
.pk-vd-player__error { margin: 0; padding: var(--pk-s3) var(--pk-s5); color: #FF8B90; font-size: var(--pk-fs-sm); }
.pk-vd-player__clips { display: flex; flex-wrap: wrap; gap: var(--pk-s2); padding: var(--pk-s4) var(--pk-s5); }
.pk-vd-player__clips[hidden] { display: none; }
.pk-vd-player__clips button { min-height: 36px; padding: 0 14px; color: #fff; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .18); border-radius: 999px; font-size: var(--pk-fs-sm); font-weight: 600; cursor: pointer; }
.pk-vd-player__clips button[aria-pressed="true"] { background: var(--pk-red); border-color: var(--pk-red); }
@keyframes pk-vd-in { from { opacity: 0; transform: translateY(12px) scale(.98); } to { opacity: 1; transform: none; } }

@media (min-width: 960px) {
    .pk-vd-feature { grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); }
    .pk-vd-feature__screen { aspect-ratio: auto; min-height: 420px; }
}
@media (prefers-reduced-motion: reduce) {
    .pk-vd-card, .pk-vd-poster__play { transition: none; }
    .pk-vd-player[open] { animation: none; }
}

/* ------------------------------------------------------------------ contact */
.pk-ct { padding: clamp(28px, 4vw, 56px) 0 clamp(56px, 7vw, 104px); background: linear-gradient(180deg, var(--pk-canvas) 0, var(--pk-white) 520px); }
.pk-ct__head { max-width: 760px; margin-bottom: clamp(32px, 4vw, 48px); }
.pk-ct__head .pk-breadcrumb { margin-bottom: var(--pk-s6); }
.pk-ct__head h1 { margin: var(--pk-s3) 0 var(--pk-s4); font-size: var(--pk-type-hero); line-height: 1.04; }
.pk-ct__lede { margin: 0; color: var(--pk-muted); font-size: clamp(1.0625rem, 1rem + .3vw, 1.25rem); line-height: 1.7; }

.pk-ct-channels { display: grid; gap: var(--pk-s4); margin: 0 0 clamp(40px, 5vw, 64px); padding: 0; list-style: none; }
.pk-ct-channel {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--pk-s2);
    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-md);
}
.pk-ct-channel__icon { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: var(--pk-s2); color: var(--pk-red-deep); background: var(--pk-red-tint); border-radius: 50%; }
.pk-ct-channel h2 { margin: 0; color: var(--pk-muted); font-size: var(--pk-fs-xs); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.pk-ct-channel__value { color: var(--pk-ink); font-family: var(--pk-font-display); font-size: var(--pk-fs-lg); font-weight: 700; text-decoration: none; overflow-wrap: anywhere; }
.pk-ct-channel__value:hover { color: var(--pk-red-deep); }
.pk-ct-channel address { color: var(--pk-ink); font-style: normal; font-weight: 600; line-height: 1.6; }
.pk-ct-channel p { margin: 0; color: var(--pk-muted); font-size: var(--pk-fs-sm); }
.pk-ct-channel .pk-link-arrow { margin-top: auto; padding-top: var(--pk-s2); }

.pk-ct-main { display: grid; gap: clamp(32px, 4vw, 56px); align-items: start; }
.pk-ct-form {
    padding: clamp(24px, 4vw, 48px);
    background: var(--pk-white);
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius-md);
    box-shadow: var(--pk-shadow);
}
.pk-ct-form__title { margin: 0 0 var(--pk-s2); font-size: var(--pk-type-section); line-height: 1.15; }
.pk-ct-form__intro { margin: 0 0 var(--pk-s6); color: var(--pk-muted); font-size: var(--pk-fs-sm); }
.pk-ct-form .pk-req { color: var(--pk-red-deep); }
.pk-ct-grid { display: grid; column-gap: var(--pk-s5); }
.pk-ct-form__submit { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--pk-s4); }
.pk-ct-form__submit p { margin: 0; color: var(--pk-muted); font-size: var(--pk-fs-sm); }
.pk-ct-form__submit a { color: var(--pk-red-deep); font-weight: 600; }

.pk-ct-topics { margin: 0 0 var(--pk-s6); padding: 0; border: 0; }
.pk-ct-topics legend { margin-bottom: var(--pk-s3); padding: 0; color: var(--pk-ink); font-size: var(--pk-fs-sm); font-weight: 600; }
.pk-ct-topics__list { display: flex; flex-wrap: wrap; gap: var(--pk-s2); }
.pk-ct-topic { position: relative; cursor: pointer; }
.pk-ct-topic input { position: absolute; opacity: 0; pointer-events: none; }
.pk-ct-topic span {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 0 16px;
    color: var(--pk-ink-2);
    background: var(--pk-white);
    border: 1px solid #C7CDD4;
    border-radius: 999px;
    font-size: var(--pk-fs-sm);
    font-weight: 600;
    transition: color var(--pk-motion-fast) var(--pk-ease-out), background var(--pk-motion-fast) var(--pk-ease-out), border-color var(--pk-motion-fast) var(--pk-ease-out);
}
.pk-ct-topic:hover span { border-color: var(--pk-ink); }
.pk-ct-topic input:checked + span { color: #fff; background: var(--pk-ink); border-color: var(--pk-ink); }
.pk-ct-topic input:focus-visible + span { outline: 3px solid var(--pk-red-deep); outline-offset: 2px; }

.pk-ct-sent { text-align: left; }
.pk-ct-sent:focus { outline: none; }
.pk-ct-sent__mark { display: grid; place-items: center; width: 56px; height: 56px; margin-bottom: var(--pk-s5); color: #fff; background: #1F8A4C; border-radius: 50%; }
.pk-ct-sent h2 { margin: 0 0 var(--pk-s3); font-size: var(--pk-type-section); line-height: 1.2; }
.pk-ct-sent p { margin: 0 0 var(--pk-s6); color: var(--pk-muted); line-height: 1.7; }
.pk-ct-sent p a { color: var(--pk-red-deep); font-weight: 700; }

.pk-ct-next { padding: clamp(24px, 3vw, 40px); color: #fff; background: var(--pk-ink); border-radius: var(--pk-radius-md); }
.pk-ct-next h2 { margin: 0 0 var(--pk-s5); color: #fff; font-size: var(--pk-fs-lg); }
.pk-ct-next ol { margin: 0; padding: 0; list-style: none; counter-reset: pk-ct-step; }
.pk-ct-next li { position: relative; padding: 0 0 var(--pk-s5) 48px; counter-increment: pk-ct-step; }
.pk-ct-next li:last-child { padding-bottom: 0; }
.pk-ct-next li::before {
    content: counter(pk-ct-step, decimal-leading-zero);
    position: absolute;
    left: 0;
    top: 0;
    color: #FF8B90;
    font-family: var(--pk-font-display);
    font-size: var(--pk-fs-sm);
    font-weight: 700;
}
.pk-ct-next li:not(:last-child)::after { content: ""; position: absolute; left: 9px; top: 26px; bottom: 8px; width: 1px; background: rgba(255, 255, 255, .18); }
.pk-ct-next strong { display: block; margin-bottom: 4px; font-size: var(--pk-fs-md); }
.pk-ct-next p { margin: 0; color: rgba(255, 255, 255, .72); font-size: var(--pk-fs-sm); line-height: 1.6; }

.pk-ct-directory { padding: clamp(56px, 7vw, 104px) 0; background: var(--pk-canvas); border-top: 1px solid var(--pk-line); }
.pk-ct-directory .pk-split-head { margin-bottom: var(--pk-s6); }
.pk-ct-companies { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: var(--pk-s4); margin: 0; padding: 0; list-style: none; }
.pk-ct-company {
    display: flex;
    flex-direction: column;
    gap: var(--pk-s2);
    padding: var(--pk-s5);
    background: var(--pk-white);
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius-md);
    transition: border-color var(--pk-motion-fast) var(--pk-ease-out), box-shadow var(--pk-motion-medium) var(--pk-ease-out);
}
.pk-ct-company:hover { border-color: #C7CDD4; box-shadow: var(--pk-shadow); }
.pk-ct-company h3 { margin: 0; font-size: var(--pk-fs-md); line-height: 1.35; }
.pk-ct-company h3 a { color: var(--pk-ink); text-decoration: none; }
.pk-ct-company h3 a:hover { color: var(--pk-red-deep); }
.pk-ct-company > p { margin: 0; color: var(--pk-muted); font-size: var(--pk-fs-sm); line-height: 1.5; }
.pk-ct-company__lines { display: flex; flex-direction: column; gap: 4px; margin-top: auto; padding-top: var(--pk-s3); border-top: 1px solid var(--pk-line); }
.pk-ct-company__lines a { color: var(--pk-red-deep); font-size: var(--pk-fs-sm); font-weight: 700; text-decoration: none; }
.pk-ct-company__lines a:hover { text-decoration: underline; }
.pk-ct-company__lines span { color: var(--pk-muted); font-size: var(--pk-fs-sm); }

@media (min-width: 720px) {
    .pk-ct-channels { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .pk-ct-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pk-ct-companies { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
    .pk-ct-main { grid-template-columns: minmax(0, 1.7fr) minmax(280px, 1fr); }
    .pk-ct-next { position: sticky; top: calc(var(--pk-header-h) + 24px); }
    .pk-ct-companies { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
    .pk-ct-topic span, .pk-ct-company { transition: none; }
}

/* ------------------------------------------------------------------ careers */
.pk-car-work { padding: clamp(56px, 7vw, 104px) 0; background: var(--pk-white); border-top: 1px solid var(--pk-line); }
.pk-car-work .pk-split-head { margin-bottom: clamp(28px, 4vw, 48px); }
.pk-car-work .pk-split-head p { max-width: 52ch; margin: 0; color: var(--pk-muted); line-height: 1.7; }
.pk-car-areas { display: grid; gap: var(--pk-s4); }
.pk-car-area {
    position: relative;
    padding: var(--pk-s6);
    background: var(--pk-canvas);
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-radius-md);
}
.pk-car-area__num { color: var(--pk-red-deep); font-family: var(--pk-font-display); font-size: var(--pk-fs-sm); font-weight: 700; }
.pk-car-area h3 { margin: var(--pk-s2) 0 var(--pk-s4); font-size: var(--pk-fs-lg); }
.pk-car-area ul { display: flex; flex-wrap: wrap; gap: var(--pk-s2); margin: 0; padding: 0; list-style: none; }
.pk-car-area li { padding: 6px 12px; color: var(--pk-ink-2); background: var(--pk-white); border: 1px solid var(--pk-line); border-radius: 999px; font-size: var(--pk-fs-sm); font-weight: 600; }


.pk-car-culture { padding: clamp(56px, 7vw, 104px) 0; background: var(--pk-white); }
.pk-car-culture__grid { display: grid; gap: clamp(32px, 5vw, 72px); align-items: start; }
.pk-car-culture h2 { margin: var(--pk-s3) 0 var(--pk-s5); font-size: var(--pk-type-section); line-height: 1.15; }
.pk-car-culture__prose ul { display: grid; gap: var(--pk-s3); margin: var(--pk-s5) 0 0; padding: 0; list-style: none; }
.pk-car-culture__prose li { position: relative; padding: var(--pk-s4) var(--pk-s4) var(--pk-s4) 48px; background: var(--pk-canvas); border: 1px solid var(--pk-line); border-radius: var(--pk-radius); font-weight: 600; }
.pk-car-culture__prose li::before { content: ""; position: absolute; left: 18px; top: 50%; width: 14px; height: 8px; border-left: 2px solid var(--pk-red); border-bottom: 2px solid var(--pk-red); transform: translateY(-70%) rotate(-45deg); }
.pk-car-growth { padding: clamp(24px, 4vw, 48px); background: var(--pk-canvas); border-left: 3px solid var(--pk-red); border-radius: var(--pk-radius-md); }
.pk-car-growth h2 { font-size: var(--pk-fs-xl, 1.5rem); }

.pk-car-life { padding: clamp(56px, 7vw, 104px) 0; background: var(--pk-canvas); border-top: 1px solid var(--pk-line); }
.pk-car-life .pk-split-head { margin-bottom: var(--pk-s6); }
.pk-car-life__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: var(--pk-s4); margin: 0; padding: 0; list-style: none; }
.pk-car-moment { position: relative; display: block; aspect-ratio: 4 / 5; overflow: hidden; color: #fff; background: var(--pk-surface); border-radius: var(--pk-radius-md); text-decoration: none; }
.pk-car-moment img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 600ms var(--pk-ease-out); }
.pk-car-moment::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(18, 20, 25, 0) 45%, rgba(18, 20, 25, .85) 100%); }
.pk-car-moment:hover img { transform: scale(1.05); }
.pk-car-moment:focus-visible { outline: 3px solid var(--pk-red-deep); outline-offset: 3px; }
.pk-car-moment__caption { position: absolute; right: var(--pk-s4); bottom: var(--pk-s4); left: var(--pk-s4); z-index: 1; }
.pk-car-moment__caption strong { display: block; font-size: var(--pk-fs-md); line-height: 1.3; }
.pk-car-moment__caption time { color: rgba(255, 255, 255, .75); font-size: var(--pk-fs-xs); font-weight: 600; }

.pk-car-apply { padding: clamp(56px, 7vw, 104px) 0; color: #fff; background: var(--pk-ink); }
.pk-car-apply__grid { display: grid; gap: clamp(32px, 5vw, 72px); align-items: start; }
.pk-car-apply .pk-eyebrow { color: #FF8B90; }
.pk-car-apply__copy h2 { margin: var(--pk-s3) 0 var(--pk-s4); color: #fff; font-size: var(--pk-type-section); line-height: 1.15; }
.pk-car-apply__copy p { margin: 0 0 var(--pk-s4); color: rgba(255, 255, 255, .78); line-height: 1.7; }
.pk-car-apply__note { padding-left: var(--pk-s4); border-left: 2px solid rgba(255, 255, 255, .25); font-size: var(--pk-fs-sm); }
.pk-car-apply__cv a { color: #fff; font-weight: 700; }
.pk-car-apply__panel { padding: clamp(24px, 4vw, 40px); color: var(--pk-ink); background: var(--pk-white); border-radius: var(--pk-radius-md); box-shadow: 0 24px 60px rgba(0, 0, 0, .3); }
.pk-car-apply__panel .pk-req { color: var(--pk-red-deep); }
.pk-car-apply__panel .pk-ct-sent h2 { color: var(--pk-ink); }

@media (min-width: 820px) {
    .pk-car-areas { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
    .pk-car-culture__grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
    .pk-car-apply__grid { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
    .pk-car-apply__copy { position: sticky; top: calc(var(--pk-header-h) + 24px); }
}
@media (prefers-reduced-motion: reduce) {
    .pk-car-moment img { transition: none; }
}

/* ---------------------------------------------------------------------- faq */
.pk-fq { padding: clamp(28px, 4vw, 56px) 0 clamp(56px, 7vw, 104px); background: linear-gradient(180deg, var(--pk-canvas) 0, var(--pk-white) 420px); }
.pk-fq__head { max-width: 760px; margin-bottom: clamp(32px, 4vw, 56px); }
.pk-fq__head .pk-breadcrumb { margin-bottom: var(--pk-s6); }
.pk-fq__head h1 { margin: var(--pk-s3) 0 var(--pk-s6); font-size: var(--pk-type-hero); line-height: 1.04; }

.pk-fq-search { position: relative; max-width: 560px; }
.pk-fq-search svg { position: absolute; left: 18px; top: 50%; color: var(--pk-muted); transform: translateY(-50%); pointer-events: none; }
.pk-fq-search input {
    width: 100%;
    min-height: 56px;
    padding: 0 18px 0 50px;
    color: var(--pk-ink);
    background: var(--pk-white);
    border: 1px solid #C7CDD4;
    border-radius: 999px;
    box-shadow: var(--pk-shadow);
    font: inherit;
    font-size: var(--pk-fs-base);
}
.pk-fq-search input:focus { border-color: var(--pk-ink); outline: 3px solid var(--pk-red-deep); outline-offset: 1px; }

.pk-fq__layout { display: grid; gap: clamp(24px, 4vw, 64px); align-items: start; }
.pk-fq__layout > * { min-width: 0; }
.pk-fq-topics ul { display: flex; gap: var(--pk-s2); margin: 0; padding: 0 0 var(--pk-s2); overflow-x: auto; list-style: none; }
.pk-fq-topics a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--pk-s3);
    padding: 10px 14px;
    color: var(--pk-ink-2);
    border: 1px solid var(--pk-line);
    border-radius: 999px;
    font-size: var(--pk-fs-sm);
    font-weight: 600;
    white-space: nowrap;
    text-decoration: none;
}
.pk-fq-topics a span { color: var(--pk-muted); font-size: var(--pk-fs-xs); }
.pk-fq-topics a:hover { color: var(--pk-red-deep); border-color: var(--pk-red-deep); }

.pk-fq-group { scroll-margin-top: calc(var(--pk-header-h) + 24px); }
.pk-fq-group + .pk-fq-group { margin-top: clamp(40px, 5vw, 56px); }
.pk-fq-group h2 { margin: 0 0 var(--pk-s3); padding-bottom: var(--pk-s3); border-bottom: 2px solid var(--pk-ink); font-size: clamp(1.25rem, 1.1rem + .5vw, 1.5rem); }
.pk-fq-item { border-bottom: 1px solid var(--pk-line); scroll-margin-top: calc(var(--pk-header-h) + 24px); }
.pk-fq-item summary {
    position: relative;
    display: block;
    padding: var(--pk-s5) 48px var(--pk-s5) 0;
    color: var(--pk-ink);
    font-size: var(--pk-fs-md);
    font-weight: 700;
    line-height: 1.4;
    list-style: none;
    cursor: pointer;
}
.pk-fq-item summary::-webkit-details-marker { display: none; }
.pk-fq-item summary::after {
    content: "";
    position: absolute;
    right: 8px;
    top: 50%;
    width: 22px;
    height: 22px;
    background:
        linear-gradient(var(--pk-red-deep), var(--pk-red-deep)) center / 14px 2px no-repeat,
        linear-gradient(var(--pk-red-deep), var(--pk-red-deep)) center / 2px 14px no-repeat;
    border-radius: 50%;
    transform: translateY(-50%);
    transition: transform var(--pk-motion-fast) var(--pk-ease-out);
}
.pk-fq-item[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.pk-fq-item summary:hover span { color: var(--pk-red-deep); }
.pk-fq-item summary:focus-visible { outline: 3px solid var(--pk-red-deep); outline-offset: 2px; }
.pk-fq-item__answer { max-width: 70ch; padding: 0 48px var(--pk-s5) 0; color: var(--pk-ink-2); line-height: 1.75; }
.pk-fq-item__answer p { margin: 0 0 var(--pk-s3); }
.pk-fq-item__answer p:last-child { margin-bottom: 0; }
.pk-fq-item__answer a { color: var(--pk-red-deep); font-weight: 600; }
.pk-fq-item[open] .pk-fq-item__answer { animation: pk-fq-in 220ms var(--pk-ease-out); }
@keyframes pk-fq-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }

.pk-fq__none,
.pk-fq__more { margin: var(--pk-s6) 0 0; color: var(--pk-muted); }
.pk-fq__none a,
.pk-fq__more a { color: var(--pk-red-deep); font-weight: 700; }
.pk-fq__none:not([hidden]) + .pk-fq__more { display: none; }

@media (min-width: 1024px) {
    .pk-fq__layout { grid-template-columns: 260px minmax(0, 1fr); }
    .pk-fq-topics { position: sticky; top: calc(var(--pk-header-h) + 24px); }
    .pk-fq-topics ul { flex-direction: column; padding: 0; overflow: visible; }
    .pk-fq-topics a { border: 0; border-left: 2px solid var(--pk-line); border-radius: 0; }
    .pk-fq-topics a:hover { border-left-color: var(--pk-red); }
}
@media (prefers-reduced-motion: reduce) {
    .pk-fq-item summary::after { transition: none; }
    .pk-fq-item[open] .pk-fq-item__answer { animation: none; }
}

/* ------------------------------------------------------------------ sitemap */
.pk-sm { padding: clamp(28px, 4vw, 56px) 0 clamp(56px, 7vw, 104px); background: linear-gradient(180deg, var(--pk-canvas) 0, var(--pk-white) 420px); }
.pk-sm__head { max-width: 760px; margin-bottom: clamp(32px, 4vw, 56px); }
.pk-sm__head .pk-breadcrumb { margin-bottom: var(--pk-s6); }
.pk-sm__head h1 { margin: var(--pk-s3) 0 var(--pk-s4); font-size: var(--pk-type-hero); line-height: 1.04; }
.pk-sm__lede { margin: 0 0 var(--pk-s6); color: var(--pk-muted); font-size: clamp(1rem, .96rem + .2vw, 1.125rem); line-height: 1.7; }
.pk-sm__lede a { color: var(--pk-red-deep); font-weight: 600; }

.pk-sm-grid { columns: 1; column-gap: var(--pk-s5); }
.pk-sm-group {
    display: inline-block;
    width: 100%;
    margin: 0 0 var(--pk-s5);
    padding: var(--pk-s6);
    background: var(--pk-white);
    border: 1px solid var(--pk-line);
    border-top: 3px solid var(--pk-ink);
    border-radius: var(--pk-radius-md);
    break-inside: avoid;
}
.pk-sm-group[hidden] { display: none; }
.pk-sm-group h2 { margin: 0 0 var(--pk-s3); font-size: var(--pk-fs-lg); }
.pk-sm-group ul { margin: 0; padding: 0; list-style: none; }
.pk-sm-group li[hidden] { display: none; }
.pk-sm-group a {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--pk-s3);
    padding: 10px 0;
    color: var(--pk-ink-2);
    border-bottom: 1px solid var(--pk-line);
    text-decoration: none;
    transition: color var(--pk-motion-fast) var(--pk-ease-out), padding var(--pk-motion-fast) var(--pk-ease-out);
}
.pk-sm-group li:last-child a { border-bottom: 0; }
.pk-sm-group a span { font-size: var(--pk-fs-sm); font-weight: 600; }
.pk-sm-group a small { flex: none; color: var(--pk-muted); font-size: var(--pk-fs-xs); font-weight: 600; }
.pk-sm-group a:hover { padding-left: 6px; color: var(--pk-red-deep); }
.pk-sm-group a:focus-visible { outline: 2px solid var(--pk-red-deep); outline-offset: 2px; }
.pk-sm__none { margin: 0; color: var(--pk-muted); }
.pk-sm__none a { color: var(--pk-red-deep); font-weight: 700; }

@media (min-width: 720px) { .pk-sm-grid { columns: 2; } }
@media (min-width: 1100px) { .pk-sm-grid { columns: 3; } }
@media (prefers-reduced-motion: reduce) { .pk-sm-group a { transition: none; } }

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

.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: var(--pk-fs-md); }
.pk-value-card p { margin: 0; color: #A8B2BC; font-size: var(--pk-fs-base); 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: var(--pk-fs-md);
    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: var(--pk-fs-sm);
    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: var(--pk-fs-base);
    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: var(--pk-fs-base);
}
.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: var(--pk-fs-sm); }

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

.pk-field { margin-bottom: var(--pk-s5); }
.pk-field label {
    display: block;
    font-size: var(--pk-fs-sm);
    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: var(--pk-fs-base);
    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: var(--pk-fs-sm);
    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: var(--pk-fs-sm);
    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: var(--pk-fs-base);
}
.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: var(--pk-fs-base);
    padding-block: var(--pk-s7) var(--pk-s5);
}
.pk-footer h2, .pk-footer h3 {
    color: #fff;
    font-size: var(--pk-fs-sm);
    font-family: var(--pk-font-mono);
    letter-spacing: .12em;
    text-transform: uppercase;
    font-weight: 600;
    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-s6);
    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; }

/* Refinement: a red hairline opens the footer, headings carry a short red
   rule, the brand column reads logo → one line about the group → contacts
   with icons, all in one tone. */
.pk-footer { position: relative; padding-block: clamp(56px, 6vw, 80px) var(--pk-s5); }
.pk-footer::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--pk-red) 0 120px, #2C3238 120px); }
.pk-footer h2 { position: relative; padding-bottom: var(--pk-s3); margin-bottom: var(--pk-s5); }
.pk-footer h2::after { content: ""; position: absolute; left: 0; bottom: 0; width: 28px; height: 2px; background: var(--pk-red); }
.pk-footer__list li { margin-bottom: 10px; }
.pk-footer__list a { display: inline-block; padding-block: 2px; transition: color var(--pk-motion-fast) var(--pk-ease-out), transform var(--pk-motion-fast) var(--pk-ease-out); }
.pk-footer__list a:hover, .pk-footer__list a:focus-visible { transform: translateX(3px); }
.pk-footer__logo img { height: 42px; }
.pk-footer__about { max-width: 38ch; margin: 0 0 var(--pk-s5); color: #8C97A2; font-size: var(--pk-fs-sm); line-height: 1.7; text-align: left; }
.pk-footer__contact { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; font-size: var(--pk-fs-sm); }
.pk-footer__contact li { display: grid; grid-template-columns: 32px minmax(0, 1fr); align-items: start; gap: 12px; }
.pk-footer__contact svg { width: 32px; height: 32px; padding: 8px; color: #FF8B90; background: rgba(255, 255, 255, .05); border: 1px solid #2C3238; border-radius: 8px; }
.pk-footer__contact address { margin: 0; color: #A8B2BC; line-height: 1.65; padding-top: 5px; }
.pk-footer__contact span,
.pk-footer__contact li > a { padding-top: 5px; line-height: 1.65; }
.pk-footer__contact a { color: #C7CDD4; }
.pk-footer__contact a:hover { color: #fff; }
/* Tablet: the brand block spans the top row with its contacts beside the
   introduction; the three link columns share the row below, so no column
   stands half-empty. */
@media (min-width: 640px) and (max-width: 991px) {
    .pk-footer__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: var(--pk-s5); }
    .pk-footer__brand { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: var(--pk-s6); align-items: start; }
    .pk-footer__brand .pk-footer__logo,
    .pk-footer__brand .pk-footer__about { grid-column: 1; }
    .pk-footer__brand .pk-footer__contact { grid-column: 2; grid-row: 1 / span 2; }
}
@media (min-width: 992px) { .pk-footer__grid { grid-template-columns: 1.5fr 1fr 1.25fr .9fr; gap: clamp(32px, 4vw, 64px); } }

.pk-footer__bottom {
    margin-top: var(--pk-s6);
    padding-top: var(--pk-s4);
    border-top: 1px solid #2C3238;
    display: flex;
    flex-wrap: wrap;
    gap: var(--pk-s4);
    align-items: center;
    justify-content: space-between;
    font-size: var(--pk-fs-sm);
    color: #7C8792;
}
.pk-footer__legal { display: flex; flex-wrap: wrap; gap: var(--pk-s4); list-style: none; margin: 0; padding: 0; }
/* Keeps each link at least 24px tall for touch (WCAG 2.5.8). */
.pk-footer__legal a { display: inline-block; padding-block: 6px; }
/* Copyright and the developer credit, side by side. */
.pk-footer__credits { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; }
/* Same size, weight and colour as the copyright line; a small logo. */
.pk-footer .pk-footer__dev {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
    text-decoration: none;
    transition: color var(--pk-motion-fast) var(--pk-ease-out);
}
.pk-footer .pk-footer__dev img { display: block; width: auto; height: 13px; opacity: .8; transition: opacity var(--pk-motion-fast) var(--pk-ease-out); }
.pk-footer .pk-footer__dev:hover, .pk-footer .pk-footer__dev:focus-visible { color: #C9D1D9; }
.pk-footer .pk-footer__dev:hover img, .pk-footer .pk-footer__dev:focus-visible img { opacity: 1; }


/* --------------------------------------------------------- 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: var(--pk-fs-md); 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: var(--pk-fs-md);
    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: var(--pk-fs-lg);
}
.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: var(--pk-fs-base); }
.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: var(--pk-fs-xs);
    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) {
    /* Hiding is instant (the element is below the fold at that moment); only
       the entrance is animated. Putting the transition on the pending state
       made visible content fade OUT before fading back in. No scale: scaled
       text renders soft while it moves. */
    [data-reveal].is-reveal-pending:not(.is-visible) {
        opacity: 0;
        transform: translate3d(0, 16px, 0);
        transition: none;
    }
    [data-reveal].is-reveal-pending.is-visible {
        opacity: 1;
        transform: none;
        transition: opacity 420ms var(--pk-ease-out), transform 520ms var(--pk-ease-out);
        transition-delay: calc(var(--pk-reveal-order, 0) * 60ms);
    }
}

/* 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;
    transition: opacity var(--pk-motion-fast) var(--pk-ease-out),
                transform var(--pk-motion-fast) var(--pk-ease-out),
                visibility 0s linear;
}
.pk-floating-actions[hidden],
.pk-contact-tools[hidden],
.pk-contact-panel[hidden],
.pk-backtop[hidden] { display: none; }
.pk-floating-actions.is-footer-visible {
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px);
    transition-delay: 0s, 0s, var(--pk-motion-fast);
}
.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: var(--pk-fs-md);
}
.pk-contact-panel p {
    margin: var(--pk-s2) 0 var(--pk-s4);
    color: var(--pk-muted);
    font-size: var(--pk-fs-sm);
    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: var(--pk-fs-sm);
    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-achievements__feature figcaption > 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-footer h2,
.pk-footer h3 {
    font-family: var(--pk-font-label);
    font-size: var(--pk-fs-sm);
    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-home-products__focus-head p,
    .pk-pagehead .pk-pagehead__lede,
    .pk-about-hero__copy,
    .pk-about-hero__lede,
    .pk-business-intro,
    .pk-lede {
        max-width: none;
    }
}

/* ------------------------------------------------ 13d. text alignment & measure
   Body copy is justified across the site, and long-form text fills its
   column instead of stopping at a fixed character width (which left an
   empty band beside messages, profiles and policies on wide screens).
   Headings keep their deliberate measures; centred components keep their
   own alignment. Words are never split with hyphens. Phones stay left-aligned: justifying a narrow column opens
   wide gaps between words. */
.pk-lead-message__body,
.pk-co-prose,
.pk-prose,
.pk-about-overview__copy,
.pk-co-overview__copy,
.pk-history-line__body p,
.pk-news-article__copy,
.pk-fq-item__answer { max-width: none; }

@media (min-width: 640px) {
    main p,
    main li p,
    main .pk-prose li,
    main .pk-co-prose li,
    main blockquote {
        text-align: justify;
        text-align-last: left;
        text-justify: inter-word;
        hyphens: manual;
        -webkit-hyphens: manual;
    }
    /* Centred or single-line components keep their own alignment. */
    main .pk-credentials-rail__head p,
    main .pk-credentials-rail__copy p,
    main .pk-product-category-card p,
    main .pk-empty-state p,
    main .pk-empty-state,
    main .pk-vd-source,
    main .pk-sm__none,
    main .pk-fq__more,
    main .pk-fq__none,
    main .pk-ct-channel p,
    main .pk-ct-form__submit p { text-align: inherit; hyphens: manual; -webkit-hyphens: manual; }
}

/* ----------------------------------------------------- 13e. motion system
   One vocabulary across every page, so the site feels alive but never busy:

   1. Page transitions  — cross-document View Transitions; header stays put.
   2. Heading words     — section headings rise word by word as they arrive.
   3. Curtain reveal    — large photographs open once from the bottom edge.
   4. Depth             — photographs drift slightly within their frames as
                          the page scrolls (scroll-driven, no JS).
   5. Spotlight         — a soft red light follows the pointer across cards.
   6. Magnetic buttons  — primary buttons lean a few pixels toward the pointer.

   Rules: nothing loops or plays on its own; everything either plays once or
   follows the user. Only transform, opacity, clip-path and background are
   animated (no layout shift). Hidden starting states exist only under
   .pk-motion-ready, which JavaScript sets, so content never depends on JS.
   Pointer effects are limited to fine pointers; all motion is removed under
   prefers-reduced-motion.
*/

/* 1. Page transitions (Chrome/Edge 126+; other browsers navigate normally). */
@media (prefers-reduced-motion: no-preference) {
    @view-transition { navigation: auto; }
    .pk-header { view-transition-name: pk-site-header; }
    ::view-transition-old(root) { animation: pk-page-out 200ms cubic-bezier(.4, 0, 1, 1) both; }
    ::view-transition-new(root) { animation: pk-page-in 420ms var(--pk-ease-out) 60ms both; }
    ::view-transition-group(pk-site-header) { animation-duration: 0s; }
}
@keyframes pk-page-out { to { opacity: 0; transform: translate3d(0, -8px, 0); } }
@keyframes pk-page-in { from { opacity: 0; transform: translate3d(0, 14px, 0); } }

/* 2. Heading words. Each word sits in a mask and rises into place. */
.pk-words__mask { display: inline-block; overflow: hidden; padding-bottom: .08em; margin-bottom: -.08em; vertical-align: top; }
.pk-words__word { display: inline-block; }
@media (prefers-reduced-motion: no-preference) {
    .pk-motion-ready .pk-words.is-words-pending .pk-words__word { transform: translate3d(0, 105%, 0); }
    .pk-motion-ready .pk-words.is-words-in .pk-words__word {
        transform: none;
        transition: transform 760ms cubic-bezier(.2, .8, .2, 1);
        transition-delay: calc(var(--pk-word, 0) * 45ms);
    }
}

/* 3. Curtain reveal on large photographs. */
@media (prefers-reduced-motion: no-preference) {
    .pk-motion-ready .pk-curtain.is-curtain-pending { clip-path: inset(0 0 100% 0 round var(--pk-radius-md)); }
    .pk-motion-ready .pk-curtain.is-curtain-open {
        clip-path: inset(0 0 0 0 round var(--pk-radius-md));
        transition: clip-path 1100ms cubic-bezier(.65, 0, .25, 1);
    }
}

/* 4. Depth: the photograph moves a little slower than its frame. */
.pk-home-lead__media { overflow: hidden; }
@supports (animation-timeline: view()) {
    @media (prefers-reduced-motion: no-preference) {

        .pk-home-brand__media img,
        .pk-home-lead__media img,
        .pk-home-achievements__photo img,
        .pk-about-hero__media img,
        .pk-about-purpose__media img,
        .pk-history-hero__media img,
        .pk-history-line__media img,
        .pk-co-hero__visual img {
            animation: pk-depth linear both;
            animation-timeline: view();
            animation-range: cover 0% cover 100%;
        }
    }
}
@keyframes pk-depth {
    from { transform: translate3d(0, -5%, 0) scale(1.1); }
    to { transform: translate3d(0, 5%, 0) scale(1.1); }
}

/* 5. Spotlight: a soft light under the pointer, drawn as a background layer
   so it never covers content or competes with existing pseudo-elements. */
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    .pk-spotlight {
        background-image: radial-gradient(360px circle at var(--pk-mx, 50%) var(--pk-my, -40%), rgba(237, 28, 36, .075), transparent 62%);
        background-repeat: no-repeat;
    }
    .pk-section--ink .pk-spotlight,
    .pk-home-why .pk-spotlight,
    .pk-about-purpose .pk-spotlight {
        background-image: radial-gradient(360px circle at var(--pk-mx, 50%) var(--pk-my, -40%), rgba(255, 139, 144, .12), transparent 62%);
    }
}

/* 6. Magnetic primary buttons. The existing hover lift is kept; the pull is
   layered through the translate property so the two never fight. */
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    .pk-magnetic { translate: var(--pk-pull-x, 0) var(--pk-pull-y, 0); transition: translate 280ms cubic-bezier(.2, .8, .2, 1), 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-magnetic.is-pulling { transition-duration: 120ms, var(--pk-motion-fast), var(--pk-motion-fast), var(--pk-motion-fast), var(--pk-motion-medium), var(--pk-motion-medium); }
}
.pk-btn:active { transform: translateY(0) scale(.98); }

/* Links: the underline draws from the left on hover. */
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .pk-link-arrow {
        background-image: linear-gradient(currentColor, currentColor);
        background-position: 0 100%;
        background-repeat: no-repeat;
        background-size: 0 1px;
        transition: background-size 320ms cubic-bezier(.2, .8, .2, 1);
    }
    .pk-link-arrow:hover,
    .pk-link-arrow:focus-visible { background-size: calc(100% - 1.4em) 1px; }
}

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

@media print {
    .pk-header, .pk-footer, .pk-nav, .pk-btn, .pk-pagination,
    .pk-floating-actions { display: none !important; }
    /* Sections that were never scrolled into view must still print. */
    [data-reveal].is-reveal-pending { opacity: 1 !important; transform: none !important; }
    .pk-words__word { transform: none !important; }
    .pk-curtain { clip-path: none !important; }
    body { color: #000; font-size: 11pt; }
    a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 9pt; }
}
