:root {
    --jam-teal: #2f9f89;
    --jam-teal-dark: #147565;
    --jam-blue: #176fa7;
    --jam-navy: #0b2545;
    --jam-yellow: #f4c515;
    --jam-orange: #e97c10;
    --ink: #10233c;
    --muted: #637083;
    --line: #dce7e4;
    --surface: #f4f9f8;
    --white: #ffffff;
    --container: 1320px;
    --header-container: 1520px;
    --wide-container: 1680px;
    --shadow: 0 24px 70px rgba(11, 37, 69, 0.13);
}

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

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    color: var(--ink);
    background: var(--white);
    font-family: "Hanken Grotesk", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}

a {
    color: inherit;
    text-decoration: none;
}

img {
    display: block;
    max-width: 100%;
}

.container {
    width: min(calc(100% - 48px), var(--container));
    margin-inline: auto;
}

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

.skip-link:focus {
    z-index: 1000;
    top: 10px;
    left: 10px;
    width: auto;
    height: auto;
    padding: 10px 14px;
    clip: auto;
    background: var(--white);
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 20;
    background: rgba(255, 255, 255, 0.96);
    transform: translateY(0);
    transition: transform 260ms ease, box-shadow 220ms ease;
    will-change: transform;
}

.site-header.is-scrolled {
    box-shadow: 0 10px 32px rgba(11, 37, 69, 0.09);
    backdrop-filter: blur(14px);
}

.site-header.is-hidden {
    transform: translateY(-105%);
}

.topbar {
    min-height: 39px;
    border-top: 3px solid var(--jam-blue);
    border-bottom: 1px solid var(--line);
    color: #334157;
    background: var(--white);
    font-size: 13px;
    font-weight: 500;
}

.topbar__inner,
.topbar__links,
.navbar__inner,
.hero__actions,
.hero__proof,
.hero__footer {
    display: flex;
    align-items: center;
}

.topbar__inner {
    min-height: 36px;
    justify-content: flex-end;
}

.topbar .container {
    width: 100%;
    max-width: none;
    padding-right: clamp(24px, 3vw, 52px);
    padding-left: clamp(24px, 3vw, 52px);
}

.topbar__links {
    gap: 28px;
}

.topbar__links a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    transition: color 160ms ease;
}

.topbar__links a:hover {
    color: var(--jam-blue);
}

.topbar__links svg {
    width: 13px;
    height: 13px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.55;
}

.navbar {
    border-bottom: 1px solid rgba(220, 231, 228, 0.9);
}

.navbar__inner {
    min-height: 88px;
    gap: 30px;
    justify-content: space-between;
}

.navbar .container {
    width: min(calc(100% - 80px), var(--header-container));
}

.brand {
    flex: 0 0 auto;
    width: 174px;
}

.primary-nav {
    display: flex;
    align-items: center;
    gap: clamp(18px, 2.1vw, 31px);
    margin-left: auto;
}

.primary-nav a {
    position: relative;
    padding: 34px 0 31px;
    color: #526174;
    font-size: 15px;
    font-weight: 500;
}

.primary-nav a::after {
    position: absolute;
    right: 0;
    bottom: 23px;
    left: 0;
    height: 2px;
    content: "";
    background: var(--jam-teal);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 180ms ease;
}

.primary-nav a:hover,
.primary-nav a.is-active {
    color: var(--jam-navy);
}

.primary-nav a:hover::after,
.primary-nav a.is-active::after {
    transform: scaleX(1);
}

.button {
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    gap: 13px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 600;
    transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.button:hover {
    transform: translateY(-2px);
}

.button--header {
    min-height: 44px;
    padding: 0 21px;
    color: var(--white);
    background: var(--jam-teal);
    white-space: nowrap;
}

.button--primary {
    min-width: 166px;
    padding: 0 24px;
    color: var(--white);
    background: var(--jam-navy);
    box-shadow: 0 13px 27px rgba(11, 37, 69, 0.18);
}

.button--primary:hover {
    background: var(--jam-teal-dark);
}

.button--text {
    padding: 0 8px;
    color: var(--jam-navy);
}

.menu-toggle {
    display: none;
}

.hero {
    position: relative;
    min-height: calc(100vh - 125px);
    overflow: hidden;
    background:
        radial-gradient(circle at 83% 26%, rgba(47, 159, 137, 0.11), transparent 24%),
        linear-gradient(122deg, #fff 0%, #fff 56%, #f2f8f7 56%, #f2f8f7 100%);
}

.hero__grid {
    position: relative;
    z-index: 2;
    display: grid;
    min-height: 620px;
    align-items: center;
    grid-template-columns: minmax(0, 1.02fr) minmax(390px, 0.98fr);
    gap: clamp(40px, 7vw, 88px);
    padding-top: 48px;
    padding-bottom: 54px;
}

.eyebrow {
    display: flex;
    align-items: center;
    gap: 11px;
    margin: 0 0 23px;
    color: var(--jam-teal-dark);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.eyebrow span {
    width: 28px;
    height: 2px;
    background: var(--jam-yellow);
}

.hero h1 {
    max-width: 680px;
    margin: 0;
    font-size: clamp(45px, 5.2vw, 72px);
    font-weight: 700;
    letter-spacing: -0.055em;
    line-height: 1.06;
}

.hero h1 em {
    position: relative;
    color: var(--jam-teal);
    font-style: normal;
    white-space: nowrap;
}

.hero h1 em::after {
    position: absolute;
    right: 2px;
    bottom: 2px;
    left: 2px;
    height: 6px;
    border-radius: 10px;
    content: "";
    background: var(--jam-yellow);
    opacity: 0.75;
    transform: rotate(-1.3deg);
    z-index: -1;
}

.hero__lead {
    max-width: 610px;
    margin: 26px 0 31px;
    color: var(--muted);
    font-size: 16px;
    line-height: 1.85;
}

.hero__actions {
    gap: 24px;
}

.hero__proof {
    gap: 0;
    margin-top: 53px;
}

.hero__proof > div {
    min-width: 135px;
    padding-right: 27px;
}

.hero__proof > div + div {
    padding-left: 27px;
    border-left: 1px solid var(--line);
}

.hero__proof strong,
.hero__proof span {
    display: block;
}

.hero__proof strong {
    margin-bottom: 4px;
    color: var(--jam-navy);
    font-size: 21px;
    letter-spacing: -0.03em;
}

.hero__proof span {
    color: #788494;
    font-size: 10px;
    line-height: 1.45;
}

.hero__visual {
    position: relative;
}

.hero__image-frame {
    position: relative;
    display: grid;
    min-height: 475px;
    place-items: center;
    overflow: hidden;
    border: 10px solid rgba(255, 255, 255, 0.8);
    border-radius: 44% 44% 26% 26% / 23% 23% 18% 18%;
    background:
        linear-gradient(145deg, rgba(11, 37, 69, 0.93), rgba(23, 111, 167, 0.88)),
        var(--jam-navy);
    box-shadow: var(--shadow);
}

.hero__image-frame::before,
.hero__image-frame::after {
    position: absolute;
    border-radius: 50%;
    content: "";
}

.hero__image-frame::before {
    width: 340px;
    height: 340px;
    top: -135px;
    right: -100px;
    border: 65px solid rgba(47, 159, 137, 0.38);
}

.hero__image-frame::after {
    width: 210px;
    height: 210px;
    bottom: -95px;
    left: -55px;
    background: rgba(244, 197, 21, 0.18);
}

.medical-grid {
    position: absolute;
    inset: 0;
    opacity: 0.14;
    background-image:
        linear-gradient(rgba(255,255,255,.28) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.28) 1px, transparent 1px);
    background-size: 48px 48px;
    mask-image: linear-gradient(to bottom, black, transparent 90%);
}

.brand-mark {
    position: relative;
    z-index: 2;
    text-align: center;
}

.brand-mark img {
    width: 146px;
    margin: 0 auto 22px;
    filter: drop-shadow(0 20px 30px rgba(0, 0, 0, 0.2));
}

.brand-mark p {
    margin: 0;
    color: var(--white);
    font-size: clamp(19px, 2.2vw, 28px);
    font-weight: 600;
    letter-spacing: -0.035em;
    line-height: 1.35;
}

.hero__badge {
    position: absolute;
    z-index: 4;
    right: -22px;
    bottom: 34px;
    display: flex;
    min-width: 245px;
    align-items: center;
    gap: 13px;
    padding: 15px 17px;
    border: 1px solid rgba(255, 255, 255, 0.8);
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 16px 40px rgba(11, 37, 69, 0.18);
    backdrop-filter: blur(12px);
}

.hero__badge-icon {
    display: grid;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    place-items: center;
    border-radius: 50%;
    color: var(--white);
    background: var(--jam-teal);
}

.hero__badge strong,
.hero__badge small {
    display: block;
}

.hero__badge strong {
    margin-bottom: 3px;
    font-size: 12px;
}

.hero__badge small {
    color: var(--muted);
    font-size: 9px;
}

.hero__decoration {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}

.hero__decoration--one {
    top: 37px;
    right: 4%;
    width: 9px;
    height: 9px;
    background: var(--jam-yellow);
}

.hero__decoration--two {
    bottom: 21%;
    left: 2.5%;
    width: 85px;
    height: 85px;
    border: 1px solid rgba(47, 159, 137, 0.22);
}

.hero__footer {
    position: relative;
    z-index: 3;
    justify-content: space-between;
    padding-bottom: 26px;
    color: #8a96a5;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.hero__footer p {
    margin: 0;
}

.hero__footer a {
    display: flex;
    align-items: center;
    gap: 9px;
}

.hero__footer a span {
    display: grid;
    width: 25px;
    height: 25px;
    place-items: center;
    border: 1px solid var(--line);
    border-radius: 50%;
}

.placeholder-section {
    display: grid;
    min-height: 230px;
    place-items: center;
    color: var(--muted);
    background: var(--surface);
    text-align: center;
}

/* Full-width hero slider. Replace each gradient with url('../images/hero/...') when photos are ready. */
.jam-hero {
    padding: 42px 0 50px;
    background: #f2f7f7;
}

.jam-hero__shell {
    position: relative;
    width: min(calc(100% - 80px), var(--wide-container));
    min-height: clamp(580px, 39vw, 720px);
    overflow: hidden;
    border-radius: 18px;
    background: var(--jam-navy);
    box-shadow: 0 18px 55px rgba(11, 37, 69, 0.14);
    isolation: isolate;
}

.jam-hero__slide {
    position: absolute;
    inset: 0;
    display: grid;
    align-items: center;
    padding: clamp(60px, 8vw, 110px) clamp(34px, 6vw, 78px) 110px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 650ms ease, visibility 650ms ease;
}

.jam-hero__slide.is-active {
    z-index: 2;
    opacity: 1;
    visibility: visible;
}

.jam-hero__background,
.jam-hero__overlay {
    position: absolute;
    inset: -7%;
}

.jam-hero__background {
    z-index: -3;
    display: grid;
    place-items: center;
    background-position: center;
    background-size: cover;
    transform: translate3d(0, var(--hero-parallax, 0), 0) scale(1.08);
    transition: transform 100ms linear;
}

.jam-hero__slide--one .jam-hero__background {
    background-image: url("../images/hero/hero-ultrasound-light.webp");
    background-position: center right;
}

.jam-hero__slide--two .jam-hero__background {
    background-image: url("../images/hero/hero-laparoscopy-4k-light.webp");
    background-position: center right;
}

.jam-hero__slide--three .jam-hero__background {
    background-image: url("../images/hero/hero-consumables-light.webp");
    background-position: center right;
}

.jam-hero__slide--four .jam-hero__background {
    background-image: url("../images/hero/hero-electromedical-light.webp");
    background-position: center right;
}

.jam-hero__background::before,
.jam-hero__background::after {
    position: absolute;
    content: "";
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.18);
}

.has-hero-image .jam-hero__background::before,
.has-hero-image .jam-hero__background::after {
    display: none;
}

.jam-hero__background::before {
    right: 8%;
    width: min(43vw, 560px);
    height: min(43vw, 560px);
}

.jam-hero__background::after {
    right: 17%;
    width: min(25vw, 320px);
    height: min(25vw, 320px);
}

.jam-hero__image-label {
    position: absolute;
    right: 13%;
    display: grid;
    width: clamp(210px, 27vw, 350px);
    aspect-ratio: 1;
    place-items: center;
    border: 1px dashed rgba(255, 255, 255, 0.45);
    border-radius: 50%;
    color: rgba(255, 255, 255, 0.67);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.jam-hero__overlay {
    z-index: -2;
    background: linear-gradient(90deg, rgba(5, 25, 47, 0.88) 0%, rgba(5, 25, 47, 0.67) 50%, rgba(5, 25, 47, 0.08) 100%);
}

.has-hero-image .jam-hero__overlay {
    background: linear-gradient(90deg, rgba(8, 55, 88, 0.72) 0%, rgba(18, 104, 139, 0.42) 52%, rgba(52, 166, 186, 0.04) 100%);
}

.jam-hero__content {
    width: min(780px, 58%);
    color: var(--white);
}

.jam-hero__eyebrow {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 22px;
    color: #e9f7f4;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.jam-hero__eyebrow::before {
    width: 30px;
    height: 2px;
    content: "";
    background: var(--jam-yellow);
}

.jam-hero h1,
.jam-hero h2 {
    max-width: 800px;
    margin: 0;
    color: var(--white);
    font-size: clamp(46px, 4.1vw, 68px);
    font-weight: 500;
    letter-spacing: -0.045em;
    line-height: 1.08;
}

.jam-hero__content > p:not(.jam-hero__eyebrow) {
    max-width: 730px;
    margin: 24px 0 30px;
    color: rgba(255, 255, 255, 0.84);
    font-size: clamp(14px, 1.35vw, 17px);
    line-height: 1.75;
}

.jam-hero__actions {
    display: flex;
    align-items: center;
    gap: 28px;
}

.jam-hero__button {
    min-width: 178px;
    padding: 0 24px;
    border: 1px solid rgba(255, 255, 255, 0.7);
    color: var(--white);
    background: transparent;
}

.jam-hero__button:hover {
    color: var(--jam-navy);
    background: var(--white);
}

.jam-hero__text-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--white);
    font-size: 13px;
    font-weight: 700;
}

.jam-hero__controls {
    position: absolute;
    z-index: 5;
    bottom: 34px;
    left: 50%;
    display: flex;
    align-items: center;
    gap: 13px;
    transform: translateX(-50%);
}

.jam-hero__arrow,
.jam-hero__dots button {
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.68);
    color: var(--white);
    background: rgba(11, 37, 69, 0.22);
    cursor: pointer;
}

.jam-hero__arrow {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 50%;
}

.jam-hero__dots {
    display: flex;
    align-items: center;
    gap: 10px;
}

.jam-hero__dots button {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    transition: width 180ms ease, background 180ms ease;
}

.jam-hero__dots button.is-active {
    width: 26px;
    border-color: var(--jam-yellow);
    border-radius: 999px;
    background: var(--jam-yellow);
}

@media (max-width: 820px) {
    .jam-hero {
        padding: 18px 0 32px;
    }

    .jam-hero__shell {
        width: min(calc(100% - 30px), var(--container));
        min-height: 610px;
        border-radius: 16px;
    }

    .jam-hero__slide {
        align-items: end;
        padding: 250px 26px 104px;
    }

    .jam-hero__content {
        width: 100%;
        text-align: left;
    }

    .jam-hero h1,
    .jam-hero h2 {
        font-size: clamp(38px, 8.4vw, 52px);
        letter-spacing: -0.04em;
    }

    .jam-hero__image-label {
        top: 12%;
        right: 50%;
        width: 180px;
        transform: translateX(50%);
    }

    .jam-hero__overlay {
        background: linear-gradient(0deg, rgba(5, 25, 47, 0.96) 8%, rgba(5, 25, 47, 0.68) 58%, rgba(5, 25, 47, 0.13) 100%);
    }

    .has-hero-image .jam-hero__overlay {
        background: linear-gradient(0deg, rgba(8, 45, 75, 0.86) 5%, rgba(12, 82, 118, 0.54) 57%, rgba(57, 166, 188, 0.08) 100%);
    }

    .jam-hero__background {
        transform: scale(1.05);
    }
}

@media (max-width: 560px) {
    .jam-hero__shell {
        min-height: 700px;
    }

    .jam-hero__slide {
        padding: 210px 22px 112px;
    }

    .jam-hero__eyebrow {
        margin-bottom: 15px;
        font-size: 9px;
    }

    .jam-hero h1,
    .jam-hero h2 {
        font-size: clamp(34px, 10.5vw, 44px);
    }

    .jam-hero__content > p:not(.jam-hero__eyebrow) {
        margin: 17px 0 22px;
        font-size: 13px;
        line-height: 1.65;
    }

    .jam-hero__actions {
        align-items: stretch;
        flex-direction: column;
        gap: 12px;
        padding-bottom: 64px;
    }

    .jam-hero__button {
        width: 100%;
    }

    .jam-hero__text-link {
        justify-content: center;
    }

    .jam-hero__controls {
        bottom: 10px;
    }

    .jam-hero__arrow {
        display: none;
    }

    .jam-hero__dots {
        gap: 12px;
    }
}

@media (min-width: 561px) and (max-width: 720px) {
    .jam-hero__actions {
        align-items: stretch;
        flex-direction: column;
        gap: 12px;
        padding-bottom: 64px;
    }

    .jam-hero__button {
        width: 100%;
    }

    .jam-hero__text-link {
        justify-content: center;
    }

    .jam-hero__arrow {
        display: none;
    }

    .jam-hero__controls {
        bottom: 10px;
    }
}

@media (max-width: 1060px) {
    .primary-nav {
        gap: 17px;
    }

    .primary-nav a {
        font-size: 13px;
    }

    .button--header {
        display: none;
    }

    .hero__grid {
        grid-template-columns: 1fr 0.85fr;
        gap: 45px;
    }

    .hero__proof > div {
        min-width: auto;
    }
}

@media (max-width: 820px) {
    .topbar {
        display: none;
    }

    .topbar__inner {
        justify-content: center;
    }

    .navbar__inner {
        min-height: 76px;
    }

    .navbar .container {
        width: min(calc(100% - 30px), var(--header-container));
    }

    .brand {
        width: 148px;
    }

    .menu-toggle {
        display: flex;
        width: 43px;
        height: 43px;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 5px;
        border: 0;
        border-radius: 50%;
        background: var(--surface);
        cursor: pointer;
    }

    .menu-toggle span:not(.sr-only) {
        width: 18px;
        height: 2px;
        border-radius: 2px;
        background: var(--jam-navy);
    }

    .primary-nav {
        position: absolute;
        top: 76px;
        right: 24px;
        left: 24px;
        display: none;
        align-items: stretch;
        flex-direction: column;
        gap: 0;
        padding: 12px 22px;
        border: 1px solid var(--line);
        border-radius: 18px;
        background: var(--white);
        box-shadow: var(--shadow);
    }

    .primary-nav.is-open {
        display: flex;
    }

    .primary-nav a {
        padding: 13px 0;
        border-bottom: 1px solid var(--line);
    }

    .primary-nav a:last-child {
        border-bottom: 0;
    }

    .primary-nav a::after {
        display: none;
    }

    .hero {
        background: linear-gradient(180deg, #fff 0%, #fff 57%, #f2f8f7 57%, #f2f8f7 100%);
    }

    .hero__grid {
        grid-template-columns: 1fr;
        gap: 46px;
        padding-top: 74px;
        text-align: center;
    }

    .eyebrow,
    .hero__actions,
    .hero__proof {
        justify-content: center;
    }

    .hero__lead {
        margin-right: auto;
        margin-left: auto;
    }

    .hero__visual {
        width: min(100%, 520px);
        margin: 0 auto;
    }

    .hero__image-frame {
        min-height: 430px;
    }

    .hero__badge {
        right: 18px;
    }
}

@media (max-width: 560px) {
    .container {
        width: min(calc(100% - 30px), var(--container));
    }

    .topbar__links {
        width: 100%;
        justify-content: space-between;
        gap: 10px;
        font-size: 9px;
    }

    .topbar__links a {
        gap: 4px;
    }

    .topbar__links svg {
        width: 11px;
        height: 11px;
    }

    .topbar .container {
        padding-right: 15px;
        padding-left: 15px;
    }

    .hero__grid {
        min-height: auto;
        padding-top: 55px;
        padding-bottom: 42px;
    }

    .hero h1 {
        font-size: clamp(39px, 13vw, 56px);
    }

    .hero__lead {
        font-size: 14px;
        line-height: 1.75;
    }

    .hero__actions {
        flex-direction: column;
        gap: 7px;
    }

    .button--primary {
        width: 100%;
    }

    .hero__proof {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        margin-top: 40px;
    }

    .hero__proof > div {
        min-width: 0;
        padding-right: 10px;
    }

    .hero__proof > div + div {
        padding-left: 10px;
    }

    .hero__proof strong {
        font-size: 17px;
    }

    .hero__proof span {
        font-size: 8px;
    }

    .hero__image-frame {
        min-height: 370px;
        border-width: 6px;
        border-radius: 36% 36% 20% 20% / 16% 16% 12% 12%;
    }

    .brand-mark img {
        width: 115px;
    }

    .hero__badge {
        right: 13px;
        bottom: 20px;
        min-width: 220px;
    }

    .hero__footer {
        display: none;
    }
}

.about-section {
    padding: clamp(82px, 8vw, 128px) 0;
    overflow: hidden;
    background: #ffffff;
}

.about-section__container {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 0.82fr) minmax(300px, 0.68fr);
    gap: clamp(38px, 5vw, 82px);
    align-items: start;
}

.section-kicker,
.about-values__label {
    display: flex;
    gap: 12px;
    align-items: center;
    margin: 0 0 22px;
    color: var(--jam-teal);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.section-kicker::before {
    width: 30px;
    height: 2px;
    background: var(--jam-yellow);
    content: "";
}

.about-section__intro h2 {
    max-width: 600px;
    margin: 0;
    color: var(--jam-navy);
    font-size: clamp(38px, 4.2vw, 66px);
    font-weight: 500;
    letter-spacing: -0.045em;
    line-height: 1.04;
}

.about-section__story {
    padding-top: 38px;
    color: #64748b;
    font-size: 15px;
    line-height: 1.8;
}

.about-section__story p {
    margin: 0 0 20px;
}

.about-section__story .about-section__lead {
    color: #334155;
    font-size: 18px;
    line-height: 1.65;
}

.about-section__link {
    display: inline-flex;
    gap: 12px;
    align-items: center;
    margin-top: 9px;
    padding-bottom: 7px;
    border-bottom: 1px solid var(--jam-teal);
    color: var(--jam-navy);
    font-size: 13px;
    font-weight: 700;
}

.about-values {
    position: relative;
    min-height: 390px;
    padding: 40px;
    overflow: hidden;
    border-radius: 28px;
    color: #ffffff;
    background: #155e78;
    box-shadow: 0 24px 60px rgba(15, 64, 89, 0.16);
}

.about-values::before {
    position: absolute;
    inset: 0;
    z-index: 0;
    background: linear-gradient(180deg, rgba(7, 43, 67, 0.06) 16%, rgba(7, 43, 67, 0.92) 88%);
    content: "";
}

.about-values::after {
    position: absolute;
    right: -90px;
    bottom: -100px;
    width: 260px;
    height: 260px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 50%;
    content: "";
}

.about-values--photo {
    min-height: 520px;
    background-image: url("../images/about-core-values.webp");
    background-position: center;
    background-size: cover;
}

.about-values__content {
    position: absolute;
    right: 40px;
    bottom: 38px;
    left: 40px;
    z-index: 2;
}

.about-values__illustration {
    position: relative;
    width: 132px;
    height: 92px;
    margin-bottom: 31px;
}

.about-values__orbit {
    position: absolute;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    transform: rotate(-18deg);
}

.about-values__orbit--one {
    inset: 8px 5px 11px 4px;
}

.about-values__orbit--two {
    inset: 23px 24px 25px 23px;
    border-color: rgba(244, 197, 21, 0.48);
    transform: rotate(22deg);
}

.about-values__node {
    position: absolute;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--jam-yellow);
    box-shadow: 0 0 0 6px rgba(244, 197, 21, 0.12);
}

.about-values__node--one {
    top: 8px;
    right: 27px;
}

.about-values__node--two {
    right: 7px;
    bottom: 22px;
    background: #7ed7d1;
    box-shadow: 0 0 0 6px rgba(126, 215, 209, 0.12);
}

.about-values__node--three {
    bottom: 7px;
    left: 29px;
    background: #ffffff;
    box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.1);
}

.about-values__plus {
    position: absolute;
    top: 27px;
    left: 49px;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 12px 30px rgba(0, 26, 50, 0.16);
}

.about-values__plus::before,
.about-values__plus::after {
    position: absolute;
    top: 50%;
    left: 50%;
    border-radius: 2px;
    background: var(--jam-teal);
    content: "";
    transform: translate(-50%, -50%);
}

.about-values__plus::before {
    width: 18px;
    height: 6px;
}

.about-values__plus::after {
    width: 6px;
    height: 18px;
}

.about-values__label {
    margin-bottom: 12px;
    color: rgba(255, 255, 255, 0.68);
}

.about-values h3 {
    max-width: 280px;
    margin: 0 0 18px;
    font-size: clamp(25px, 2vw, 34px);
    font-weight: 500;
    letter-spacing: -0.025em;
    line-height: 1.15;
}

.about-values__list {
    display: flex;
    flex-wrap: wrap;
    gap: 7px 8px;
    margin: 22px 0 0;
    padding: 0;
    list-style: none;
}

.about-values__list li {
    padding: 7px 10px;
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 999px;
    color: rgba(255, 255, 255, 0.88);
    background: rgba(4, 37, 58, 0.22);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.035em;
}

.about-values > p:not(.about-values__label) {
    position: relative;
    z-index: 1;
    margin: 0;
    color: rgba(255, 255, 255, 0.74);
    font-size: 13px;
    line-height: 1.7;
}

.about-values__line {
    position: absolute;
    top: 0;
    right: 54px;
    width: 1px;
    height: 115px;
    background: linear-gradient(rgba(244, 197, 21, 0), var(--jam-yellow));
}

.about-stats {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 4px;
    border-top: 1px solid #dbe5e8;
    border-bottom: 1px solid #dbe5e8;
}

.about-stat {
    display: flex;
    gap: 20px;
    align-items: center;
    min-height: 118px;
    padding: 24px clamp(20px, 3vw, 44px);
}

.about-stat + .about-stat {
    border-left: 1px solid #dbe5e8;
}

.about-stat strong {
    color: var(--jam-teal);
    font-size: clamp(35px, 3.8vw, 58px);
    font-weight: 500;
    letter-spacing: -0.045em;
    line-height: 1;
}

.about-stat span {
    max-width: 140px;
    color: #64748b;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.45;
    text-transform: uppercase;
}

@media (max-width: 1060px) {
    .about-section__container {
        grid-template-columns: 1fr 1fr;
    }

    .about-values {
        grid-column: 2;
        grid-row: 1 / span 2;
    }
}

@media (max-width: 720px) {
    .about-section {
        padding: 72px 0;
    }

    .about-section__container {
        display: block;
    }

    .about-section__intro h2 {
        font-size: clamp(37px, 11vw, 50px);
    }

    .about-section__story {
        padding-top: 32px;
    }

    .about-values {
        min-height: 500px;
        margin-top: 45px;
        padding: 32px;
    }

    .about-values__content {
        right: 30px;
        bottom: 30px;
        left: 30px;
    }

    .about-values__illustration {
        margin-bottom: 32px;
    }

    .about-stats {
        grid-template-columns: 1fr;
        margin-top: 45px;
    }

    .about-stat {
        min-height: 104px;
        padding: 22px 8px;
    }

    .about-stat + .about-stat {
        border-top: 1px solid #dbe5e8;
        border-left: 0;
    }
}

.categories-section {
    padding: clamp(86px, 9vw, 140px) 0;
    background: #f2f7f8;
}

.categories-section__header {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.55fr);
    gap: clamp(45px, 8vw, 120px);
    align-items: end;
    margin-bottom: clamp(48px, 6vw, 78px);
}

.categories-section__header h2 {
    max-width: 820px;
    margin: 0;
    color: var(--jam-navy);
    font-size: clamp(42px, 5.2vw, 76px);
    font-weight: 500;
    letter-spacing: -0.05em;
    line-height: 1;
}

.categories-section__header > p {
    margin: 0 0 4px;
    color: #64748b;
    font-size: 15px;
    line-height: 1.75;
}

.category-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(24px, 3vw, 42px);
}

.category-card {
    overflow: hidden;
    border: 1px solid #dce7e9;
    border-radius: 28px;
    background: #ffffff;
    box-shadow: 0 16px 45px rgba(18, 67, 83, 0.06);
    transition: transform 300ms ease, box-shadow 300ms ease;
}

.category-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 25px 60px rgba(18, 67, 83, 0.12);
}

.category-card__media {
    position: relative;
    display: block;
    aspect-ratio: 16 / 9.6;
    overflow: hidden;
    background: #dceef3;
}

.category-card__media::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(8, 54, 82, 0) 58%, rgba(8, 54, 82, 0.18) 100%);
    content: "";
}

.category-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center right;
    transition: transform 650ms cubic-bezier(0.2, 0.75, 0.25, 1);
}

.category-card:hover .category-card__media img {
    transform: scale(1.035);
}

.category-card__number {
    position: absolute;
    top: 22px;
    left: 22px;
    z-index: 1;
    display: grid;
    width: 45px;
    height: 45px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.7);
    border-radius: 50%;
    color: var(--jam-navy);
    background: rgba(255, 255, 255, 0.82);
    backdrop-filter: blur(8px);
    font-size: 11px;
    font-weight: 700;
}

.category-card__body {
    padding: clamp(27px, 3vw, 42px);
}

.category-card__eyebrow {
    margin: 0 0 14px;
    color: var(--jam-teal);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.category-card h3 {
    margin: 0 0 16px;
    color: var(--jam-navy);
    font-size: clamp(30px, 3vw, 44px);
    font-weight: 500;
    letter-spacing: -0.035em;
    line-height: 1.08;
}

.category-card__body > p:not(.category-card__eyebrow) {
    max-width: 540px;
    margin: 0 0 27px;
    color: #64748b;
    font-size: 14px;
    line-height: 1.7;
}

.category-card__link {
    display: inline-flex;
    gap: 12px;
    align-items: center;
    padding-bottom: 6px;
    border-bottom: 1px solid #a7d2cb;
    color: var(--jam-navy);
    font-size: 12px;
    font-weight: 700;
}

@media (max-width: 800px) {
    .categories-section__header {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .categories-section__header h2 {
        font-size: clamp(40px, 11vw, 56px);
    }

    .categories-section__header > p {
        max-width: 560px;
    }

    .category-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .categories-section {
        padding: 76px 0;
    }

    .category-card {
        border-radius: 22px;
    }

    .category-card__media {
        aspect-ratio: 4 / 3;
    }

    .category-card__media img {
        object-position: 68% center;
    }

    .category-card__body {
        padding: 27px 24px 30px;
    }
}

.capabilities-section {
    position: relative;
    padding: clamp(90px, 9vw, 145px) 0;
    overflow: hidden;
    color: var(--jam-navy);
    background:
        radial-gradient(circle at 8% 12%, rgba(45, 160, 139, 0.12), transparent 28%),
        radial-gradient(circle at 95% 82%, rgba(30, 118, 173, 0.11), transparent 34%),
        linear-gradient(135deg, #f8fcfd 0%, #eef8fa 52%, #edf7f4 100%);
}

.capabilities-section::before {
    position: absolute;
    top: -260px;
    right: -210px;
    width: 620px;
    height: 620px;
    border: 1px solid rgba(30, 118, 173, 0.1);
    border-radius: 50%;
    content: "";
}

.capabilities-section__layout {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(540px, 1.1fr);
    gap: clamp(55px, 7vw, 110px);
    align-items: start;
}

.capabilities-section__intro {
    position: sticky;
    top: 145px;
}

.capabilities-section__kicker {
    display: flex;
    gap: 12px;
    align-items: center;
    margin: 0 0 24px;
    color: var(--jam-teal);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.capabilities-section__kicker::before {
    width: 30px;
    height: 2px;
    background: var(--jam-yellow);
    content: "";
}

.capabilities-section h2 {
    max-width: 650px;
    margin: 0;
    font-size: clamp(44px, 5.3vw, 76px);
    font-weight: 500;
    letter-spacing: -0.05em;
    line-height: 1.02;
}

.capabilities-section__intro > p:not(.capabilities-section__kicker) {
    max-width: 590px;
    margin: 29px 0 0;
    color: #607387;
    font-size: 15px;
    line-height: 1.8;
}

.capabilities-section__link {
    display: inline-flex;
    gap: 12px;
    align-items: center;
    margin-top: 30px;
    padding-bottom: 7px;
    border-bottom: 1px solid rgba(45, 160, 139, 0.65);
    color: var(--jam-navy);
    font-size: 13px;
    font-weight: 700;
}

.network-map {
    margin-top: 50px;
    padding: 24px 25px 20px;
    border: 1px solid rgba(30, 118, 173, 0.16);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 18px 45px rgba(28, 102, 128, 0.08);
    backdrop-filter: blur(12px);
}

.network-map__heading,
.network-map__legend {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.network-map__heading span,
.network-map__legend {
    color: #718398;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.network-map__heading strong {
    color: var(--jam-yellow);
    font-size: 10px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.network-map svg {
    display: block;
    width: 100%;
    margin: 6px 0 3px;
}

.network-map__image {
    display: block;
    width: 100%;
    margin: 16px 0 10px;
    border-radius: 14px;
    mix-blend-mode: multiply;
}

.network-map .network-map__pixel-map {
    display: none;
}

.network-map__pixels rect {
    fill: url(#jamPixelGradient);
    rx: 2px;
    opacity: 0.88;
}

.network-map__pixels rect:nth-child(3n) {
    opacity: 0.62;
}

.network-map__pixels rect:nth-child(4n) {
    opacity: 0.76;
}

.network-map__pixel-map {
    shape-rendering: crispEdges;
}

.network-map__routes path {
    fill: none;
    stroke: rgba(30, 118, 173, 0.48);
    stroke-dasharray: 4 7;
    stroke-width: 1.4;
}

.network-map__points circle {
    fill: var(--jam-blue);
    stroke: #ffffff;
    stroke-width: 2;
}

.network-map__points circle.is-primary {
    fill: var(--jam-yellow);
    stroke-width: 3;
}

.network-map__legend i {
    display: inline-block;
    width: 6px;
    height: 6px;
    margin-right: 6px;
    border-radius: 50%;
    background: var(--jam-blue);
}

.capability-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.capability-card {
    position: relative;
    min-height: 270px;
    padding: clamp(27px, 3vw, 40px);
    border: 1px solid rgba(30, 118, 173, 0.13);
    border-radius: 23px;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: 0 14px 36px rgba(28, 102, 128, 0.065);
    backdrop-filter: blur(12px);
    transition: border-color 300ms ease, background 300ms ease, transform 300ms ease;
}

.capability-card:hover {
    border-color: rgba(45, 160, 139, 0.42);
    background: #ffffff;
    transform: translateY(-5px);
}

.capability-card__number {
    position: absolute;
    top: 33px;
    right: 34px;
    color: #93a6b5;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
}

.capability-card__icon {
    display: grid;
    width: 58px;
    height: 58px;
    place-items: center;
    border-radius: 17px;
    color: var(--jam-blue);
    background: linear-gradient(145deg, rgba(30, 118, 173, 0.11), rgba(45, 160, 139, 0.12));
}

.capability-card:nth-child(even) .capability-card__icon {
    color: var(--jam-teal);
}

.capability-card__icon svg {
    width: 31px;
    height: 31px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
}

.capability-card h3 {
    max-width: 250px;
    margin: 42px 0 16px;
    color: var(--jam-navy);
    font-size: clamp(22px, 2vw, 29px);
    font-weight: 500;
    letter-spacing: -0.025em;
    line-height: 1.15;
}

.capability-card p {
    margin: 0;
    color: #697b8e;
    font-size: 12px;
    line-height: 1.7;
}

@media (max-width: 1120px) {
    .capabilities-section__layout {
        grid-template-columns: 1fr;
    }

    .capabilities-section__intro {
        position: static;
    }

    .network-map {
        max-width: 720px;
    }
}

@media (max-width: 640px) {
    .capabilities-section {
        padding: 78px 0;
    }

    .capabilities-section h2 {
        font-size: clamp(39px, 11vw, 53px);
    }

    .network-map {
        margin-top: 40px;
        padding: 19px 15px 16px;
        border-radius: 20px;
    }

    .network-map__legend {
        gap: 10px;
        font-size: 7px;
    }

    .capability-grid {
        grid-template-columns: 1fr;
    }

    .capability-card {
        min-height: 230px;
        padding: 30px;
    }

    .capability-card h3 {
        margin-top: 44px;
    }
}

.standards-section {
    padding: clamp(85px, 8vw, 125px) 0 clamp(76px, 7vw, 105px);
    overflow: hidden;
    background: #ffffff;
}

.standards-section__header {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.55fr);
    gap: clamp(45px, 8vw, 120px);
    align-items: end;
    margin-bottom: 58px;
}

.standards-section__header h2 {
    max-width: 820px;
    margin: 0;
    color: var(--jam-navy);
    font-size: clamp(42px, 5vw, 72px);
    font-weight: 500;
    letter-spacing: -0.05em;
    line-height: 1.02;
}

.standards-section__header > p {
    margin: 0 0 5px;
    color: #64748b;
    font-size: 15px;
    line-height: 1.75;
}

.standards-marquee {
    position: relative;
    display: flex;
    width: 100%;
    padding: 24px 0;
    overflow: hidden;
    border-top: 1px solid #dce7e9;
    border-bottom: 1px solid #dce7e9;
    background: linear-gradient(90deg, #f8fcfd, #ffffff 25%, #ffffff 75%, #f3faf8);
}

.standards-marquee::before,
.standards-marquee::after {
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 2;
    width: min(10vw, 130px);
    pointer-events: none;
    content: "";
}

.standards-marquee::before {
    left: 0;
    background: linear-gradient(90deg, #ffffff, rgba(255, 255, 255, 0));
}

.standards-marquee::after {
    right: 0;
    background: linear-gradient(-90deg, #ffffff, rgba(255, 255, 255, 0));
}

.standards-marquee__track {
    display: flex;
    flex: 0 0 auto;
    gap: 20px;
    padding-right: 20px;
    animation: standards-scroll 34s linear infinite;
}

.standards-marquee:hover .standards-marquee__track,
.standards-marquee:focus-within .standards-marquee__track {
    animation-play-state: paused;
}

.standards-logo {
    position: relative;
    display: flex;
    flex: 0 0 280px;
    width: 280px;
    height: 136px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid #e0eaec;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 10px 25px rgba(28, 102, 128, 0.055);
}

.standards-logo img {
    display: block;
    width: auto;
    max-width: 82%;
    height: auto;
    max-height: 82px;
    object-fit: contain;
}

.standards-logo--wide {
    flex-basis: 300px;
    width: 300px;
}

.standards-logo--compact {
    flex-basis: 180px;
    width: 180px;
}

.standards-logo--compact img {
    max-height: 105px;
}

.standards-logo--idak {
    flex-direction: column;
    gap: 8px;
    color: var(--jam-blue);
    background: linear-gradient(145deg, #ffffff, #f1f8fb);
}

.standards-logo--idak strong {
    font-size: 38px;
    font-weight: 700;
    letter-spacing: 0.06em;
    line-height: 1;
}

.standards-logo--idak span {
    color: #687b8e;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.standards-section__note {
    display: flex;
    justify-content: center;
    gap: clamp(25px, 6vw, 80px);
    margin-top: 34px;
    color: #7b8b99;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.standards-section__note span {
    display: flex;
    gap: 9px;
    align-items: center;
}

.standards-section__note span::before {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--jam-teal);
    content: "";
}

@keyframes standards-scroll {
    to {
        transform: translateX(-100%);
    }
}

@media (max-width: 800px) {
    .standards-section__header {
        grid-template-columns: 1fr;
        gap: 26px;
        margin-bottom: 42px;
    }

    .standards-section__header h2 {
        font-size: clamp(40px, 11vw, 55px);
    }

    .standards-logo {
        transform: scale(0.9);
        transform-origin: center;
    }

    .standards-marquee__track {
        gap: 4px;
        padding-right: 4px;
        animation-duration: 28s;
    }

    .standards-section__note {
        flex-direction: column;
        gap: 13px;
        align-items: center;
    }
}

.events-section {
    padding: clamp(88px, 9vw, 140px) 0 clamp(78px, 8vw, 120px);
    background:
        radial-gradient(circle at 88% 14%, rgba(23, 111, 167, 0.1), transparent 25%),
        linear-gradient(145deg, #f8fcfd 0%, #edf8f6 100%);
}

.events-section__header {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.55fr);
    gap: clamp(45px, 8vw, 120px);
    align-items: end;
    margin-bottom: clamp(48px, 6vw, 76px);
}

.events-section__header h2 {
    max-width: 800px;
    margin: 0;
    color: var(--jam-navy);
    font-size: clamp(44px, 5.4vw, 78px);
    font-weight: 500;
    letter-spacing: -0.052em;
    line-height: 0.98;
}

.events-section__header > p {
    margin: 0 0 4px;
    color: #64748b;
    font-size: 15px;
    line-height: 1.75;
}

.featured-event {
    display: grid;
    grid-template-columns: minmax(380px, 0.78fr) minmax(0, 1.22fr);
    min-height: 650px;
    overflow: hidden;
    border: 1px solid rgba(23, 111, 167, 0.13);
    border-radius: 32px;
    background: #ffffff;
    box-shadow: 0 28px 70px rgba(28, 102, 128, 0.12);
}

.events-list {
    display: grid;
    gap: 42px;
}

.featured-event__content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(38px, 5vw, 72px);
    background:
        radial-gradient(circle at 5% 5%, rgba(244, 197, 21, 0.13), transparent 26%),
        linear-gradient(145deg, #ffffff, #eff8fb);
}

.featured-event__meta {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 32px;
}

.featured-event__meta span {
    padding: 7px 11px;
    border: 1px solid rgba(23, 111, 167, 0.16);
    border-radius: 999px;
    color: var(--jam-blue);
    background: rgba(255, 255, 255, 0.74);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.featured-event__content h3 {
    max-width: 510px;
    margin: 0 0 24px;
    color: var(--jam-navy);
    font-size: clamp(39px, 4.5vw, 65px);
    font-weight: 500;
    letter-spacing: -0.045em;
    line-height: 1.02;
}

.featured-event__content > p {
    max-width: 540px;
    margin: 0;
    color: #607387;
    font-size: 14px;
    line-height: 1.8;
}

.featured-event__details {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
    margin: 38px 0 0;
}

.featured-event__details div {
    padding-top: 16px;
    border-top: 1px solid #cbdfe4;
}

.featured-event__details dt {
    margin-bottom: 8px;
    color: var(--jam-teal);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.featured-event__details dd {
    margin: 0;
    color: var(--jam-navy);
    font-size: 14px;
    font-weight: 600;
}

.featured-event__actions {
    display: flex;
    gap: 24px;
    align-items: center;
    margin-top: 38px;
}

.featured-event__button {
    color: #ffffff;
    background: var(--jam-blue);
}

.featured-event__button:hover {
    background: var(--jam-teal);
}

.featured-event__link {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    padding-bottom: 6px;
    border-bottom: 1px solid rgba(47, 159, 137, 0.5);
    color: var(--jam-navy);
    font-size: 12px;
    font-weight: 700;
}

.featured-event__visual {
    position: relative;
    min-height: 650px;
    overflow: hidden;
    background: #dceff5;
}

.featured-event__visual::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(7, 42, 68, 0) 60%, rgba(7, 42, 68, 0.42) 100%);
    content: "";
}

.featured-event__visual > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 65% center;
    transition: transform 700ms cubic-bezier(0.2, 0.75, 0.25, 1);
}

.featured-event__visual:hover > img {
    transform: scale(1.025);
}

.featured-event__date {
    position: absolute;
    top: 30px;
    right: 30px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    min-width: 112px;
    padding: 15px 18px;
    border: 1px solid rgba(255, 255, 255, 0.72);
    border-radius: 17px;
    color: var(--jam-navy);
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 12px 30px rgba(10, 59, 88, 0.14);
    backdrop-filter: blur(10px);
}

.featured-event__date strong {
    font-size: 22px;
    line-height: 1;
}

.featured-event__date small {
    margin-top: 6px;
    color: var(--jam-teal);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.12em;
}

.featured-event__visual-label {
    position: absolute;
    right: 28px;
    bottom: 25px;
    z-index: 2;
    display: flex;
    gap: 10px;
    align-items: center;
    color: #ffffff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.events-section__footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 30px;
}

.events-section__footer p {
    margin: 0;
    color: #718397;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.events-section__footer a {
    color: var(--jam-navy);
    font-size: 12px;
    font-weight: 700;
}

@media (max-width: 980px) {
    .featured-event {
        grid-template-columns: 1fr;
    }

    .featured-event__visual {
        min-height: 520px;
        grid-row: 1;
    }

    .featured-event__visual > img {
        object-position: center;
    }
}

@media (max-width: 800px) {
    .events-section__header {
        grid-template-columns: 1fr;
        gap: 26px;
    }

    .events-section__header h2 {
        font-size: clamp(41px, 11vw, 56px);
    }
}

@media (max-width: 560px) {
    .events-section {
        padding: 76px 0;
    }

    .featured-event {
        min-height: 0;
        border-radius: 23px;
    }

    .featured-event__visual {
        min-height: 330px;
    }

    .featured-event__visual > img {
        object-position: 68% center;
    }

    .featured-event__content {
        padding: 34px 26px 38px;
    }

    .featured-event__details {
        grid-template-columns: 1fr;
    }

    .featured-event__actions {
        align-items: stretch;
        flex-direction: column;
        gap: 16px;
    }

    .featured-event__button {
        width: 100%;
    }

    .featured-event__link {
        justify-content: center;
    }

    .featured-event__date {
        top: 18px;
        right: 18px;
    }

    .events-section__footer {
        gap: 17px;
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        transition-duration: 0.01ms !important;
    }

    .site-header {
        will-change: auto;
    }

    .standards-marquee__track {
        animation-play-state: paused;
    }
}

/* Site footer */
.site-footer {
    position: relative;
    overflow: hidden;
    color: #dcebf2;
    background: #083b59;
}

.site-footer::before {
    position: absolute;
    top: 250px;
    right: -130px;
    width: 430px;
    height: 430px;
    border: 1px solid rgba(91, 193, 174, 0.18);
    border-radius: 50%;
    box-shadow: 0 0 0 70px rgba(91, 193, 174, 0.045), 0 0 0 140px rgba(44, 133, 176, 0.035);
    content: "";
    pointer-events: none;
}

.site-footer__cta {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr);
    gap: 70px;
    align-items: end;
    padding-top: 78px;
    padding-bottom: 74px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.site-footer .section-kicker {
    color: #f3c71c;
}

.site-footer__cta h2 {
    max-width: 720px;
    margin: 18px 0 0;
    color: #fff;
    font-size: clamp(42px, 5vw, 72px);
    font-weight: 500;
    letter-spacing: -0.045em;
    line-height: 1.02;
}

.site-footer__cta-copy p {
    margin: 0 0 26px;
    color: #bad0db;
    font-size: 14px;
    line-height: 1.75;
}

.site-footer__cta-button {
    color: #06364f;
    background: #fff;
}

.site-footer__cta-button:hover {
    color: #fff;
    background: var(--jam-teal);
}

.site-footer__main {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(260px, 1.55fr) repeat(3, minmax(140px, 0.65fr));
    gap: 58px;
    padding-top: 70px;
    padding-bottom: 64px;
}

.site-footer__brand img {
    width: 178px;
    height: auto;
    padding: 11px 14px;
    border-radius: 12px;
    background: #fff;
}

.site-footer__brand p {
    max-width: 360px;
    margin: 25px 0 0;
    color: #adc7d3;
    font-size: 14px;
    line-height: 1.75;
}

.site-footer__column {
    display: flex;
    flex-direction: column;
    gap: 13px;
    margin: 0;
    font-style: normal;
}

.site-footer__column h3 {
    margin: 0 0 9px;
    color: #78cabb;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.site-footer__column a,
.site-footer__column span {
    color: #dcebf2;
    font-size: 13px;
    line-height: 1.5;
}

.site-footer__column a {
    transition: color 180ms ease, transform 180ms ease;
}

.site-footer__column a:hover {
    color: #f3c71c;
    transform: translateX(3px);
}

.site-footer__contact a:last-child {
    width: fit-content;
    margin-top: 10px;
    padding-bottom: 5px;
    border-bottom: 1px solid rgba(120, 202, 187, 0.6);
}

.site-footer__bottom {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 25px;
    align-items: center;
    min-height: 82px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.site-footer__bottom p,
.site-footer__bottom a {
    margin: 0;
    color: #b7cdd7;
    font-size: 13px;
    letter-spacing: 0.015em;
    line-height: 1.5;
}

.site-footer__bottom p:nth-child(2) {
    text-align: center;
}

.site-footer__bottom a {
    justify-self: end;
    color: #ffffff;
    font-weight: 600;
}

@media (max-width: 900px) {
    .site-footer__cta {
        grid-template-columns: 1fr;
        gap: 30px;
        align-items: start;
    }

    .site-footer__cta-copy {
        max-width: 560px;
    }

    .site-footer__main {
        grid-template-columns: 1.5fr 1fr 1fr;
    }

    .site-footer__contact {
        grid-column: 2 / -1;
    }
}

@media (max-width: 620px) {
    .site-footer__cta {
        gap: 26px;
        padding-top: 64px;
        padding-bottom: 58px;
    }

    .site-footer__cta-button {
        width: 100%;
    }

    .site-footer__main {
        grid-template-columns: 1fr 1fr;
        gap: 42px 28px;
        padding-top: 54px;
        padding-bottom: 50px;
    }

    .site-footer__brand {
        grid-column: 1 / -1;
    }

    .site-footer__contact {
        grid-column: 1 / -1;
    }

    .site-footer__bottom {
        grid-template-columns: 1fr auto;
        gap: 12px;
        padding: 22px 0;
    }

    .site-footer__bottom p,
    .site-footer__bottom a {
        font-size: 12px;
    }

    .site-footer__bottom p:nth-child(2) {
        display: none;
    }
}

/* Products page */
.product-page-header { top: 0; }
.products-masthead { padding: 125px 0 105px; background: linear-gradient(125deg, #edf9fa 0%, #f7fbfd 58%, #e7f4fa 100%); }
.products-masthead__inner, .catalogue-section__heading { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: 70px; align-items: end; }
.products-masthead h1 { max-width: 850px; margin: 20px 0 0; color: var(--jam-navy); font-size: clamp(50px, 6.4vw, 88px); font-weight: 500; letter-spacing: -.055em; line-height: .98; }
.products-masthead__inner > p, .catalogue-section__heading > p { margin: 0; color: #617589; font-size: 14px; line-height: 1.8; }
.catalogue-section { padding: 105px 0 120px; background: #fff; }
.catalogue-section__heading h2 { margin: 17px 0 0; color: var(--jam-navy); font-size: clamp(42px, 5vw, 68px); font-weight: 500; letter-spacing: -.045em; line-height: 1.02; }
.catalogue-toolbar { margin: 55px 0 42px; }
.catalogue-search { display: flex; align-items: center; gap: 13px; max-width: 600px; padding: 0 21px; border: 1px solid #cfe0e6; border-radius: 15px; background: #f8fbfc; }
.catalogue-search svg { width: 20px; fill: none; stroke: var(--jam-blue); stroke-width: 1.7; }
.catalogue-search input { width: 100%; height: 55px; border: 0; outline: 0; color: var(--jam-navy); background: transparent; font: inherit; font-size: 14px; }
.catalogue-filters { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 20px; }
.catalogue-filters button { padding: 10px 17px; border: 1px solid #cddfe5; border-radius: 999px; color: #5b7084; background: #fff; font: inherit; font-size: 11px; font-weight: 600; cursor: pointer; }
.catalogue-filters button:hover, .catalogue-filters button.is-active { border-color: var(--jam-teal); color: #fff; background: var(--jam-teal); }
.product-catalogue-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 25px; }
.catalogue-card { overflow: hidden; border: 1px solid #dbe8ec; border-radius: 22px; background: #fff; box-shadow: 0 14px 35px rgba(13,68,93,.06); }
.catalogue-card[hidden] { display: none; }
.catalogue-card__image { display: block; height: 330px; overflow: hidden; padding: 12px; border-bottom: 1px solid #e2ecef; background: #fff; }
.catalogue-card__image img { width: 100%; height: 100%; object-fit: contain; object-position: center; transition: transform .6s ease; }
.catalogue-card:hover .catalogue-card__image img { transform: scale(1.035); }
.catalogue-card__body { padding: 27px 27px 30px; }
.catalogue-card__body > p { margin: 0 0 12px; color: var(--jam-teal); font-size: 9px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.catalogue-card__body h3 { margin: 0; color: var(--jam-navy); font-size: clamp(25px, 2vw, 31px); font-weight: 600; letter-spacing: -.035em; line-height: 1.18; }
.catalogue-card__body h3 a { display: inline; margin: 0; padding: 0; border: 0; color: inherit; font-size: inherit; font-weight: inherit; line-height: inherit; }
.catalogue-card__body > span { display: block; margin-top: 14px; color: #687b8d; font-size: 13px; line-height: 1.7; }
.catalogue-card__body > a { display: flex; justify-content: space-between; margin-top: 25px; padding-top: 17px; border-top: 1px solid #dce7eb; color: var(--jam-navy); font-size: 11px; font-weight: 700; }
.catalogue-empty { padding: 45px; text-align: center; color: #64788a; background: #f5fafb; border-radius: 20px; }
.catalogue-load-more { display: flex; justify-content: center; margin-top: 48px; }
.catalogue-load-more button { display: inline-flex; gap: 14px; align-items: center; padding: 15px 25px; border: 1px solid var(--jam-teal); border-radius: 999px; color: var(--jam-navy); background: #fff; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; transition: color 180ms ease, background 180ms ease; }
.catalogue-load-more button:hover { color: #fff; background: var(--jam-teal); }
.catalogue-load-more button[hidden] { display: none; }

.brochures-section {
    padding: 110px 0 125px;
    background: radial-gradient(circle at 10% 20%, rgba(23, 111, 167, 0.04) 0%, transparent 40%),
                radial-gradient(circle at 90% 80%, rgba(47, 159, 137, 0.05) 0%, transparent 45%),
                linear-gradient(135deg, #edf7f8 0%, #f7fbfc 50%, #eef7f9 100%);
    position: relative;
    overflow: hidden;
}
.brochures-section__heading { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: 70px; align-items: end; }
.brochures-section__heading > p { margin: 0; color: #617589; font-size: 14px; line-height: 1.8; }
.brochures-section__heading h2 { margin: 17px 0 0; color: var(--jam-navy); font-size: clamp(42px, 5vw, 68px); font-weight: 500; letter-spacing: -.045em; line-height: 1.02; }
.brochure-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin-top: 55px; }
.brochure-card {
    display: grid;
    grid-template-columns: 42% 58%;
    min-height: 410px;
    border: 1px solid rgba(198, 222, 229, 0.85);
    border-radius: 26px;
    background: #ffffff;
    box-shadow: 0 16px 45px rgba(11, 45, 68, 0.07), 0 2px 8px rgba(11, 45, 68, 0.03);
    transition: transform 0.28s cubic-bezier(0.2, 0.8, 0.2, 1),
                box-shadow 0.28s cubic-bezier(0.2, 0.8, 0.2, 1),
                border-color 0.28s ease;
    overflow: hidden;
}
.brochure-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 60px rgba(11, 45, 68, 0.12), 0 4px 14px rgba(11, 45, 68, 0.04);
    border-color: rgba(47, 159, 137, 0.45);
}
.brochure-card__cover {
    position: relative;
    min-height: 100%;
    overflow: hidden;
    background: linear-gradient(135deg, #e4f1f4, #d3e7ed);
    cursor: pointer;
}
.brochure-card__cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.45s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.brochure-card--consumable .brochure-card__cover img {
    object-position: 62% center;
    transform-origin: 62% center;
}
.brochure-card--electromedis .brochure-card__cover img {
    object-position: 86% center;
    transform-origin: 86% center;
}
.brochure-card:hover .brochure-card__cover img {
    transform: scale(1.05);
}
.brochure-card__cover::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(11, 37, 69, 0.08) 0%, rgba(11, 37, 69, 0.45) 100%);
    content: '';
    pointer-events: none;
}
.brochure-card__badge {
    position: absolute;
    top: 18px;
    left: 18px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border-radius: 999px;
    color: #ffffff;
    background: rgba(11, 37, 69, 0.85);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.brochure-card__cover-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(11, 37, 69, 0.28);
    backdrop-filter: blur(2px);
    opacity: 0;
    transition: opacity 0.24s ease;
    pointer-events: none;
}
.brochure-card__cover:hover .brochure-card__cover-overlay {
    opacity: 1;
}
.brochure-card__cover-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    border-radius: 999px;
    color: #ffffff;
    background: rgba(255, 255, 255, 0.22);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.4);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.02em;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22);
    transform: translateY(6px);
    transition: transform 0.24s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.brochure-card__cover:hover .brochure-card__cover-pill {
    transform: translateY(0);
}
.brochure-card__cover-pill svg {
    width: 15px;
    height: 15px;
}
.brochure-card__content {
    display: flex;
    flex-direction: column;
    padding: 34px 28px;
    background: #ffffff;
    min-width: 0;
}
.brochure-card__category {
    margin: 0 0 10px;
    color: var(--jam-teal);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}
.brochure-card__content h3 {
    margin: 0;
    color: var(--jam-navy);
    font-size: clamp(22px, 1.7vw, 26px);
    font-weight: 600;
    letter-spacing: -0.03em;
    line-height: 1.15;
}
.brochure-card__desc {
    margin: 14px 0 0;
    color: #5b7183;
    font-size: 14px;
    line-height: 1.65;
}
.brochure-card__meta {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-top: 18px;
    padding: 7px 13px;
    border-radius: 9px;
    background: #f4f8fa;
    border: 1px solid #e1ecf0;
    width: fit-content;
}
.brochure-card__meta-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #556e80;
    font-size: 12px;
    font-weight: 600;
}
.brochure-card__meta-item svg {
    width: 13px;
    height: 13px;
    stroke: var(--jam-teal);
}
.brochure-card__meta-sep {
    color: #b7cbce;
    font-size: 10px;
}
.brochure-card__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    width: 100%;
    margin-top: auto;
    padding-top: 24px;
    box-sizing: border-box;
}
.brochure-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: 100%;
    min-width: 0;
    min-height: 46px;
    padding: 0 12px;
    border-radius: 12px;
    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: -0.01em;
    white-space: nowrap;
    cursor: pointer;
    text-decoration: none;
    border: none;
    outline: none;
    transition: all 0.22s cubic-bezier(0.2, 0.8, 0.2, 1);
    box-sizing: border-box;
    user-select: none;
    -webkit-appearance: none;
    appearance: none;
}
.brochure-btn__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.brochure-btn__icon svg {
    width: 16px;
    height: 16px;
    transition: transform 0.22s ease;
}
.brochure-btn__label {
    display: inline-flex;
    align-items: center;
    overflow: hidden;
    text-overflow: ellipsis;
}
.brochure-btn__arrow {
    display: inline-flex;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    transition: transform 0.22s ease;
}
.brochure-btn--preview {
    color: #ffffff !important;
    background: linear-gradient(135deg, #106294 0%, #177d91 50%, #209983 100%) !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    box-shadow: 0 6px 18px -2px rgba(16, 98, 148, 0.38),
                0 2px 6px rgba(11, 37, 69, 0.08),
                inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
}
.brochure-btn--preview:hover {
    color: #ffffff !important;
    background: linear-gradient(135deg, #0e527d 0%, #157183 50%, #1c8572 100%) !important;
    transform: translateY(-2px);
    box-shadow: 0 10px 24px -2px rgba(16, 98, 148, 0.48),
                0 4px 12px rgba(32, 153, 131, 0.3),
                inset 0 1px 0 rgba(255, 255, 255, 0.4) !important;
}
.brochure-btn--preview:hover .brochure-btn__arrow {
    transform: translate(2px, -2px);
}
.brochure-btn--preview:hover .brochure-btn__icon svg {
    transform: scale(1.12);
}
.brochure-btn--preview:active {
    transform: translateY(0);
    box-shadow: 0 4px 14px rgba(16, 98, 148, 0.3) !important;
}
.brochure-btn--download {
    color: var(--jam-navy) !important;
    background: #f4f8fa !important;
    border: 1.5px solid #c4dbe1 !important;
    box-shadow: 0 2px 6px rgba(11, 37, 69, 0.04),
                inset 0 1px 0 #ffffff !important;
}
.brochure-btn--download:hover {
    color: var(--jam-teal-dark) !important;
    background: #ffffff !important;
    border-color: var(--jam-teal) !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px -2px rgba(47, 159, 137, 0.22),
                0 3px 8px rgba(11, 37, 69, 0.05),
                inset 0 1px 0 #ffffff !important;
}
.brochure-btn--download:hover .brochure-btn__icon svg {
    transform: translateY(2px);
    stroke: var(--jam-teal);
}
.brochure-btn--download:active {
    transform: translateY(0);
    box-shadow: 0 2px 6px rgba(11, 37, 69, 0.06) !important;
}

/* Compact mobile navigation */
@media(max-width:820px){.site-header{border-bottom:1px solid rgba(199,220,225,.75);background:rgba(255,255,255,.92);backdrop-filter:blur(18px)}.navbar{border-bottom:0}.navbar__inner{position:relative;min-height:72px}.navbar .container{width:min(calc(100% - 28px),var(--header-container))}.brand{width:142px}.menu-toggle{position:relative;z-index:22;width:44px;height:44px;gap:5px;border:1px solid #dce9ec;background:rgba(245,250,251,.95);box-shadow:0 8px 24px rgba(11,37,69,.08);transition:background .2s ease,transform .2s ease,box-shadow .2s ease}.menu-toggle:hover{background:#edf7f7;box-shadow:0 10px 28px rgba(11,37,69,.12)}.menu-toggle:active{transform:scale(.95)}.menu-toggle span:not(.sr-only){position:absolute;width:19px;height:1.8px;transition:transform .24s cubic-bezier(.4,0,.2,1),opacity .18s ease}.menu-toggle span:nth-child(1){transform:translateY(-6px)}.menu-toggle span:nth-child(2){transform:translateY(0)}.menu-toggle span:nth-child(3){transform:translateY(6px)}.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;transform:scaleX(0)}.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:rotate(-45deg)}.primary-nav{top:64px;right:0;left:auto;display:flex;width:min(290px,calc(100vw - 28px));align-items:stretch;gap:3px;padding:9px;border:1px solid rgba(196,218,223,.9);border-radius:20px;background:rgba(255,255,255,.97);box-shadow:0 22px 55px rgba(11,37,69,.16);opacity:0;visibility:hidden;transform:translateY(-8px) scale(.975);transform-origin:top right;transition:opacity .2s ease,transform .24s cubic-bezier(.2,.8,.2,1),visibility .2s}.primary-nav.is-open{display:flex;opacity:1;visibility:visible;transform:translateY(0) scale(1)}.primary-nav a{display:flex;min-height:45px;align-items:center;padding:0 14px;border:0;border-radius:12px;color:#4e6275;font-size:14px;font-weight:550;transition:color .18s ease,background .18s ease,padding .18s ease}.primary-nav a:hover{padding-left:17px;color:var(--jam-navy);background:#f2f8f9}.primary-nav a.is-active{color:var(--jam-teal-dark);background:linear-gradient(90deg,rgba(47,159,137,.13),rgba(23,111,167,.055))}.primary-nav a.is-active::before{width:6px;height:6px;margin-right:10px;border-radius:50%;background:var(--jam-teal);content:""}.primary-nav a::after{display:none}}
@media(max-width:420px){.brand{width:132px}.primary-nav{width:min(270px,calc(100vw - 28px))}}
.mobile-nav-contact{display:none!important}
@media(max-width:820px){.primary-nav .mobile-nav-contact{display:flex!important;min-height:48px;margin-top:4px;justify-content:space-between;padding:0 16px;color:#fff;background:linear-gradient(110deg,var(--jam-teal),var(--jam-blue))}.primary-nav .mobile-nav-contact:hover,.primary-nav .mobile-nav-contact.is-active{padding-left:16px;color:#fff;background:linear-gradient(110deg,var(--jam-teal-dark),var(--jam-blue))}.primary-nav .mobile-nav-contact::before{display:none}.mobile-nav-contact span{display:grid;width:25px;height:25px;place-items:center;border-radius:50%;background:rgba(255,255,255,.16);font-size:13px}}

/* Balanced pill button spacing */
.featured-event__button,.site-footer__cta-button{min-width:190px;padding-right:23px;padding-left:23px;gap:18px;white-space:nowrap}.featured-event__button span,.site-footer__cta-button span{display:inline-grid;flex:0 0 auto;width:22px;height:22px;place-items:center;border-radius:50%;font-size:15px;line-height:1}.featured-event__button span{background:rgba(255,255,255,.15)}.site-footer__cta-button span{background:rgba(11,37,69,.07)}.site-footer__cta-button:hover span{background:rgba(255,255,255,.16)}
@media(max-width:620px){.featured-event__button,.site-footer__cta-button{width:max-content;max-width:100%;min-width:190px;justify-content:space-between}}
.contact-recaptcha{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:8px 0 4px}.contact-recaptcha small{color:#6b7e8e;font-size:12px}.contact-submit:disabled{opacity:.48;cursor:not-allowed;transform:none}@media(max-width:390px){.contact-recaptcha{display:block;max-width:100%;overflow-x:auto}.contact-recaptcha small{display:block;margin-top:8px}}
.contact-map{position:relative}.contact-map__place-card{position:absolute;top:18px;left:18px;z-index:2;display:flex;width:min(430px,calc(100% - 36px));gap:18px;justify-content:space-between;padding:19px 18px 18px 20px;border:1px solid rgba(206,219,225,.85);border-radius:14px;background:rgba(255,255,255,.97);box-shadow:0 10px 30px rgba(11,37,69,.16);backdrop-filter:blur(10px)}.contact-map__place-copy strong{display:block;margin-bottom:7px;color:var(--jam-navy);font-size:17px;line-height:1.2}.contact-map__place-copy address{margin:0;color:#536879;font-size:13px;font-style:normal;line-height:1.42}.contact-map__place-actions{display:flex;flex:0 0 auto;gap:8px}.contact-map__place-actions a{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;color:var(--jam-blue);background:#f1f6f8;font-size:17px;font-weight:700;transition:color .18s ease,background .18s ease,transform .18s ease}.contact-map__place-actions a:hover{color:#fff;background:var(--jam-blue);transform:translateY(-2px)}

/* ITRUST core-values identity */
.values-itrust{position:relative;overflow:hidden;padding:118px 0 82px;background:linear-gradient(145deg,#f6fbfc 0%,#fff 48%,#edf8f6 100%)}.values-itrust::before{position:absolute;top:31%;left:50%;width:680px;height:680px;border:1px solid rgba(47,159,137,.13);border-radius:50%;box-shadow:0 0 0 80px rgba(23,111,167,.025),0 0 0 160px rgba(47,159,137,.018);content:"";transform:translate(-50%,-50%);pointer-events:none}.values-itrust .values-page__header{position:relative;z-index:1}.values-itrust__system{position:relative;z-index:1;display:grid;grid-template-columns:minmax(250px,1fr) minmax(300px,.82fr) minmax(250px,1fr);gap:54px;align-items:center;margin-top:76px}.values-itrust__group{display:grid;gap:34px}.values-itrust__item{position:relative;display:flex;gap:20px;align-items:flex-start;padding:0 0 25px;border-bottom:1px solid #cee1e5}.values-itrust__group--left .values-itrust__item{flex-direction:row-reverse;text-align:right}.values-itrust__item::after{position:absolute;top:25px;width:40px;height:1px;background:linear-gradient(90deg,var(--jam-teal),rgba(47,159,137,0));content:""}.values-itrust__group--left .values-itrust__item::after{right:-46px}.values-itrust__group--right .values-itrust__item::after{left:-46px;transform:rotate(180deg)}.values-itrust__letter{display:grid;flex:0 0 54px;height:54px;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(145deg,var(--jam-blue),var(--jam-teal));box-shadow:0 10px 24px rgba(23,111,167,.17);font-size:24px;font-weight:700}.values-itrust__item small{display:block;margin:2px 0 5px;color:var(--jam-teal-dark);font-size:9px;font-weight:700;letter-spacing:.15em}.values-itrust__item h3{margin:0;color:var(--jam-navy);font-size:24px;font-weight:600;letter-spacing:-.025em}.values-itrust__item p{max-width:260px;margin:7px 0 0;color:#63798a;font-size:14px;line-height:1.6}.values-itrust__group--left p{margin-left:auto}.values-itrust__emblem{position:relative;margin:0;text-align:center}.values-itrust__logo{display:grid;aspect-ratio:1;place-items:center;padding:38px;border:1px solid rgba(47,159,137,.19);border-radius:50%;background:#fff;box-shadow:0 25px 65px rgba(11,65,87,.11)}.values-itrust__logo::before,.values-itrust__logo::after{position:absolute;inset:-13px;border:1px dashed rgba(23,111,167,.2);border-radius:50%;content:""}.values-itrust__logo::after{inset:-27px;border-color:rgba(47,159,137,.11)}.values-itrust__logo img{position:relative;z-index:1;width:100%;mix-blend-mode:multiply}.values-itrust__emblem figcaption{margin-top:37px;color:#4f6879;font-size:13px;font-weight:600;letter-spacing:.08em;line-height:1.55;text-transform:uppercase}.values-itrust__statement{position:relative;z-index:1;display:flex;gap:15px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:70px;padding-top:27px;border-top:1px solid #d5e5e8;color:var(--jam-navy);font-size:12px;font-weight:650;letter-spacing:.045em;text-transform:uppercase}.values-itrust__statement b{color:var(--jam-yellow);font-size:18px}
@media(max-width:1040px){.values-itrust__system{grid-template-columns:1fr 260px 1fr;gap:36px}.values-itrust__item::after{display:none}.values-itrust__logo{padding:28px}.values-itrust__item p{font-size:13px}}
@media(max-width:760px){.values-itrust{padding:80px 0 65px}.values-itrust::before{top:28%;width:480px;height:480px}.values-itrust__system{display:flex;flex-direction:column;gap:42px;margin-top:48px}.values-itrust__emblem{order:-1;width:min(260px,72vw)}.values-itrust__logo{padding:31px}.values-itrust__emblem figcaption{margin-top:28px}.values-itrust__group{width:100%;gap:24px}.values-itrust__group--left .values-itrust__item{flex-direction:row;text-align:left}.values-itrust__group--left p{margin-left:0}.values-itrust__item p{max-width:none;font-size:14px}.values-itrust__statement{justify-content:flex-start;margin-top:48px}.values-itrust__statement b{font-size:14px}}
.values-itrust{padding-bottom:96px}

/* Scroll-driven company history */
.about-history--motion{overflow:hidden;padding:120px 0 135px;background:#fff}.history-motion{--history-progress:0%;position:relative;margin-top:84px}.history-motion__track{position:absolute;top:70px;bottom:70px;left:50%;width:3px;border-radius:999px;background:#dce8eb;transform:translateX(-50%)}.history-motion__track span{position:absolute;top:0;left:0;width:100%;height:var(--history-progress);border-radius:inherit;background:linear-gradient(180deg,var(--jam-blue),var(--jam-teal),var(--jam-yellow));transition:height .12s linear}.history-motion__track i{position:absolute;top:var(--history-progress);left:50%;width:14px;height:14px;border:4px solid #fff;border-radius:50%;background:var(--jam-yellow);box-shadow:0 4px 16px rgba(11,37,69,.2);transform:translate(-50%,-50%);transition:top .12s linear}.history-motion__list{position:relative}.history-milestone{display:grid;min-height:185px;grid-template-columns:minmax(0,1fr) 112px minmax(0,1fr);align-items:center;opacity:.28;transition:opacity .55s ease,transform .7s cubic-bezier(.2,.75,.2,1)}.history-milestone:nth-child(odd){transform:translateX(-34px)}.history-milestone:nth-child(even){transform:translateX(34px)}.history-milestone.is-active{opacity:1;transform:translateX(0)}.history-milestone__content{position:relative;grid-column:1;padding:28px 45px 28px 0;text-align:right}.history-milestone:nth-child(even) .history-milestone__content{grid-column:3;padding-right:0;padding-left:45px;text-align:left}.history-milestone__content::after{position:absolute;top:50%;right:0;width:38px;height:1px;background:#bfd5dc;content:""}.history-milestone:nth-child(even) .history-milestone__content::after{right:auto;left:0}.history-milestone__content small{color:var(--jam-teal-dark);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.history-milestone__content h3{margin:8px 0 7px;color:var(--jam-navy);font-size:clamp(30px,3vw,45px);font-weight:550;letter-spacing:-.045em;line-height:1}.history-milestone__content p{max-width:470px;margin:0 0 0 auto;color:#607587;font-size:15px;line-height:1.65}.history-milestone:nth-child(even) .history-milestone__content p{margin-right:auto;margin-left:0}.history-milestone__node{position:relative;z-index:2;display:grid;grid-column:2;grid-row:1;width:86px;height:86px;margin:auto;place-items:center;border:3px solid #d7e6ea;border-radius:50%;color:#758795;background:#fff;box-shadow:0 9px 26px rgba(11,55,76,.07);transition:border-color .45s ease,color .45s ease,background .45s ease,box-shadow .45s ease,transform .45s ease}.history-milestone__node::after{position:absolute;inset:-9px;border:1px solid transparent;border-radius:50%;content:"";transition:border-color .45s ease}.history-milestone__node span{font-size:15px;font-weight:700}.history-milestone.is-active .history-milestone__node{border-color:#fff;color:#fff;background:linear-gradient(145deg,var(--jam-blue),var(--jam-teal));box-shadow:0 12px 30px rgba(23,111,167,.23);transform:scale(1.07)}.history-milestone.is-active .history-milestone__node::after{border-color:rgba(47,159,137,.25)}
@media(max-width:760px){.about-history--motion{padding:82px 0 90px}.history-motion{margin-top:56px}.history-motion__track{top:45px;bottom:45px;left:35px}.history-milestone{min-height:165px;grid-template-columns:70px minmax(0,1fr);opacity:.25}.history-milestone:nth-child(odd),.history-milestone:nth-child(even){transform:translateX(24px)}.history-milestone.is-active{transform:translateX(0)}.history-milestone__node{grid-column:1;width:64px;height:64px}.history-milestone__node span{font-size:12px}.history-milestone__content,.history-milestone:nth-child(even) .history-milestone__content{grid-column:2;padding:24px 0 24px 24px;text-align:left}.history-milestone__content::after,.history-milestone:nth-child(even) .history-milestone__content::after{right:auto;left:0;width:18px}.history-milestone__content h3{font-size:31px}.history-milestone__content p,.history-milestone:nth-child(even) .history-milestone__content p{margin-left:0;font-size:14px}}
@media(prefers-reduced-motion:reduce){.history-motion__track span,.history-motion__track i,.history-milestone,.history-milestone__node{transition:none}}

/* Sales and distribution */
.sales-distribution {
    position: relative;
    overflow: hidden;
    padding: 118px 0 125px;
    background: linear-gradient(145deg, #edf7f8 0%, #f9fcfc 54%, #eef7f6 100%);
}
.sales-distribution::before {
    position: absolute;
    top: -280px;
    right: -260px;
    width: 680px;
    height: 680px;
    border: 1px solid rgba(47, 159, 137, .12);
    border-radius: 50%;
    box-shadow: 0 0 0 90px rgba(23, 111, 167, .025), 0 0 0 180px rgba(47, 159, 137, .018);
    content: "";
    pointer-events: none;
}
.sales-distribution__intro {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 65px;
    align-items: end;
}
.sales-distribution__intro h2 {
    max-width: 700px;
    margin: 15px 0 0;
    color: var(--jam-navy);
    font-size: clamp(40px, 4.5vw, 64px);
    font-weight: 500;
    letter-spacing: -.05em;
    line-height: 1;
}
.sales-distribution__intro > p {
    margin: 0;
    color: #607687;
    font-size: 16px;
    line-height: 1.75;
}
.sales-presence {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 310px minmax(0, 1fr);
    min-height: 510px;
    margin-top: 68px;
    overflow: hidden;
    border: 1px solid #cee1e5;
    border-radius: 28px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 24px 70px rgba(11, 63, 83, .09);
}
.sales-presence__details {
    position: relative;
    z-index: 2;
    display: flex;
    padding: 46px 38px;
    flex-direction: column;
    border-right: 1px solid #d5e5e8;
    background: linear-gradient(160deg, #fff, #f6fbfb);
}
.sales-presence__label {
    margin: 0;
    color: var(--jam-navy);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.sales-presence__stat {
    display: flex;
    gap: 16px;
    align-items: center;
    margin-top: 43px;
    padding-bottom: 33px;
    border-bottom: 1px solid #d3e3e6;
}
.sales-presence__stat strong {
    color: var(--jam-blue);
    font-size: 68px;
    font-weight: 500;
    letter-spacing: -.07em;
    line-height: .9;
}
.sales-presence__stat span {
    color: #536b7d;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
}
.sales-presence__office {
    margin-top: auto;
}
.sales-presence__office > span {
    display: block;
    margin-bottom: 12px;
    color: var(--jam-teal-dark);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.sales-presence__office address {
    margin: 0 0 13px;
    color: var(--jam-navy);
    font-size: 14px;
    font-style: normal;
    line-height: 1.65;
}
.sales-presence__office a {
    color: var(--jam-blue);
    font-size: 14px;
    font-weight: 700;
}
.sales-presence__map {
    position: relative;
    display: grid;
    min-width: 0;
    margin: 0;
    place-items: center;
    overflow: hidden;
}
.sales-presence__map::after {
    position: absolute;
    inset: auto 0 0;
    height: 38%;
    background: linear-gradient(180deg, transparent, rgba(237, 247, 248, .88));
    content: "";
    pointer-events: none;
}
.sales-presence__map img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.sales-presence__map figcaption {
    position: absolute;
    right: 27px;
    bottom: 24px;
    z-index: 1;
    display: flex;
    gap: 9px;
    align-items: center;
    color: #546c7d;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.sales-presence__map figcaption span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--jam-yellow);
    box-shadow: 0 0 0 5px rgba(244, 200, 23, .16);
}
.distribution-network {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 58px;
    align-items: center;
    margin-top: 28px;
    padding: 46px 48px;
    border-radius: 24px;
    color: #fff;
    background: var(--jam-navy);
    box-shadow: 0 20px 55px rgba(11, 37, 69, .14);
}
.distribution-network__heading .section-kicker {
    color: var(--jam-yellow);
}
.distribution-network__heading h3 {
    max-width: 470px;
    margin: 15px 0 0;
    font-size: clamp(28px, 3vw, 42px);
    font-weight: 500;
    letter-spacing: -.04em;
    line-height: 1.08;
}
.distribution-network__heading > p:last-child {
    max-width: 480px;
    margin: 19px 0 0;
    color: #bdd1dc;
    font-size: 14px;
    line-height: 1.7;
}
.distribution-partners {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 18px;
    background: rgba(255, 255, 255, .15);
}
.distribution-partners article {
    display: flex;
    min-height: 190px;
    padding: 28px;
    flex-direction: column;
    justify-content: space-between;
    background: #fff;
}
.distribution-partners article > div:last-child {
    display: flex;
    gap: 9px;
    align-items: baseline;
}
.distribution-partners article > div:last-child strong {
    color: var(--jam-blue);
    font-size: 40px;
    font-weight: 500;
    letter-spacing: -.05em;
}
.distribution-partners article > div:last-child span {
    color: #607687;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.distribution-partners__logos {
    display: flex;
    gap: 13px;
    align-items: center;
}
.distribution-partners__logos img {
    width: auto;
    max-width: 92px;
    height: 45px;
    object-fit: contain;
}
.distribution-partners__logos img:last-child {
    max-width: 68px;
}
.distribution-partners__logos > span {
    color: #9bb0bc;
    font-size: 18px;
}
.distribution-partners__logos--apl img {
    max-width: 145px !important;
    height: 58px;
}
@media(max-width:980px) {
    .sales-distribution__intro { grid-template-columns: 1fr; gap: 24px; }
    .sales-distribution__intro > p { grid-column: auto; max-width: 650px; }
    .sales-presence { grid-template-columns: 280px minmax(0, 1fr); }
    .distribution-network { grid-template-columns: 1fr; }
}
@media(max-width:700px) {
    .sales-distribution { padding: 82px 0 88px; }
    .sales-distribution__intro { grid-template-columns: 1fr; gap: 20px; }
    .sales-distribution__intro h2 { font-size: clamp(36px, 10vw, 49px); }
    .sales-distribution__intro > p { grid-column: auto; }
    .sales-presence { display: flex; min-height: 0; margin-top: 48px; flex-direction: column-reverse; border-radius: 20px; }
    .sales-presence__details { min-height: 390px; padding: 32px 27px; border-top: 1px solid #d5e5e8; border-right: 0; }
    .sales-presence__map { min-height: 280px; }
    .sales-presence__map img { min-width: 580px; object-position: center; }
    .sales-presence__map figcaption { right: 18px; bottom: 17px; font-size: 9px; }
    .distribution-network { gap: 35px; padding: 35px 25px; border-radius: 20px; }
    .distribution-partners { grid-template-columns: 1fr; }
    .distribution-partners article { min-height: 170px; }
}
@media(max-width:620px){.contact-map__place-card{top:12px;left:12px;width:calc(100% - 24px);padding:15px;border-radius:12px}.contact-map__place-copy strong{font-size:15px}.contact-map__place-copy address{font-size:11px;line-height:1.38}.contact-map__place-actions{flex-direction:column}.contact-map__place-actions a{width:34px;height:34px}}


@media (max-width: 980px) {
    .product-catalogue-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .brochure-card { grid-template-columns: 1fr; }
    .brochure-card__cover { min-height: 270px; }
}
@media (max-width: 740px) {
    .products-masthead { padding: 85px 0 75px; }
    .products-masthead__inner, .catalogue-section__heading, .brochures-section__heading { grid-template-columns: 1fr; gap: 25px; }
    .catalogue-section, .brochures-section { padding: 78px 0; }
    .product-catalogue-grid, .brochure-grid { grid-template-columns: 1fr; }
    .catalogue-card__image { height: min(88vw, 430px); }
}
@media (max-width: 480px) {
    .catalogue-filters { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 5px; }
    .catalogue-filters button { flex: 0 0 auto; }
    .brochure-card__content { padding: 30px 22px; }
    .brochure-card__actions { grid-template-columns: 1fr; }
    .catalogue-card__body h3 { font-size: 25px; line-height: 1.22; }
}

/* Product detail */
.product-detail { padding: 75px 0 120px; background: linear-gradient(135deg, #f4fafb, #ffffff); }
.product-breadcrumb { display: flex; gap: 11px; align-items: center; margin-bottom: 35px; color: #5d7284; font-size: 14px; line-height: 1.4; }
.product-breadcrumb a { color: var(--jam-teal); font-weight: 700; }
.product-detail__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); gap: 75px; align-items: center; }
.product-detail__visual { display: grid; min-height: 610px; place-items: center; overflow: hidden; border: 1px solid #d6e6ea; border-radius: 28px; background: #fff; box-shadow: 0 22px 60px rgba(12, 69, 91, .08); }
.product-detail__visual img { width: 100%; height: 100%; max-height: 700px; object-fit: contain; }
.product-detail__placeholder { color: #8ea1ad; }
.product-detail__content h1 { max-width: 680px; margin: 18px 0 0; color: var(--jam-navy); font-size: clamp(30px, 2.2vw, 38px); font-weight: 600; letter-spacing: -.025em; line-height: 1.14; text-wrap: balance; }
.product-not-found h1 { margin: 20px 0 0; color: var(--jam-navy); font-size: clamp(44px, 5vw, 68px); font-weight: 500; letter-spacing: -.05em; line-height: 1; }
.product-detail__brand { margin: 22px 0 0; color: var(--jam-teal-dark); font-size: 15px; font-weight: 700; letter-spacing: .055em; line-height: 1.45; text-transform: uppercase; }
.product-detail__description { margin-top: 38px; padding-top: 25px; border-top: 1px solid #d5e4e8; }
.product-detail__description h2 { margin: 0 0 13px; color: var(--jam-navy); font-size: 13px; text-transform: uppercase; letter-spacing: .11em; }
.product-detail__description p { margin: 0; color: #627789; font-size: 15px; line-height: 1.85; }
.product-detail__actions { display: flex; gap: 20px; align-items: center; margin-top: 35px; }
.product-detail__button { min-width: 202px; padding: 0 20px 0 24px; justify-content: space-between; gap: 20px; color: #fff; background: var(--jam-teal); white-space: nowrap; box-shadow: 0 12px 25px rgba(47,159,137,.18); }
.product-detail__button span { display: inline-grid; flex: 0 0 24px; width: 24px; height: 24px; place-items: center; border-radius: 50%; background: rgba(255,255,255,.15); font-size: 14px; line-height: 1; }
.product-detail__back { display: inline-flex; min-height: 50px; gap: 8px; align-items: center; padding: 0 8px; color: var(--jam-navy); font-size: 13px; font-weight: 700; white-space: nowrap; }
.product-detail__back span { color: var(--jam-teal); font-size: 16px; }
.product-not-found { min-height: 65vh; padding: 130px 0; background: #f4fafb; }
.product-not-found p:not(.section-kicker) { margin: 25px 0 35px; color: #627789; }
@media (max-width: 900px) { .product-detail__grid { grid-template-columns: 1fr; gap: 45px; } .product-detail__visual { min-height: 480px; } }
@media (max-width: 540px) { .product-detail { padding: 45px 0 80px; } .product-detail__visual { min-height: 350px; border-radius: 20px; } .product-detail__content h1 { font-size: 29px; } .product-detail__actions { align-items: stretch; flex-direction: column; } .product-detail__button { width: 100%; } .product-detail__back { justify-content: center; } }

/* Contact page */
.contact-hero { padding: 120px 0 105px; background: linear-gradient(125deg,#edf9fa,#f8fbfc 58%,#e6f4fa); }
.contact-hero__inner { display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:70px;align-items:end; }
.contact-hero h1 { max-width:850px;margin:20px 0 0;color:var(--jam-navy);font-size:clamp(50px,6vw,84px);font-weight:500;letter-spacing:-.055em;line-height:.98; }
.contact-hero__inner>p { margin:0;color:#607589;font-size:15px;line-height:1.8; }
.contact-section { padding:110px 0 125px;background:#fff; }
.contact-layout { display:grid;grid-template-columns:minmax(0,.9fr) minmax(460px,1.1fr);gap:75px;align-items:start; }
.contact-information>h2,.contact-form-card>h2 { margin:17px 0 40px;color:var(--jam-navy);font-size:clamp(39px,4.3vw,60px);font-weight:500;letter-spacing:-.045em;line-height:1.03; }
.contact-info-grid { display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #d8e6ea;border-left:1px solid #d8e6ea; }
.contact-info-grid article { min-height:225px;padding:27px;border-right:1px solid #d8e6ea;border-bottom:1px solid #d8e6ea; }
.contact-info-grid article>span { color:#f0bd12;font-size:10px;font-weight:700;letter-spacing:.12em; }
.contact-info-grid h3 { margin:25px 0 13px;color:var(--jam-navy);font-size:19px; }
.contact-info-grid p,.contact-info-grid a { display:block;margin:0 0 7px;color:#64798b;font-size:12px;line-height:1.75; }
.contact-info-grid a { color:var(--jam-blue);font-weight:700; }
.contact-form-card { padding:46px;border:1px solid #d4e5e9;border-radius:25px;background:#f6fbfc;box-shadow:0 20px 55px rgba(12,68,90,.08);scroll-margin-top:110px; }
.contact-form-card form>label,.contact-form-grid label { display:flex;flex-direction:column;gap:8px;margin-bottom:20px;color:#506779;font-size:11px;font-weight:700; }
.contact-form-grid { display:grid;grid-template-columns:1fr 1fr;gap:0 18px; }
.contact-form-card input,.contact-form-card select,.contact-form-card textarea { width:100%;padding:13px 14px;border:1px solid #cbdde3;border-radius:9px;outline:none;color:var(--jam-navy);background:#fff;font:inherit; }
.contact-form-card input:focus,.contact-form-card select:focus,.contact-form-card textarea:focus { border-color:var(--jam-teal);box-shadow:0 0 0 3px rgba(47,159,137,.1); }
.contact-submit { width:100%;color:#fff;background:var(--jam-teal); }
.contact-honeypot { position:absolute!important;left:-9999px!important; }
.contact-success,.contact-error { margin-bottom:24px;padding:20px;border-radius:12px;color:#176a56;background:#e1f5ef; }
.contact-success p { margin:7px 0 0;line-height:1.6; }
.contact-error { color:#933846;background:#fae7ea; }
@media(max-width:980px){.contact-layout{grid-template-columns:1fr}.contact-information{max-width:760px}.contact-form-card{max-width:760px}}
@media(max-width:740px){.contact-hero{padding:85px 0 75px}.contact-hero__inner{grid-template-columns:1fr;gap:25px}.contact-section{padding:75px 0}.contact-info-grid{grid-template-columns:1fr}.contact-form-card{padding:30px 24px}.contact-form-grid{grid-template-columns:1fr}}
.contact-map-section { padding: 95px 0 110px; background: #eef7f8; }
.contact-map__header { display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:35px; }
.contact-map__header h2 { margin:15px 0 0;color:var(--jam-navy);font-size:clamp(38px,4vw,58px);font-weight:500;letter-spacing:-.045em;line-height:1.03; }
.contact-map__header>a { padding-bottom:6px;border-bottom:1px solid rgba(47,159,137,.55);color:var(--jam-navy);font-size:12px;font-weight:700; }
.contact-map { height:520px;overflow:hidden;padding:0;border:1px solid #c9dfe4;border-radius:25px;background:#dcebef;box-shadow:0 18px 50px rgba(12,68,90,.09); }
.contact-map iframe { display:block;width:100%;height:100%;border:0;filter:saturate(.85) contrast(.95); }
@media(max-width:740px){.contact-map-section{padding:70px 0 80px}.contact-map__header{align-items:flex-start;flex-direction:column}.contact-map{height:390px;border-radius:18px}}

/* About Us page */
.about-page-hero{padding:120px 0 105px;background:linear-gradient(135deg,#f0f9fa,#fff)}.about-page-hero__grid{display:grid;grid-template-columns:1.25fr .75fr;gap:75px;align-items:end}.about-page-hero h1{max-width:850px;margin:20px 0 0;color:var(--jam-navy);font-size:clamp(52px,6.2vw,88px);font-weight:500;letter-spacing:-.058em;line-height:.96}.about-page-hero__side{padding-left:30px;border-left:2px solid var(--jam-teal)}.about-page-hero__side strong{color:var(--jam-teal);font-size:11px;letter-spacing:.12em;text-transform:uppercase}.about-page-hero__side p{margin:18px 0 0;color:#607589;font-size:14px;line-height:1.8}.about-page-hero__visual{position:relative;height:540px;margin-top:70px;overflow:hidden;border-radius:28px}.about-page-hero__visual>img{width:100%;height:100%;object-fit:cover}.about-page-hero__visual::after{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,48,72,.08),rgba(5,48,72,.65));content:''}.about-page-hero__visual>div{position:absolute;right:7%;bottom:12%;z-index:1;color:#fff}.about-page-hero__visual span{display:block;margin-bottom:15px;color:#f4c817;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.about-page-hero__visual strong{font-size:clamp(29px,3.6vw,50px);font-weight:500;line-height:1.08}.about-purpose{padding:115px 0;background:#fff}.about-purpose__intro{display:grid;grid-template-columns:.45fr 1fr 1fr;gap:50px;align-items:start}.about-purpose__intro h2,.values-page__header h2,.about-history__heading h2,.about-capability h2{margin:0;color:var(--jam-navy);font-size:clamp(40px,4.5vw,64px);font-weight:500;letter-spacing:-.05em;line-height:1}.about-purpose__intro>p:last-child,.values-page__header>p,.about-history__heading>p,.about-capability__grid>div>p{margin:0;color:#65798b;font-size:14px;line-height:1.8}.purpose-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:60px}.purpose-card{display:flex;flex-direction:column;justify-content:flex-start;min-height:360px;padding:48px 45px;border:1px solid #d6e5e9;border-radius:24px;background:#f7fbfc;box-shadow:0 10px 30px rgba(11,37,69,.04);transition:transform .24s ease,box-shadow .24s ease}.purpose-card:hover{transform:translateY(-3px);box-shadow:0 18px 45px rgba(11,37,69,.08)}.purpose-card--vision{color:#fff;border:0;background:linear-gradient(135deg,#176fa7 0%,#208e7b 50%,#2f9f89 100%);box-shadow:0 16px 45px rgba(23,111,167,.22)}.purpose-card__heading,.purpose-card>span{display:block;margin:0 0 22px;font-size:clamp(34px,3.5vw,44px);font-weight:700;letter-spacing:-.03em;line-height:1.15;text-transform:none}.purpose-card--vision .purpose-card__heading,.purpose-card--vision>span{color:#fff}.purpose-card:not(.purpose-card--vision) .purpose-card__heading,.purpose-card:not(.purpose-card--vision)>span{color:var(--jam-navy)}.purpose-card__statement,.purpose-card p{margin:0;font-size:clamp(25px,2.3vw,33px);line-height:1.28;font-weight:500;letter-spacing:-.03em}.purpose-card--vision .purpose-card__statement,.purpose-card--vision p{color:#fff}.purpose-card:not(.purpose-card--vision) .purpose-card__statement,.purpose-card:not(.purpose-card--vision) p{color:var(--jam-navy)}.purpose-card ol{margin:45px 0 0;padding-left:25px}.purpose-card li{padding:12px 0;color:#526a7b;font-size:16px;line-height:1.5}.values-page-section{padding:110px 0;background:#edf7f8}.values-page__header,.about-history__heading{display:grid;grid-template-columns:1.2fr .8fr;gap:65px;align-items:end}.values-page__header h2,.about-history__heading h2{margin-top:16px}.values-page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:55px}.values-page-grid article{display:flex;gap:24px;min-height:185px;padding:30px;border:1px solid #d0e3e7;border-radius:19px;background:#fff}.values-page-grid article>strong{display:grid;flex:0 0 48px;height:48px;place-items:center;border-radius:13px;color:#fff;background:var(--jam-teal);font-size:20px}.values-page-grid h3{margin:4px 0 10px;color:var(--jam-navy);font-size:21px}.values-page-grid p{margin:0;color:#6a7e8e;font-size:12px;line-height:1.65}.about-history{padding:115px 0;background:#fff}.history-timeline{display:grid;grid-template-columns:repeat(3,1fr);margin-top:60px;border-top:1px solid #cfe0e5}.history-timeline article{min-height:180px;padding:28px 28px 28px 0;border-bottom:1px solid #cfe0e5}.history-timeline strong{color:var(--jam-teal);font-size:27px}.history-timeline p{max-width:310px;margin:18px 0 0;color:#5f7486;font-size:13px;line-height:1.7}.about-capability{padding:110px 0;background:linear-gradient(135deg,#e8f6f7,#f7fbfc)}.about-capability__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:center}.about-capability h2{margin:18px 0 28px}.about-capability__grid>div>a{display:inline-flex;margin-top:30px;padding-bottom:7px;border-bottom:1px solid var(--jam-teal);color:var(--jam-navy);font-size:12px;font-weight:700}.about-capability__stats{display:grid;grid-template-columns:1fr 1fr;gap:18px}.about-capability__stats article{display:flex;min-height:190px;padding:30px;border:1px solid #cae0e5;border-radius:20px;flex-direction:column;justify-content:space-between;background:#fff}.about-capability__stats strong{color:var(--jam-blue);font-size:58px;font-weight:500;letter-spacing:-.06em}.about-capability__stats span{color:#607587;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
@media(max-width:900px){.about-page-hero__grid,.about-purpose__intro,.values-page__header,.about-history__heading,.about-capability__grid{grid-template-columns:1fr}.about-page-hero__side{max-width:620px}.values-page-grid{grid-template-columns:1fr 1fr}.history-timeline{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.about-page-hero{padding:85px 0 75px}.about-page-hero__visual{height:450px;margin-top:45px}.about-page-hero__visual>div{right:25px;bottom:35px;left:25px}.about-purpose,.values-page-section,.about-history,.about-capability{padding:78px 0}.purpose-grid,.values-page-grid,.history-timeline,.about-capability__stats{grid-template-columns:1fr}.purpose-card{min-height:320px;padding:32px}.values-page-grid article{min-height:155px}.about-capability__stats article{min-height:150px}}

/* Balanced site-wide typography */
body { font-size: 16px; }
.jam-hero__content h1,
.jam-hero__content h2 { font-size: clamp(40px, 4.5vw, 64px); line-height: 1.03; }
.jam-hero__content > p:not(.jam-hero__eyebrow) { max-width: 760px; font-size: 17px; line-height: 1.65; }
.about-section__intro h2,
.categories-section__header h2,
.capabilities-section__intro h2,
.standards-section__header h2,
.events-section__header h2,
.site-footer__cta h2 { font-size: clamp(38px, 4vw, 56px); line-height: 1.05; }
.about-section__lead,
.about-section__story > p,
.categories-section__header > p,
.capabilities-section__intro > p,
.standards-section__header > p,
.events-section__header > p,
.site-footer__cta-copy p { font-size: 16px; line-height: 1.75; }
.products-masthead h1,
.contact-hero h1,
.about-page-hero h1 { font-size: clamp(44px, 5vw, 68px); line-height: 1; }
.products-masthead__inner > p,
.catalogue-section__heading > p,
.brochures-section__heading > p,
.contact-hero__inner > p,
.about-page-hero__side p { font-size: 16px; line-height: 1.75; }
.catalogue-section__heading h2,
.brochures-section__heading h2,
.contact-information > h2,
.contact-form-card > h2,
.contact-map__header h2,
.about-purpose__intro h2,
.values-page__header h2,
.about-history__heading h2,
.about-capability h2 { font-size: clamp(36px, 3.6vw, 52px); line-height: 1.06; }
.about-purpose__intro > p:last-child,
.values-page__header > p,
.about-history__heading > p,
.about-capability__grid > div > p { font-size: 16px; line-height: 1.75; }
.purpose-card h3,
.purpose-card__heading { font-size: clamp(34px, 3.5vw, 44px); line-height: 1.15; font-weight: 700; letter-spacing: -0.03em; }
.purpose-card__statement,
.purpose-card p { font-size: clamp(25px, 2.3vw, 33px); line-height: 1.28; font-weight: 500; letter-spacing: -0.03em; }
.values-page-grid p,
.history-timeline p,
.contact-info-grid p,
.contact-info-grid a { font-size: 14px; line-height: 1.7; }
.catalogue-card__body > span,
.brochure-card__content > span { font-size: 15px; line-height: 1.7; }
.product-detail__description p { font-size: 17px; line-height: 1.75; }
.featured-event__content > p { font-size: 16px; line-height: 1.75; }

@media (max-width: 560px) {
    .jam-hero__content h1,
    .jam-hero__content h2 { font-size: clamp(36px, 10vw, 48px); }
    .jam-hero__content > p:not(.jam-hero__eyebrow),
    .about-section__lead,
    .about-section__story > p,
    .products-masthead__inner > p,
    .contact-hero__inner > p,
    .about-page-hero__side p { font-size: 15px; }
    .products-masthead h1,
    .contact-hero h1,
    .about-page-hero h1 { font-size: clamp(40px, 12vw, 54px); }
    .purpose-card h3,
    .purpose-card__heading { font-size: clamp(28px, 6vw, 34px); }
    .purpose-card__statement,
    .purpose-card p { font-size: clamp(20px, 4.8vw, 24px); line-height: 1.34; }
}


