/* =========================================
   GPM PRODUCT DROPDOWN – GLASS STYLE
   Joomla MetisMenu
   ========================================= */

/* Dropdown-Box */
.container-header .metismenu.mod-menu .mm-collapse {
    background: rgba(255, 255, 255, 0.025) !important;

    -webkit-backdrop-filter: blur(5px) saturate(115%) !important;
    backdrop-filter: blur(5px) saturate(115%) !important;

    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    border-radius: 4px !important;

    padding: 8px !important;
    min-width: 285px !important;

    box-shadow:
        0 12px 30px rgba(18, 38, 55, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.14) !important;
}


/* =========================================
   DROPDOWN-EINTRÄGE
   ========================================= */

.container-header .metismenu.mod-menu
.mm-collapse > .metismenu-item {
    background: transparent !important;
}


.container-header .metismenu.mod-menu
.mm-collapse > .metismenu-item > a {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;

    padding: 12px 15px !important;

    background: transparent !important;
    border-radius: 2px !important;

    color: #263746 !important;

    font-size: 0.91rem !important;
    font-weight: 400 !important;
    letter-spacing: 0.01em !important;
    line-height: 1.35 !important;

    text-decoration: none !important;

    transition:
        background-color 0.18s ease,
        color 0.18s ease,
        padding-left 0.18s ease !important;
}


/* =========================================
   HOVER – GANZE ZEILE
   ========================================= */

.container-header .metismenu.mod-menu
.mm-collapse > .metismenu-item:hover > a,

.container-header .metismenu.mod-menu
.mm-collapse > .metismenu-item > a:hover,

.container-header .metismenu.mod-menu
.mm-collapse > .metismenu-item > a:focus {
    background: rgba(255, 255, 255, 0.72) !important;

    color: #111111 !important;

    padding-left: 19px !important;

    text-decoration: none !important;
}


/* =========================================
   JOOMLA-UNTERSTREICHUNG ENTFERNEN
   ========================================= */

.container-header .metismenu.mod-menu .mm-collapse a,
.container-header .metismenu.mod-menu .mm-collapse a:hover,
.container-header .metismenu.mod-menu .mm-collapse a:focus {
    text-decoration: none !important;
}

.container-header .metismenu.mod-menu .mm-collapse a::before,
.container-header .metismenu.mod-menu .mm-collapse a::after {
    display: none !important;
    content: none !important;
}

/* =========================================
   GPM DESKTOP MENU – OPEN ON HOVER
   ========================================= */

@media (min-width: 992px) {

    /* Dropdown standardmäßig geschlossen */
    .container-header .mod-menu > li > .mod-menu__sub {
        display: block !important;
        visibility: hidden !important;
        opacity: 0 !important;
        transform: translateY(6px) !important;
        pointer-events: none !important;

        transition:
            opacity 0.18s ease,
            transform 0.18s ease,
            visibility 0.18s ease !important;
    }

    /* Dropdown beim Hover öffnen */
    .container-header .mod-menu > li:hover > .mod-menu__sub,
    .container-header .mod-menu > li:focus-within > .mod-menu__sub {
        visibility: visible !important;
        opacity: 1 !important;
        transform: translateY(0) !important;
        pointer-events: auto !important;
    }
}


/* ==================================================
   GPM PREMIUM HEADER – DESKTOP
   Stabiler Logo-Bereich + responsive Navigation
   ================================================== */

@media (min-width: 992px) {

    /* Gesamter Header */
    .container-header {
        display: grid !important;

        /* Logo | flexibler Menübereich | Sprache */
        grid-template-columns: 150px minmax(0, 1fr) auto !important;
        grid-template-rows: 92px !important;

        align-items: center !important;

        width: 100% !important;
        min-height: 92px !important;

        padding: 0 32px !important;

        box-sizing: border-box !important;
    }


    /* ==================================================
       BRANDING / LOGO
       ================================================== */

    .container-header .grid-child:first-child {
        grid-column: 1 !important;
        grid-row: 1 !important;

        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;

        width: 150px !important;
        min-width: 150px !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    .container-header .navbar-brand,
    .container-header .brand-logo {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;

        width: auto !important;
        height: 82px !important;

        margin: 0 !important;
        padding: 0 !important;

        line-height: 0 !important;
        overflow: visible !important;
    }

    /* Eigentliches GPM-Logo */
    .container-header .navbar-brand img,
    .container-header .brand-logo img {
        display: block !important;

        width: auto !important;
        height: 145px !important;

        max-width: none !important;
        max-height: none !important;

        object-fit: contain !important;
        object-position: left center !important;

        transform: translateY(65px);
    }


    /* ==================================================
       NAVIGATION
       ================================================== */

    .container-header .container-nav {
        grid-column: 2 !important;
        grid-row: 1 !important;

        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;

        width: 100% !important;
        min-width: 0 !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 0 18px 0 25px !important;

        box-sizing: border-box !important;
    }

    .container-header .container-nav .mod-menu {
        display: flex !important;
        align-items: center !important;
        flex-wrap: nowrap !important;

        width: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        /* Passt sich sanft an die Fensterbreite an */
        gap: clamp(18px, 2.2vw, 38px) !important;

        white-space: nowrap !important;
    }

    .container-header .container-nav .mod-menu > li {
        flex: 0 0 auto !important;

        margin: 0 !important;
        padding: 0 !important;
    }


/* ==================================================
   RECHTER BEREICH / SPRACHWAHL
   Optisch näher an der Navigation
   ================================================== */

.container-header .container-search {
    grid-column: 3 !important;
    grid-row: 1 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;

    min-width: max-content !important;

    align-self: center !important;

    margin: 0 !important;
    padding: 0 !important;

    
}
/* Sprachauswahl gezielt nach links */
.container-header .mod-languages {
    position: relative !important;
    left: 30px !important;
}
  
/* Ende GPM PREMIUM HEADER – DESKTOP */
}


/* ==================================================
   SCHMALER DESKTOP
   Navigation etwas kompakter
   ================================================== */

@media (min-width: 992px) and (max-width: 1150px) {

    .container-header .container-nav {
        padding-left: 18px !important;
        padding-right: 12px !important;
    }

    .container-header .container-nav .mod-menu {
        gap: 16px !important;
    }

    .container-header .container-nav .mod-menu > li > a,
    .container-header .container-nav .mod-menu > li > button {
        font-size: 0.94rem !important;
    }
}


/* ==================================================
   GPM HEADER – MOBILE / TABLET
   ================================================== */

@media (max-width: 991.98px) {

    .container-header .navbar-brand,
    .container-header .brand-logo {
        height: 58px !important;
    }

    .container-header .navbar-brand img,
    .container-header .brand-logo img {
        width: auto !important;
        height: 58px !important;

        max-width: none !important;
        max-height: none !important;

        object-fit: contain !important;

        transform: none !important;
    }
}


/* ==================================================
   GPM HOME – FINAL HERO
   English Home / Item ID 102
   ================================================== */

/* Joomla-Standardabstände auf der Homepage entfernen */
body.itemid-102 .site-grid {
    display: block !important;
}

body.itemid-102 main,
body.itemid-102 .com-content-article,
body.itemid-102 .com-content-article__body {
    margin: 0 !important;
    padding: 0 !important;
    max-width: none !important;
}


/* ==================================================
   TRANSPARENT HEADER OVER HERO
   ================================================== */

body.itemid-102 .container-header {
    position: absolute !important;
    top: 0;
    left: 0;
    right: 0;

    width: 100%;
    z-index: 1000;

    background: transparent !important;
    box-shadow: none !important;
}

/* Navigation auf dem hellen Hero gut lesbar */
body.itemid-102 .container-header .mod-menu > li > a,
body.itemid-102 .container-header .mod-menu > li > button {
    color: #17212b !important;
}


/* ==================================================
   HERO
   ================================================== */

body.itemid-102 .gpm-hero {
    position: relative;

    width: 100vw;
    min-height: 100vh;

    margin-left: calc(50% - 50vw);

    display: flex;
    align-items: center;

    background-image:
        linear-gradient(
            90deg,
            rgba(255,255,255,0.20) 0%,
            rgba(255,255,255,0.04) 42%,
            rgba(255,255,255,0) 65%
        ),
        url("/images/hero/Gpm-hero-home.jpeg");

    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;

    overflow: hidden;
}


/* ==================================================
   HERO TEXT
   ================================================== */

body.itemid-102 .gpm-hero-content {
    position: relative;
    z-index: 2;

    width: min(610px, 44vw);

    margin-left: 4vw;
    padding-top: 80px;
}

body.itemid-102 .gpm-hero-eyebrow {
    margin-bottom: 28px;

    font-size: 0.82rem;
    font-weight: 500;
    letter-spacing: 0.22em;
    text-transform: uppercase;

    color: #263746;
}

body.itemid-102 .gpm-hero h1 {
    margin: 0 0 28px;

    font-size: clamp(2.4rem, 4vw, 4.8rem);
    line-height: 1.02;
    font-weight: 300;
    letter-spacing: -0.035em;

    color: #101b26;
}

body.itemid-102 .gpm-hero p {
    max-width: 530px;

    margin: 0 0 34px;

    font-size: 1.05rem;
    line-height: 1.75;
    font-weight: 400;

    color: #293946;
}


/* ==================================================
   HERO BUTTONS
   ================================================== */

body.itemid-102 .gpm-hero-actions {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

body.itemid-102 .gpm-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 48px;
    padding: 0 24px;

    border: 1px solid #145f91;

    font-size: 0.82rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;

    text-decoration: none !important;

    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease;
}

body.itemid-102 .gpm-btn-primary {
    background: #145f91;
    color: #ffffff !important;
}

body.itemid-102 .gpm-btn-primary:hover {
    background: #0f4d76;
    border-color: #0f4d76;
    color: #ffffff !important;
    transform: translateY(-1px);
}

body.itemid-102 .gpm-btn-secondary {
    background: rgba(255,255,255,0.28);
    color: #145f91 !important;
}

body.itemid-102 .gpm-btn-secondary:hover {
    background: #ffffff;
    color: #0f4d76 !important;
    transform: translateY(-1px);
}


/* ==================================================
   MOBILE / TABLET
   ================================================== */

@media (max-width: 991.98px) {

    body.itemid-102 .container-header {
        position: relative !important;
    }

    body.itemid-102 .gpm-hero {
        min-height: 78vh;

        background-position: 62% center;
        align-items: flex-end;
    }

    body.itemid-102 .gpm-hero-content {
        width: 100%;

        margin: 0;
        padding: 60px 7vw 55px;

        background:
            linear-gradient(
                0deg,
                rgba(255,255,255,0.96) 0%,
                rgba(255,255,255,0.82) 55%,
                rgba(255,255,255,0) 100%
            );
    }

    body.itemid-102 .gpm-hero h1 {
        font-size: clamp(2rem, 8vw, 3.4rem);
    }
}


/* ==================================================
   GPM HERO – DESKTOP FINE TUNING
   ================================================== */

@media (min-width: 992px) {

    /* Hero-Text kompakter und weiter links */
    body.itemid-102 .gpm-hero-content {
    width: 500px !important;
    max-width: 38vw !important;

    margin-left: 32px !important;
    padding-top: 70px !important;
}

 /* Kleine Schweizer Herkunftszeile */
body.itemid-102 .gpm-hero-eyebrow {
    margin-bottom: 24px !important;

    font-size: 0.72rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.24em !important;

    color: #263746 !important;

    display: flex;
    align-items: center;
    gap: 10px;
}

/* Schweizer Flagge direkt per CSS erzeugen */
body.itemid-102 .gpm-hero-eyebrow::before {
    content: "✚";

    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 20px;
    height: 20px;
    flex: 0 0 20px;

    background: #da291c;
    color: #ffffff;

    font-size: 15px;
    font-weight: 700;
    line-height: 1;

    letter-spacing: 0;

    border-radius: 1px;

    box-shadow:
        0 1px 3px rgba(0, 0, 0, 0.12);
}

/* Hauptüberschrift */

    /* Hauptüberschrift */
    body.itemid-102 .gpm-hero h1 {
        max-width: 500px !important;

        margin-bottom: 24px !important;

        font-size: clamp(2.4rem, 3.15vw, 3.8rem) !important;
        line-height: 1.04 !important;
        font-weight: 300 !important;
        letter-spacing: -0.035em !important;

        color: #24323e !important;
    }

/* Beschreibung – klarer und besser lesbar */
body.itemid-102 .gpm-hero p {
    max-width: 600px !important;

    margin-bottom: 28px !important;

    font-size: 0.96rem !important;
    line-height: 1.6 !important;
    font-weight: 500 !important;

    color: #1d303d !important;

    text-shadow:
        0 1px 2px rgba(255, 255, 255, 0.90),
        0 2px 5px rgba(255, 255, 255, 0.55) !important;
}

body.itemid-102 .gpm-hero-description {
    width: 600px !important;
    max-width: 600px !important;
}

/* Buttons etwas feiner */
body.itemid-102 .gpm-btn {
    min-height: 45px !important;
    padding: 0 21px !important;

    font-size: 0.72rem !important;
    letter-spacing: 0.08em !important;
}

/* Ende DESKTOP FINE TUNING */
}
/* ==================================================
   GPM PRODUCT CATEGORIES – HOMEPAGE
   ================================================== */

body.itemid-102 .gpm-products {
    position: relative;
    background: #f7f8f9;
    padding: 90px 5vw 105px;
}

body.itemid-102 .gpm-products-inner {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
}


/* ---------- Section Heading ---------- */

body.itemid-102 .gpm-products-heading {
    max-width: 680px;
    margin-bottom: 55px;
}

body.itemid-102 .gpm-section-eyebrow {
    margin-bottom: 14px;

    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.22em;

    color: #526777;
}

body.itemid-102 .gpm-products-heading h2 {
    margin: 0 0 18px;

    font-size: clamp(2rem, 3vw, 3rem);
    line-height: 1.08;
    font-weight: 300;
    letter-spacing: -0.025em;

    color: #233746;
}

body.itemid-102 .gpm-products-heading p {
    max-width: 590px;
    margin: 0;

    font-size: 1rem;
    line-height: 1.7;
    font-weight: 400;

    color: #586875;
}


/* ---------- Product Grid ---------- */

body.itemid-102 .gpm-product-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}


/* ---------- Product Card ---------- */

body.itemid-102 .gpm-product-card {
    display: block;

    background: #ffffff;

    border: 1px solid rgba(32, 61, 81, 0.10);
    border-radius: 3px;

    overflow: hidden;

    color: #233746;
    text-decoration: none !important;

    box-shadow: 0 4px 18px rgba(25, 48, 65, 0.04);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}

body.itemid-102 .gpm-product-card:hover {
    transform: translateY(-4px);

    border-color: rgba(32, 91, 128, 0.18);

    box-shadow:
        0 14px 35px rgba(25, 48, 65, 0.10);
}


/* ---------- Image Area ---------- */

body.itemid-102 .gpm-product-image {
    width: 100% !important;
    height: 165px !important;
    aspect-ratio: auto !important;

    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;

    border-bottom: 1px solid rgba(32, 61, 81, 0.08) !important;
}

/* ---------- Card Text ---------- */

body.itemid-102 .gpm-product-info {
    padding: 22px 24px 24px;
}

body.itemid-102 .gpm-product-info h3 {
    margin: 0 0 13px;

    font-size: 1.08rem;
    line-height: 1.35;
    font-weight: 500;

    color: #243746;
}

body.itemid-102 .gpm-product-info span {
    display: inline-block;

    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;

    color: #315f7d;

    transition: transform 0.2s ease;
}

body.itemid-102 .gpm-product-card:hover .gpm-product-info span {
    transform: translateX(4px);
}


/* ---------- Tablet ---------- */

@media (max-width: 991.98px) {

    body.itemid-102 .gpm-products {
        padding: 70px 5vw 80px;
    }

    body.itemid-102 .gpm-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px;
    }
}


/* ---------- Mobile ---------- */

@media (max-width: 600px) {

    body.itemid-102 .gpm-products {
        padding: 55px 22px 65px;
    }

    body.itemid-102 .gpm-products-heading {
        margin-bottom: 35px;
    }

    body.itemid-102 .gpm-products-heading h2 {
        font-size: 2rem;
    }

    body.itemid-102 .gpm-product-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    body.itemid-102 .gpm-product-info {
        padding: 19px 20px 21px;
    }
}
 /* ==================================================
   GPM TRUST / USP STRIP
   ================================================== */

body.itemid-102 .gpm-trust-strip {
    position: relative;
    width: 100%;
    background: rgba(255, 255, 255, 0.94);
    border-top: 1px solid rgba(32, 72, 105, 0.08);
    border-bottom: 1px solid rgba(32, 72, 105, 0.08);

    padding: 26px 4vw !important;
    margin: 0 !important;
}

body.itemid-102 .gpm-trust-inner {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: repeat(4, 1fr);
    align-items: center;
}

body.itemid-102 .gpm-trust-item {
    display: grid;
    grid-template-columns: 48px 1fr;
    column-gap: 16px;
    align-items: center;

    min-height: 82px;
    padding: 0 24px;

    border-right: 1px solid rgba(32, 72, 105, 0.14);
}

body.itemid-102 .gpm-trust-item:first-child {
    padding-left: 0;
}

body.itemid-102 .gpm-trust-item:last-child {
    border-right: 0;
    padding-right: 0;
}


/* ICON AREA */

body.itemid-102 .gpm-trust-icon {
    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #1f5f8b;
    opacity: 0.85;
}


/* TEXT */

body.itemid-102 .gpm-trust-text h3 {
    margin: 0 0 7px 0 !important;

    font-size: 0.76rem !important;
    line-height: 1.2;
    font-weight: 600 !important;

    letter-spacing: 0.10em;
    text-transform: uppercase;

    color: #243746 !important;
}

body.itemid-102 .gpm-trust-text p {
    margin: 0 !important;

    font-size: 0.76rem !important;
    line-height: 1.55;

    font-weight: 400;
    color: #4d5d69 !important;
}


/* TABLET */

@media (max-width: 1100px) {

    body.itemid-102 .gpm-trust-item {
        grid-template-columns: 40px 1fr;
        column-gap: 12px;
        padding: 0 16px;
    }

    body.itemid-102 .gpm-trust-text p {
        font-size: 0.72rem !important;
    }
}


/* MOBILE */

@media (max-width: 767.98px) {

    body.itemid-102 .gpm-trust-strip {
        padding: 22px 6vw !important;
    }

    body.itemid-102 .gpm-trust-inner {
        grid-template-columns: 1fr;
    }

    body.itemid-102 .gpm-trust-item {
        grid-template-columns: 46px 1fr;

        padding: 18px 0;
        min-height: 0;

        border-right: 0;
        border-bottom: 1px solid rgba(32, 72, 105, 0.12);
    }

    body.itemid-102 .gpm-trust-item:last-child {
        border-bottom: 0;
    }
}
 /* ==================================================
   GPM TRUST – FINAL SVG ICONS
   ================================================== */

body.itemid-102 .gpm-trust-icon svg {
    display: block;

    width: 42px;
    height: 42px;

    color: #155b8a;

    overflow: visible;
}

body.itemid-102 .gpm-trust-icon {
    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    flex-shrink: 0;
} 
/* ==================================================
   GPM TRUST STRIP – INLINE SVG ICON FIX
   ================================================== */

body.itemid-102 .gpm-trust-icon {
    width: 48px !important;
    height: 48px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    flex: 0 0 48px !important;

    color: #174f78 !important;
}

body.itemid-102 .gpm-trust-icon svg {
    display: block !important;

    width: 42px !important;
    height: 42px !important;

    max-width: none !important;
    max-height: none !important;

    overflow: visible !important;

    color: #174f78 !important;
} 
/* ==================================================
   GPM HERO – BACKGROUND RESTORE
   ================================================== */

body.itemid-102 .gpm-hero {
    position: relative;

    width: 100vw;
    min-height: 100vh;

    margin-left: calc(50% - 50vw);

    display: flex;
    align-items: center;

    background-image:
        linear-gradient(
            90deg,
            rgba(255,255,255,0.20) 0%,
            rgba(255,255,255,0.04) 42%,
            rgba(255,255,255,0) 65%
        ),
       url("/images/hero/Gpm-hero-home.jpeg") !important;

    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;

    overflow: hidden;
}  
/* =========================================
GPM TRUST STRIP – REAL PNG ICONS
Larger icons + clean spacing
========================================= */

body.itemid-102 .gpm-trust-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 106px !important;
    height: 96px !important;
    flex: 0 0 106px !important;

    margin: 0 20px 0 0 !important;
    padding: 0 !important;
}

/* PNG ICON */
body.itemid-102 .gpm-trust-icon img {
    display: block !important;

    width: 96px !important;
    height: 96px !important;

    max-width: 96px !important;
    max-height: 96px !important;

    object-fit: contain !important;
    object-position: center center !important;

    margin: 0 !important;
    padding: 0 !important;
}

/* Text sauber neben dem Icon */
body.itemid-102 .gpm-trust-text {
    min-width: 0 !important;
    padding: 0 !important;
}
  /* ==================================================
   GPM TRUST STRIP – FINAL ALIGNMENT
   ================================================== */

body.itemid-102 .gpm-trust-strip {
    width: 100%;
    background: rgba(255, 255, 255, 0.96);

    border-top: 1px solid rgba(32, 72, 105, 0.08);
    border-bottom: 1px solid rgba(32, 72, 105, 0.08);

    padding: 24px 3.5vw !important;
    margin: 0 !important;
}

body.itemid-102 .gpm-trust-inner {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;

    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: stretch !important;
}


/* Einzelne Spalte */

body.itemid-102 .gpm-trust-item {
    display: grid !important;
    grid-template-columns: 96px minmax(0, 1fr) !important;
    column-gap: 20px !important;

    align-items: center !important;

    min-height: 105px !important;

    padding: 0 26px !important;
    margin: 0 !important;

    position: relative;
}


/* Erste / letzte Spalte sauber halten */

body.itemid-102 .gpm-trust-item:first-child {
    padding-left: 0 !important;
}

body.itemid-102 .gpm-trust-item:last-child {
    padding-right: 0 !important;
}


/* Trennlinien */

body.itemid-102 .gpm-trust-item:not(:last-child)::after {
    content: "";

    position: absolute;
    right: 0;
    top: 8px;
    bottom: 8px;

    width: 1px;

    background: rgba(32, 72, 105, 0.13);
}


/* Icon-Bereich */

body.itemid-102 .gpm-trust-icon {
    width: 96px !important;
    height: 96px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* Icon selbst */

body.itemid-102 .gpm-trust-icon img {
    display: block !important;

    width: 88px !important;
    height: 88px !important;

    max-width: 88px !important;
    max-height: 88px !important;

    object-fit: contain !important;
    object-position: center center !important;

    margin: 0 !important;
}


/* Text */

body.itemid-102 .gpm-trust-text {
    min-width: 0 !important;

    padding: 0 !important;
    margin: 0 !important;

    align-self: center !important;
}

body.itemid-102 .gpm-trust-text h3 {
    margin: 0 0 7px 0 !important;

    font-size: 0.75rem !important;
    line-height: 1.25 !important;

    font-weight: 600 !important;
    letter-spacing: 0.09em !important;
    text-transform: uppercase !important;

    color: #243746 !important;
}

body.itemid-102 .gpm-trust-text p {
    margin: 0 !important;

    font-size: 0.75rem !important;
    line-height: 1.5 !important;

    color: #4d5d69 !important;
}


/* ==================================================
   TABLET
   ================================================== */

@media (max-width: 1100px) {

    body.itemid-102 .gpm-trust-inner {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.itemid-102 .gpm-trust-item {
        grid-template-columns: 90px minmax(0, 1fr) !important;

        padding: 20px 24px !important;
    }

    body.itemid-102 .gpm-trust-item::after {
        display: none !important;
    }

    body.itemid-102 .gpm-trust-item:nth-child(odd) {
        border-right: 1px solid rgba(32, 72, 105, 0.12);
    }

    body.itemid-102 .gpm-trust-item:nth-child(-n+2) {
        border-bottom: 1px solid rgba(32, 72, 105, 0.12);
    }
}


/* ==================================================
   MOBILE
   ================================================== */

@media (max-width: 700px) {

    body.itemid-102 .gpm-trust-inner {
        grid-template-columns: 1fr !important;
    }

    body.itemid-102 .gpm-trust-item {
        grid-template-columns: 86px minmax(0, 1fr) !important;

        padding: 18px 0 !important;

        border-right: 0 !important;
        border-bottom: 1px solid rgba(32, 72, 105, 0.10);
    }

    body.itemid-102 .gpm-trust-item:last-child {
        border-bottom: 0;
    }
}
/* ==================================================
   GPM APPLICATIONS – FINAL RESTORED VERSION
   ================================================== */

body.itemid-102 .gpm-applications {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 90px 4vw 100px;

    background: #f3f6f8;

    box-sizing: border-box;
}

body.itemid-102 .gpm-applications-inner {
    width: 100%;
    max-width: 1240px;

    margin: 0 auto;
    padding: 0;

    box-sizing: border-box;
}


/* ---------- Heading ---------- */

body.itemid-102 .gpm-applications-heading {
    width: 100%;
    max-width: 700px;

    margin: 0 0 48px;
}

body.itemid-102 .gpm-applications-heading .gpm-section-eyebrow {
    margin-bottom: 14px;

    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.22em;

    color: #526777;
}

body.itemid-102 .gpm-applications-heading h2 {
    margin: 0 0 18px;

    font-size: clamp(2rem, 3vw, 3rem);
    line-height: 1.08;
    font-weight: 300;
    letter-spacing: -0.025em;

    color: #233746;
}

body.itemid-102 .gpm-applications-heading p {
    max-width: 620px;
    margin: 0;

    font-size: 1rem;
    line-height: 1.7;
    font-weight: 400;

    color: #586875;
}


/* ==================================================
   GRID
   ================================================== */

body.itemid-102 .gpm-application-grid {
    display: grid !important;

    width: 100% !important;
    max-width: 100% !important;

    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;

    gap: 22px !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
}


/* ==================================================
   CARDS
   ================================================== */

body.itemid-102 .gpm-application-card {
    position: relative;

    display: flex;
    align-items: flex-end;

    width: 100% !important;
    min-width: 0 !important;

    height: 340px;
    min-height: 340px;

    margin: 0;
    padding: 0;

    overflow: hidden;

    border: 1px solid rgba(31, 66, 91, 0.10);
    border-radius: 3px;

    background: #5e7d9e;

    color: #ffffff;
    text-decoration: none !important;

    box-shadow:
        0 8px 24px rgba(20, 45, 65, 0.08);

    box-sizing: border-box;

    transform: translateY(0);

    transition:
        transform 0.30s ease,
        box-shadow 0.30s ease,
        border-color 0.30s ease;
}

body.itemid-102 .gpm-application-card:hover {
    transform: translateY(-5px);

    border-color: rgba(22, 91, 136, 0.30);

    box-shadow:
        0 18px 42px rgba(20, 45, 65, 0.18);
}


/* ==================================================
   IMAGES
   ================================================== */

body.itemid-102 .gpm-application-image {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;

    transform: scale(1);
    transition: transform 0.50s ease;
}

body.itemid-102 .gpm-application-card:hover .gpm-application-image {
    transform: scale(1.05);
}

body.itemid-102 .gpm-app-anthropology {
    background-image:
        url("/images/gpm/applications/anthropology.png") !important;
}

body.itemid-102 .gpm-app-archaeology {
    background-image:
        url("/images/gpm/applications/archaeology.png") !important;
}

body.itemid-102 .gpm-app-paleontology {
    background-image:
        url("/images/gpm/applications/paleontology.png") !important;
}

body.itemid-102 .gpm-app-zoology {
    background-image:
        url("/images/gpm/applications/zoology.png") !important;
}

body.itemid-102 .gpm-app-somatology {
    background-image:
        url("/images/gpm/applications/somatology.png") !important;
}

body.itemid-102 .gpm-app-osteology {
    background-image:
        url("/images/gpm/applications/osteology.png") !important;
}


/* ==================================================
   OVERLAY
   ================================================== */

body.itemid-102 .gpm-application-card::after {
    content: "";

    position: absolute;
    inset: 0;

    z-index: 1;

    background:
        linear-gradient(
            180deg,
            rgba(18, 39, 57, 0.04) 0%,
            rgba(18, 39, 57, 0.14) 38%,
            rgba(18, 39, 57, 0.88) 100%
        );

    pointer-events: none;
}


/* ==================================================
   CONTENT
   ================================================== */

body.itemid-102 .gpm-application-content {
    position: relative;
    z-index: 2;

    width: 100%;

    padding: 28px 28px 30px;

    box-sizing: border-box;

    color: #ffffff;
}

body.itemid-102 .gpm-application-number {
    display: none !important;
}

body.itemid-102 .gpm-application-content h3 {
    margin: 0 0 11px;

    font-size: 1.35rem;
    line-height: 1.2;
    font-weight: 500;

    color: #ffffff;
}

body.itemid-102 .gpm-application-content p {
    max-width: 330px;

    margin: 0 0 20px;

    font-size: 0.88rem;
    line-height: 1.6;
    font-weight: 400;

    color: rgba(255,255,255,0.84);
}

body.itemid-102 .gpm-application-link {
    display: inline-block;

    font-size: 0.74rem;
    font-weight: 600;

    letter-spacing: 0.08em;
    text-transform: uppercase;

    color: #ffffff;
}


/* ==================================================
   SCROLL
   ================================================== */

html {
    scroll-behavior: smooth;
}

body.itemid-102 #applications {
    scroll-margin-top: 0;
}


/* ==================================================
   TABLET
   ================================================== */

@media (max-width: 991.98px) {

    body.itemid-102 .gpm-applications {
        padding: 70px 5vw 80px;
    }

    body.itemid-102 .gpm-application-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
    }

    body.itemid-102 .gpm-application-card {
        height: 320px;
        min-height: 320px;
    }
}


/* ==================================================
   MOBILE
   ================================================== */

@media (max-width: 650px) {

    body.itemid-102 .gpm-applications {
        padding: 55px 22px 65px;
    }

    body.itemid-102 .gpm-applications-heading {
        margin-bottom: 34px;
    }

    body.itemid-102 .gpm-application-grid {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }

    body.itemid-102 .gpm-application-card {
        height: 300px;
        min-height: 300px;
    }

    body.itemid-102 .gpm-application-content {
        padding: 24px;
    }
}

/* =========================================
GPM SWISS PRECISION – IMAGE
========================================= */

body.itemid-102 .gpm-precision-image {
    width: 100% !important;
    min-height: 520px !important;
    height: 520px !important;

    background-image:
        linear-gradient(
            rgba(20, 43, 64, 0.08),
            rgba(20, 43, 64, 0.08)
        ),
        url('/images/gpm/precision/swiss-precision.png') !important;

    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;

    border: 1px solid rgba(32, 72, 105, 0.08) !important;

    box-shadow:
        0 16px 40px rgba(20, 45, 65, 0.08) !important;

    overflow: hidden !important;
}

/* ---------- Content ---------- */

body.itemid-102 .gpm-precision-content {
    max-width: 520px;
}

body.itemid-102 .gpm-precision-content .gpm-section-eyebrow {
    margin-bottom: 18px;

    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.22em;

    color: #526777;
}

body.itemid-102 .gpm-precision-content h2 {
    margin: 0 0 24px;

    font-size: clamp(2.3rem, 4vw, 4rem);
    line-height: 1.02;

    font-weight: 300;
    letter-spacing: -0.03em;

    color: #233746;
}

body.itemid-102 .gpm-precision-intro {
    margin: 0 0 36px;

    font-size: 1rem;
    line-height: 1.75;

    color: #52616d;
}


/* ---------- Facts ---------- */

body.itemid-102 .gpm-precision-facts {
    display: grid;
    grid-template-columns: 1fr;

    margin-bottom: 34px;

    border-top: 1px solid rgba(32, 72, 105, 0.13);
}

body.itemid-102 .gpm-precision-fact {
    display: grid;
    grid-template-columns: 145px 1fr;

    align-items: center;

    padding: 17px 0;

    border-bottom: 1px solid rgba(32, 72, 105, 0.13);
}

body.itemid-102 .gpm-precision-fact strong {
    font-size: 0.79rem;
    font-weight: 600;

    letter-spacing: 0.07em;
    text-transform: uppercase;

    color: #263746;
}

body.itemid-102 .gpm-precision-fact span {
    font-size: 0.9rem;
    line-height: 1.5;

    color: #65737d;
}


/* ---------- Link ---------- */

body.itemid-102 .gpm-precision-link {
    display: inline-block;

    text-decoration: none !important;

    font-size: 0.78rem;
    font-weight: 600;

    letter-spacing: 0.08em;
    text-transform: uppercase;

    color: #155b8a !important;

    transition:
        transform 0.2s ease,
        opacity 0.2s ease;
}

body.itemid-102 .gpm-precision-link:hover {
    transform: translateX(4px);
    opacity: 0.78;
}


/* ---------- Tablet ---------- */

@media (max-width: 991.98px) {

    body.itemid-102 .gpm-precision {
        padding: 75px 5vw;
    }

    body.itemid-102 .gpm-precision-inner {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    body.itemid-102 .gpm-precision-image {
        min-height: 400px;
    }

    body.itemid-102 .gpm-precision-content {
        max-width: 680px;
    }
}


/* ---------- Mobile ---------- */

@media (max-width: 650px) {

    body.itemid-102 .gpm-precision {
        padding: 60px 22px;
    }

    body.itemid-102 .gpm-precision-image {
        min-height: 280px;
    }

    body.itemid-102 .gpm-precision-fact {
        grid-template-columns: 1fr;
        gap: 5px;

        padding: 15px 0;
    }
}
/* ==================================================
   GPM FINAL CTA
   ================================================== */

body.itemid-102 .gpm-final-cta {
    width: 100%;
    padding: 86px 4vw;

    background:
        linear-gradient(
            135deg,
            #173d59 0%,
            #0f2f47 100%
        );
}

body.itemid-102 .gpm-final-cta-inner {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: 1fr auto;
    gap: 60px;

    align-items: center;
}


/* ---------- Content ---------- */

body.itemid-102 .gpm-final-cta-content {
    max-width: 700px;
}

body.itemid-102 .gpm-final-cta .gpm-section-eyebrow {
    margin-bottom: 16px;

    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.22em;

    color: rgba(255, 255, 255, 0.66);
}

body.itemid-102 .gpm-final-cta h2 {
    margin: 0 0 20px;

    font-size: clamp(2.2rem, 3.4vw, 3.8rem);
    line-height: 1.04;

    font-weight: 300;
    letter-spacing: -0.03em;

    color: #ffffff;
}

body.itemid-102 .gpm-final-cta p {
    max-width: 620px;

    margin: 0;

    font-size: 1rem;
    line-height: 1.7;

    color: rgba(255, 255, 255, 0.76);
}


/* ---------- Actions ---------- */

body.itemid-102 .gpm-final-cta-actions {
    display: flex;
    flex-direction: column;
    gap: 12px;

    min-width: 210px;
}

body.itemid-102 .gpm-final-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 48px;
    padding: 0 24px;

    font-size: 0.76rem;
    font-weight: 600;

    letter-spacing: 0.08em;
    text-transform: uppercase;

    text-decoration: none !important;

    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease;
}

body.itemid-102 .gpm-final-btn-primary {
    background: #ffffff;
    border: 1px solid #ffffff;

    color: #163b56 !important;
}

body.itemid-102 .gpm-final-btn-primary:hover {
    background: #eef4f7;
    border-color: #eef4f7;

    transform: translateY(-1px);
}

body.itemid-102 .gpm-final-btn-secondary {
    background: transparent;

    border: 1px solid rgba(255, 255, 255, 0.48);

    color: #ffffff !important;
}

body.itemid-102 .gpm-final-btn-secondary:hover {
    background: rgba(255, 255, 255, 0.10);

    border-color: rgba(255, 255, 255, 0.80);

    transform: translateY(-1px);
}


/* ---------- Tablet ---------- */

@media (max-width: 900px) {

    body.itemid-102 .gpm-final-cta {
        padding: 70px 5vw;
    }

    body.itemid-102 .gpm-final-cta-inner {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    body.itemid-102 .gpm-final-cta-actions {
        flex-direction: row;
        flex-wrap: wrap;

        min-width: 0;
    }
}


/* ---------- Mobile ---------- */

@media (max-width: 600px) {

    body.itemid-102 .gpm-final-cta {
        padding: 58px 22px;
    }

    body.itemid-102 .gpm-final-cta h2 {
        font-size: 2.1rem;
    }

    body.itemid-102 .gpm-final-cta-actions {
        flex-direction: column;
    }

    body.itemid-102 .gpm-final-btn {
        width: 100%;
    }
}
/* ==================================================
   GPM FOOTER – PREMIUM
   ================================================== */

body.itemid-102 .gpm-footer {
    width: 100%;
    background: #102a3d;
    color: #ffffff;

    padding: 72px 4vw 26px;
}


/* ---------- Main Footer Grid ---------- */

body.itemid-102 .gpm-footer-inner {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 0.9fr;
    gap: 54px;
}


/* ---------- Brand ---------- */

body.itemid-102 .gpm-footer-brand h3 {
    margin: 0 0 18px;

    font-size: 2rem;
    font-weight: 500;
    letter-spacing: 0.04em;

    color: #ffffff;
}

body.itemid-102 .gpm-footer-brand p {
    max-width: 330px;

    margin: 0 0 24px;

    font-size: 0.92rem;
    line-height: 1.7;

    color: rgba(255, 255, 255, 0.68);
}

body.itemid-102 .gpm-footer-swiss {
    display: inline-block;

    font-size: 0.68rem;
    font-weight: 600;

    letter-spacing: 0.18em;
    text-transform: uppercase;

    color: rgba(255, 255, 255, 0.82);
}


/* ---------- Columns ---------- */

body.itemid-102 .gpm-footer-column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

body.itemid-102 .gpm-footer-column h4 {
    margin: 0 0 20px;

    font-size: 0.72rem;
    font-weight: 600;

    letter-spacing: 0.14em;
    text-transform: uppercase;

    color: #ffffff;
}

body.itemid-102 .gpm-footer-column a {
    display: inline-block;

    margin-bottom: 11px;

    font-size: 0.86rem;
    line-height: 1.45;

    color: rgba(255, 255, 255, 0.67) !important;
    text-decoration: none !important;

    transition:
        color 0.18s ease,
        transform 0.18s ease;
}

body.itemid-102 .gpm-footer-column a:hover {
    color: #ffffff !important;
    transform: translateX(3px);
}


/* ---------- Bottom Bar ---------- */

body.itemid-102 .gpm-footer-bottom {
    width: 100%;
    max-width: 1240px;

    margin: 54px auto 0;
    padding-top: 22px;

    border-top: 1px solid rgba(255, 255, 255, 0.13);

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;

    font-size: 0.72rem;
    line-height: 1.5;

    color: rgba(255, 255, 255, 0.52);
}


/* ---------- Legal ---------- */

body.itemid-102 .gpm-footer-legal {
    display: flex;
    gap: 22px;
}

body.itemid-102 .gpm-footer-legal a {
    color: rgba(255, 255, 255, 0.52) !important;
    text-decoration: none !important;

    transition: color 0.18s ease;
}

body.itemid-102 .gpm-footer-legal a:hover {
    color: #ffffff !important;
}


/* ==================================================
   TABLET
   ================================================== */

@media (max-width: 991.98px) {

    body.itemid-102 .gpm-footer {
        padding: 60px 5vw 24px;
    }

    body.itemid-102 .gpm-footer-inner {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 44px 36px;
    }

    body.itemid-102 .gpm-footer-brand {
        grid-column: 1 / -1;
    }

    body.itemid-102 .gpm-footer-brand p {
        max-width: 520px;
    }
}


/* ==================================================
   MOBILE
   ================================================== */

@media (max-width: 650px) {

    body.itemid-102 .gpm-footer {
        padding: 52px 22px 22px;
    }

    body.itemid-102 .gpm-footer-inner {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    body.itemid-102 .gpm-footer-brand {
        grid-column: auto;
    }

    body.itemid-102 .gpm-footer-bottom {
        margin-top: 42px;

        flex-direction: column;
        align-items: flex-start;

        gap: 14px;
    }
}
  /* =========================================
   GPM FOOTER LOGO
========================================= */

.gpm-footer-logo {
    display: block;
    width: auto;
    height: 175px;
    max-width: 180px;
    object-fit: contain;
    object-position: left center;
    margin: 0 0 10px 0;
}

/* ==========================================================
   GPM HISTORY PAGE
   Premium History Layout
   ========================================================== */


/* ----------------------------------------------------------
   GLOBAL HISTORY
   ---------------------------------------------------------- */

.gpm-history {
    width: 100%;
    overflow: hidden;
    background: #ffffff;
    color: #233746;
}

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

.gpm-history-section-inner,
.gpm-history-timeline-inner,
.gpm-history-manufacturing-inner,
.gpm-history-today-inner,
.gpm-history-final-inner {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
}


/* ----------------------------------------------------------
   COMMON EYEBROW
   ---------------------------------------------------------- */

.gpm-history-eyebrow {
    margin-bottom: 18px;

    font-size: 0.72rem;
    line-height: 1.3;
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;

    color: #526777;
}


/* ==========================================================
   HISTORY HERO
   ========================================================== */

.gpm-history-hero {
    position: relative;
    width: 100%;

    padding: 110px 4vw 115px;

    background:
        linear-gradient(
            135deg,
            #f7f9fa 0%,
            #eef3f5 100%
        );
}

.gpm-history-hero-inner {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: 0.88fr 1.12fr;
    gap: 80px;

    align-items: center;
}

.gpm-history-hero-content {
    position: relative;
    z-index: 2;
}

.gpm-history-hero-content h1 {
    margin: 0 0 28px;

    font-size: clamp(3rem, 5vw, 5.2rem);
    line-height: 0.98;
    font-weight: 300;
    letter-spacing: -0.045em;

    color: #203441;
}

.gpm-history-hero-content p {
    max-width: 520px;
    margin: 0;

    font-size: 1.05rem;
    line-height: 1.75;
    font-weight: 400;

    color: #596b78;
}


/* ----------------------------------------------------------
   HERO IMAGE
   ---------------------------------------------------------- */

.gpm-history-hero-image {
    position: relative;

    min-height: 510px;

    overflow: hidden;

    background: #dce4e8;
}

.gpm-history-hero-image::before {
    content: "";

    position: absolute;
    left: -28px;
    bottom: -28px;

    width: 170px;
    height: 170px;

    border-left: 1px solid rgba(39, 72, 94, 0.18);
    border-bottom: 1px solid rgba(39, 72, 94, 0.18);
}


/* ==========================================================
   IMAGE PLACEHOLDERS
   ========================================================== */

.gpm-history-image-placeholder {
    position: absolute;
    inset: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 30px;

    background:
        linear-gradient(
            135deg,
            #dfe6e9 0%,
            #cbd6dc 100%
        );

    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    text-align: center;

    color: #657987;
}


/* ==========================================================
   ORIGINS
   ========================================================== */

.gpm-history-origins {
    width: 100%;

    padding: 125px 4vw;

    background: #ffffff;
}

.gpm-history-origins .gpm-history-section-inner {
    display: grid;
    grid-template-columns: 1.08fr 0.92fr;
    gap: 90px;

    align-items: center;
}

.gpm-history-origins-image {
    position: relative;

    min-height: 540px;

    overflow: hidden;

    background: #dce4e8;
}

.gpm-history-origins-content {
    max-width: 500px;
}

.gpm-history-year {
    margin-bottom: 12px;

    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.16em;

    color: #758895;
}

.gpm-history-origins-content h2 {
    margin: 0 0 26px;

    font-size: clamp(2.4rem, 4vw, 4rem);
    line-height: 1.04;
    font-weight: 300;
    letter-spacing: -0.035em;

    color: #223746;
}

.gpm-history-origins-content p {
    margin: 0;

    font-size: 1rem;
    line-height: 1.8;

    color: #5c6d79;
}


/* ==========================================================
   TIMELINE
   ========================================================== */

.gpm-history-timeline {
    position: relative;

    width: 100%;

    padding: 120px 4vw 135px;

    background: #eef2f4;
}

.gpm-history-section-heading {
    max-width: 680px;

    margin-bottom: 90px;
}

.gpm-history-section-heading h2 {
    margin: 0 0 22px;

    font-size: clamp(2.5rem, 4vw, 4rem);
    line-height: 1.04;
    font-weight: 300;
    letter-spacing: -0.035em;

    color: #223746;
}

.gpm-history-section-heading p {
    max-width: 580px;
    margin: 0;

    font-size: 1rem;
    line-height: 1.75;

    color: #5d6e7a;
}


/* ----------------------------------------------------------
   MILESTONES
   ---------------------------------------------------------- */

.gpm-history-milestone {
    position: relative;

    display: grid;
    grid-template-columns: 0.14fr 1fr 0.85fr;
    gap: 55px;

    align-items: center;

    padding: 55px 0;
}

.gpm-history-milestone + .gpm-history-milestone {
    border-top: 1px solid rgba(35, 55, 70, 0.12);
}

.gpm-history-milestone-year {
    align-self: start;

    padding-top: 10px;

    font-size: 0.78rem;
    line-height: 1;
    font-weight: 600;
    letter-spacing: 0.16em;

    color: #6b7f8c;
}

.gpm-history-milestone-image {
    position: relative;

    min-height: 370px;

    overflow: hidden;

    background: #d8e1e5;
}

.gpm-history-milestone-content {
    max-width: 390px;
}

.gpm-history-milestone-content h3 {
    margin: 0 0 18px;

    font-size: 1.8rem;
    line-height: 1.18;
    font-weight: 400;
    letter-spacing: -0.02em;

    color: #253a48;
}

.gpm-history-milestone-content p {
    margin: 0;

    font-size: 0.96rem;
    line-height: 1.75;

    color: #60717c;
}


/* ----------------------------------------------------------
   ALTERNATING MILESTONE
   ---------------------------------------------------------- */

.gpm-history-milestone-reverse {
    grid-template-columns: 0.14fr 0.85fr 1fr;
}

.gpm-history-milestone-reverse .gpm-history-milestone-image {
    grid-column: 3;
    grid-row: 1;
}

.gpm-history-milestone-reverse .gpm-history-milestone-content {
    grid-column: 2;
    grid-row: 1;
}


/* ==========================================================
   SWISS MANUFACTURING
   ========================================================== */

.gpm-history-manufacturing {
    width: 100%;

    padding: 130px 4vw;

    background: #203746;
}

.gpm-history-manufacturing-inner {
    display: grid;
    grid-template-columns: 0.85fr 1.15fr;
    gap: 85px;

    align-items: center;
}

.gpm-history-manufacturing-content {
    max-width: 480px;
}

.gpm-history-manufacturing .gpm-history-eyebrow {
    color: rgba(255,255,255,0.58);
}

.gpm-history-manufacturing-content h2 {
    margin: 0 0 28px;

    font-size: clamp(2.6rem, 4vw, 4.2rem);
    line-height: 1.03;
    font-weight: 300;
    letter-spacing: -0.035em;

    color: #ffffff;
}

.gpm-history-manufacturing-content p {
    margin: 0;

    font-size: 1rem;
    line-height: 1.8;

    color: rgba(255,255,255,0.70);
}

.gpm-history-manufacturing-image {
    position: relative;

    min-height: 500px;

    overflow: hidden;

    background: #415967;
}


/* ==========================================================
   GPM TODAY
   ========================================================== */

.gpm-history-today {
    width: 100%;

    padding: 130px 4vw;

    background: #f7f9fa;
}

.gpm-history-today-inner {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 85px;

    align-items: center;
}

.gpm-history-today-image {
    position: relative;

    min-height: 520px;

    overflow: hidden;

    background: #dce4e8;
}

.gpm-history-today-content {
    max-width: 520px;
}

.gpm-history-today-content h2 {
    margin: 0 0 26px;

    font-size: clamp(2.5rem, 4vw, 4rem);
    line-height: 1.04;
    font-weight: 300;
    letter-spacing: -0.035em;

    color: #223746;
}

.gpm-history-today-content > p {
    margin: 0 0 40px;

    font-size: 1rem;
    line-height: 1.8;

    color: #5c6d79;
}


/* ----------------------------------------------------------
   FACTS
   ---------------------------------------------------------- */

.gpm-history-facts {
    border-top: 1px solid rgba(35,55,70,0.14);
}

.gpm-history-fact {
    display: grid;
    grid-template-columns: 145px 1fr;
    gap: 20px;

    padding: 17px 0;

    border-bottom: 1px solid rgba(35,55,70,0.14);
}

.gpm-history-fact strong {
    font-size: 0.69rem;
    font-weight: 600;
    letter-spacing: 0.11em;

    color: #3f596a;
}

.gpm-history-fact span {
    font-size: 0.88rem;

    color: #667783;
}


/* ==========================================================
   FINAL CTA
   ========================================================== */

.gpm-history-final {
    position: relative;

    width: 100%;

    padding: 125px 4vw 135px;

    text-align: center;

    background: #ffffff;
}

.gpm-history-final-inner {
    max-width: 820px;
}

.gpm-history-final h2 {
    margin: 0 0 25px;

    font-size: clamp(2.8rem, 5vw, 4.8rem);
    line-height: 1.02;
    font-weight: 300;
    letter-spacing: -0.04em;

    color: #213644;
}

.gpm-history-final p {
    max-width: 600px;

    margin: 0 auto 38px;

    font-size: 1rem;
    line-height: 1.75;

    color: #60717c;
}


/* ----------------------------------------------------------
   CTA BUTTONS
   ---------------------------------------------------------- */

.gpm-history-final-actions {
    display: flex;
    justify-content: center;
    align-items: center;

    gap: 14px;

    flex-wrap: wrap;
}

.gpm-history-btn {
    display: inline-flex;

    min-height: 46px;

    align-items: center;
    justify-content: center;

    padding: 0 24px;

    border: 1px solid #29495e;

    font-size: 0.72rem;
    line-height: 1;
    font-weight: 600;
    letter-spacing: 0.09em;
    text-transform: uppercase;

    text-decoration: none !important;

    transition:
        background 0.22s ease,
        color 0.22s ease,
        transform 0.22s ease;
}

.gpm-history-btn-primary {
    background: #29495e;
    color: #ffffff !important;
}

.gpm-history-btn-secondary {
    background: transparent;
    color: #29495e !important;
}

.gpm-history-btn:hover {
    transform: translateY(-2px);
}

.gpm-history-btn-primary:hover {
    background: #1f3b4e;
}

.gpm-history-btn-secondary:hover {
    background: #29495e;
    color: #ffffff !important;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 991.98px) {

    .gpm-history-hero {
        padding: 85px 5vw 90px;
    }

    .gpm-history-hero-inner,
    .gpm-history-origins .gpm-history-section-inner,
    .gpm-history-manufacturing-inner,
    .gpm-history-today-inner {
        grid-template-columns: 1fr;
        gap: 55px;
    }

    .gpm-history-hero-image,
    .gpm-history-origins-image,
    .gpm-history-manufacturing-image,
    .gpm-history-today-image {
        min-height: 460px;
    }

    .gpm-history-origins,
    .gpm-history-manufacturing,
    .gpm-history-today {
        padding: 90px 5vw;
    }

    .gpm-history-timeline {
        padding: 90px 5vw 100px;
    }

    .gpm-history-milestone,
    .gpm-history-milestone-reverse {
        grid-template-columns: 90px 1fr;
        gap: 35px;
    }

    .gpm-history-milestone-image,
    .gpm-history-milestone-reverse .gpm-history-milestone-image {
        grid-column: 2;
        grid-row: auto;
    }

    .gpm-history-milestone-content,
    .gpm-history-milestone-reverse .gpm-history-milestone-content {
        grid-column: 2;
        grid-row: auto;
    }

    .gpm-history-milestone-year {
        grid-row: 1 / span 2;
    }

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 650px) {

    .gpm-history-hero {
        padding: 65px 22px 70px;
    }

    .gpm-history-hero-inner {
        gap: 42px;
    }

    .gpm-history-hero-content h1 {
        font-size: 2.8rem;
    }

    .gpm-history-hero-image {
        min-height: 340px;
    }

    .gpm-history-origins,
    .gpm-history-timeline,
    .gpm-history-manufacturing,
    .gpm-history-today {
        padding-left: 22px;
        padding-right: 22px;
    }

    .gpm-history-origins {
        padding-top: 75px;
        padding-bottom: 80px;
    }

    .gpm-history-origins-image,
    .gpm-history-manufacturing-image,
    .gpm-history-today-image {
        min-height: 340px;
    }

    .gpm-history-timeline {
        padding-top: 75px;
        padding-bottom: 80px;
    }

    .gpm-history-section-heading {
        margin-bottom: 50px;
    }

    .gpm-history-milestone,
    .gpm-history-milestone-reverse {
        display: block;

        padding: 42px 0;
    }

    .gpm-history-milestone-year {
        margin-bottom: 18px;
    }

    .gpm-history-milestone-image {
        min-height: 290px;

        margin-bottom: 28px;
    }

    .gpm-history-manufacturing,
    .gpm-history-today {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .gpm-history-fact {
        grid-template-columns: 120px 1fr;
    }

    .gpm-history-final {
        padding: 80px 22px 90px;
    }

    .gpm-history-final h2 {
        font-size: 2.7rem;
    }

}
/* ==================================================
   GPM PRODUCTS PAGE – FINAL BASE DESIGN
   Isolated from Homepage / History / Applications
================================================== */

.gpm-products-page {
    width: 100%;
    overflow: hidden;
    background: #f4f6f7;
    color: #233746;
}

.gpm-products-page *,
.gpm-products-page *::before,
.gpm-products-page *::after {
    box-sizing: border-box;
}


/* ==================================================
   COMMON
================================================== */

.gpm-products-page-eyebrow {
    margin-bottom: 18px;

    font-size: 0.72rem;
    line-height: 1.2;
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;

    color: #526777;
}

.gpm-products-page h1,
.gpm-products-page h2,
.gpm-products-page h3,
.gpm-products-page p {
    margin-top: 0;
}


/* ==================================================
   HERO
================================================== */

.gpm-products-page-hero {
    width: 100%;
    background: #f2f5f7;
    padding: 105px 5vw 100px;
}

.gpm-products-page-hero-inner {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: 0.92fr 1.08fr;
    gap: 80px;
    align-items: center;
}

.gpm-products-page-hero-content {
    max-width: 590px;
}

.gpm-products-page-hero-content h1 {
    margin-bottom: 26px;

    font-size: clamp(2.7rem, 4.3vw, 4.6rem);
    line-height: 1.03;
    font-weight: 300;
    letter-spacing: -0.035em;

    color: #263b4b;
}

.gpm-products-page-hero-content p {
    max-width: 560px;
    margin-bottom: 0;

    font-size: 1rem;
    line-height: 1.75;
    font-weight: 400;

    color: #5b6b77;
}

.gpm-products-page-hero-image {
    width: 100%;
    min-height: 500px;
}


/* ==================================================
   IMAGE PLACEHOLDERS
================================================== */

.gpm-products-page-image-placeholder {
    width: 100%;
    height: 100%;
    min-height: inherit;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 30px;

    background:
        linear-gradient(
            145deg,
            #dce4e9 0%,
            #cbd7de 100%
        );

    font-size: 0.70rem;
    line-height: 1.4;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    text-align: center;

    color: #536b7b;
}


/* ==================================================
   PRODUCT CATEGORIES
================================================== */

.gpm-products-page-categories {
    width: 100%;
    padding: 105px 5vw 115px;

    background: #ffffff;
}

.gpm-products-page-categories-inner {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
}

.gpm-products-page-section-heading {
    max-width: 690px;
    margin-bottom: 58px;
}

.gpm-products-page-section-heading h2 {
    margin-bottom: 22px;

    font-size: clamp(2.3rem, 3.6vw, 3.7rem);
    line-height: 1.06;
    font-weight: 300;
    letter-spacing: -0.03em;

    color: #263b4b;
}

.gpm-products-page-section-heading p {
    max-width: 610px;
    margin-bottom: 0;

    font-size: 1rem;
    line-height: 1.7;

    color: #5c6c78;
}


/* ==================================================
   PRODUCT GRID
================================================== */

.gpm-products-page-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}


/* ==================================================
   PRODUCT CARD
================================================== */

.gpm-products-page-card {
    min-width: 0;

    display: flex;
    flex-direction: column;

    overflow: hidden;

    background: #f4f6f7;

    border: 1px solid rgba(34, 65, 86, 0.10);

    color: #233746 !important;
    text-decoration: none !important;

    box-shadow:
        0 7px 22px rgba(26, 49, 66, 0.055);

    transition:
        box-shadow 0.28s ease,
        border-color 0.28s ease,
        transform 0.28s ease;
}

.gpm-products-page-card:hover {
    transform: translateY(-4px);

    border-color: rgba(31, 91, 130, 0.22);

    box-shadow:
        0 20px 45px rgba(26, 49, 66, 0.14);

    color: #233746 !important;
    text-decoration: none !important;
}


/* ==================================================
   PRODUCT CARD IMAGE
================================================== */

.gpm-products-page-card-image {
    width: 100%;
    height: 285px;

    overflow: hidden;

    background: #dce4e8;
}

.gpm-products-page-card-image .gpm-products-page-image-placeholder {
    transition: transform 0.45s ease;
}

.gpm-products-page-card:hover
.gpm-products-page-card-image .gpm-products-page-image-placeholder {
    transform: scale(1.025);
}


/* ==================================================
   PRODUCT CARD CONTENT
================================================== */

.gpm-products-page-card-info {
    flex: 1;

    display: flex;
    flex-direction: column;

    padding: 30px 30px 32px;
}

.gpm-products-page-card-number {
    margin-bottom: 16px;

    font-size: 0.68rem;
    line-height: 1;
    font-weight: 600;
    letter-spacing: 0.18em;

    color: #7a8b96;
}

.gpm-products-page-card-info h3 {
    margin-bottom: 15px;

    font-size: 1.38rem;
    line-height: 1.22;
    font-weight: 500;
    letter-spacing: -0.015em;

    color: #263b4b;
}

.gpm-products-page-card-info p {
    margin-bottom: 25px;

    font-size: 0.89rem;
    line-height: 1.65;
    font-weight: 400;

    color: #60717d;
}

.gpm-products-page-card-info > span {
    display: inline-block;

    margin-top: auto;

    font-size: 0.70rem;
    line-height: 1.3;
    font-weight: 600;
    letter-spacing: 0.09em;
    text-transform: uppercase;

    color: #315f7c;

    transition:
        letter-spacing 0.22s ease,
        transform 0.22s ease;
}

.gpm-products-page-card:hover
.gpm-products-page-card-info > span {
    letter-spacing: 0.115em;
    transform: translateX(3px);
}


/* ==================================================
   SWISS ENGINEERING
================================================== */

.gpm-products-page-engineering {
    width: 100%;
    padding: 110px 5vw;

    background:
        linear-gradient(
            135deg,
            #263b4b 0%,
            #172a38 100%
        );
}

.gpm-products-page-engineering-inner {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: 0.88fr 1.12fr;
    gap: 80px;
    align-items: center;
}

.gpm-products-page-engineering-content {
    max-width: 520px;
}

.gpm-products-page-engineering
.gpm-products-page-eyebrow {
    color: rgba(255, 255, 255, 0.62);
}

.gpm-products-page-engineering h2 {
    margin-bottom: 26px;

    font-size: clamp(2.5rem, 3.8vw, 4rem);
    line-height: 1.06;
    font-weight: 300;
    letter-spacing: -0.03em;

    color: #ffffff;
}

.gpm-products-page-engineering-content > p {
    margin-bottom: 40px;

    font-size: 0.98rem;
    line-height: 1.75;

    color: rgba(255, 255, 255, 0.72);
}


/* ==================================================
   ENGINEERING FACTS
================================================== */

.gpm-products-page-facts {
    width: 100%;

    border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.gpm-products-page-fact {
    display: grid;
    grid-template-columns: 135px 1fr;
    gap: 20px;

    padding: 17px 0;

    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.gpm-products-page-fact strong {
    font-size: 0.68rem;
    line-height: 1.5;
    font-weight: 600;
    letter-spacing: 0.12em;

    color: rgba(255, 255, 255, 0.78);
}

.gpm-products-page-fact span {
    font-size: 0.88rem;
    line-height: 1.5;

    color: rgba(255, 255, 255, 0.66);
}

.gpm-products-page-engineering-image {
    width: 100%;
    min-height: 520px;
}

.gpm-products-page-engineering-image
.gpm-products-page-image-placeholder {
    background:
        linear-gradient(
            145deg,
            #d7e0e5 0%,
            #bccbd4 100%
        );

    color: #4d6575;
}


/* ==================================================
   SUPPORT / FINAL CTA
================================================== */

.gpm-products-page-support {
    width: 100%;

    padding: 105px 5vw 110px;

    background: #f3f6f8;
}

.gpm-products-page-support-inner {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: 1fr auto;
    gap: 80px;
    align-items: end;
}

.gpm-products-page-support-content {
    max-width: 690px;
}

.gpm-products-page-support-content h2 {
    margin-bottom: 22px;

    font-size: clamp(2.3rem, 3.5vw, 3.6rem);
    line-height: 1.07;
    font-weight: 300;
    letter-spacing: -0.03em;

    color: #263b4b;
}

.gpm-products-page-support-content p {
    max-width: 580px;
    margin-bottom: 0;

    font-size: 0.98rem;
    line-height: 1.7;

    color: #5d6e7a;
}


/* ==================================================
   BUTTONS
================================================== */

.gpm-products-page-support-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.gpm-products-page-btn {
    min-height: 50px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0 27px;

    border: 1px solid #315f7c;

    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;

    text-decoration: none !important;

    transition:
        background 0.22s ease,
        color 0.22s ease,
        border-color 0.22s ease;
}

.gpm-products-page-btn-primary {
    background: #315f7c;
    color: #ffffff !important;
}

.gpm-products-page-btn-primary:hover {
    background: #264d68;
    border-color: #264d68;
    color: #ffffff !important;
}

.gpm-products-page-btn-secondary {
    background: transparent;
    color: #315f7c !important;
}

.gpm-products-page-btn-secondary:hover {
    background: #315f7c;
    color: #ffffff !important;
}


/* ==================================================
   TABLET
================================================== */

@media (max-width: 991.98px) {

    .gpm-products-page-hero {
        padding: 80px 5vw;
    }

    .gpm-products-page-hero-inner {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .gpm-products-page-hero-image {
        min-height: 420px;
    }

    .gpm-products-page-categories {
        padding: 85px 5vw 95px;
    }

    .gpm-products-page-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gpm-products-page-engineering {
        padding: 90px 5vw;
    }

    .gpm-products-page-engineering-inner {
        grid-template-columns: 1fr;
        gap: 55px;
    }

    .gpm-products-page-engineering-image {
        min-height: 450px;
    }

    .gpm-products-page-support {
        padding: 85px 5vw 90px;
    }

    .gpm-products-page-support-inner {
        grid-template-columns: 1fr;
        gap: 38px;
        align-items: start;
    }
}


/* ==================================================
   MOBILE
================================================== */

@media (max-width: 650px) {

    .gpm-products-page-hero {
        padding: 65px 22px 70px;
    }

    .gpm-products-page-hero-inner {
        gap: 38px;
    }

    .gpm-products-page-hero-content h1 {
        font-size: 2.55rem;
    }

    .gpm-products-page-hero-image {
        min-height: 320px;
    }

    .gpm-products-page-categories {
        padding: 70px 22px 75px;
    }

    .gpm-products-page-section-heading {
        margin-bottom: 40px;
    }

    .gpm-products-page-section-heading h2 {
        font-size: 2.35rem;
    }

    .gpm-products-page-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .gpm-products-page-card-image {
        height: 260px;
    }

    .gpm-products-page-card-info {
        padding: 25px 24px 27px;
    }

    .gpm-products-page-engineering {
        padding: 75px 22px;
    }

    .gpm-products-page-engineering h2 {
        font-size: 2.5rem;
    }

    .gpm-products-page-engineering-image {
        min-height: 330px;
    }

    .gpm-products-page-fact {
        grid-template-columns: 110px 1fr;
        gap: 15px;
    }

    .gpm-products-page-support {
        padding: 70px 22px 75px;
    }

    .gpm-products-page-support-content h2 {
        font-size: 2.35rem;
    }

    .gpm-products-page-support-actions {
        width: 100%;
        flex-direction: column;
    }

    .gpm-products-page-btn {
        width: 100%;
    }
}
/* ==========================================================
   GPM ABOUT PAGE – PREMIUM DESIGN
   Isolated from Homepage / History / Products
   ========================================================== */


/* ==========================================================
   GLOBAL
   ========================================================== */

.gpm-about-page {
    width: 100%;
    overflow: hidden;
    background: #ffffff;
    color: #233746;
}

.gpm-about-page *,
.gpm-about-page *::before,
.gpm-about-page *::after {
    box-sizing: border-box;
}

.gpm-about-section-inner,
.gpm-about-expertise-inner,
.gpm-about-manufacturing-inner,
.gpm-about-worldwide-inner,
.gpm-about-history-inner,
.gpm-about-final-inner {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
}


/* ==========================================================
   COMMON
   ========================================================== */

.gpm-about-eyebrow {
    margin: 0 0 18px;

    font-size: 0.72rem;
    line-height: 1.3;
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;

    color: #526777;
}

.gpm-about-page h1,
.gpm-about-page h2,
.gpm-about-page h3,
.gpm-about-page p {
    margin-top: 0;
}


/* ==========================================================
   IMAGE PLACEHOLDERS
   ========================================================== */

.gpm-about-image-placeholder {
    position: absolute;
    inset: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 30px;

    background:
        linear-gradient(
            145deg,
            #dfe6ea 0%,
            #cad6dd 100%
        );

    font-size: 0.68rem;
    line-height: 1.5;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    text-align: center;

    color: #5c7280;
}


/* ==========================================================
   ABOUT HERO
   ========================================================== */

.gpm-about-hero {
    width: 100%;

    padding: 110px 5vw 105px;

    background:
        linear-gradient(
            135deg,
            #f5f7f8 0%,
            #edf2f4 100%
        );
}

.gpm-about-hero-inner {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: 0.92fr 1.08fr;
    gap: 80px;

    align-items: center;
}

.gpm-about-hero-content {
    max-width: 590px;
}

.gpm-about-hero-content h1 {
    margin: 0 0 28px;

    font-size: clamp(3rem, 4.7vw, 5rem);
    line-height: 1.01;
    font-weight: 300;
    letter-spacing: -0.04em;

    color: #223746;
}

.gpm-about-hero-content p {
    max-width: 540px;
    margin: 0;

    font-size: 1.04rem;
    line-height: 1.75;

    color: #596b78;
}

.gpm-about-hero-image {
    position: relative;

    width: 100%;
    min-height: 510px;

    overflow: hidden;

    background: #dce4e8;
}


/* ==========================================================
   WHO WE ARE
   ========================================================== */

.gpm-about-intro {
    width: 100%;

    padding: 125px 5vw;

    background: #ffffff;
}

.gpm-about-intro .gpm-about-section-inner {
    display: grid;
    grid-template-columns: 1.08fr 0.92fr;
    gap: 90px;

    align-items: center;
}

.gpm-about-intro-image {
    position: relative;

    min-height: 520px;

    overflow: hidden;

    background: #dce4e8;
}

.gpm-about-intro-content {
    max-width: 510px;
}

.gpm-about-intro-content h2 {
    margin: 0 0 27px;

    font-size: clamp(2.5rem, 4vw, 4rem);
    line-height: 1.04;
    font-weight: 300;
    letter-spacing: -0.035em;

    color: #223746;
}

.gpm-about-intro-content p {
    margin: 0 0 20px;

    font-size: 1rem;
    line-height: 1.8;

    color: #5c6d79;
}

.gpm-about-intro-content p:last-child {
    margin-bottom: 0;
}


/* ==========================================================
   OUR EXPERTISE
   ========================================================== */

.gpm-about-expertise {
    width: 100%;

    padding: 115px 5vw 125px;

    background: #eef2f4;
}

.gpm-about-section-heading {
    max-width: 690px;

    margin-bottom: 62px;
}

.gpm-about-section-heading h2 {
    margin: 0 0 22px;

    font-size: clamp(2.5rem, 4vw, 4rem);
    line-height: 1.05;
    font-weight: 300;
    letter-spacing: -0.035em;

    color: #223746;
}

.gpm-about-section-heading p {
    max-width: 600px;
    margin: 0;

    font-size: 1rem;
    line-height: 1.75;

    color: #5c6d79;
}


/* ==========================================================
   EXPERTISE GRID
   ========================================================== */

.gpm-about-expertise-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 18px;
}

.gpm-about-expertise-item {
    position: relative;

    min-height: 280px;

    padding: 34px 30px;

    background: rgba(255, 255, 255, 0.72);

    border: 1px solid rgba(31, 66, 91, 0.09);

    box-shadow:
        0 6px 20px rgba(24, 47, 65, 0.04);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}

.gpm-about-expertise-item:hover {
    transform: translateY(-4px);

    border-color: rgba(22, 91, 136, 0.20);

    box-shadow:
        0 17px 38px rgba(24, 47, 65, 0.11);
}

.gpm-about-expertise-number {
    margin-bottom: 58px;

    font-size: 0.68rem;
    line-height: 1;
    font-weight: 600;
    letter-spacing: 0.17em;

    color: #81919b;
}

.gpm-about-expertise-item h3 {
    margin: 0 0 14px;

    font-size: 1.25rem;
    line-height: 1.25;
    font-weight: 500;
    letter-spacing: -0.015em;

    color: #263b4b;
}

.gpm-about-expertise-item p {
    margin: 0;

    font-size: 0.88rem;
    line-height: 1.65;

    color: #61727e;
}


/* ==========================================================
   SWISS MANUFACTURING
   ========================================================== */

.gpm-about-manufacturing {
    width: 100%;

    padding: 125px 5vw;

    background:
        linear-gradient(
            135deg,
            #263b4b 0%,
            #182c3a 100%
        );
}

.gpm-about-manufacturing-inner {
    display: grid;
    grid-template-columns: 0.88fr 1.12fr;
    gap: 85px;

    align-items: center;
}

.gpm-about-manufacturing-content {
    max-width: 520px;
}

.gpm-about-manufacturing .gpm-about-eyebrow {
    color: rgba(255, 255, 255, 0.60);
}

.gpm-about-manufacturing-content h2 {
    margin: 0 0 28px;

    font-size: clamp(2.6rem, 4vw, 4.1rem);
    line-height: 1.04;
    font-weight: 300;
    letter-spacing: -0.035em;

    color: #ffffff;
}

.gpm-about-manufacturing-content > p {
    margin: 0 0 40px;

    font-size: 1rem;
    line-height: 1.8;

    color: rgba(255, 255, 255, 0.72);
}

.gpm-about-manufacturing-image {
    position: relative;

    min-height: 520px;

    overflow: hidden;

    background: #405866;
}

.gpm-about-manufacturing-image .gpm-about-image-placeholder {
    background:
        linear-gradient(
            145deg,
            #d4dee3 0%,
            #b9c9d1 100%
        );

    color: #4d6575;
}


/* ==========================================================
   MANUFACTURING FACTS
   ========================================================== */

.gpm-about-facts {
    width: 100%;

    border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.gpm-about-fact {
    display: grid;
    grid-template-columns: 135px 1fr;
    gap: 20px;

    padding: 17px 0;

    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.gpm-about-fact strong {
    font-size: 0.68rem;
    line-height: 1.5;
    font-weight: 600;
    letter-spacing: 0.11em;

    color: rgba(255, 255, 255, 0.80);
}

.gpm-about-fact span {
    font-size: 0.88rem;
    line-height: 1.5;

    color: rgba(255, 255, 255, 0.66);
}


/* ==========================================================
   WORLDWIDE USE
   ========================================================== */

.gpm-about-worldwide {
    width: 100%;

    padding: 125px 5vw;

    background: #f7f9fa;
}

.gpm-about-worldwide-inner {
    display: grid;
    grid-template-columns: 1.08fr 0.92fr;
    gap: 90px;

    align-items: center;
}

.gpm-about-worldwide-image {
    position: relative;

    min-height: 510px;

    overflow: hidden;

    background: #dce4e8;
}

.gpm-about-worldwide-content {
    max-width: 510px;
}

.gpm-about-worldwide-content h2 {
    margin: 0 0 27px;

    font-size: clamp(2.5rem, 4vw, 4rem);
    line-height: 1.04;
    font-weight: 300;
    letter-spacing: -0.035em;

    color: #223746;
}

.gpm-about-worldwide-content p {
    margin: 0 0 20px;

    font-size: 1rem;
    line-height: 1.8;

    color: #5c6d79;
}

.gpm-about-worldwide-content p:last-child {
    margin-bottom: 0;
}


/* ==========================================================
   HISTORY LINK
   ========================================================== */

.gpm-about-history {
    width: 100%;

    padding: 110px 5vw;

    background: #e8eef1;
}

.gpm-about-history-inner {
    position: relative;
}

.gpm-about-history-content {
    max-width: 700px;
}

.gpm-about-history-content h2 {
    margin: 0 0 22px;

    font-size: clamp(2.5rem, 4vw, 4rem);
    line-height: 1.04;
    font-weight: 300;
    letter-spacing: -0.035em;

    color: #223746;
}

.gpm-about-history-content p {
    max-width: 580px;

    margin: 0 0 30px;

    font-size: 1rem;
    line-height: 1.75;

    color: #5c6d79;
}

.gpm-about-history-link {
    display: inline-block;

    font-size: 0.73rem;
    line-height: 1.4;
    font-weight: 600;
    letter-spacing: 0.09em;
    text-transform: uppercase;

    color: #315f7c !important;
    text-decoration: none !important;

    transition:
        letter-spacing 0.22s ease,
        transform 0.22s ease;
}

.gpm-about-history-link:hover {
    letter-spacing: 0.12em;
    transform: translateX(3px);
}


/* ==========================================================
   FINAL CTA
   ========================================================== */

.gpm-about-final {
    width: 100%;

    padding: 120px 5vw 130px;

    background: #ffffff;

    text-align: center;
}

.gpm-about-final-inner {
    max-width: 820px;
}

.gpm-about-final h2 {
    margin: 0 0 25px;

    font-size: clamp(2.8rem, 4.8vw, 4.7rem);
    line-height: 1.02;
    font-weight: 300;
    letter-spacing: -0.04em;

    color: #213644;
}

.gpm-about-final p {
    max-width: 600px;

    margin: 0 auto 38px;

    font-size: 1rem;
    line-height: 1.75;

    color: #60717c;
}


/* ==========================================================
   FINAL BUTTONS
   ========================================================== */

.gpm-about-final-actions {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 14px;

    flex-wrap: wrap;
}

.gpm-about-btn {
    display: inline-flex;

    min-height: 48px;

    align-items: center;
    justify-content: center;

    padding: 0 26px;

    border: 1px solid #315f7c;

    font-size: 0.72rem;
    line-height: 1;
    font-weight: 600;
    letter-spacing: 0.09em;
    text-transform: uppercase;

    text-decoration: none !important;

    transition:
        background 0.22s ease,
        color 0.22s ease,
        border-color 0.22s ease,
        transform 0.22s ease;
}

.gpm-about-btn:hover {
    transform: translateY(-2px);
}

.gpm-about-btn-primary {
    background: #315f7c;

    color: #ffffff !important;
}

.gpm-about-btn-primary:hover {
    background: #264d68;
    border-color: #264d68;

    color: #ffffff !important;
}

.gpm-about-btn-secondary {
    background: transparent;

    color: #315f7c !important;
}

.gpm-about-btn-secondary:hover {
    background: #315f7c;

    color: #ffffff !important;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 991.98px) {

    .gpm-about-hero {
        padding: 85px 5vw 90px;
    }

    .gpm-about-hero-inner,
    .gpm-about-intro .gpm-about-section-inner,
    .gpm-about-manufacturing-inner,
    .gpm-about-worldwide-inner {
        grid-template-columns: 1fr;
        gap: 55px;
    }

    .gpm-about-hero-image,
    .gpm-about-intro-image,
    .gpm-about-manufacturing-image,
    .gpm-about-worldwide-image {
        min-height: 450px;
    }

    .gpm-about-intro,
    .gpm-about-manufacturing,
    .gpm-about-worldwide {
        padding: 90px 5vw;
    }

    .gpm-about-expertise {
        padding: 90px 5vw 100px;
    }

    .gpm-about-expertise-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gpm-about-history {
        padding: 90px 5vw;
    }

    .gpm-about-final {
        padding: 95px 5vw 105px;
    }
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 650px) {

    .gpm-about-hero {
        padding: 65px 22px 70px;
    }

    .gpm-about-hero-inner {
        gap: 40px;
    }

    .gpm-about-hero-content h1 {
        font-size: 2.65rem;
    }

    .gpm-about-hero-image {
        min-height: 330px;
    }

    .gpm-about-intro,
    .gpm-about-expertise,
    .gpm-about-manufacturing,
    .gpm-about-worldwide,
    .gpm-about-history {
        padding-left: 22px;
        padding-right: 22px;
    }

    .gpm-about-intro {
        padding-top: 75px;
        padding-bottom: 80px;
    }

    .gpm-about-intro-image,
    .gpm-about-manufacturing-image,
    .gpm-about-worldwide-image {
        min-height: 330px;
    }

    .gpm-about-expertise {
        padding-top: 75px;
        padding-bottom: 80px;
    }

    .gpm-about-section-heading {
        margin-bottom: 42px;
    }

    .gpm-about-expertise-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .gpm-about-expertise-item {
        min-height: 0;
        padding: 28px 25px;
    }

    .gpm-about-expertise-number {
        margin-bottom: 36px;
    }

    .gpm-about-manufacturing,
    .gpm-about-worldwide {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .gpm-about-fact {
        grid-template-columns: 110px 1fr;
        gap: 15px;
    }

    .gpm-about-history {
        padding-top: 75px;
        padding-bottom: 80px;
    }

    .gpm-about-final {
        padding: 80px 22px 90px;
    }

    .gpm-about-final h2 {
        font-size: 2.65rem;
    }

    .gpm-about-final-actions {
        flex-direction: column;
        width: 100%;
    }

    .gpm-about-btn {
        width: 100%;
    }
}
/* ==========================================================
   GPM APPLICATION DETAIL PAGES – PREMIUM DESIGN
   Applies to Anthropology / Archaeology / Paleontology /
   Zoology / Somatology / Osteology
   ========================================================== */


/* ==========================================================
   GLOBAL
   ========================================================== */

.application-detail {
    width: 100%;
    overflow: hidden;
    background: #ffffff;
    color: #233746;
}

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

.application-detail h1,
.application-detail h2,
.application-detail h3,
.application-detail p {
    margin-top: 0;
}

.application-container {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
}


/* ==========================================================
   COMMON LABELS
   ========================================================== */

.application-kicker,
.application-label {
    display: block;
    margin-bottom: 18px;

    font-size: 0.72rem;
    line-height: 1.25;
    font-weight: 600;
    letter-spacing: 0.20em;
    text-transform: uppercase;

    color: #526777;
}


/* ==========================================================
   HERO
   ========================================================== */

.application-hero {
    width: 100%;

    padding: 130px 5vw 125px;

    background:
        linear-gradient(
            135deg,
            #edf2f4 0%,
            #f7f9fa 100%
        );
}

.application-hero-inner {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;

    position: relative;
}

.application-hero h1 {
    max-width: 850px;

    margin: 0 0 30px;

    font-size: clamp(4rem, 7vw, 7.4rem);
    line-height: 0.95;
    font-weight: 300;
    letter-spacing: -0.045em;

    color: #213644;
}

.application-lead {
    max-width: 680px;
    margin: 0;

    font-size: 1.1rem;
    line-height: 1.75;
    font-weight: 400;

    color: #5b6c78;
}


/* ==========================================================
   INTRO
   ========================================================== */

.application-intro {
    width: 100%;

    padding: 120px 5vw 125px;

    background: #ffffff;
}

.application-intro-grid {
    display: grid;
    grid-template-columns: 0.95fr 1.05fr;
    gap: 100px;

    align-items: start;
}

.application-intro-title {
    max-width: 540px;
}

.application-intro-title h2 {
    margin: 0;

    font-size: clamp(2.7rem, 4.2vw, 4.4rem);
    line-height: 1.03;
    font-weight: 300;
    letter-spacing: -0.035em;

    color: #223746;
}

.application-intro-text {
    max-width: 560px;
}

.application-intro-text p {
    margin: 0 0 23px;

    font-size: 1rem;
    line-height: 1.82;

    color: #5c6d79;
}

.application-intro-text p:last-child {
    margin-bottom: 0;
}


/* ==========================================================
   FIELDS OF APPLICATION
   ========================================================== */

.application-fields {
    width: 100%;

    padding: 115px 5vw 125px;

    background: #eef2f4;
}

.application-fields h2 {
    max-width: 700px;

    margin: 0 0 58px;

    font-size: clamp(2.6rem, 4vw, 4rem);
    line-height: 1.04;
    font-weight: 300;
    letter-spacing: -0.035em;

    color: #223746;
}

.application-fields-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 22px;
}

.application-field {
    min-height: 285px;

    padding: 34px 30px 32px;

    background: rgba(255, 255, 255, 0.82);

    border: 1px solid rgba(31, 66, 91, 0.09);

    box-shadow:
        0 6px 20px rgba(24, 47, 65, 0.04);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}

.application-field:hover {
    transform: translateY(-4px);

    border-color: rgba(22, 91, 136, 0.20);

    box-shadow:
        0 17px 38px rgba(24, 47, 65, 0.11);
}

.application-number {
    display: block;

    margin-bottom: 60px;

    font-size: 0.68rem;
    line-height: 1;
    font-weight: 600;
    letter-spacing: 0.17em;

    color: #81919b;
}

.application-field h3 {
    margin: 0 0 14px;

    font-size: 1.32rem;
    line-height: 1.25;
    font-weight: 500;
    letter-spacing: -0.015em;

    color: #263b4b;
}

.application-field p {
    margin: 0;

    font-size: 0.89rem;
    line-height: 1.68;

    color: #61727e;
}


/* ==========================================================
   RECOMMENDED INSTRUMENTS
   ========================================================== */

.application-products {
    width: 100%;

    padding: 120px 5vw 125px;

    background:
        linear-gradient(
            135deg,
            #263b4b 0%,
            #182c3a 100%
        );
}

.application-products .application-label {
    color: rgba(255,255,255,0.62);
}

.application-products h2 {
    max-width: 700px;

    margin: 0 0 24px;

    font-size: clamp(2.7rem, 4.2vw, 4.3rem);
    line-height: 1.04;
    font-weight: 300;
    letter-spacing: -0.035em;

    color: #ffffff;
}

.application-products-intro {
    max-width: 600px;

    margin: 0 0 38px;

    font-size: 1rem;
    line-height: 1.78;

    color: rgba(255,255,255,0.72);
}


/* ==========================================================
   BUTTONS
   ========================================================== */

.application-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 50px;

    padding: 0 26px;

    border: 1px solid #ffffff;

    font-size: 0.72rem;
    line-height: 1;
    font-weight: 600;
    letter-spacing: 0.09em;
    text-transform: uppercase;

    text-decoration: none !important;

    background: #ffffff;
    color: #213644 !important;

    transition:
        transform 0.22s ease,
        background 0.22s ease,
        color 0.22s ease;
}

.application-button span {
    margin-left: 10px;
}

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

    background: transparent;
    color: #ffffff !important;
}


/* ==========================================================
   CONTACT CTA
   ========================================================== */

.application-contact {
    width: 100%;

    padding: 105px 5vw 110px;

    background: #f5f7f8;
}

.application-contact-inner {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 80px;

    align-items: end;
}

.application-contact-inner > div:first-child {
    max-width: 700px;
}

.application-contact h2 {
    margin: 0 0 22px;

    font-size: clamp(2.5rem, 3.8vw, 3.8rem);
    line-height: 1.05;
    font-weight: 300;
    letter-spacing: -0.03em;

    color: #223746;
}

.application-contact p {
    max-width: 600px;
    margin: 0;

    font-size: 1rem;
    line-height: 1.75;

    color: #5c6d79;
}

.application-button-light {
    border-color: #315f7c;

    background: #315f7c;
    color: #ffffff !important;
}

.application-button-light:hover {
    background: transparent;
    color: #315f7c !important;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 991.98px) {

    .application-hero {
        padding: 95px 5vw 100px;
    }

    .application-intro {
        padding: 90px 5vw 95px;
    }

    .application-intro-grid {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .application-fields {
        padding: 90px 5vw 100px;
    }

    .application-fields-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .application-products {
        padding: 95px 5vw 100px;
    }

    .application-contact {
        padding: 85px 5vw 90px;
    }

    .application-contact-inner {
        grid-template-columns: 1fr;
        gap: 38px;
        align-items: start;
    }
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 650px) {

    .application-hero {
        padding: 70px 22px 75px;
    }

    .application-hero h1 {
        font-size: 3.45rem;
    }

    .application-intro,
    .application-fields,
    .application-products,
    .application-contact {
        padding-left: 22px;
        padding-right: 22px;
    }

    .application-intro {
        padding-top: 75px;
        padding-bottom: 80px;
    }

    .application-intro-grid {
        gap: 38px;
    }

    .application-intro-title h2 {
        font-size: 2.55rem;
    }

    .application-fields {
        padding-top: 75px;
        padding-bottom: 80px;
    }

    .application-fields h2 {
        font-size: 2.55rem;
        margin-bottom: 40px;
    }

    .application-fields-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .application-field {
        min-height: 0;
        padding: 28px 24px;
    }

    .application-number {
        margin-bottom: 38px;
    }

    .application-products {
        padding-top: 80px;
        padding-bottom: 85px;
    }

    .application-products h2 {
        font-size: 2.6rem;
    }

    .application-contact {
        padding-top: 75px;
        padding-bottom: 80px;
    }

    .application-contact h2 {
        font-size: 2.45rem;
    }

    .application-contact-action,
    .application-button {
        width: 100%;
    }
}
/* =========================================================
   GPM CONTACT PAGE
   ========================================================= */

.gpm-contact-page {
    width: 100%;
    overflow: hidden;
    background: #ffffff;
    color: #223746;
}

.gpm-contact-page *,
.gpm-contact-page *::before,
.gpm-contact-page *::after {
    box-sizing: border-box;
}

.gpm-contact-inner {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
    padding-left: 5vw;
    padding-right: 5vw;
}

.gpm-contact-label,
.gpm-contact-kicker {
    display: block;
    margin-bottom: 18px;
    font-size: 0.72rem;
    line-height: 1.3;
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #52777f;
}


/* =========================================================
   HERO
   ========================================================= */

.gpm-contact-hero {
    width: 100%;
    padding: 125px 0 115px;
    background:
        linear-gradient(
            135deg,
            #f5f7f8 0%,
            #edf2f4 55%,
            #dce6e8 100%
        );
}

.gpm-contact-hero h1 {
    max-width: 820px;
    margin: 0;
    font-size: clamp(3rem, 5.5vw, 5.5rem);
    line-height: 0.98;
    font-weight: 300;
    letter-spacing: -0.045em;
    color: #223746;
}

.gpm-contact-lead {
    max-width: 720px;
    margin: 38px 0 0;
    font-size: 1.08rem;
    line-height: 1.8;
    color: #5c6d79;
}


/* =========================================================
   INTRO
   ========================================================= */

.gpm-contact-main {
    padding: 125px 0;
    background: #ffffff;
}

.gpm-contact-grid {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 90px;
    align-items: start;
}

.gpm-contact-heading h2 {
    max-width: 600px;
    margin: 0;
    font-size: clamp(2.3rem, 4vw, 4rem);
    line-height: 1.05;
    font-weight: 300;
    letter-spacing: -0.035em;
    color: #223746;
}

.gpm-contact-copy {
    padding-top: 38px;
}

.gpm-contact-copy p {
    max-width: 540px;
    margin: 0 0 22px;
    font-size: 1rem;
    line-height: 1.8;
    color: #5c6d79;
}

.gpm-contact-copy p:last-child {
    margin-bottom: 0;
}


/* =========================================================
   SERVICES
   ========================================================= */

.gpm-contact-services {
    padding: 115px 0 125px;
    background: #eef2f4;
}

.gpm-contact-services > .gpm-contact-inner > h2 {
    margin: 0 0 65px;
    font-size: clamp(2.2rem, 3.8vw, 3.7rem);
    line-height: 1.05;
    font-weight: 300;
    letter-spacing: -0.035em;
    color: #223746;
}

.gpm-contact-services-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
}

.gpm-contact-service {
    min-height: 300px;
    padding: 42px 35px;
    background: #ffffff;
    border-top: 1px solid rgba(34, 55, 70, 0.18);
}

.gpm-contact-number {
    display: block;
    margin-bottom: 65px;
    font-size: 0.75rem;
    letter-spacing: 0.12em;
    color: #789099;
}

.gpm-contact-service h3 {
    margin: 0 0 18px;
    font-size: 1.35rem;
    line-height: 1.2;
    font-weight: 500;
    color: #223746;
}

.gpm-contact-service p {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.75;
    color: #667680;
}


/* =========================================================
   DIRECT CONTACT
   ========================================================= */

.gpm-contact-direct {
    padding: 125px 0;
    background: #ffffff;
}

.gpm-contact-direct-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 100px;
    align-items: start;
}

.gpm-contact-direct h2 {
    max-width: 570px;
    margin: 0;
    font-size: clamp(2.3rem, 4vw, 4rem);
    line-height: 1.04;
    font-weight: 300;
    letter-spacing: -0.035em;
    color: #223746;
}

.gpm-contact-details {
    border-top: 1px solid #d6dee2;
}

.gpm-contact-detail {
    padding: 28px 0 30px;
    border-bottom: 1px solid #d6dee2;
}

.gpm-contact-detail span {
    display: block;
    margin-bottom: 10px;
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.18em;
    color: #52777f;
}

.gpm-contact-detail p {
    max-width: 500px;
    margin: 0;
    font-size: 0.96rem;
    line-height: 1.7;
    color: #5c6d79;
}


/* =========================================================
   FINAL DARK SECTION
   ========================================================= */

.gpm-contact-footer {
    padding: 125px 0 135px;
    background:
        linear-gradient(
            135deg,
            #233843 0%,
            #182a34 100%
        );
    color: #ffffff;
}

.gpm-contact-footer .gpm-contact-kicker {
    color: #9bb4ba;
}

.gpm-contact-footer h2 {
    max-width: 760px;
    margin: 0;
    font-size: clamp(2.8rem, 5vw, 5rem);
    line-height: 1;
    font-weight: 300;
    letter-spacing: -0.04em;
    color: #ffffff;
}

.gpm-contact-footer p {
    max-width: 600px;
    margin: 35px 0 0;
    font-size: 1rem;
    line-height: 1.75;
    color: rgba(255,255,255,0.68);
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 900px) {

    .gpm-contact-inner {
        padding-left: 7vw;
        padding-right: 7vw;
    }

    .gpm-contact-hero {
        padding: 90px 0 80px;
    }

    .gpm-contact-main,
    .gpm-contact-services,
    .gpm-contact-direct {
        padding: 85px 0;
    }

    .gpm-contact-grid,
    .gpm-contact-direct-grid {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .gpm-contact-copy {
        padding-top: 0;
    }

    .gpm-contact-services-grid {
        grid-template-columns: 1fr;
    }

    .gpm-contact-service {
        min-height: auto;
    }

    .gpm-contact-number {
        margin-bottom: 40px;
    }

    .gpm-contact-footer {
        padding: 90px 0 100px;
    }
}
/* =========================================================
   GPM CONTACT FORM
   Premium minimal styling
   ========================================================= */

/* Joomla contact page */
.com-contact.contact {
    max-width: 1100px;
    margin: 0 auto;
    padding: 80px 40px 110px;
}

/* Hide Joomla contact headings/details */
.com-contact.contact > h1,
.com-contact.contact > h2,
.com-contact.contact .contact-name,
.com-contact.contact .contact-category,
.com-contact.contact .contact-address,
.com-contact.contact .contact-miscinfo {
    display: none !important;
}

/* Contact form area */
.com-contact.contact .contact-form {
    max-width: 820px;
    margin: 0 auto;
}

/* Joomla default form headings */
.com-contact.contact .contact-form > h3 {
    display: none !important;
}

/* Form */
.com-contact.contact form {
    margin-top: 0;
}

/* Labels */
.com-contact.contact .control-label,
.com-contact.contact label {
    display: block;
    margin-bottom: 9px;

    font-size: 11px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0.11em;
    text-transform: uppercase;

    color: #526174;
}

/* Form rows */
.com-contact.contact .control-group {
    margin-bottom: 28px;
}

/* Inputs */
.com-contact.contact input[type="text"],
.com-contact.contact input[type="email"],
.com-contact.contact input[type="url"],
.com-contact.contact input[type="tel"],
.com-contact.contact textarea {
    width: 100%;
    max-width: none;

    padding: 15px 16px;

    border: 1px solid #d5dbe2;
    border-radius: 0;

    background: #ffffff;
    color: #172437;

    font-family: inherit;
    font-size: 15px;
    line-height: 1.5;

    box-shadow: none;

    transition:
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

/* Input height */
.com-contact.contact input[type="text"],
.com-contact.contact input[type="email"],
.com-contact.contact input[type="url"],
.com-contact.contact input[type="tel"] {
    min-height: 52px;
}

/* Message */
.com-contact.contact textarea {
    min-height: 190px;
    resize: vertical;
}

/* Focus */
.com-contact.contact input:focus,
.com-contact.contact textarea:focus {
    outline: none;
    border-color: #536b88;
    box-shadow: 0 0 0 3px rgba(83, 107, 136, 0.08);
}

/* Required field text */
.com-contact.contact .star,
.com-contact.contact .required {
    color: inherit;
}

/* Send button */
.com-contact.contact button[type="submit"],
.com-contact.contact .btn-primary {
    min-width: 180px;
    min-height: 52px;

    padding: 15px 28px;

    border: 1px solid #263b55;
    border-radius: 0;

    background: #263b55;
    color: #ffffff;

    font-family: inherit;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;

    box-shadow: none;

    transition:
        background 0.25s ease,
        color 0.25s ease;
}

/* Button hover */
.com-contact.contact button[type="submit"]:hover,
.com-contact.contact .btn-primary:hover {
    background: #ffffff;
    color: #263b55;
}

/* Mobile */
@media (max-width: 768px) {

    .com-contact.contact {
        padding: 55px 22px 80px;
    }

    .com-contact.contact .contact-form {
        max-width: 100%;
    }

    .com-contact.contact .control-group {
        margin-bottom: 22px;
    }

    .com-contact.contact button[type="submit"],
    .com-contact.contact .btn-primary {
        width: 100%;
    }
}
/* =========================================================
   GPM CONTACT – REMOVE JOOMLA DEFAULT HEADINGS
   ========================================================= */

/* Remaining Joomla Contact heading */
.com-contact.contact .page-header,
.com-contact.contact .page-header h1,
.com-contact.contact .page-header h2 {
    display: none !important;
}

/* "Send an Email" */
.com-contact.contact .contact-form legend {
    display: none !important;
}

/* "* Required field" Joomla notice */
.com-contact.contact .contact-form .text-muted {
    display: none !important;
}

/* Remove empty spacing left by Joomla headings */
.com-contact.contact .contact-form fieldset {
    margin: 0;
    padding: 0;
    border: 0;
}
/* =========================================================
   GPM CONTACT OVERRIDE – FINAL INTEGRATION
   ========================================================= */

.com-contact.contact {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

.com-contact.contact .gpm-contact-page {
    width: 100%;
    max-width: none;
}

/* Real Joomla form inside premium layout */
.gpm-contact-form-wrapper .contact-form {
    width: 100%;
    max-width: none;
    margin: 0;
}

.gpm-contact-form-wrapper .com-contact__form {
    width: 100%;
}

.gpm-contact-form-section .gpm-contact-direct-grid {
    align-items: start;
}

.gpm-contact-form-intro {
    max-width: 520px;
    margin: 30px 0 0;
    font-size: 1rem;
    line-height: 1.75;
    color: #5c6d79;
}

.gpm-contact-form-wrapper .control-group {
    margin-bottom: 24px;
}

.gpm-contact-form-wrapper textarea {
    min-height: 210px;
}

@media (max-width: 900px) {
    .gpm-contact-form-wrapper {
        width: 100%;
    }
}
/* CONTACT PAGE – remove Joomla Contact heading */
.com-contact__container > h2:first-child {
    display: none !important;
}
/* =========================================================
   HOME – PRECISION SECTION REPAIR
   ========================================================= */

body.itemid-102 .gpm-precision {
    width: 100%;
    overflow: hidden;
    background: #ffffff;
}

body.itemid-102 .gpm-precision-inner {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    align-items: stretch;
}

body.itemid-102 .gpm-precision-image {
    width: 100%;
    min-height: 560px;
    overflow: hidden;

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

body.itemid-102 .gpm-precision-content {
    width: 100%;
    min-width: 0;

    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 85px 70px;

    background: #ffffff;
}

body.itemid-102 .gpm-precision-eyebrow {
    margin-bottom: 18px;
}

body.itemid-102 .gpm-precision-content h2 {
    max-width: 520px;
}

body.itemid-102 .gpm-precision-intro {
    max-width: 520px;
}

body.itemid-102 .gpm-precision-facts {
    width: 100%;
    max-width: 520px;
}

/* Prevent this section from creating horizontal scrolling */
body.itemid-102 .gpm-precision,
body.itemid-102 .gpm-precision-inner,
body.itemid-102 .gpm-precision-image,
body.itemid-102 .gpm-precision-content {
    box-sizing: border-box;
    max-width: 100%;
}


/* TABLET */
@media (max-width: 900px) {

    body.itemid-102 .gpm-precision-inner {
        grid-template-columns: 1fr;
    }

    body.itemid-102 .gpm-precision-image {
        min-height: 430px;
    }

    body.itemid-102 .gpm-precision-content {
        padding: 70px 7vw 75px;
    }
}


/* MOBILE */
@media (max-width: 600px) {

    body.itemid-102 .gpm-precision-image {
        min-height: 320px;
    }

    body.itemid-102 .gpm-precision-content {
        padding: 55px 22px 65px;
    }
}
/* =========================================
   HOME HERO – prevent horizontal overflow
   ========================================= */

body.itemid-102 .gpm-hero {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}
/* =========================================
   MOBILE NAVIGATION – HAMBURGER
   ========================================= */
@media (max-width: 991.98px) {

    body.itemid-102 .container-header .navbar-toggler {
        color: #233746 !important;
        border: 1px solid #233746 !important;
    }

}
/* =========================================
   GPM DESKTOP MENU – OPEN ON HOVER
   ========================================= */

@media (min-width: 992px) {

    /* Dropdown standardmäßig geschlossen */
    .container-header .mod-menu > li > .mod-menu__sub {
        display: block !important;
        visibility: hidden !important;
        opacity: 0 !important;
        transform: translateY(6px) !important;
        pointer-events: none !important;

        transition:
            opacity 0.18s ease,
            transform 0.18s ease,
            visibility 0.18s ease !important;
    }

    /* Dropdown beim Hover öffnen */
    .container-header .mod-menu > li:hover > .mod-menu__sub,
    .container-header .mod-menu > li:focus-within > .mod-menu__sub {
        visibility: visible !important;
        opacity: 1 !important;
        transform: translateY(0) !important;
        pointer-events: auto !important;
    }
}
/* =========================================
   GPM PRODUCTS - DESKTOP HOVER FIX
   ========================================= */

@media (min-width: 992px) {

    .container-header .metismenu.mod-menu
    > .metismenu-item.deeper.parent
    > .mm-collapse {
        display: block !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;

        transform: translateY(6px) !important;

        transition:
            opacity 0.18s ease,
            transform 0.18s ease,
            visibility 0.18s ease !important;
    }

    .container-header .metismenu.mod-menu
    > .metismenu-item.deeper.parent:hover
    > .mm-collapse,
    
    .container-header .metismenu.mod-menu
    > .metismenu-item.deeper.parent:focus-within
    > .mm-collapse {
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;

        transform: translateY(0) !important;
    }
}
