:root {
    --primary-color: #13315D;
    --secondary-color: #F59C30;
    --white-color: #FFFFFF;
    --text-color: #222222;
    --blue-color: #2B589A;
    --black-color: #000000;
    --bluelight-color: #2B4872;
    --bluemedium-color: #13315D
}

/* Type scale: every font-size of the site uses one of these steps. In rem, so text follows the visitor's
   browser font-size setting; the larger steps shrink smoothly from 1200px down to ~375px wide, so they need
   no per-breakpoint override. */
:root {
    --fs-xs: .75rem;                                        /* 12px: tags, labels */
    --fs-sm: .875rem;                                       /* 14px: captions, small text */
    --fs-base: 1rem;                                        /* 16px: body text */
    --fs-md: 1.125rem;                                      /* 18px: menu, emphasised text */
    --fs-lead: clamp(1rem, .83rem + .73vw, 1.375rem);       /* 16-22px: section intros, lead paragraphs */
    --fs-lg: clamp(1.1875rem, 1.0625rem + .45vw, 1.375rem); /* 19-22px: card titles */
    --fs-xl: clamp(1.25rem, 1.125rem + .5vw, 1.5rem);       /* 20-24px: small sub-headings */
    --fs-2xl: clamp(1.5rem, 1.25rem + 1vw, 2rem);           /* 24-32px: sub-headings, quotes */
    --fs-3xl: clamp(1.75rem, 1.3rem + 1.6vw, 2.5rem);       /* 28-40px: section titles */
    --fs-4xl: clamp(2.25rem, 1.725rem + 2.2vw, 3.375rem);   /* 36-54px: page titles */
}

@font-face {
    font-family: Poppins;
    src: url('../fonts/Poppins-Light.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: Poppins;
    src: url('../fonts/Poppins-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: Poppins;
    src: url('../fonts/Poppins-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: Poppins;
    src: url('../fonts/Poppins-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: Poppins;
    src: url('../fonts/Poppins-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap
}

/* Raleway is only used for the decorative quotation marks. */
@font-face {
    font-family: Raleway;
    src: url('../fonts/Raleway-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap
}

.container {
    max-width: 1430px
}

.hero-section {
    position: relative;
    min-height: 730px;
    background-image: url("../images/main-image.webp");
    background-size: cover;
    background-position: center;
    overflow: hidden;
    color: var(--white-color);
    padding-top: 69px
}

.hero-bg-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
    opacity: 0;
    transition: opacity .8s ease
}

    .hero-bg-video.is-playing {
        opacity: 1
    }

.hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(281.18deg,rgba(22,44,77,.98) .85%,rgba(43,72,114,.784) 12.96%,rgba(37,64,106,.539) 42.44%,rgba(43,72,114,.8526) 70.39%,rgba(32,57,94,.98) 90.77%);
    z-index: 1
}

    .hero-bg-video ~ .hero-overlay {
        background: linear-gradient(281.18deg,rgba(22,44,77,.3) .85%,rgba(43,72,114,.4) 12.96%,rgba(37,64,106,.539) 42.44%,rgba(43,72,114,.8526) 70.39%,rgba(32,57,94,.98) 90.77%)
    }

.hero-container {
    position: relative;
    z-index: 5;
    padding-top: 50px
}

    .hero-container .col-lg-6:first-child {
        padding-left: 60px
    }

.hero-content {
    max-width: 560px
}

.hero-tag {
    display: inline-flex;
    align-items: center;
    min-height: 31px;
    padding: 5px 15px 5px 0px;
    border: 1px solid var(--secondary-color);
    border-radius: 30px;
    color: var(--secondary-color);
    font-size: var(--fs-sm);
    font-weight: 400;
    letter-spacing: .5px;
    margin-bottom: 17px
}

.solution-2 .row {
    margin: 0;
}

.hero-content h1 {
    margin: 0;
    color: var(--white-color);
    font-size: var(--fs-4xl);
    line-height: 1.22;
    font-weight: 300
}

    /* Home page title: a step smaller than other page titles (32-46px instead of 36-54px) */
    .hero-content h1.hero-title-home {
        font-size: clamp(2rem, 1.55rem + 1.6vw, 2.875rem);
    }

    .cta-content strong, .features-heading h2 strong, .free-trial-content h2 strong, .hero-content h1 strong, .solutions-heading h2 strong {
        font-weight: 700
    }

.hero-description {
    margin-top: 20px;
    margin-bottom: 28px;
    font-size: var(--fs-md);
    line-height: 1.5;
    color: var(--white-color)
}

.hero-btn {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    min-width: 178px;
    height: 48px;
    padding: 0 23px;
    background: var(--secondary-color);
    border-radius: 8px;
    color: var(--white-color);
    text-decoration: none;
    font-size: var(--fs-md);
    font-weight: 500;
    transition: .3s
}

    .hero-btn:hover {
        background: var(--white-color);
        color: var(--secondary-color)
    }

        .hero-btn:hover svg path {
            stroke: var(--secondary-color)
        }

    .hero-btn .arrow {
        font-size: 1.625rem;
        line-height: 1
    }

.hero-video {
    height: 450px;
    display: flex;
    align-items: center;
    justify-content: start
}

.intro-video-player {
    position: fixed;
    inset: 0;
    z-index: 2147483647;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #000
}

    .intro-video-player[hidden] {
        display: none
    }

    .intro-video-player video {
        width: 100%;
        height: 100%;
        object-fit: contain
    }

.intro-video-close {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 1;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 50%;
    background: rgba(255,255,255,.15);
    color: var(--white-color);
    font-size: 1.75rem;
    line-height: 1;
    cursor: pointer;
    transition: .3s
}

    .intro-video-close:hover {
        background: rgba(255,255,255,.3)
    }

.video-modal {
    display: none;
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,.75);
    align-items: center;
    justify-content: center
}

    .video-modal.active {
        display: flex
    }

.video-modal-content {
    background-color: #3b4b6b;
    padding: 30px 20px 15px;
    border-radius: 12px;
    position: relative;
    width: 90%;
    max-width: 800px;
    box-shadow: 0 10px 30px rgba(0,0,0,.5)
}

    .video-modal-content video {
        width: 100%;
        border-radius: 8px;
        display: block
    }

.close-modal {
    position: absolute;
    top: 10px;
    right: 15px;
    color: #fff;
    font-size: 1.5rem;
    cursor: pointer;
    line-height: 1
}

    .close-modal:hover {
        color: #ccc
    }

.video-title {
    color: #fff;
    margin-top: 15px;
    margin-bottom: 0;
    font-size: var(--fs-md)
}

.play-btn {
    width: 100px;
    height: 100px;
    border: 3px solid rgb(178 190 201);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: .3s
}

    .play-btn:hover {
        background: rgba(255,255,255,.15);
        transform: scale(1.05)
    }

.play-icon {
    margin-left: 8px
}

/* A still of the introduction video with the hero play button over it (testimonials page). */
.intro-video-thumb {
    position: relative
}

    /* Centred with inset/margin, not transform: the button's reveal animation (animation.css) owns transform. */
    .intro-video-thumb .play-btn {
        position: absolute;
        inset: 0;
        margin: auto;
        background: rgba(19, 49, 93, .55)
    }

        .intro-video-thumb .play-btn:hover {
            background: rgba(19, 49, 93, .75)
        }

.hero-bottom-shape {
    position: absolute;
    z-index: 6;
    left: -2%;
    bottom: -1px;
    width: 104%;
    height: 105px;
    background: var(--white-color);
    clip-path: polygon(0 0,100% 100%,100% 100%,0 100%)
}

/* Soft blue pill: light tint of --primary-color, navy text */
.section-tag {
    display: inline-flex;
    align-items: center;
    height: 30px;
    padding: 0 14px;
    border-radius: 20px;
    background: #E6ECF5;
    color: var(--primary-color);
    font-size: var(--fs-sm);
    font-weight: 400;
    letter-spacing: 1.2px;
    margin-bottom: 28px
}

.heading-line {
    display: block;
    width: 88px;
    height: 4px;
    background: var(--secondary-color);
    margin: 12px 0 18px
}

.solutions-section {
    padding: 70px 0 80px;
    background: var(--white-color)
}

.solutions-heading {
    margin-bottom: 45px
}

    .solutions-heading h2 {
        margin: 0;
        color: var(--primary-color);
        font-size: var(--fs-3xl);
        line-height: 1.2;
        font-weight: 400
    }

    .solutions-heading p {
        margin: 0;
        color: var(--text-color);
        font-size: var(--fs-lead);
        line-height: 1.6
    }

.solution-card {
    position: relative;
    height: 450px;
    background: var(--white-color);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 5px 18px rgba(0,0,0,.12);
    display: flex;
    flex-direction: column
}

.solution-image {
    position: relative;
    height: 240px;
    flex-shrink: 0;
    overflow: hidden
}

    .solution-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block
    }

    .solution-image .image-overlay {
        position: absolute;
        inset: 0;
        background: linear-gradient(281.18deg,rgba(22,44,77,.3) .85%,rgba(43,72,114,.4) 12.96%,rgba(37,64,106,.5) 42.44%,rgba(43,72,114,.65) 70.39%,rgba(32,57,94,.8) 90.77%)
    }

    .solution-image h3 {
        position: absolute;
        left: 20px;
        bottom: 21px;
        margin: 0;
        color: var(--white-color);
        font-size: var(--fs-lg);
        line-height: 1.2;
        font-weight: 500;
        z-index: 2
    }

.solution-content {
    position: relative;
    flex: 1;
    padding: 20px;
    display: flex;
    flex-direction: column;
    background: var(--white-color)
}

    .solution-content p {
        max-width: 285px;
        margin: 0;
        color: var(--black-color);
        font-size: var(--fs-base);
        line-height: 1.55
    }

    .solution-content::after {
        content: "";
        position: absolute;
        right: 0;
        bottom: 0;
        width: 135px;
        height: 90px;
        background: #f59C3010;
        clip-path: polygon(100% 0,100% 100%,0 100%);
        z-index: 1
    }

.solution-bottom {
    position: relative;
    z-index: 3;
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: space-between
}

    .solution-bottom a {
        color: var(--bluelight-color);
        font-size: var(--fs-base);
        font-weight: 500;
        text-decoration: underline
    }

        .solution-bottom a:hover {
            color: var(--secondary-color)
        }

    .solution-bottom .card-arrow {
        font-size: 1.75rem;
        line-height: 1;
        text-decoration: none
    }

        .solution-bottom .card-arrow:hover svg path {
            stroke: var(--secondary-color)
        }

.why-matters-section {
    padding: 65px 0 80px;
    background: var(--white-color)
}

.why-matters-heading, .why-section-heading {
    margin-bottom: 47px
}

    .why-matters-heading h2 {
        margin: 0 auto 50px;
        color: var(--bluemedium-color);
        font-size: var(--fs-3xl);
        line-height: 1.2;
        font-weight: 400;
        width: max-content
    }

        .adoption-heading h2::after, .features-heading h2::after, .why-matters-heading h2::after, .why-section-heading h2::after {
            content: "";
            display: block;
            width: 88px;
            height: 4px;
            background: var(--secondary-color);
            margin: 15px auto 0;
            position: absolute
        }

    .why-matters-heading p {
        margin: 0;
        color: var(--bluelight-color);
        font-size: var(--fs-lead);
        line-height: 1.55
    }

.why-card {
    position: relative;
    min-height: 520px;
    padding: 40px 24px 25px;
    background: var(--white-color);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 5px 18px rgba(0,0,0,.1)
}

.card-corner {
    position: absolute;
    top: 0;
    right: 0;
    width: 148px;
    height: 100px;
    background: #fff5e8;
    clip-path: polygon(0 0,100% 0,100% 100%);
    z-index: 1
}

.why-card-icon {
    position: relative;
    width: 100px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 23px;
    z-index: 2
}

    .why-card-icon img {
        max-width: 85px;
        max-height: 85px;
        width: auto;
        height: auto;
        display: block
    }

.why-card-content {
    position: relative;
    z-index: 2
}

    .why-card-content h3 {
        margin: 0 0 7px;
        color: var(--bluelight-color);
        font-size: var(--fs-lg);
        line-height: 1.25;
        font-weight: 500
    }

    .why-card-content h4 {
        margin: 0 0 27px;
        color: var(--black-color);
        font-size: var(--fs-md);
        line-height: 1.45;
        font-weight: 300
    }

    .why-card-content ul {
        list-style: none;
        padding: 0;
        margin: 0
    }

    .why-card-content li {
        display: flex;
        align-items: flex-start;
        gap: 11px;
        margin-bottom: 17px
    }

        .why-card-content li:last-child {
            margin-bottom: 0
        }

.check-icon {
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    border: 2px solid #2b4872;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #2b4872;
    font-size: 0.875rem;
    line-height: 1;
    margin-top: 2px
}

.why-card-content li p {
    margin: 0;
    color: var(--black-color);
    font-size: var(--fs-base);
    line-height: 1.55;
    font-weight: 300
}

.features-section {
    padding: 52px 0 38px;
    background: var(--white-color);
    overflow: hidden
}

.features-heading {
    margin-bottom: 35px
}

    .features-heading .section-tag {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 30px;
        padding: 4px 14px;
        border-radius: 20px;
        background: #E6ECF5;
        color: var(--primary-color);
        font-size: var(--fs-sm);
        font-weight: 400;
        letter-spacing: 1.2px;
        margin-bottom: 24px
    }

    .features-heading h2 {
        margin: 0 auto 50px;
        color: var(--bluemedium-color);
        font-size: var(--fs-3xl);
        line-height: 1.2;
        font-weight: 400;
        width: max-content
    }

    .features-heading .heading-line {
        display: block;
        width: 66px;
        height: 3px;
        background: var(--secondary-color);
        margin: 10px auto 12px
    }

    .features-heading p {
        margin: 0;
        color: var(--bluelight-color);
        font-size: var(--fs-lead);
        line-height: 1.5
    }

.features-read-more {
    margin-top: 35px
}

.read-more-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    min-width: 159px;
    height: 48px;
    padding: 0 18px;
    background: var(--secondary-color);
    border-radius: 8px;
    color: var(--white-color);
    font-size: var(--fs-base);
    font-weight: 500;
    text-decoration: none;
    transition: .3s
}

    .read-more-btn span:last-child {
        font-size: 1.25rem;
        line-height: 1
    }

    .read-more-btn:hover {
        background: var(--primary-color);
        color: var(--white-color)
    }

.why-archeobase-section {
    position: relative;
    padding: 70px 0 55px;
    background: var(--white-color);
    overflow: hidden
}

.why-section-heading h2 {
    margin: 0 auto 70px;
    color: var(--bluemedium-color);
    font-size: var(--fs-3xl);
    line-height: 1.2;
    font-weight: 400;
    width: max-content
}

/* A title inside a half-width column: it wraps within the column instead of running under the photo beside it. */
.why-section-heading-inline h2 {
    width: auto;
    margin-bottom: 50px;
}

.why-section-heading span {
    display: block;
    width: 88px;
    height: 4px;
    margin: 14px auto 0;
    background: var(--secondary-color)
}

.why-image-card {
    position: relative;
    height: 590px;
    overflow: hidden;
    border-radius: 10px;
    box-shadow: 0 5px 14px rgba(0,0,0,.14)
}

    .free-trial-image img, .why-image-card img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
        object-position: center
    }

.why-image-overlay {
    position: absolute;
    inset: 0;
    background: rgba(20,55,95,.7)
}

.why-image-card h3 {
    position: absolute;
    left: 40px;
    bottom: 42px;
    margin: 0;
    color: var(--white-color);
    font-size: var(--fs-2xl);
    line-height: 1.3;
    font-weight: 400;
    z-index: 2
}

.why-accordion {
    width: 100%
}

    .why-accordion .accordion-item {
        position: relative;
        margin-bottom: 23px;
        border: 0 !important;
        border-left: 6px solid var(--secondary-color) !important;
        border-radius: 5px !important;
        background: var(--white-color);
        box-shadow: 0 4px 13px rgba(0,0,0,.08);
        overflow: hidden
    }

        .why-accordion .accordion-item:has(.accordion-collapse.show) {
            border-left-color: var(--primary-color) !important
        }

    .why-accordion .accordion-button {
        position: relative;
        min-height: 73px;
        padding: 0 55px 0 18px;
        border: 0 !important;
        border-radius: 0 !important;
        background: var(--white-color) !important;
        color: var(--primary-color) !important;
        font-size: var(--fs-lg);
        line-height: 1.3;
        font-weight: 400;
        box-shadow: none !important
    }

        .why-accordion .accordion-button::after, .why-accordion .accordion-item:not(:has(.accordion-button:not(.collapsed))) .accordion-button::after {
            display: none
        }

        .why-accordion .accordion-button::before {
            content: "+";
            position: absolute;
            right: 25px;
            top: 50%;
            width: 29px;
            height: 29px;
            transform: translateY(-50%);
            display: flex;
            align-items: center;
            justify-content: center;
            border: 2px solid var(--primary-color);
            border-radius: 50%;
            color: var(--primary-color);
            font-size: 1.375rem;
            font-weight: 300;
            line-height: 1;
            z-index: 1
        }

        .why-accordion .accordion-button:not(.collapsed)::before {
            content: "\2212"
        }

    .why-accordion .accordion-collapse {
        position: relative
    }

        .why-accordion .accordion-collapse::after {
            content: "";
            position: absolute;
            right: 0;
            bottom: 0;
            width: 125px;
            height: 88px;
            background: #eef7ff;
            clip-path: polygon(100% 0,100% 100%,0 100%);
            pointer-events: none
        }

    .why-accordion .accordion-body {
        position: relative;
        z-index: 2;
        padding: 0 55px 20px 18px
    }

        .why-accordion .accordion-body p {
            max-width: 470px;
            margin: 0 0 38px;
            color: var(--text-color);
            font-size: var(--fs-base);
            line-height: 1.45
        }

.know-more-btn {
    position: relative;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 132px;
    height: 41px;
    padding: 0 22px;
    border: 1px solid var(--secondary-color);
    border-radius: 8px;
    color: var(--secondary-color);
    font-size: var(--fs-base);
    font-weight: 500;
    text-decoration: none;
    transition: .3s
}

    .know-more-btn:hover {
        background: var(--secondary-color);
        color: var(--white-color)
    }

.why-accordion .accordion-item:not(:has(.accordion-button:not(.collapsed))) {
    background: var(--white-color)
}

    .why-accordion .accordion-item:not(:has(.accordion-button:not(.collapsed)))::after {
        content: "";
        position: absolute;
        right: 0;
        bottom: 0;
        width: 105px;
        height: 72px;
        background: #fff5e8;
        clip-path: polygon(100% 0,100% 100%,0 100%);
        pointer-events: none
    }

.adoption-section {
    padding: 50px 0 70px;
    background: var(--white-color);
    overflow: hidden
}

.adoption-heading {
    margin-bottom: 52px
}

    .adoption-heading h2 {
        margin: 0 auto 50px;
        color: var(--bluemedium-color);
        font-size: var(--fs-3xl);
        line-height: 1.2;
        font-weight: 400;
        width: max-content
    }

    .adoption-heading .heading-line {
        display: block;
        width: 88px;
        height: 4px;
        margin: 14px auto 17px;
        background: var(--secondary-color)
    }

    .adoption-heading p {
        margin: 0;
        color: var(--text-color);
        font-size: var(--fs-lead);
        line-height: 1.5
    }

/* Cards stretch to the tallest one, so a longer translation grows all three together and their tops stay
   aligned with the arrow band (top: 125px). */
.adoption-row {
    position: relative;
    align-items: stretch
}

    .adoption-row::before {
        content: "";
        position: absolute;
        left: -85px;
        right: -85px;
        top: 125px;
        height: 109px;
        background: linear-gradient(90deg,#3e7fa7 61%,#3d6aa7 66.6666%);
        clip-path: polygon(0 0,96% 0,100% 50%,96% 100%,0 100%,4% 50%);
        z-index: 0
    }

    .adoption-row::after {
        content: "";
        position: absolute;
        left: -85px;
        top: 125px;
        width: 39%;
        height: 109px;
        background: #3dbbc2;
        clip-path: polygon(0 0,90% 0,100% 50%,90% 100%,0 100%,8% 50%);
        z-index: 1
    }

    .adoption-row > div {
        position: relative;
        z-index: 3
    }

        .adoption-row > div:first-child::after, .adoption-row > div:nth-child(2)::after {
            content: "";
            position: absolute;
            top: 125px;
            right: -3px;
            width: 65px;
            height: 109px;
            background: var(--white-color);
            clip-path: polygon(0 0,25% 0,100% 50%,25% 100%,0 100%,72% 50%);
            z-index: 5
        }

.adoption-card {
    position: relative;
    width: 295px;
    min-height: 392px;
    height: 100%;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 10px;
    background: linear-gradient(to bottom,#eaf5fd 0,#f8fbfe 31%,#b7dce7 51%,#f8fbfe 68%,#eaf5fd 100%);
    box-shadow: 0 8px 25px rgba(0,0,0,.1);
    text-align: center;
    z-index: 6
}

.step-number {
    padding-top: 32px;
    color: var(--bluemedium-color);
    font-size: 3rem;
    line-height: 1;
    font-weight: 600
}

.step-number1 {
    color: #13315d
}

.step-number2 {
    color: #3e6caa
}

.step-icon {
    height: 177px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 5px
}

    .step-icon img {
        width: 88px;
        height: 88px;
        object-fit: contain
    }

.step-content {
    padding: 0 15px
}

    .step-content h3 {
        margin: 0 0 13px;
        color: var(--black-color);
        font-size: var(--fs-lg);
        line-height: 1.2;
        font-weight: 500
    }

    .step-content p {
        margin: 0;
        color: var(--black-color);
        font-size: var(--fs-base);
        line-height: 1.5
    }

.cta-banner-section {
    padding: 35px 0 70px;
    background: var(--white-color)
}

.cta-banner {
    min-height: 88px;
    padding: 0 27px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    background: #edf7ff;
    border-radius: 9px
}

.cta-content {
    flex: 1
}

    .cta-content p {
        margin: 0;
        color: var(--primary-color);
        font-size: var(--fs-lead);
        line-height: 1.4;
        font-weight: 400
    }

.cta-button-wrap {
    flex-shrink: 0
}

.cta-button {
    min-width: 178px;
    height: 48px;
    padding: 0 15px;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    background: var(--secondary-color);
    border-radius: 8px;
    color: var(--white-color);
    font-size: var(--fs-base);
    font-weight: 500;
    text-decoration: none;
    transition: .3s
}

    .cta-button:hover {
        background: var(--primary-color);
        color: var(--white-color)
    }

.cta-arrow {
    font-size: 1.5625rem;
    line-height: 1
}

.testimonials-section {
    position: relative;
    min-height: 625px;
    padding: 68px 0 100px;
    background-image: url("../images/testimonials-bg.webp");
    background-size: cover;
    background-position: center;
    color: var(--white-color);
    overflow: visible
}

    .testimonials-section::before {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(275.16deg,rgba(22,44,77,.88) .04%,rgba(43,72,114,.704) 18.73%,rgba(37,64,106,.484) 44.02%,rgba(43,72,114,.7656) 65.9%,rgba(32,57,94,.88) 86.44%);
        z-index: 0
    }

    .testimonials-section .container {
        position: relative;
        z-index: 2
    }

/* Label on dark backgrounds: see-through orange pill, light orange text */
.testimonial-tag {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 4px 14px;
    border-radius: 20px;
    background: rgba(245,156,48,.2);
    color: #FFC57E;
    font-size: var(--fs-sm);
    font-weight: 400;
    letter-spacing: 1.2px;
    margin-bottom: 18px
}

/* About Us "What we believe" sits on a light background: same soft blue pill as .section-tag */
.belief-section .testimonial-tag {
    background: #E6ECF5;
    color: var(--primary-color)
}

.testimonial-btn {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-width: 237px;
    height: 50px;
    margin-top: 28px;
    padding: 0 20px;
    background: var(--secondary-color);
    border-radius: 8px;
    color: var(--white-color);
    font-size: var(--fs-base);
    font-weight: 500;
    text-decoration: none;
    transition: .3s
}

    .testimonial-btn span:last-child {
        font-size: 1.625rem;
        line-height: 1
    }

    .testimonial-btn:hover {
        background: var(--white-color);
        color: var(--primary-color)
    }

a.testimonial-btn:hover svg path {
    stroke: var(--primary-color)
}

/* "The expertise and security of a Swiss company", in one row just below the testimonials. */
.expertise-section {
    padding: 20px 0 0;
    background: var(--white-color)
}

.expertise-card {
    display: flex;
    align-items: center;
    gap: 32px;
    padding: 32px 36px;
    background: var(--white-color);
    color: #111;
    box-shadow: 0 8px 22px rgba(0,0,0,.16)
}

.expertise-card__icon {
    flex-shrink: 0;
    width: 65px;
    height: 65px;
    object-fit: contain
}

.expertise-card__body {
    flex: 1
}

    .expertise-card__body h3 {
        margin: 0 0 10px;
        color: #111;
        font-size: var(--fs-lg);
        line-height: 1.35;
        font-weight: 500
    }

    .expertise-card__body p {
        margin: 0;
        color: #222;
        font-size: var(--fs-base);
        line-height: 1.58
    }

.expertise-card .learn-more-btn {
    flex-shrink: 0;
    margin-top: 0
}

.learn-more-btn {
    position: relative;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 132px;
    height: 48px;
    margin-top: 20px;
    border: 1px solid var(--secondary-color);
    border-radius: 8px;
    color: var(--secondary-color);
    font-size: var(--fs-base);
    font-weight: 500;
    text-decoration: none;
    transition: .3s
}

    .learn-more-btn:hover {
        background: var(--secondary-color);
        color: var(--white-color)
    }

.testimonials-bottom-shape {
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 100%;
    height: 105px;
    background: var(--white-color);
    clip-path: polygon(0 70%,100% 0,100% 100%,0 100%);
    z-index: 1
}

.free-trial-section {
    padding: 100px 0 120px;
    background: var(--white-color)
}

.free-trial-box {
    position: relative;
    min-height: 648px;
    display: flex;
    overflow: hidden;
    border-radius: 10px;
    background: linear-gradient( 114.32deg, #13315D 4.03%, #2A5692 49.42%, #13315D 94.81% )
}

.free-trial-content {
    position: relative;
    z-index: 3;
    width: 55%;
    padding: 72px 48px 55px
}

.free-trial-tag {
    display: inline-flex;
    align-items: center;
    min-height: 31px;
    padding: 5px 15px;
    border: 1px solid var(--secondary-color);
    border-radius: 20px;
    color: var(--secondary-color);
    font-size: var(--fs-sm);
    font-weight: 500;
    letter-spacing: .5px;
    margin-bottom: 30px
}

.free-trial-content h2 {
    margin: 0;
    color: var(--white-color);
    font-size: var(--fs-3xl);
    line-height: 1.36;
    font-weight: 400
}

.free-trial-btn {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-width: 187px;
    height: 48px;
    margin-top: 40px;
    padding: 0 20px;
    background: var(--secondary-color);
    border-radius: 8px;
    color: var(--white-color);
    font-size: var(--fs-base);
    font-weight: 500;
    text-decoration: none;
    transition: .3s
}

    .free-trial-btn:hover {
        background: var(--white-color);
        color: #243f67
    }

        .free-trial-btn:hover svg path {
            stroke: var(--primary-color)
        }

.free-trial-image {
    position: absolute;
    top: 0;
    right: 0;
    width: 61%;
    height: 100%;
    overflow: hidden;
    clip-path: polygon(13% 0,100% 0,100% 100%,50% 100%)
}

.tw {
    display: inline-block;
    max-width: 380px
}

    .tw::after {
        content: '|';
        animation: .8s step-end infinite blink
    }

.tw-line {
    display: block;
    min-height: 1.5em
}

    .tw-line.is-typing::after {
        content: '|';
        animation: .8s step-end infinite blink
    }

@keyframes blink {
    50% {
        opacity: 0
    }
}

body {
    font-family: Poppins,sans-serif
}

/* Default heading sizes, Bootstrap's heading and display classes included. Section rules below may set another step. */
h1, .h1 {
    font-size: var(--fs-4xl);
    font-weight: 300
}

h2, .h2, .display-4, .display-5, .display-6 {
    font-size: var(--fs-3xl);
    font-weight: 400
}

h3, .h3 {
    font-size: var(--fs-2xl)
}

h4, .h4 {
    font-size: var(--fs-xl)
}

h5, .h5 {
    font-size: var(--fs-lg)
}

h6, .h6 {
    font-size: var(--fs-base)
}

/* Emphasis in a title stays bold: Bootstrap's "bolder" only gives 400 on a light (300) title. */
h1 strong, h2 strong {
    font-weight: 700
}

.site-header {
    position: fixed;
    z-index: 10;
    padding-top: 20px;
    top: 0;
    width: 100%;
    padding-bottom: 20px
}

.navbar, .navbar-brand {
    padding: 0
}

    .navbar-brand img {
        max-width: 195px;
        height: auto
    }

.navbar-nav {
    gap: 28px
}

/* Desktop menu (from 1200px, navbar-expand-xl in _Header.cshtml): a label never wraps onto two lines ("Über uns",
   "À propos"); German labels make the row long, so the gap tightens on medium-wide screens. */
@media (min-width: 1200px) {
    .navbar-nav .nav-link {
        white-space: nowrap;
    }
}

@media (min-width: 1200px) and (max-width: 1399px) {
    .site-header .navbar-nav {
        gap: 12px
    }

        .site-header .navbar-nav .nav-link {
            font-size: var(--fs-base)
        }
}

@media (min-width: 1400px) and (max-width: 1599px) {
    .site-header .navbar-nav {
        gap: 18px
    }
}

header.site-header.sticky-header {
    background: var(--primary-color);
    z-index: 99999999999
}

/* An open Bootstrap modal (z-index 1055) and its backdrop go over the sticky header. */
body.modal-open header.site-header.sticky-header {
    z-index: 1030;
}

.navbar-nav .nav-link {
    color: var(--white-color);
    font-size: var(--fs-md);
    font-weight: 400;
    padding: 10px 0;
    transition: .3s;
}

    .navbar-nav .nav-link.active, .navbar-nav .nav-link:hover {
        color: var(--secondary-color)
    }

.header-btn-wrap {
    margin-left: 25px
}

.header-btn {
    min-width: 182px;
    height: 48px;
    padding: 0 22px;
    border: 1px solid rgba(255,255,255,.8);
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    color: var(--white-color);
    text-decoration: none;
    font-size: var(--fs-base);
    transition: .3s;
}

    .header-btn:hover {
        background: var(--secondary-color);
        border-color: var(--secondary-color);
        color: var(--white-color)
    }

    .header-btn .arrow {
        font-size: 1.6875rem;
        line-height: 1
    }

.navbar-toggler {
    border: 1px solid rgba(255,255,255,.7);
    padding: 8px 10px
}

    .navbar-toggler:focus {
        box-shadow: none
    }

.navbar-toggler-icon {
    filter: brightness(0) invert(1)
}

.quote-mark {
    flex-shrink: 0;
    margin-top: -10px;
    color: #f59c30;
    font-size: 8rem;
    line-height: .8;
    font-weight: 700;
    font-family: Raleway,sans-serif;
    position: relative;
    top: 16px;
    opacity: .68
}

.page-tag {
    color: var(--secondary-color);
    text-transform: uppercase;
    float: left;
    width: 100%;
    margin-bottom: 20px
}

.hero-content-inner-pages h1 {
    font-weight: 300;
    font-size: var(--fs-4xl);
    margin-bottom: 25px
}

.hero-section-inner {
    position: relative;
    min-height: 630px;
    background-image: url(../images/pa-material.webp);
    background-size: cover;
    background-position: center;
    overflow: hidden;
    color: var(--white-color);
    padding-top: 89px
}

    .hero-section-inner .hero-overlay {
        background: linear-gradient(281.18deg,rgba(22,44,77,.98) .85%,rgba(43,72,114,.784) 12.96%,rgb(37 64 106 / 68%) 42.44%,rgba(43,72,114,.8526) 70.39%,rgba(32,57,94,.98) 90.77%)
    }

.hero-content-inner-pages {
    padding: 0 0 0 60px
}

.legal-features-section {
    padding: 60px 0;
    background: #fff
}

.legal-features {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px
}

.legal-feature {
    height: 61px;
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    border: 1px solid #7189a8;
    border-radius: 12px;
    background: #fff;
    color: #151515;
    font-size: var(--fs-md);
    font-weight: 400;
    line-height: 1;
    white-space: nowrap
}

.legal-feature-icon {
    width: 25px;
    height: 25px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #7189a8;
    font-size: 1.3125rem
}

    .legal-feature-icon .bi-shield-fill {
        color: #7189a8
    }

.solution-column {
    margin-left: -20px
}

.problem-solution-section {
    position: relative;
    overflow: hidden;
    background: #fff;
    padding: 33px 0 56px
}

    .problem-solution-section::after {
        content: "";
        position: absolute;
        left: -2%;
        right: -2%;
        bottom: -40px;
        height: 125px;
        background: #fff;
        transform: rotate(-4deg);
        transform-origin: center;
        z-index: 0
    }

    .problem-solution-section .container {
        position: relative;
        z-index: 1
    }

.problem-solution-row {
    min-height: 440px
}

.problem-circle, .solution-circle {
    width: 440px;
    height: 440px;
    border-radius: 50%
}

.problem-circle {
    position: relative;
    z-index: 1;
    background: linear-gradient(145deg,#416fae 0,#2b507f 100%)
}

.solution-col {
    position: relative;
    z-index: 1;
    margin-left: -20px
}

.solution-circle {
    background: rgba(241,247,254,.65);
    border: 2px solid #fff;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px)
}

.circle-content {
    width: 290px
}

    .circle-content p {
        margin: 14px 0 0;
        font-size: var(--fs-sm);
        font-weight: 400;
        line-height: 1.6
    }

.problem-circle .circle-content {
    color: #fff
}

.solution-circle .circle-content {
    color: #173b68
}

.circle-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 31px;
    padding: 0 15px;
    border-radius: 50px;
    font-size: var(--fs-sm);
    font-weight: 400;
    line-height: 1;
    letter-spacing: .2px
}

.problem-label {
    color: #fff;
    border: 1px solid rgba(255,255,255,.9)
}

.solution-label {
    color: var(--secondary-color);
    border: 1px solid var(--secondary-color)
}

.platform-section {
    background: #fff
}

.platform-title {
    color: var(--primary-color);
    font-size: var(--fs-3xl);
    font-weight: 400;
    line-height: 1.15
}

    .platform-title strong {
        display: block;
        font-weight: 700
    }

.title-line {
    width: 88px;
    height: 4px;
    background: var(--secondary-color);
    margin-top: 18px;
    margin-bottom: 28px
}

.platform-description {
    max-width: 800px;
    color: var(--text-color);
    font-size: var(--fs-lead);
    font-weight: 400;
    line-height: 1.4
}

.platform-image-wrap {
    width: 340px;
    height: 340px;
    margin: 0 auto
}

.platform-arrow span {
    position: absolute;
    left: -20px;
    top: -60px
}

.platform-brand {
    font-size: var(--fs-lead);
    line-height: 1
}

    .platform-brand strong {
        color: #292929
    }

    .platform-brand span {
        color: #6bc9bd
    }

.platform-item:nth-child(3) .platform-brand span {
    color: #f4775a
}

.platform-item:nth-child(5) .platform-brand span {
    color: #6fc477
}

.brand-icon {
    display: inline-flex;
    width: 28px;
    height: 28px;
    margin-right: 8px;
    border-radius: 8px;
    align-items: center;
    justify-content: center;
    background: #70c9bd;
    color: #fff !important;
    font-size: 0.8125rem
}

.platform-name {
    margin-top: 14px;
    color: var(--text-color);
    font-size: var(--fs-xl);
    font-weight: 400
}

.platform-arrow {
    padding: 0;
    color: var(--primary-color);
    font-size: 2.5rem;
    line-height: 1;
    position: relative
}

.methodology-section {
    padding: 55px 0 105px;
    background: #fff
}

.methodology-content {
    padding-right: 55px
}

.methodology-title {
    margin: 0;
    color: var(--primary-color);
    font-size: var(--fs-3xl);
    font-weight: 400;
    line-height: 1.24
}

.methodology-line {
    width: 88px;
    height: 4px;
    background: var(--secondary-color);
    margin-top: 15px;
    margin-bottom: 28px
}

.methodology-description {
    margin: 0;
    color: var(--text-color);
    font-size: var(--fs-lead);
    font-weight: 400;
    line-height: 1.6
}

.methodology-image img {
    width: 100%;
    border-radius: 12px;
    box-shadow: 0 5px 10px rgba(0,0,0,.22)
}

.institutional-section {
    padding: 55px 0 110px;
    background: #fff
}

    .institutional-section img {
        width: 100%;
        border-radius: 12px
    }

.institutional-overlay-text {
    position: absolute;
    top: 32px;
    left: 30px;
    color: #fff;
    font-size: var(--fs-2xl);
    font-weight: 400;
    line-height: 1.5;
    text-shadow: 0 1px 3px rgba(0,0,0,.25)
}

.institutional-content {
    padding-left: 55px
}

.institutional-title {
    margin: 0;
    color: var(--primary-color);
    font-size: var(--fs-3xl);
    font-weight: 400;
    line-height: 1.25
}

.institutional-line {
    width: 88px;
    height: 4px;
    margin-top: 15px;
    margin-bottom: 28px;
    background: var(--secondary-color)
}

.institutional-description {
    margin: 0;
    color: var(--text-color);
    font-size: var(--fs-lead);
    font-weight: 400;
    line-height: 1.6
}

.data-control-section {
    padding: 80px 0;
    background: #f1f8ff
}

.data-control-content {
    padding-left: 65px
}

.data-control-title {
    margin: 0;
    color: var(--primary-color);
    font-size: var(--fs-3xl);
    font-weight: 400;
    line-height: 1.22
}

    .data-control-title strong {
        font-weight: 700
    }

.data-control-line {
    width: 88px;
    height: 4px;
    margin-top: 14px;
    margin-bottom: 48px;
    background: var(--secondary-color)
}

.data-control-description {
    margin: 0 0 48px;
    color: var(--text-color);
    font-size: var(--fs-lead);
    font-weight: 400;
    line-height: 1.6
}

.data-control-buttons {
    align-items: center
}

    .data-control-buttons .btn {
        min-height: 48px;
        padding: 0 23px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 8px;
        font-size: var(--fs-sm);
        font-weight: 500;
        text-decoration: none
    }

.btn-demo {
    color: #fff;
    background: var(--secondary-color);
    border: 1px solid var(--secondary-color)
}

    .btn-demo:hover {
        color: #fff;
        background: #e9931b;
        border-color: #e9931b
    }

.btn-arrow {
    margin-left: 15px;
    font-size: 1.5rem;
    line-height: 1
}

.btn-testimonials {
    color: #f28f16;
    background: 0 0;
    border: 1px solid #f28f16
}

    .btn-testimonials:hover {
        color: #fff;
        background: #f28f16
    }

.oversight-section {
    padding: 50px 0 100px;
    background: #fff
}

.oversight-content {
    padding-right: 35px
}

.oversight-title {
    margin: 0;
    color: var(--primary-color);
    font-size: var(--fs-3xl);
    font-weight: 400;
    line-height: 1.25
}

    .oversight-title strong {
        font-weight: 700
    }

.oversight-line {
    width: 88px;
    height: 4px;
    margin-top: 15px;
    margin-bottom: 30px;
    background: var(--secondary-color)
}

.oversight-subtitle {
    margin: 0 0 27px;
    color: var(--primary-color);
    font-size: var(--fs-lead);
    font-weight: 600;
    line-height: 1.5
}

.oversight-list {
    display: flex;
    flex-direction: column;
    gap: 20px
}

    .oversight-list li {
        display: flex;
        align-items: flex-start;
        gap: 12px;
        color: var(--text-color);
        font-size: var(--fs-base);
        font-weight: 400;
        line-height: 1.55;
        background-image: url(../images/tick-svg.png);
        background-repeat: no-repeat;
        background-position: left top 0;
        padding-left: 40px
    }

.excavation-section {
    position: relative;
    min-height: 700px;
    padding: 200px 0 180px;
    overflow: hidden;
    color: #fff
}

.excavation-bg {
    position: absolute;
    z-index: 0;
    inset: 0;
    background: url("../images/large-scale.webp") center center/cover no-repeat;
    clip-path: polygon(0 0,100% 17%,100% 85%,10% 100%,0 100%)
}

    .excavation-bg::before {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(279.87deg,rgba(22,44,77,.72) 1.31%,rgba(43,72,114,.432) 16.34%,rgba(37,64,106,.324) 47.55%,rgba(43,72,114,.4824) 77.93%,rgba(32,57,94,.72) 92.16%);
        pointer-events: none
    }

.excavation-section .container {
    z-index: 1
}

.excavation-badge {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 0 20px;
    border: 1px solid var(--secondary-color);
    border-radius: 50px;
    color: var(--secondary-color);
    font-size: var(--fs-base);
    font-weight: 400;
    letter-spacing: .2px;
    line-height: 1
}

/* On the dark photo of the State Archaeology page: same see-through orange pill as .testimonial-tag. The Testimonials
   page keeps the outlined version above, on its light background. */
.excavation-section .excavation-badge {
    min-height: 30px;
    padding: 4px 14px;
    border: 0;
    border-radius: 20px;
    background: rgba(245,156,48,.2);
    color: #FFC57E;
    font-size: var(--fs-sm);
    letter-spacing: 1.2px;
    line-height: 1.4
}

.excavation-title {
    max-width: 760px;
    margin: 35px 0 0;
    color: #fff;
    font-size: var(--fs-2xl);
    font-weight: 400;
    line-height: 1.45
}

.excavation-stats {
    margin-top: 38px
}

.excavation-stat {
    padding-right: 20px
}

.stat-label {
    margin: 0 0 8px;
    color: #fff;
    font-size: var(--fs-sm);
    font-weight: 400;
    line-height: 1.4
}

.stat-number {
    color: #fff;
    font-size: 3.5rem;
    font-weight: 700;
    line-height: 1.1
}

.actors-section {
    padding: 80px 0;
    background: #fff
}

.actors-title {
    margin: 0;
    color: var(--primary-color);
    font-size: var(--fs-3xl);
    font-weight: 400;
    line-height: 1.2
}

    .actors-title strong {
        font-weight: 700
    }

.actors-line {
    width: 88px;
    height: 4px;
    margin-top: 15px;
    margin-bottom: 28px;
    background: var(--secondary-color)
}

.actors-description {
    max-width: 830px;
    margin-bottom: 0;
    color: var(--text-color);
    font-size: var(--fs-lead);
    font-weight: 400;
    line-height: 1.55
}

.actors-cards {
    margin-top: 50px
}

.actor-card {
    position: relative;
    height: 164px;
    padding: 24px;
    overflow: hidden;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 7px 14px rgba(0,0,0,.1)
}

.actor-corner {
    position: absolute;
    top: 0;
    right: 0;
    width: 132px;
    height: 90px;
    background: #fff7ec;
    clip-path: polygon(0 0,100% 0,100% 100%)
}

.actor-icon {
    position: relative;
    z-index: 1;
    width: 60px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--primary-color);
    font-size: 3rem
}

    .actor-icon i {
        line-height: 1
    }

.actor-card h3 {
    position: relative;
    z-index: 1;
    margin: 12px 0 0;
    color: var(--primary-color);
    font-size: var(--fs-lg);
    font-weight: 500;
    line-height: 1.2
}

.identifier-section {
    padding: 70px 0 90px;
    background: #f1f8ff
}

.identifier-content {
    padding-right: 30px
}

.identifier-title {
    margin: 0;
    color: var(--primary-color);
    font-size: var(--fs-3xl);
    font-weight: 400;
    line-height: 1.35
}

    .identifier-title strong {
        font-weight: 700
    }

.identifier-line {
    width: 88px;
    height: 4px;
    margin-top: 14px;
    margin-bottom: 28px;
    background: var(--secondary-color)
}

.identifier-description {
    max-width: 530px;
    margin: 0;
    color: var(--primary-color);
    font-size: var(--fs-lead);
    line-height: 1.6
}

.identifier-wheel {
    display: flex;
    align-items: center;
    justify-content: center
}

.wheel {
    position: relative;
    width: 520px;
    height: 520px;
    border-radius: 50%;
    background: conic-gradient(from 0deg,#ed7b5d 0deg 72deg,#73c477 72deg 144deg,#223f68 144deg 216deg,#f7a02a 216deg 288deg,#7ccabe 288deg 360deg);
    box-shadow: 0 12px 25px rgba(25,59,107,.14)
}

    .wheel::after {
        content: "";
        position: absolute;
        inset: 0;
        border-radius: 50%;
        background: linear-gradient(36deg,transparent 49.7%,#fff 49.7%,#fff 50.3%,transparent 50.3%);
        pointer-events: none
    }

.wheel-center {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 154px;
    height: 154px;
    transform: translate(-50%,-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #eef7ff;
    box-shadow: 0 0 0 10px rgba(255,255,255,.75),0 8px 20px rgba(35,69,105,.16);
    z-index: 5
}

.wheel-center-inner {
    width: 132px;
    height: 132px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #fff
}

    .wheel-center-inner strong {
        color: #000;
        font-size: 3.875rem;
        line-height: .9;
        font-weight: 700
    }

    .wheel-center-inner span {
        margin-top: 7px;
        color: #111;
        font-size: var(--fs-base)
    }

.wheel-label {
    position: absolute;
    z-index: 3;
    color: #fff;
    font-size: var(--fs-xl);
    font-weight: 500;
    line-height: 1
}

.wheel-trench {
    top: 114px;
    left: 91px
}

.wheel-lab {
    top: 114px;
    right: 89px
}

.wheel-catalog {
    right: 43px;
    top: 320px
}

.wheel-loan {
    bottom: 57px;
    left: 232px
}

.wheel-museum {
    left: 32px;
    top: 320px
}

.wheel-icon {
    position: absolute;
    z-index: 4;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #fff;
    font-size: 1.375rem;
    box-shadow: 0 4px 10px rgba(0,0,0,.12)
}

.icon-trench {
    top: 26px;
    left: 190px;
    color: #70c8bb
}

.icon-lab {
    top: 140px;
    right: 46px;
    color: #ed7b5d
}

.icon-catalog {
    right: 65px;
    bottom: 80px;
    color: #6fc477
}

.icon-loan {
    left: 143px;
    bottom: 39px;
    color: #223f68
}

.icon-museum {
    left: 24px;
    top: 226px;
    color: #f7a02a
}

.field-network-section {
    position: relative;
    min-height: 770px;
    padding: 80px 0;
    overflow: hidden;
    color: #fff;
    background: linear-gradient(to bottom, #eff7ff 0%, #ffffff 45%, #ffffff 100%);
}

.field-network-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    background: url("../images/swiss.webp") center center/cover no-repeat;
    clip-path: polygon(0 0,100% 0,100% 85%,5% 100%,0 100%)
}

    .field-network-bg::before {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(275.16deg,rgba(22,44,77,.88) .04%,rgba(43,72,114,.704) 18.73%,rgba(37,64,106,.484) 44.02%,rgba(43,72,114,.7656) 65.9%,rgba(32,57,94,.88) 86.44%);
        pointer-events: none
    }

.field-network-section .container {
    position: relative;
    z-index: 1
}

.field-network-content {
    padding-top: 0;
    padding-right: 45px
}

.field-network-badge {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0 15px;
    border: 1px solid var(--secondary-color);
    border-radius: 50px;
    color: var(--secondary-color);
    font-size: var(--fs-xs);
    font-weight: 400
}

.field-network-title {
    margin: 20px 0 0;
    color: #fff;
    font-size: var(--fs-2xl);
    font-weight: 400;
    line-height: 1.42
}

/* Corporate page testimonial: plain white behind the slanted photo (the default light-blue gradient showed as a
   triangle above it), and a white, larger badge that also takes the spacing of the removed orange line. */
.field-network-section.corporate-field-section {
    background: var(--white-color);
}

    .corporate-field-section .container {
        margin-top: 50px;
    }

    .corporate-field-section .field-network-badge {
        min-height: 38px;
        margin-bottom: 40px;
        padding: 0 20px;
        border-color: var(--white-color);
        color: var(--white-color);
        font-size: var(--fs-base);
        letter-spacing: .06em;
    }

/* Labels of the testimonial blocks outside the Testimonials page ("FROM THE FIELD", "TESTIMONIAL"): same see-through
   orange pill as the home page .testimonial-tag. The "span" outweighs the per-page variants above; each keeps its own
   margin. The Staff page "AUDIT & HISTORY" label is not in these sections and keeps its outline. */
.field-network-section span.field-network-badge,
.legacy-story-section span.legacy-story-badge {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 4px 14px;
    border: 0;
    border-radius: 20px;
    background: rgba(245,156,48,.2);
    color: #FFC57E;
    font-size: var(--fs-sm);
    font-weight: 400;
    letter-spacing: 1.2px;
    line-height: 1.4;
    text-transform: uppercase;
}

.field-network-line {
    width: 88px;
    height: 4px;
    margin-top: 12px;
    margin-bottom: 38px;
    background: var(--secondary-color)
}

.field-network-quote {
    padding-left: 0;
    max-width: 650px;
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 8px
}

section.free-trial-section.free-trial-section2 .free-trial-image {
    width: 70%
}

section.free-trial-section.free-trial-section2 h2 {
    max-width: 420px
}

section.free-trial-section.free-trial-section2 .free-trial-tag {
    text-transform: uppercase;
    font-weight: 400
}

.field-network-quote p {
    position: relative;
    z-index: 1;
    margin: 0;
    color: #fff;
    font-size: var(--fs-lead);
    font-style: italic;
    line-height: 1.5
}

.field-network-author {
    margin-top: 30px
}

    .field-network-author h3 {
        margin: 0 0 6px;
        color: #fff;
        font-size: var(--fs-lg);
        font-weight: 400
    }

    .field-network-author p {
        margin: 0;
        color: #d9e2ed;
        font-size: var(--fs-sm)
    }

.field-network-btn {
    min-height: 48px;
    margin-top: 40px;
    padding: 0 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    color: #fff;
    background: var(--secondary-color);
    border: 1px solid var(--secondary-color);
    border-radius: 8px;
    font-size: var(--fs-sm);
    font-weight: 500
}

    .field-network-btn:hover {
        color: #fff;
        background: #e99419;
        border-color: #e99419
    }

    .field-network-btn span {
        font-size: 1.5rem;
        line-height: 1
    }

.field-network-card {
    margin-left: 10px;
    padding: 38px 32px;
    position: relative;
    top: 90px;
    background: #fff;
    color: var(--primary-color);
    max-width: 400px;
    box-shadow: 0 8px 18px rgba(0,0,0,.14)
}

.field-stat {
    display: flex;
    align-items: center;
    gap: 25px;
    min-height: 130px
}

    .field-stat + .field-stat {
        margin-top: 22px
    }

.field-stat-icon {
    width: 82px;
    min-width: 82px;
    height: 82px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--primary-color);
    font-size: 3.3125rem
}

    .field-stat-icon i {
        line-height: 1
    }

.field-stat-number {
    color: var(--primary-color);
    font-size: 3.5rem;
    font-weight: 700;
    line-height: 1
}

.field-stat-content p {
    margin: 12px 0 0;
    color: #222;
    font-size: var(--fs-sm);
    line-height: 1.4
}

.benefits-section {
    padding: 55px 0 80px;
    background: #fff
}

.benefits-box {
    min-height: 248px;
    padding: 35px 40px;
    background: #eef8ff;
    border-radius: 8px
}

.benefit-item {
    text-align: center;
    color: var(--primary-color)
}

.benefit-icon {
    height: 85px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--primary-color);
    font-size: 3.625rem
}

    .benefit-icon i {
        line-height: 1
    }

.benefit-item h3 {
    margin: 18px 0 0;
    color: var(--primary-color);
    font-size: var(--fs-lg);
    font-weight: 500;
    line-height: 1.4
}

.explore-section {
    padding: 0 0 80px;
    background: #fff
}

.explore-divider {
    margin-bottom: 48px
}

.divider-line {
    height: 1px;
    width: 100%;
    background: #d9d9d9
}

.explore-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 31px;
    padding: 0 16px;
    border: 1px solid var(--primary-color);
    border-radius: 50px;
    color: var(--primary-color);
    background: #fff;
    font-size: var(--fs-xs);
    font-weight: 400;
    letter-spacing: .3px;
    white-space: nowrap
}

.explore-card {
    position: relative;
    display: block;
    height: 295px;
    padding: 32px 24px;
    overflow: hidden;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 7px 18px rgba(0,0,0,.1);
    text-decoration: none
}

.explore-icon {
    position: relative;
    z-index: 2;
    height: 115px;
    display: flex;
    align-items: center;
    color: var(--primary-color);
    font-size: 4.875rem
}

    .explore-icon i {
        line-height: 1
    }

.explore-card h3 {
    position: relative;
    z-index: 2;
    margin: 15px 0 18px;
    color: var(--primary-color);
    font-size: var(--fs-lg);
    font-weight: 500;
    line-height: 1.2
}

.explore-card p {
    position: relative;
    z-index: 2;
    max-width: 280px;
    margin: 0;
    color: #151515;
    font-size: var(--fs-base);
    font-weight: 400;
    line-height: 1.55
}

.explore-card::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 68px;
    height: 68px;
    background: #fff6e9;
    border-radius: 14px 0 0
}

.explore-arrow {
    position: absolute;
    z-index: 3;
    right: 20px;
    bottom: 22px;
    color: var(--primary-color);
    font-size: 1.75rem;
    font-weight: 300;
    line-height: 1
}

.explore-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 22px rgba(0,0,0,.13);
    transition: .25s
}

    .explore-card:hover .explore-arrow {
        transform: translateX(4px);
        transition: .25s
    }

section.free-trial-section.free-trial-section2 {
    padding: 0 0 50px
}

.about-us-bg, .about-us-bg .hero-bottom-shape {
    background: #f0f8ff !important;
    z-index: 1 !important
}

    .about-us-bg .hero-content-inner-pages h1:after, .analytic-title:after, .belief-heading:after, .infrastructure-title:after {
        content: '';
        display: block;
        width: 100px;
        height: 2px;
        background: var(--secondary-color);
        margin-top: 15px
    }

    .about-us-bg .free-trial-section.free-trial-section2 {
        padding: 0 0 50px;
        background: #f0f8ff
    }

.about-us-inner {
    background-image: url(../images/valere.webp)
}

/* About Us hero title: one step smaller than the other page titles (28-40px instead of 36-54px). */
.about-us-inner .hero-content-inner-pages h1 {
    font-size: var(--fs-3xl)
}

.infrastructure-content .container {
    max-width: 900px
}

/* About Us: the 2020 survey and its findings as two plain text columns under the hero. */
.about-origin {
    padding: 70px 0 10px
}

.about-origin-row {
    max-width: 1080px;
    margin: 0 auto
}

.about-origin-col {
    padding: 0 40px;
    color: var(--text-color);
    font-size: var(--fs-lead);
    line-height: 1.7
}

    .about-origin-col + .about-origin-col {
        border-left: 2px solid var(--secondary-color)
    }

    .about-origin-col strong {
        color: var(--primary-color)
    }

.about-origin-label {
    margin-bottom: 14px;
    color: var(--secondary-color);
    font-size: var(--fs-sm);
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase
}

@media (max-width:767px) {
    .about-origin {
        padding-top: 40px
    }

    .about-origin-col {
        padding: 0 12px
    }

        .about-origin-col + .about-origin-col {
            margin-top: 28px;
            padding-top: 28px;
            border-left: 0;
            border-top: 2px solid var(--secondary-color)
        }
}
.intro-section {
    max-width: 900px;
    margin: 0 auto
}

    .intro-section .quote-mark {
        color: #f59c30;
        font-size: 11.25rem;
        font-weight: 700;
        line-height: .65
    }

.intro-title {
    font-size: var(--fs-2xl);
    line-height: 1.45;
    font-style: italic;
    font-weight: 400;
    color: #000
}

/* About Us and Book Demo: the quote is set at the testimonial-slider size (quote mark and text). */
.about-intro .quote-mark,
.book-demo .intro-section .quote-mark {
    font-size: 8rem;
    line-height: .8
}

.about-intro .intro-title,
.book-demo .intro-section .intro-title {
    font-size: var(--fs-xl);
    line-height: 1.42
}

@media (max-width:767px) {
    .about-intro .quote-mark,
    .book-demo .intro-section .quote-mark {
        font-size: 4.375rem
    }
}

@media (max-width:575px) {
    .about-intro .quote-mark,
    .book-demo .intro-section .quote-mark {
        font-size: 3.4375rem
    }

    .about-intro .intro-title,
    .book-demo .intro-section .intro-title {
        line-height: 1.5
    }
}

.intro-link {
    color: var(--primary-color);
    text-decoration: none;
    font-size: var(--fs-sm);
    white-space: nowrap
}

    .intro-link i {
        font-size: 1.0625rem;
        margin-left: 6px
    }

.analytic-section {
    position: relative;
    color: #fff;
    clip-path: polygon(0 0,100% 5%,100% 94%,0 100%)
}

/* Same gradient as .staff-access-section::before (Overview / Functionalities page). */
.analytic-background {
    position: absolute;
    inset: 0;
    background: linear-gradient( 114.32deg, #13315D 4.03%, #2A5692 49.42%, #13315D 94.81% )
}

.analytic-content {
    position: relative;
    z-index: 2
}

.analytic-title {
    font-size: var(--fs-3xl);
    line-height: 1.18
}

    .analytic-title span {
        font-weight: 400
    }

.analytic-description {
    font-size: var(--fs-lead);
    line-height: 1.7;
    color: rgba(255,255,255,.8)
}

.timeline-heading {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 20px 24px;
    background: linear-gradient(180deg,rgba(43,72,114,.48) 0,rgba(62,108,170,.48) 100%);
    box-shadow: 0 6px 12px rgba(0,0,0,.09);
    border-radius: 62px;
    line-height: 33px;
    letter-spacing: 6px;
    text-transform: uppercase;
    color: #fff
}

.timeline {
    position: relative;
    padding-left: 27px
}

    .timeline::before {
        content: "";
        position: absolute;
        top: 8px;
        bottom: 8px;
        left: 7px;
        width: 2px;
        background: #f0f8FF40;
        height: 80%
    }

section.analytic-section.overflow-hidden .row.align-items-center.py-lg-5 {
    padding-top: 130px !important
}

.timeline-item {
    position: relative;
    margin-bottom: 15px
}

.timeline-dot {
    position: absolute;
    width: 28px;
    height: 28px;
    left: -54px;
    top: 0;
    border: 2px solid #fff;
    border-radius: 50%;
    background: #112e4d;
    z-index: 2
}

/* About Us: on the blue gradient the heading becomes a frosted pill with an orange edge,
   and the dots take the orange accent of the gold line. */
.analytic-section .timeline-heading {
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(245,156,48,.7);
    box-shadow: 0 6px 18px rgba(0,0,0,.18);
    backdrop-filter: blur(4px)
}

.analytic-section .timeline::before {
    background: rgba(245,156,48,.45)
}

.analytic-section .timeline-dot {
    width: 22px;
    height: 22px;
    margin-left: 3px;
    top: 3px;
    border: 4px solid #fff;
    background: var(--secondary-color);
    box-shadow: 0 0 0 5px rgba(245,156,48,.25)
}

.timeline-card {
    min-height: 78px;
    color: var(--text)
}

.timeline-year {
    font-size: 1.375rem;
    font-weight: 700;
    color: #000
}

.timeline-text {
    color: var(--text-color);
    font-size: var(--fs-sm);
    line-height: 1.4
}

.timeline-icon {
    font-size: 1.6875rem;
    color: #284d75;
    min-width: 35px
}

.founder-card {
    min-height: 360px
}

.founder-name {
    font-size: var(--fs-lg);
    color: var(--primary-color)
}

.founder-linkedin {
    color: #0A66C2;
    font-size: 1.375rem;
    line-height: 1;
    text-decoration: none;
    transition: color .2s ease
}

    .founder-linkedin:hover,
    .founder-linkedin:focus-visible {
        color: var(--secondary-color)
    }

.founder-text {
    color: var(--text-color);
    font-size: var(--fs-sm);
    line-height: 1.5
}

.belief-section {
    z-index: 1;
    position: relative
}

.belief-heading {
    font-size: var(--fs-3xl);
    line-height: 1.2;
    color: var(--primary-color)
}

.belief-card {
    position: relative;
    overflow: hidden;
    color: var(--text)
}

    .belief-card::after {
        content: "";
        position: absolute;
        right: 0;
        top: 0;
        width: 0;
        height: 0;
        border-top: 101px solid #fff4e5;
        border-left: 115px solid transparent
    }

    .belief-card h5 {
        font-size: var(--fs-lg);
        color: var(--primary-color)
    }

    .belief-card p {
        color: var(--text-color);
        font-size: var(--fs-sm);
        line-height: 1.65
    }

.infrastructure-section {
    position: relative;
    color: #fff;
    clip-path: polygon(0 0,100% 5%,100% 100%,0 95%);
    margin: -240px 0 0;
    padding-top: 240px
}

.free-trial-section-about {
    padding: 20px 0 80px !important
}

.infrastructure-content {
    position: relative;
    z-index: 2;
    padding-bottom: 100px
}

.infrastructure-title {
    font-size: var(--fs-3xl);
    width: max-content;
    margin: 0 auto;
    font-weight: 400 !important
}

.infrastructure-subtitle {
    font-size: var(--fs-lead)
}

.infra-card {
    min-height: 220px;
    position: relative;
    overflow: hidden
}

    .infra-card:after {
        content: "";
        position: absolute;
        right: 0;
        top: 0;
        width: 0;
        height: 0;
        border-top: 101px solid #fff4e5;
        border-left: 115px solid transparent
    }

.infra-icon {
    font-size: 2.1875rem;
    color: #31557c
}

.infra-card h5 {
    font-size: var(--fs-lg);
    color: var(--primary-color)
}

.infra-card p {
    color: var(--text-color);
    font-size: var(--fs-sm);
    line-height: 1.5
}

.founder-boxs {
    max-width: 1080px;
    margin: 0 auto
}

.solution-2 h2 {
    font-size: var(--fs-3xl)
}

.time-gained-section {
    min-height: 524px;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat
}

.time-gained-overlay {
    background: rgba(18,62,110,.72)
}

.archaeology-benefits {
    background: linear-gradient(134.54deg, #13315D 29.77%, #2A5692 62.98%, #13315D 96.2%);
    padding-top: 70px;
    padding-bottom: 250px;
    clip-path: polygon(0 0,100% 0,100% 94%,0 100%)
}

.benefit-image {
    width: 280px;
    height: 280px
}

    .benefit-image img {
        position: relative;
        z-index: 1
    }

.benefit-image-1 {
    transform: translateX(-10px)
}

.benefit-image-2 {
    transform: translateX(10px)
}

.benefit-image-3 {
    transform: translateX(-10px)
}

.archaeology-benefits .btn-warning {
    background: #f6a027;
    border-color: #f6a027
}

    .archaeology-benefits .btn-warning:hover {
        background: #e99318;
        border-color: #e99318
    }

.sovereignty-section {
    background: #fff;
    padding-bottom: 120px;
    clip-path: polygon(0 0,100% 0,100% 94%,0 100%)
}

.text-navy {
    color: var(--primary-color)
}

.orange-line {
    width: 72px;
    height: 4px;
    background: #f6a027
}

.data-sovereignty-image {
    max-width: 100%;
    width: 560px
}

.solution-2 section.hero-section-inner {
    background-image: url(../images/solution-main2.webp)
}

section.py-5.gis-2-grid {
    margin: -200px 0 0;
    z-index: 1;
    position: relative
}

.solution-922 {
    font-size: var(--fs-lead)
}

.solution-2 strong {
    font-weight: 700
}

.field-network-bg {
    clip-path: polygon(0 0,100% 8%,100% 88%,0 100%) !important
}

.text-dark {
    color: var(--text-color) !important
}

section.py-5.gis-2-grid .shadow-sm {
    box-shadow: 2px 6px 24px rgba(0,0,0,.08) !important;
    border-radius: 12px
}

.testimonials-page .hero-section-inner {
    min-height: 785px;
    background-image: url(../images/test-main-img.webp);
}

/* Same colour as the top of .field-testimonials' gradient, so the cut joins the section below. */
.testimonials-page .hero-bottom-shape {
    background: #eff7ff;
}

.testimonials-sec1 .section-title {
    color: var(--primary-color);
    line-height: 1.2;
    letter-spacing: -0.5px;
    font-size: var(--fs-3xl);
}

.testimonials-sec1 .heading-line {
    width: 88px;
    height: 4px;
    background-color: #ff941f;
}

.testimonials-sec1 .section-description {
    color: var(--primary-color);
    font-size: var(--fs-md);
}

.testimonials-sec1 .testimonial-card {
    min-height: 368px;
    padding-top: 28px !important;
    padding-bottom: 28px !important;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.10) !important;
}

    .testimonials-sec1 .testimonial-card::before {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        width: 94px;
        height: 64px;
        background: #eef7ff;
        clip-path: polygon(0 0, 100% 0, 100% 100%);
    }

.testimonials-sec1 .quote-mark {
    position: relative;
    z-index: 1;
    color: var(--secondary-color);
    font-size: 8.125rem;
    font-weight: 700;
    line-height: 0.9;
    height: 58px;
    opacity: 0.6;
}

.testimonials-sec1 .testimonial-text {
    color: #111;
    font-size: var(--fs-md);
    line-height: 1.5;
}

.testimonials-sec1 .testimonial-role {
    color: #111;
    line-height: 1.5;
    font-size: var(--fs-xs);
}

.trust-section {
    background: #fff;
    color: #193862;
    font-family: inherit;
}

    .trust-section .trust-section__title {
        color: var(--primary-color);
        line-height: 1.3;
    }

    .trust-section .trust-section__underline {
        width: 59px;
        height: 3px;
        background: #ff941f;
    }

    .trust-section .trust-section__subtitle {
        margin-top: 32px;
        color: #526783;
        font-size: var(--fs-lead);
    }

    .trust-section .trust-section__timeline {
        max-width: 1200px;
    }

    .trust-section .trust-section__item {
        position: relative;
    }

    .trust-section .trust-section__number-col {
        position: relative;
        display: flex;
        flex: 0 0 100px;
        width: 100px;
        justify-content: center;
    }

    .trust-section .trust-section__item:not(:last-child)
    .trust-section__number-col::after {
        content: "";
        position: absolute;
        top: 56px;
        bottom: -40px;
        left: 50%;
        width: 1px;
        background: #49668e;
        transform: translateX(-50%);
    }

    .trust-section .trust-section__number {
        position: relative;
        z-index: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 56px;
        height: 56px;
        border: 1px solid #49668e;
        border-radius: 50%;
        background: #fff;
        color: #193862;
        font-size: 1.875rem;
        font-weight: 400;
    }

    .trust-section .trust-section__content-col {
        min-width: 0;
    }

    .trust-section .trust-section__card {
        gap: 30px;
        padding: 24px 28px;
        border: 1px solid #f0f4f8;
        box-shadow: 0 3px 12px rgba(25, 56, 98, 0.10) !important;
    }

    .trust-section .trust-section__icon {
        display: flex;
        flex: 0 0 160px;
        width: 160px;
        align-items: center;
        justify-content: center;
    }

        .trust-section .trust-section__icon img {
            display: block;
            width: 100%;
            max-width: 160px;
            height: 160px;
            object-fit: contain;
        }

    .trust-section .trust-section__body {
        min-width: 0;
    }

    .trust-section .trust-section__badge {
        display: inline-block;
        margin-bottom: 14px;
        padding: 4px 11px;
        border: 1px solid var(--primary-color);
        border-radius: 50rem;
        color: var(--primary-color);
        font-size: var(--fs-sm);
        line-height: 1.3;
    }

    .trust-section .trust-section__heading {
        margin-bottom: 12px;
        color: var(--primary-color);
        font-size: var(--fs-2xl);
        font-weight: 400;
        line-height: 1.35;
    }

    .trust-section .trust-section__description {
        margin-bottom: 0;
        color: #333;
        font-size: var(--fs-base);
        line-height: 1.5;
    }

.field-testimonial {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background-color: #eff7ff;
    clip-path: polygon( 0 18%, 100% 0, 100% 100%, 0 82% );
    padding-top: 150px !important;
    padding-bottom: 200px !important;
}

    .field-testimonial .field-testimonial__content {
        max-width: 900px;
        margin: 0 auto;
    }

    .field-testimonial .field-testimonial__quote {
        display: flex;
        align-items: flex-start;
        gap: 14px;
    }

    .field-testimonial .field-testimonial__mark {
        flex-shrink: 0;
        color: var(--secondary-color);
        font-family: 'Raleway',sans-serif;
        font-size: 11.25rem;
        font-weight: 700;
        line-height: 0.85;
        opacity: 0.6;
    }

    .field-testimonial .field-testimonial__quote blockquote {
        padding-top: 15px;
        color: #080808;
        font-size: var(--fs-2xl);
        font-weight: 400;
        line-height: 1.5;
    }

    .field-testimonial .field-testimonial__author {
        margin-top: 32px;
    }

        .field-testimonial .field-testimonial__author h3 {
            color: #080808;
            font-size: var(--fs-lg);
            font-weight: 400;
        }

        .field-testimonial .field-testimonial__author p {
            color: #222;
            font-size: var(--fs-sm);
            line-height: 1.6;
        }

.field-testimonials {
    position: relative;
    isolation: isolate;
    /* clip, not hidden: hidden would stop the sticky theme titles from sticking. */
    overflow: clip;
    background: linear-gradient( to bottom, #eff7ff 0%, #ffffff 45%, #ffffff 100% );
    padding-top: 80px !important;
    padding-bottom: 70px !important;
}

    .field-testimonials .field-testimonials__title {
        color: var(--primary-color);
        font-weight: 400;
        line-height: 1.3;
    }

    .field-testimonials .field-testimonials__line {
        width: 59px;
        height: 3px;
        background: #ff9b2f;
    }

    .field-testimonials .field-testimonials__intro {
        color: #526783;
        font-size: var(--fs-lead);
        line-height: 1.6;
    }

    .field-testimonials .field-testimonials__card {
        position: relative;
        overflow: hidden;
        background: #fff;
        box-shadow: 0 5px 14px rgba(0, 0, 0, 0.12) !important;
        transition: transform 0.25s ease, box-shadow 0.25s ease;
        border-radius: 10px !important;
    }

        .field-testimonials .field-testimonials__card:hover {
            transform: translateY(-4px);
            box-shadow: 0 9px 22px rgba(0, 0, 0, 0.14) !important;
        }

        .field-testimonials .field-testimonials__card .card-body {
            padding: 18px 16px;
        }

    .field-testimonials .field-testimonials__tags {
        display: flex;
        flex-wrap: wrap;
        gap: 5px;
    }

        .field-testimonials .field-testimonials__tags span {
            display: inline-block;
            padding: 3px 9px;
            border: 1px solid var(--primary-color);
            border-radius: 50rem;
            color: var(--primary-color);
            font-size: var(--fs-xs);
            line-height: 1.3;
            text-transform: uppercase;
        }

    /* One 4:3 frame for photos of any shape, so that the cards of a row line up. Portraits keep their upper part,
       where the faces are. */
    .field-testimonials .field-testimonials__image {
        display: block;
        width: 100%;
        height: auto;
        aspect-ratio: 4 / 3;
        object-fit: cover;
        object-position: 50% 25%;
    }

    .field-testimonials .field-testimonials__quote {
        display: flex;
        align-items: flex-start;
        gap: 7px;
        margin-bottom: 12px;
    }

        .field-testimonials .field-testimonials__quote > span {
            flex-shrink: 0;
            color: var(--secondary-color);
            font-family: 'Raleway',sans-serif;
            font-size: 5rem;
            font-weight: 700;
            line-height: 0.9;
            opacity: 0.6;
        }

        .field-testimonials .field-testimonials__quote p {
            margin-bottom: 0;
            color: #171717;
            font-size: var(--fs-base);
            font-style: italic;
            line-height: 1.5;
        }

    .field-testimonials .field-testimonials__name {
        margin-bottom: 4px;
        color: #111;
        font-size: var(--fs-lg);
        font-weight: 400;
        line-height: 1.4;
    }

    .field-testimonials .field-testimonials__role {
        color: #444;
        font-size: var(--fs-sm);
        line-height: 1.5;
    }

    .field-testimonials .field-testimonials__video-btn {
        min-height: 112px;
        padding: 20px 30px;
        border-radius: 13px;
        background: var(--secondary-color);
        color: #fff;
        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.17);
        transition: background-color 0.25s ease, transform 0.25s ease;
    }

        .field-testimonials .field-testimonials__video-btn:hover {
            background: #f28d1b;
            color: #fff;
            transform: translateY(-3px);
        }

    .field-testimonials .field-testimonials__play {
        display: flex;
        flex: 0 0 60px;
        align-items: center;
        justify-content: center;
        width: 60px;
        height: 60px;
        border: 2px solid rgba(255, 255, 255, 0.8);
        border-radius: 50%;
    }

        .field-testimonials .field-testimonials__play svg {
            width: 29px;
            height: 29px;
            margin-left: 3px;
        }

    .field-testimonials .field-testimonials__video-text strong {
        margin-bottom: 3px;
        font-size: var(--fs-lead);
        font-weight: 700;
        line-height: 1.4;
    }

    .field-testimonials .field-testimonials__video-text > span {
        font-size: var(--fs-base);
        line-height: 1.5;
    }

    .field-testimonials .field-testimonials__interview-btn {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        padding: 8px 16px;
        border: 1px solid var(--secondary-color);
        border-radius: 8px;
        background: transparent;
        color: var(--secondary-color);
        font-size: var(--fs-sm);
        font-weight: 500;
        line-height: 1.3;
        transition: background-color 0.25s ease, color 0.25s ease;
    }

        .field-testimonials .field-testimonials__interview-btn svg {
            width: 16px;
            height: 16px;
            transition: transform 0.25s ease;
        }

        .field-testimonials .field-testimonials__interview-btn:hover,
        .field-testimonials .field-testimonials__interview-btn:focus-visible {
            background: var(--secondary-color);
            color: #fff;
        }

            .field-testimonials .field-testimonials__interview-btn:hover svg {
                transform: translateX(3px);
            }

    /* Theme filter: links on the dark band above the cards. */
    .field-testimonials .field-testimonials__filters {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-top: 28px;
    }

        .field-testimonials .field-testimonials__filters a {
            padding: 7px 16px;
            border: 1px solid rgba(25, 51, 88, 0.35);
            border-radius: 50rem;
            background: #fff;
            color: var(--primary-color);
            font-size: var(--fs-sm);
            line-height: 1.3;
            text-decoration: none;
            transition: background-color 0.25s ease, border-color 0.25s ease;
        }

            .field-testimonials .field-testimonials__filters a:hover,
            .field-testimonials .field-testimonials__filters a:focus-visible {
                background: rgba(25, 51, 88, 0.08);
            }

            .field-testimonials .field-testimonials__filters a[aria-current] {
                border-color: var(--secondary-color);
                background: var(--secondary-color);
                color: #fff;
            }

    /* Visible themes after the first are separated by a rule; hidden ones (theme filter) are skipped. */
    .field-testimonials .field-testimonials__theme:not([hidden]) ~ .field-testimonials__theme:not([hidden]) {
        margin-top: 48px;
        padding-top: 24px;
        border-top: 1px solid #dfe5ec;
    }

    /* The title column stays in view, below the fixed site header, while its theme's cards scroll past. */
    .field-testimonials .field-testimonials__theme-side {
        position: sticky;
        top: 110px;
        z-index: 1;
        align-self: flex-start;
    }

    .field-testimonials .field-testimonials__theme-title {
        margin-bottom: 0;
        color: var(--primary-color);
        font-size: var(--fs-xl);
        font-weight: 600;
        line-height: 1.3;
        text-wrap: balance;
    }

    .field-testimonials .field-testimonials__theme-line {
        width: 40px;
        height: 3px;
        margin: 12px 0;
        background: var(--secondary-color);
    }

    .field-testimonials .field-testimonials__theme-count {
        color: #526783;
        font-size: var(--fs-sm);
    }

    /* Stacked layout: the title pins to the top of its theme as a white bar over the cards. */
    @media (max-width: 991.98px) {
        .field-testimonials .field-testimonials__theme-side {
            top: 72px;
            padding-top: 10px;
            padding-bottom: 10px;
            background: #fff;
            box-shadow: 0 6px 8px -6px rgba(19, 49, 93, 0.18);
        }

        .field-testimonials .field-testimonials__theme-line {
            margin: 8px 0 0;
        }

        .field-testimonials .field-testimonials__theme-count {
            display: none;
        }
    }

    .field-testimonials .field-testimonials__media {
        position: relative;
    }

        /* Same 4:3 box as the image it replaces; the 16:9 video shows whole inside it. */
        .field-testimonials .field-testimonials__media video {
            display: block;
            width: 100%;
            aspect-ratio: 4 / 3;
            border-radius: 0.25rem;
            background: #000;
            object-fit: contain;
        }

    /* Cards without a photo or video: the quote takes the room. */
    .field-testimonials .field-testimonials__card--text .field-testimonials__quote p {
        font-size: var(--fs-lead);
    }

/* "Read interview" modal: photo on top, then the question / answer list. */
.interview-modal .modal-content {
    border: 0;
    border-radius: 14px;
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.28);
}

.interview-modal .interview-modal__close {
    position: sticky;
    top: 14px;
    z-index: 3;
    align-self: flex-end;
    width: 40px;
    height: 40px;
    margin: 14px 14px -54px 0;
    padding: 0;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.92);
    background-size: 14px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
    opacity: 1;
}

    .interview-modal .interview-modal__close:hover {
        background-color: #fff;
    }

.interview-modal .interview-modal__figure {
    background: #e9eef5;
    border-radius: 14px 14px 0 0;
}

.interview-modal .interview-modal__image {
    display: block;
    width: 100%;
    height: 340px;
    object-fit: cover;
    object-position: 50% 25%;
    border-radius: 14px 14px 0 0;
}

.interview-modal .interview-modal__caption {
    padding: 8px 32px;
    color: #5b6472;
    font-size: var(--fs-xs);
    line-height: 1.5;
}

    .interview-modal .interview-modal__caption span {
        display: inline-block;
        margin-left: 8px;
        color: #8a93a0;
    }

/* The person's full-length videos in place of the photo: one on the stage, buttons below to switch. */
.interview-modal .interview-modal__videos {
    overflow: hidden;
    background: #e9eef5;
    border-radius: 14px 14px 0 0;
}

.interview-modal .interview-modal__media {
    position: relative;
    background: #000;
}

    .interview-modal .interview-modal__media img,
    .interview-modal .interview-modal__media video {
        display: block;
        width: 100%;
        aspect-ratio: 16 / 9;
    }

    .interview-modal .interview-modal__media img {
        object-fit: cover;
    }

    .interview-modal .interview-modal__media video {
        background: #000;
        object-fit: contain;
    }

.interview-modal .interview-modal__media-duration {
    position: absolute;
    right: 14px;
    bottom: 14px;
    padding: 2px 8px;
    border-radius: 4px;
    background: rgba(0, 0, 0, 0.65);
    color: #fff;
    font-size: var(--fs-xs);
    line-height: 1.5;
    font-variant-numeric: tabular-nums;
}

.interview-modal .interview-modal__picker {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px;
    padding: 12px;
}

.interview-modal .interview-modal__pick {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px;
    border: 2px solid transparent;
    border-radius: 10px;
    background: #fff;
    text-align: left;
    transition: border-color 0.2s ease;
}

    .interview-modal .interview-modal__pick:hover {
        border-color: #c3cddb;
    }

    .interview-modal .interview-modal__pick[aria-pressed="true"] {
        border-color: var(--secondary-color);
    }

    .interview-modal .interview-modal__pick img {
        flex-shrink: 0;
        width: 104px;
        aspect-ratio: 16 / 9;
        border-radius: 6px;
        object-fit: cover;
    }

.interview-modal .interview-modal__pick-text {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.interview-modal .interview-modal__pick-title {
    color: #111;
    font-size: var(--fs-sm);
    font-weight: 500;
    line-height: 1.35;
}

.interview-modal .interview-modal__pick-duration {
    margin-top: 2px;
    color: #5b6472;
    font-size: var(--fs-xs);
    line-height: 1.5;
    font-variant-numeric: tabular-nums;
}

.interview-modal .interview-modal__body {
    padding: 24px 32px 36px;
}

.interview-modal .interview-modal__category {
    margin-bottom: 8px;
    color: var(--secondary-color);
    font-size: var(--fs-sm);
    font-weight: 500;
    line-height: 1.5;
}

.interview-modal .interview-modal__name {
    margin-bottom: 4px;
    color: #111;
    font-size: var(--fs-2xl);
    font-weight: 400;
    line-height: 1.3;
}

.interview-modal .interview-modal__role {
    margin-bottom: 0;
    color: #444;
    font-size: var(--fs-sm);
    line-height: 1.5;
}

.interview-modal .interview-modal__intro {
    margin-top: 22px;
    padding-bottom: 6px;
    border-bottom: 1px solid #e6e9ee;
}

    .interview-modal .interview-modal__intro p {
        margin-bottom: 14px;
        color: #333;
        font-size: var(--fs-base);
        line-height: 1.7;
    }

.interview-modal .interview-modal__qa {
    margin-top: 26px;
}

    .interview-modal .interview-modal__qa dt {
        margin-bottom: 10px;
        padding-left: 14px;
        border-left: 3px solid var(--secondary-color);
        color: var(--primary-color);
        font-size: var(--fs-base);
        font-weight: 600;
        line-height: 1.5;
    }

    .interview-modal .interview-modal__qa dd {
        margin-bottom: 26px;
        color: #333;
        font-size: var(--fs-base);
        line-height: 1.7;
    }

        .interview-modal .interview-modal__qa dd:last-child {
            margin-bottom: 0;
        }

/* Sentences of the person that are not part of their interview or free text, each with its theme. */
.interview-modal .interview-modal__quotes {
    margin-top: 26px;
}

    .interview-modal .interview-modal__quotes li + li {
        margin-top: 22px;
    }

.interview-modal .interview-modal__theme {
    display: inline-block;
    margin-bottom: 6px;
    color: var(--secondary-color);
    font-size: var(--fs-sm);
    font-weight: 500;
    line-height: 1.5;
    text-transform: uppercase;
}

.interview-modal .interview-modal__quotes blockquote {
    padding-left: 14px;
    border-left: 3px solid #e6e9ee;
    color: #333;
    font-size: var(--fs-base);
    font-style: italic;
    line-height: 1.7;
}

.testimonials-page h2 {
    font-size: var(--fs-3xl);
}

section.field-testimonial.py-5 {
    margin-bottom: -140px;
}



.site-footer {
    background: #f8f9fb
}

.footer-announcement {
    background: #041e47;
    min-height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center
}

    .footer-announcement p {
        margin: 0;
        color: var(--white-color);
        font-size: var(--fs-sm);
        line-height: 1.4
    }

.footer-main {
    padding: 76px 0 150px
}

.footer-logo {
    display: inline-block
}

    .footer-logo img {
        width: 196px;
        height: auto;
        display: block
    }

.footer-tagline {
    margin: 22px 0 0;
    color: #333;
    font-size: var(--fs-md);
    line-height: 1.5
}

/* Inline SVG icons (paths from Font Awesome Free 6.7.2, CC BY 4.0): one em high, in the colour of the text
   around them, on the same baseline as the Font Awesome glyphs they replace. */
.icon {
    display: inline-block;
    height: 1em;
    overflow: visible;
    vertical-align: -.125em;
    fill: currentColor
}

.footer-social {
    margin-top: 42px
}

    .footer-links h6, .footer-social h6 {
        margin: 0 0 21px;
        color: #999;
        font-size: var(--fs-base);
        line-height: 1.2;
        font-weight: 600;
        letter-spacing: 2px
    }

.social-icons {
    display: flex;
    align-items: center;
    gap: 19px
}

    .social-icons a {
        width: 32px;
        height: 32px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        background: #1f385c;
        color: var(--white-color);
        text-decoration: none;
        font-size: 1.0625rem;
        transition: .3s
    }

        .social-icons a:hover {
            background: #f6a02a;
            color: var(--white-color)
        }

.footer-links h6 {
    margin-bottom: 25px
}

.footer-links ul {
    list-style: none;
    margin: 0;
    padding: 0
}

.footer-links li {
    margin-bottom: 13px
}

    .footer-links li:last-child {
        margin-bottom: 0
    }

.footer-links a {
    color: var(--text-color);
    font-size: var(--fs-md);
    line-height: 1.35;
    text-decoration: none;
    transition: .3s
}

    .footer-links a:hover {
        color: #f6a02a
    }

.footer-bottom {
    padding-bottom: 40px
}

.copyright {
    min-height: 56px;
    padding: 0 20px;
    display: flex;
    align-items: center;
    border-radius: 7px;
    background: #1f385c;
    color: var(--white-color);
    font-size: var(--fs-base)
}

section.py-5.solution-sec6 {
    background: #F8F9FA;
}

.why-accordion .accordion-item {
    opacity: 1 !important;
}

section.trust-section.py-5 .col-12 {
    width: max-content;
}

.Universitypage {
    min-height: 630px;
}

.university-page .hero-section-inner .hero-overlay {
    background: linear-gradient(279.87deg, rgba(22, 44, 77, 0.8) 1.31%, rgb(43 72 114 / 82%) 16.34%, rgb(37 64 106 / 62%) 47.55%, rgb(43 72 114 / 78%) 77.93%, rgba(32, 57, 94, 0.8) 92.16%);
}

.university-field-network-quote {
    margin-top: 20px;
}

h2.actors-title.university-actors-title {
    width: 100%;
    margin: 0 auto;
    margin-bottom: 40px;
}

    h2.actors-title.university-actors-title:after {
        content: '';
        width: 94px;
        height: 4px;
        background: #f6a027;
        display: block;
        margin: 0 auto;
        margin-top: 25px;
    }

.university-hero-section-inner {
    background-image: url(../images/university-mian-banner.webp) !important;
}

section.field-network-section.University-field-network-section .field-network-bg {
    background: url(../images/university-bg1.webp) center center / cover no-repeat;
}

/* Plain white behind the slanted photo: the default light-blue gradient showed as a triangle above it. */
section.field-network-section.University-field-network-section:not(.University-field-network-section-matrix) {
    background: var(--white-color);
}

.University .legal-feature span {
    line-height: 24px !important;
}

.university_sec_9 {
    margin: -480px 0 150px 0;
    z-index: 99999;
    position: relative;
}

.University-field-network-section {
    min-height: 650px !important;
}

.university_sec_9 .row.g-4 {
    justify-content: center;
}

/* Same cards as the home .solutions-section, without links; height follows the longer text. */
.university_sec_9 .solution-card {
    height: 100%;
    min-height: 0;
}

    .university_sec_9 .solution-image h3 {
        right: 20px;
    }

    .university_sec_9 .solution-content {
        padding-bottom: 40px;
    }

        .university_sec_9 .solution-content p {
            max-width: none;
        }

.university_sec_9 .row > div:hover .solution-image img {
    transform: scale(1.06);
}

.university_sec_9 .row > div:hover .solution-image .image-overlay {
    opacity: 0.4;
}

.university-backups-img {
    max-width: 500px;
}

.university-fieldwork-img {
    max-width: 366px;
}

/* Labels laid over an image drawn without them (University, Archaeology and Corporate pages). Positions are the centres of the original
   labels, as a share of the image size; font sizes are in cqw so the text scales with the image. */
.infographic {
    position: relative;
    container-type: inline-size;
}

.infographic-label {
    position: absolute;
    transform: translate(-50%, -50%);
    font-family: Poppins;
    line-height: 1;
    white-space: nowrap;
}

.skill-cycle .infographic-label {
    color: var(--primary-color);
    font-size: 2.58cqw;
    font-weight: 400;
}

.skill-cycle-learn {
    left: 49.92%;
    top: 21.61%;
}

.skill-cycle-apply {
    left: 19.27%;
    top: 78%;
}

.skill-cycle-professional {
    left: 80.65%;
    top: 78%;
}

/* Left-aligned, and no wider than the space before the arrow: a longer word wraps at its soft hyphen
   (Sauve&shy;gardes in the French resource file). */
.backups-label {
    left: 0;
    top: 39.22%;
    max-width: 20%;
    transform: translateY(-50%);
    color: #40C0C5;
    font-size: 4.2cqw;
    font-weight: 600;
    line-height: 1.1;
    white-space: normal;
}

/* Archaeology page: the Single ID wheel. */
.id-wheel {
    width: 100%;
    max-width: 600px;
}

    .id-wheel .infographic-label {
        color: var(--white-color);
        font-size: 3.92cqw;
        font-weight: 500;
    }

.id-wheel-trench {
    left: 28.58%;
    top: 27%;
}

.id-wheel-lab {
    left: 69.08%;
    top: 27%;
}

.id-wheel-collection {
    left: 78.67%;
    top: 61.42%;
}

.id-wheel-loan {
    left: 49.92%;
    top: 81.75%;
}

.id-wheel-museum {
    left: 20.67%;
    top: 61.42%;
}

.id-wheel .id-wheel-single {
    left: 50.25%;
    top: 56%;
    color: var(--black-color);
    font-size: 2.67cqw;
    font-weight: 400;
}

    /* "Einheitliche ID" needs a smaller size to fit inside the white circle. */
    .id-wheel .id-wheel-single:lang(de) {
        font-size: 2.2cqw;
    }

/* Corporate page: the synchronized platform diagram. */
.sync-platform .infographic-label {
    color: var(--primary-color);
    font-size: 2.72cqw;
    font-weight: 400;
}

.sync-platform-office {
    left: 49.91%;
    top: 15.79%;
}

.sync-platform-field {
    left: 8.62%;
    top: 56.54%;
}

.sync-platform-specialists {
    left: 91.38%;
    top: 56.54%;
}

.sync-platform-lab {
    left: 49.91%;
    top: 97.28%;
}

/* Data & Infrastructure page: the Swiss cloud diagram (600x670 SVG). Labels that can get long in
   French or German wrap onto two balanced lines instead of running past their drawing. */
.swiss-cloud {
    max-width: 600px;
}

.swiss-cloud .infographic-label {
    color: var(--primary-color);
    font-size: 2.6cqw;
    font-weight: 400;
}

.swiss-cloud .swiss-cloud-host {
    left: 50%;
    top: 38.8%;
    font-weight: 500;
}

.swiss-cloud .swiss-cloud-sync {
    left: 50%;
    top: 49.7%;
    width: 22cqw;
    color: #0f9a95;
    font-size: 2.2cqw;
    font-weight: 500;
    line-height: 1.2;
    text-align: center;
    white-space: normal;
    text-wrap: balance;
}

.swiss-cloud-dc1 {
    left: 24.2%;
    top: 61.5%;
}

.swiss-cloud-dc2 {
    left: 75.8%;
    top: 61.5%;
}

.swiss-cloud-vault {
    left: 50%;
    top: 88.2%;
}

/* Anchored by its top edge so that a second line grows downwards, into the space left below. */
.swiss-cloud .swiss-cloud-off {
    left: 83.3%;
    top: 92%;
    transform: translateX(-50%);
    width: 30cqw;
    line-height: 1.2;
    text-align: center;
    white-space: normal;
    text-wrap: balance;
}

/* Data & Infrastructure page: the full export card (503x584 SVG). The two bottom labels hang
   from their top edge, under their icons. */
.full-export .infographic-label {
    color: var(--primary-color);
    font-size: 3.2cqw;
    font-weight: 400;
    line-height: 1.25;
    text-align: center;
}

.full-export .full-export-title {
    left: 49.7%;
    top: 16.6%;
    font-size: 3cqw;
}

.full-export .full-export-excel,
.full-export .full-export-files {
    top: 86.5%;
    transform: translateX(-50%);
    width: 40cqw;
    white-space: normal;
    text-wrap: balance;
}

.full-export-excel {
    left: 25.8%;
}

.full-export-files {
    left: 75.5%;
}

/* Staff & Access page: the workspaces and access diagram (600x670 SVG). */
.workspaces-access {
    max-width: 600px;
}

.workspaces-access .infographic-label {
    color: var(--primary-color);
    font-size: 2.6cqw;
    font-weight: 400;
}

.workspaces-access-own {
    left: 25%;
    top: 39.1%;
}

.workspaces-access-partner {
    left: 75%;
    top: 39.1%;
}

.workspaces-access .workspaces-access-shared {
    left: 50%;
    top: 68.4%;
    font-weight: 500;
}

.workspaces-access-team {
    left: 23.3%;
    top: 96%;
}

.workspaces-access-guest {
    left: 78.3%;
    top: 93.7%;
}

/* Trainings page: the support cycle around the team photo (580x447 image). */
.support-cycle {
    max-width: 580px;
}

    .support-cycle .infographic-label {
        color: var(--primary-color);
        font-size: 2.76cqw;
        font-weight: 400;
    }

.support-cycle-live {
    left: 49.91%;
    top: 19.2%;
}

.support-cycle-forms {
    left: 17.24%;
    top: 80.6%;
}

.support-cycle-calibration {
    left: 82.84%;
    top: 80.6%;
}

    /* "Kalibrierung" and "Calibrazione" need a smaller size to stay inside their box. */
    .support-cycle .support-cycle-calibration:lang(de),
    .support-cycle .support-cycle-calibration:lang(it) {
        font-size: 2.5cqw;
    }

.support-cycle .support-cycle-team {
    left: 49.66%;
    top: 53.9%;
    color: var(--white-color);
    font-size: 3.7cqw;
    font-weight: 500;
}

/* Corporate page: the export formats hub. A square drawn in HTML and SVG; sizes in cqw so it scales as one image.
   Nodes sit on a circle of radius 38% around the centre, one every 360/7 degrees from the top. */
.export-hub {
    max-width: 560px;
    aspect-ratio: 1;
    color: var(--primary-color);
}

.export-hub-ring {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: visible;
}

.export-hub-core {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 34%;
    aspect-ratio: 1;
    transform: translate(-50%, -50%);
    display: grid;
    place-content: center;
    justify-items: center;
    gap: 1.8cqw;
    border-radius: 50%;
    background: var(--primary-color);
    box-shadow: 0 0 0 1.6cqw #E9EEF5;
}

    .export-hub-core img {
        width: 25cqw;
        height: auto;
    }

    .export-hub-core small {
        color: #C9D4E4;
        font-size: 2.3cqw;
        font-weight: 500;
        letter-spacing: .14em;
        text-transform: uppercase;
    }

.export-hub-node {
    position: absolute;
    width: 19cqw;
    transform: translate(-50%, -50%);
    display: grid;
    justify-items: center;
    gap: .9cqw;
    padding: 2cqw 1cqw 1.8cqw;
    border-radius: 2.4cqw;
    background: #F8F9FA;
    text-align: center;
}

    .export-hub-node strong {
        font-size: 2.75cqw;
        font-weight: 600;
        line-height: 1.1;
    }

    .export-hub-node span {
        color: #5F6F86;
        font-size: 2.1cqw;
        line-height: 1.15;
    }

.export-hub-dot {
    width: 8.4cqw;
    aspect-ratio: 1;
    display: grid;
    place-items: center;
    border-radius: 50%;
}

    .export-hub-dot svg {
        width: 55%;
        height: 55%;
        fill: none;
        stroke: var(--white-color);
        stroke-width: 1.7;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

/* Blue for documents, teal for GIS, orange for drawings and images. */
.export-doc {
    background: var(--bluelight-color);
}

.export-gis {
    background: #40C0C5;
}

.export-gfx {
    background: var(--secondary-color);
}

.export-hub-pdf {
    left: 50%;
    top: 12%;
}

.export-hub-xls {
    left: 79.7%;
    top: 26.3%;
}

.export-hub-shp {
    left: 87%;
    top: 58.5%;
}

.export-hub-geojson {
    left: 66.5%;
    top: 84.2%;
}

.export-hub-wfs {
    left: 33.5%;
    top: 84.2%;
}

.export-hub-svg {
    left: 13%;
    top: 58.5%;
}

.export-hub-jpg {
    left: 20.3%;
    top: 26.3%;
}

.sync-platform .sync-platform-gis {
    left: 49.91%;
    top: 53.74%;
    color: var(--white-color);
    font-size: 2.93cqw;
    font-weight: 600;
}

/* Workflow arrows sit in the gutter between actor cards: centred horizontally, pointing down once stacked. */
.workflow-cards > div {
    position: relative;
}

.workflow-arrow {
    position: absolute;
    top: 50%;
    right: 0;
    z-index: 2;
    display: flex;
    transform: translate(50%, -50%);
}

@media (max-width: 767.98px) {
    .workflow-arrow {
        top: auto;
        right: auto;
        left: 50%;
        bottom: calc(var(--bs-gutter-y) / -2);
        transform: translate(-50%, 50%) rotate(90deg);
    }
}

.university_section13 .explore-card::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 0;
    height: 0;
    border-bottom: 100px solid #fff4e5 !important;
    border-left: 100px solid transparent !important;
    background: none !important;
}

.university-page .archaeology-benefits {
    background: linear-gradient(114.32deg, #13315D 4.03%, #2A5692 49.42%, #13315D 94.81%);
    /* One cut instead of clip-path + white .hero-bottom-shape: the overlapping anti-aliased edges left a faint line. */
    clip-path: polygon(0 0, 100% 0, 100% 94%, 0 calc(100% - 105px));
}

    .university-page .archaeology-benefits .hero-bottom-shape {
        display: none;
    }

@media (max-width:767px) {
    .university-page .archaeology-benefits {
        clip-path: polygon(0 0, 100% 0, 100% 97%, 0 calc(100% - 105px));
    }
}

@media (max-width:575px) {
    .university-page .archaeology-benefits {
        clip-path: polygon(0 0, 100% 0, 100% 97%, 0 calc(100% - 60px));
    }
}

.university-page .institutional-section, .university-page .Professional_skill {
    background: #F8F9FA;
}

section.hero-section-inner.featured-inner {
    background-image: url(../images/features_bg_egypt.webp);
}

.featured-us-bg .hero-section-inner .hero-overlay {
    background: linear-gradient(281.18deg, rgba(22, 44, 77, 0.98) 0.55%, rgb(43 72 114 / 55%) 12.96%, rgb(37 64 106) 42.44%, rgba(43, 72, 114, 0.8526) 70.39%, rgba(32, 57, 94, 0.98) 90.77%);
}

.featured-us-bg .hero-container .col-lg-6:first-child {
    padding-right: 60px;
    padding-left: 0px;
}

.featured-us-bg .hero-content-inner-pages p {
    font-size: var(--fs-md);
}

.featured-us-bg p {
    font-weight: 400;
}

.featured-us-bg .actor-card p {
    font-size: var(--fs-base) !important;
    font-weight: 400;
    color: var(--text-color);
    padding: 10px 0 0 0;
}

.structured-recording {
    background-color: #ffffff;
    color: var(--primary-color);
    overflow: hidden;
}

    .structured-recording .structured-recording__content {
        max-width: 560px;
    }

    .structured-recording .structured-recording__title {
        color: var(--primary-color);
        line-height: 1.2;
        letter-spacing: -0.5px;
    }

    .structured-recording .structured-recording__line {
        width: 88px;
        height: 4px;
        background-color: var(--secondary-color);
    }

    .structured-recording .structured-recording__subtitle {
        color: #304f7d;
        font-size: var(--fs-xl);
        font-weight: 400;
        line-height: 1.4;
    }

    .structured-recording .structured-recording__description {
        color: var(--text-color);
        font-size: var(--fs-base);
        line-height: 1.75;
    }

    .structured-recording .structured-recording__list {
        color: var(--text-color);
        font-size: var(--fs-base);
        line-height: 1.5;
    }

    .structured-recording .structured-recording__list-icon {
        display: inline-flex;
        flex: 0 0 24px;
        align-items: center;
        justify-content: center;
        width: 24px;
        height: 24px;
        color: #294b7c;
    }

    .structured-recording .structured-recording__image {
        width: 100%;
        max-width: 600px;
    }

        .structured-recording .structured-recording__image img {
            display: block;
            width: 100%;
            height: auto;
            object-fit: contain;
        }

.featured-us-bg .hero-bottom-shape {
    background: #fff;
    z-index: 1;
}

.featured-us-bg h2 {
    font-size: var(--fs-3xl);
}

/* Overview page: labels of the structured recording diagram (580x569 image), see .infographic. */
.structured-diagram .infographic-label {
    color: var(--primary-color);
    font-size: 2.76cqw;
    font-weight: 400;
}

.structured-diagram-spatial {
    left: 50%;
    top: 16.17%;
}

.structured-diagram-structure {
    left: 22.41%;
    top: 26.71%;
}

.structured-diagram-find {
    left: 77.59%;
    top: 26.71%;
}

.structured-diagram-photo {
    left: 22.33%;
    top: 88.22%;
}

.structured-diagram-drawing {
    left: 77.59%;
    top: 88.22%;
}

/* Centred in the photo circle and as wide as its longest word, so the lines break like the original
   (YOUR / CUSTOMISABLE / FORMS); a non-breaking space keeps two words together (Italian "I vostri"). */
.structured-diagram .structured-diagram-forms {
    left: 49.91%;
    top: 51.76%;
    width: min-content;
    color: var(--white-color);
    font-size: 2.93cqw;
    font-weight: 600;
    line-height: 1.53;
    text-transform: uppercase;
    white-space: normal;
}

/* Overview hero: the feature pills around the photo (1348x1068 image), see .infographic.
   The side pills keep their outer edge where it was in the original, so longer translations
   grow towards the photo instead of past the edge of the image. */
.feature-hero .infographic-label {
    display: flex;
    align-items: center;
    box-sizing: border-box;
    height: 5.34cqw;
    padding: 0 2.3cqw;
    border: max(1px, 0.15cqw) solid var(--white-color);
    border-radius: 1.78cqw;
    background: #304d79;
    color: var(--white-color);
    font-size: 2.07cqw;
    font-weight: 300;
}

    .feature-hero .feature-hero-left,
    .feature-hero .feature-hero-right {
        transform: translateY(-50%);
    }

.feature-hero-search {
    left: 42.99%;
    top: 5.38%;
}

.feature-hero-drawing {
    left: 80.01%;
    top: 11.94%;
}

.feature-hero-recording {
    left: 3.93%;
    top: 16.25%;
}

.feature-hero-harris {
    right: 2.3%;
    top: 32.54%;
}

.feature-hero-coordinates {
    left: 2.45%;
    top: 33.85%;
}

.feature-hero-gis {
    left: 3.04%;
    top: 51.45%;
}

.feature-hero-publication {
    right: 2.89%;
    top: 51.83%;
}

.feature-hero-photos {
    left: 0.22%;
    top: 71.11%;
}

.feature-hero-data {
    right: 0.22%;
    top: 71.3%;
}

/* Search at every scale (Overview and Search at every scale pages): site, interventions and their contents
   (706x959 image), see .infographic. Sizes fitted on the original text: 18px Medium in the circle,
   18px Regular spaced out in the pills, 11.75px Regular under the icons. Labels are centred on their shapes. */
.scale-diagram {
    max-width: 706px;
}

.harris-matrices-section2 .scale-diagram {
    max-width: 578px;
}

    .scale-diagram img {
        display: block;
    }

/* One word per line, as wide as the longest word, so it stays inside the circle (ARCHÄOLOGISCHE / FUNDSTELLE). */
.scale-diagram .scale-diagram-site {
    left: 50.04%;
    top: 62.25%;
    width: min-content;
    color: var(--white-color);
    font-size: 2.55cqw;
    font-weight: 500;
    line-height: 1.333;
    text-align: center;
    text-transform: uppercase;
    white-space: normal;
}

.scale-diagram .scale-diagram-pill {
    top: 75.86%;
    color: #2b4872;
    font-size: 2.55cqw;
    font-weight: 400;
    letter-spacing: 0.056em;
    text-transform: uppercase;
}

.scale-diagram-intervention1 {
    left: 30.52%;
}

.scale-diagram-interventionN {
    left: 69.19%;
}

.scale-diagram .scale-diagram-caption {
    top: 96.04%;
    color: var(--primary-color);
    font-size: 1.66cqw;
    font-weight: 400;
}

.scale-diagram-form1 {
    left: 18.91%;
}

.scale-diagram-docs1 {
    left: 30.52%;
}

.scale-diagram-media1 {
    left: 42.14%;
}

.scale-diagram-formN {
    left: 57.58%;
}

.scale-diagram-docsN {
    left: 69.19%;
}

.scale-diagram-mediaN {
    left: 80.81%;
}

.form-relationships {
    background-color: #ffffff;
}

    .form-relationships .form-relationships__intro {
        color: var(--text-color);
        font-size: var(--fs-lead);
        line-height: 1.6;
        font-weight: 400;
    }

    .form-relationships .form-relationships__card {
        padding: 28px !important;
        border: 0;
    }

    .form-relationships .form-relationships__card--blue {
        background-color: #eff7ff;
    }

    .form-relationships .form-relationships__card--cream {
        background-color: #fdf5ea;
    }

    .form-relationships .form-relationships__title {
        color: var(--text-color);
        font-size: var(--fs-xl);
        font-weight: 400;
        line-height: 1.35;
    }

    .form-relationships .form-relationships__icon {
        display: inline-flex;
        flex: 0 0 36px;
        align-items: center;
        justify-content: center;
        width: 36px;
        height: 40px;
    }

    .form-relationships .form-relationships__icon--blue {
        color: #4288b5;
    }

    .form-relationships .form-relationships__icon--green {
        color: #68cdbb;
    }

    .form-relationships .form-relationships__text {
        color: var(--text-color);
        font-size: var(--fs-base);
        line-height: 1.7;
    }

    .form-relationships .form-relationships__button {
        min-height: 48px;
        padding: 12px 24px;
        border: 1px solid var(--secondary-color);
        border-radius: 9px;
        background-color: var(--secondary-color);
        color: #ffffff;
        font-size: var(--fs-sm);
        font-weight: 600;
        text-decoration: none;
        transition: background-color 0.25s ease, border-color 0.25s ease;
    }

        .form-relationships .form-relationships__button:hover {
            background-color: #e9891d;
            border-color: #e9891d;
            color: #ffffff;
        }

.gis-maps-section {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background-color: #193452;
    background-image: linear-gradient( rgba(30, 59, 99, 0.58), rgba(30, 59, 99, 0.58) ), url("../images/gis-maps-background.webp");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

    .gis-maps-section .gis-maps-section__intro {
        position: sticky;
        top: 40px;
        padding-top: 5px;
    }

    .gis-maps-section .gis-maps-section__title {
        color: #ffffff;
        font-size: var(--fs-3xl);
        line-height: 1.2;
        letter-spacing: -0.5px;
    }

    .gis-maps-section .gis-maps-section__line {
        width: 82px;
        height: 4px;
        background-color: var(--secondary-color);
    }

    .gis-maps-section .gis-maps-section__subtitle {
        max-width: 480px;
        color: #dbe6f5;
        font-size: var(--fs-lead);
        font-weight: 500;
        line-height: 1.4;
    }

    .gis-maps-section .gis-maps-section__description {
        max-width: 470px;
        color: #edf2fa;
        font-size: var(--fs-base);
        line-height: 1.8;
    }

    .gis-maps-section .gis-maps-section__button {
        min-width: 123px;
        min-height: 46px;
        padding: 12px 22px;
        border: 1px solid var(--secondary-color);
        border-radius: 8px;
        background-color: var(--secondary-color);
        color: #ffffff;
        font-size: var(--fs-sm);
        font-weight: 600;
        text-decoration: none;
        transition: background-color 0.25s ease;
    }

        .gis-maps-section .gis-maps-section__button:hover {
            background-color: #e8891d;
            border-color: #e8891d;
            color: #ffffff;
        }

    .gis-maps-section .gis-maps-section__features {
        width: 100%;
    }

    .gis-maps-section .gis-maps-section__overview {
        background: linear-gradient(98.04deg, #162C4D 0.44%, rgba(43, 72, 114, 0.8) 26.76%, rgba(37, 64, 106, 0.8) 51.11%, rgba(43, 72, 114, 0.8) 77.02%, #20395E 100%);
        color: #ffffff;
        box-shadow: 0 5px 18px rgba(18, 41, 70, 0.12);
    }

    .gis-maps-section .gis-maps-section__overview-title {
        color: #ffffff;
        font-size: var(--fs-xl);
        line-height: 1.35;
    }

    .gis-maps-section .gis-maps-section__overview-text {
        color: #edf2fa;
        font-size: var(--fs-sm);
        line-height: 1.65;
    }

    .gis-maps-section .gis-maps-section__card {
        background-color: #ffffff;
        box-shadow: 0 5px 18px rgba(22, 43, 69, 0.12);
    }

    .gis-maps-section .gis-maps-section__icon {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 74px;
        height: 74px;
        border-radius: 50%;
        color: #ffffff;
    }

    .gis-maps-section .gis-maps-section__icon--blue {
        background-color: #4088b3;
    }

    .gis-maps-section .gis-maps-section__icon--navy {
        background-color: var(--primary-color);
    }

    .gis-maps-section .gis-maps-section__card-title {
        color: var(--text-color);
        font-size: var(--fs-lg);
        font-weight: 400;
        line-height: 1.4;
    }

    .gis-maps-section .gis-maps-section__card-text {
        color: var(--text-color);
        font-size: var(--fs-sm);
        line-height: 1.55;
    }

.coordinate-entry {
    position: relative;
    margin-top:100px;
    isolation: isolate;
    background-color: #193452;
    background-image: linear-gradient( rgba(18, 43, 76, 0.58), rgba(18, 43, 76, 0.58) ), url(../images/coordinate-entry-bg.webp);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    color: #ffffff;
    overflow: hidden;
}

    .coordinate-entry .coordinate-entry__header {
        padding: 15px 22px 0;
        margin-bottom: 80px;
    }

    .coordinate-entry .coordinate-entry__title {
        color: #ffffff;
        line-height: 1.2;
        letter-spacing: -0.5px;
    }

    .coordinate-entry .coordinate-entry__line {
        width: 92px;
        height: 4px;
        background-color: var(--secondary-color);
    }

    .coordinate-entry .coordinate-entry__subtitle {
        color: #ffffff;
        font-size: var(--fs-lead);
        font-weight: 500;
    }

    .coordinate-entry .coordinate-entry__description {
        max-width: 900px;
        color: #f0f3f8;
        font-size: var(--fs-base);
        line-height: 1.8;
    }

    .coordinate-entry .coordinate-entry__cards {
        margin-top: -8px;
    }

    .coordinate-entry .coordinate-entry__card {
        position: relative;
        z-index: 1;
        isolation: isolate;
        overflow: hidden;
        padding: 25px;
        background-color: #ffffff;
        color: #171717;
        box-shadow: 0 8px 15px rgba(0, 0, 0, 0.22);
    }

        .coordinate-entry .coordinate-entry__card::before {
            position: absolute;
            z-index: -1;
            top: 0;
            right: 0;
            width: 44%;
            height: 90px;
            background-color: #fff5e9;
            clip-path: polygon(0 0, 100% 0, 100% 100%);
            content: "";
        }

    .coordinate-entry .coordinate-entry__card-icon {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        width: 65px;
        height: 80px;
        margin-bottom: 12px;
        color: #294c7e;
    }

    .coordinate-entry .coordinate-entry__card-title {
        position: relative;
        color: var(--primary-color);
        font-size: var(--fs-lg);
        font-weight: 500;
        line-height: 1.4;
        margin-bottom: 18px;
    }

    .coordinate-entry .coordinate-entry__card-text {
        position: relative;
        color: var(--text-color);
        font-size: var(--fs-sm);
        line-height: 1.8;
    }

    .coordinate-entry .coordinate-entry__footer {
        background-color: #eff7ff;
        color: var(--primary-color);
        font-size: var(--fs-md);
        line-height: 1.55;
    }

.photos-drawings-section {
    position: relative;
    overflow: hidden;
    background-color: #ffffff;
    padding-top: 65px !important;
    padding-bottom: 75px !important;
}

    .photos-drawings-section .photos-drawings-section__main-title {
        color: var(--primary-color);
        line-height: 1.25;
        letter-spacing: -0.5px;
        width: max-content;
        margin: 0 auto;
        padding-bottom: 20px;
    }

.photos-drawings-section__line.mb-4 {
    width: 87px;
    height: 4px;
    background-color: var(--secondary-color);
}

.photos-drawings-section .photos-drawings-section__subtitle {
    color: #304f7d;
    font-size: var(--fs-lead);
    font-weight: 500;
    line-height: 1.4;
}

.photos-drawings-section .photos-drawings-section__main-title:after {
    content: '';
    width: 87px;
    height: 4px;
    background-color: var(--secondary-color);
    display: block;
}

.photos-drawings-section .photos-drawings-section__intro {
    color: var(--text-color);
    font-size: var(--fs-base);
    line-height: 1.6;
}

.photos-drawings-section .photos-drawings-section__visual {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 560px;
    padding: 0 50px;
}

.photos-drawings-section .photos-drawings-section__visual-bg {
    position: absolute;
    z-index: 0;
    top: 5%;
    bottom: 5%;
    left: 0;
    width: 100%;
    border-radius: 12px;
    background-color: #294872;
    background-image: url("../images/photos-drawings-bg.webp");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

section.actors-section.feature-page-actors-section h2.actors-title.university-actors-title::after {
    display: none;
}

.photos-drawings-section .photos-drawings-section__image {
    position: relative;
    z-index: 1;
    display: block;
    width: 82%;
    max-width: 540px;
    height: auto;
    border-radius: 10px;
}

.photos-drawings-section .photos-drawings-section__content {
    padding-left: 5px;
}

.photos-drawings-section .photos-drawings-section__title {
    color: var(--primary-color);
    font-size: var(--fs-3xl);
    line-height: 1.25;
    letter-spacing: -0.5px;
}

.photos-drawings-section .photos-drawings-section__title-light {
    color: var(--primary-color);
    font-size: var(--fs-3xl);
    font-weight: 400;
    line-height: 1.25;
}

.photos-drawings-section .photos-drawings-section__description {
    color: var(--text-color);
    font-size: var(--fs-lead);
    line-height: 1.75;
}

.photos-drawings-section .photos-drawings-section__info {
    background-color: #eff7ff;
    color: var(--text-color);
    font-size: var(--fs-base);
    line-height: 1.75;
}

.photos-drawings-section .photos-drawings-section__button {
    min-height: 48px;
    padding: 12px 24px;
    border: 1px solid var(--secondary-color);
    border-radius: 8px;
    background-color: var(--secondary-color);
    color: #ffffff;
    font-size: var(--fs-sm);
    font-weight: 500;
    text-decoration: none;
    transition: background-color 0.25s ease, border-color 0.25s ease;
}

    .photos-drawings-section .photos-drawings-section__button:hover {
        background-color: #e8891d;
        border-color: #e8891d;
        color: #ffffff;
    }

.ai-board-section {
    background-color: #f7f8fa;
    padding-top: 30px !important;
    padding-bottom: 70px !important;
}

    .ai-board-section .ai-board-section__content {
        padding-right: 25px;
    }

    .ai-board-section .ai-board-section__title {
        color: var(--primary-color);
        font-weight: 400;
        line-height: 1.4;
        letter-spacing: -0.7px;
    }

        .ai-board-section .ai-board-section__title strong {
            font-weight: 700;
        }

    .ai-board-section .ai-board-section__line {
        width: 106px;
        height: 5px;
        background-color: var(--secondary-color);
    }

    .ai-board-section .ai-board-section__description {
        color: var(--text-color);
        font-size: var(--fs-lead);
        line-height: 1.8;
        max-width: 440px;
    }

    .ai-board-section .ai-board-section__button {
        padding: 16px 28px;
        border: 1px solid var(--secondary-color);
        border-radius: 9px;
        background-color: var(--secondary-color);
        color: #fff;
        font-size: var(--fs-base);
        font-weight: 500;
        text-decoration: none;
        transition: background-color 0.25s ease;
    }

        .ai-board-section .ai-board-section__button:hover {
            background-color: #e8891d;
            border-color: #e8891d;
            color: #fff;
        }

.drawing-2d-section {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 95px 0 175px;
    color: #ffffff;
    background-image: linear-gradient( rgba(30, 59, 99, 0.88), rgba(30, 59, 99, 0.88) ), url("../images/2d-drawings-background.webp");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    clip-path: polygon( 0 0, 100% 0, 100% 85.5%, 0 100% );
}

    .drawing-2d-section .drawing-2d-section__content {
        max-width: 650px;
    }

    .drawing-2d-section .drawing-2d-section__title {
        color: #ffffff;
        line-height: 1.2;
        letter-spacing: -0.5px;
    }

    .drawing-2d-section .drawing-2d-section__line {
        width: 100px;
        height: 5px;
        background-color: var(--secondary-color);
    }

    .drawing-2d-section .drawing-2d-section__subtitle {
        color: #ffffff;
        font-weight: 400;
        line-height: 1.5;
    }

    .drawing-2d-section .drawing-2d-section__description {
        max-width: 600px;
        color: rgba(255, 255, 255, 0.9);
        font-size: var(--fs-lead);
        line-height: 1.8;
    }

    .drawing-2d-section .drawing-2d-section__features li {
        display: flex;
        align-items: center;
        gap: 13px;
        margin-bottom: 15px;
        color: rgba(255, 255, 255, 0.92);
        font-size: var(--fs-base);
        line-height: 1.5;
    }

    .drawing-2d-section .drawing-2d-section__info {
        max-width: 465px;
        padding: 13px 17px;
        border: 1px solid rgba(255, 255, 255, 0.9);
        border-radius: 9px;
        background-color: rgba(255, 255, 255, 0.035);
        color: #ffffff;
    }

section.drawing-2d-section .drawing-2d-section__info svg {
    min-width: 24px;
    height: auto;
}

.drawing-2d-section .drawing-2d-section__info-icon {
    flex-shrink: 0;
    font-size: 1.5625rem;
}

.drawing-2d-section .drawing-2d-section__info p {
    font-size: var(--fs-base);
    line-height: 1.65;
}

.drawing-2d-section .drawing-2d-section__button {
    padding: 15px 27px;
    border: 1px solid var(--secondary-color);
    border-radius: 9px;
    background-color: var(--secondary-color);
    color: #ffffff;
    font-size: var(--fs-base);
    font-weight: 500;
    text-decoration: none;
    transition: background-color 0.25s ease;
}

    .drawing-2d-section .drawing-2d-section__button:hover {
        border-color: #e9891e;
        background-color: #e9891e;
        color: #ffffff;
    }

    .drawing-2d-section .drawing-2d-section__button i {
        font-size: 1.375rem;
    }

.harris-matrices-section {
    padding-top: 95px !important;
    padding-bottom: 110px !important;
}

section.harris-matrices-section.harris-matrices-section2.py-5 {
    padding: 0 0 50px 0 !important;
}

.harris-matrices-section2 .harris-matrices-section__image {
    max-width: 578px;
}

.harris-matrices-section .harris-matrices-section__content {
    padding-left: 8px;
}

.harris-matrices-section .harris-matrices-section__title {
    color: var(--primary-color);
    line-height: 1.2;
    letter-spacing: -0.5px;
}

.harris-matrices-section .harris-matrices-section__line {
    width: 95px;
    height: 4px;
    background-color: var(--secondary-color);
}

.harris-matrices-section .harris-matrices-section__subtitle {
    color: var(--primary-color);
    line-height: 1.4;
}

.harris-matrices-section .harris-matrices-section__description {
    color: var(--text-color);
    font-size: var(--fs-base);
    line-height: 1.75;
}

.harris-matrices-section .harris-matrices-section__features li {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
    color: var(--text-color);
    font-size: var(--fs-base);
    line-height: 1.5;
}

    .harris-matrices-section .harris-matrices-section__features li:last-child {
        margin-bottom: 0;
    }

.harris-matrices-section .harris-matrices-section__features i {
    flex: 0 0 24px;
    color: #171717;
    font-size: 1.5rem;
    line-height: 1;
    background-image: url(../images/tick-ong.png);
    width: 24px;
    height: 24px;
}

.harris-matrices-section .harris-matrices-section__button {
    min-height: 51px;
    padding: 13px 25px;
    border: 1px solid var(--secondary-color);
    border-radius: 9px;
    background-color: var(--secondary-color);
    color: #ffffff;
    font-size: var(--fs-base);
    font-weight: 500;
    text-decoration: none;
    transition: background-color 0.25s ease;
}

    .harris-matrices-section .harris-matrices-section__button:hover {
        border-color: #e8891d;
        background-color: #e8891d;
        color: #ffffff;
    }

    .harris-matrices-section .harris-matrices-section__button i {
        font-size: 1.3125rem;
    }

.publication-section {
    --pub-navy: #173764;
    --pub-blue: #3d85ad;
    --pub-orange: #ff9e2c;
    --pub-light: #fff4e8;
    position: relative;
    isolation: isolate;
    padding: 110px 0 55px;
    overflow: hidden;
    background: #fff;
}

    .publication-section::before {
        content: "";
        position: absolute;
        z-index: -1;
        top: 0;
        left: 0;
        width: 100%;
        height: 62%;
        background: linear-gradient( rgba(23, 55, 100, 0.48), rgba(23, 55, 100, 0.88) ), url("../images/publication-background.webp") center/cover no-repeat;
        clip-path: polygon(0 0, 100% 0, 100% 78%, 0 100%);
    }

    .publication-section .publication-container {
        width: min(1248px, calc(100% - 48px));
        margin: 0 auto;
    }

    .publication-section .publication-header {
        max-width: 650px;
        margin-bottom: 56px;
        color: #fff;
    }

        .publication-section .publication-header h2 {
            margin: 0;
            color: #fff;
            font-weight: 400;
            line-height: 1.2;
        }

    .publication-section .publication-line {
        display: block;
        width: 84px;
        height: 4px;
        margin: 14px 0 22px;
        background: var(--pub-orange);
    }

    .publication-section .publication-header h3 {
        margin: 0 0 42px;
        color: #fff;
        font-size: var(--fs-lg);
        font-weight: 500;
        line-height: 1.5;
    }

    .publication-section .publication-header p {
        max-width: 610px;
        margin: 0;
        color: rgba(255, 255, 255, 0.88);
        font-size: var(--fs-base);
        line-height: 1.7;
    }

    .publication-section .publication-features {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 26px;
        position: relative;
        z-index: 1;
    }

    .publication-section .publication-feature-card {
        display: grid;
        grid-template-columns: 45% 55%;
        min-width: 0;
        overflow: hidden;
        background: #fff;
        border-radius: 12px;
        box-shadow: 0 7px 18px rgba(20, 40, 65, 0.12);
    }

    .publication-section .publication-feature-image {
        min-width: 0;
        min-height: 290px;
    }

        .publication-section .publication-feature-image img {
            display: block;
            width: 100%;
            height: 100%;
            min-height: 290px;
            object-fit: cover;
        }

    .publication-section .publication-feature-content {
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: start;
        padding: 26px;
        background: linear-gradient( 145deg, #fff 0%, #fff 82%, var(--pub-light) 82% );
    }

        .publication-section .publication-feature-content h4 {
            margin: 0 0 18px;
            color: #2b4d7c;
            font-size: var(--fs-lg);
            font-weight: 500;
            line-height: 1.45;
        }

        .publication-section .publication-feature-content p {
            margin: 0;
            color: #252525;
            font-size: var(--fs-sm);
            line-height: 1.75;
        }

    .publication-section .publication-timeline {
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 26px;
        position: relative;
        margin-top: 120px;
    }

        .publication-section .publication-timeline::before {
            content: "";
            position: absolute;
            top: -33px;
            left: 0%;
            right: 17%;
            height: 2px;
            background: linear-gradient( to right, var(--pub-navy), var(--pub-blue) );
        }

    .publication-section .publication-timeline-item {
        position: relative;
        min-height: 136px;
        padding: 22px 20px;
        border-radius: 12px;
        background: linear-gradient( 40deg, #fff 0%, #fff 78%, var(--pub-light) 78% );
        box-shadow: 0 5px 14px rgba(0, 0, 0, 0.10);
    }

        .publication-section .publication-timeline-item::before {
            content: "";
            position: absolute;
            top: -33px;
            left: 0;
            width: 22px;
            height: 22px;
            border: 2px solid var(--pub-navy);
            border-radius: 50%;
            background: #fff;
            transform: translateY(-50%);
        }

    .publication-section .publication-timeline-icon {
        width: 43px;
        height: 43px;
        margin-bottom: 16px;
        color: var(--pub-navy);
    }

    .publication-section .publication-timeline-item h5 {
        margin: 0;
        color: var(--pub-navy);
        font-size: var(--fs-base);
        font-weight: 500;
        line-height: 1.5;
    }

    .publication-section .publication-timeline-live {
        color: #fff;
        background: var(--pub-blue);
    }

        .publication-section .publication-timeline-live .publication-timeline-icon,
        .publication-section .publication-timeline-live h5 {
            color: #fff;
        }

        .publication-section .publication-timeline-live::before {
            border-color: #3d85ad;
        }

    .publication-section .publication-cta,
    .feature-page-actors-section .publication-cta,
    .staff-access-section .publication-cta {
        display: flex;
        justify-content: center;
        margin-top: 45px;
    }

    .publication-section .publication-button,
    .feature-page-actors-section .publication-button,
    .staff-access-section .publication-button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 14px;
        min-height: 46px;
        padding: 12px 24px;
        border-radius: 9px;
        background: var(--secondary-color);
        color: #fff;
        font-size: var(--fs-sm);
        font-weight: 600;
        text-decoration: none;
        transition: background 0.25s ease, transform 0.25s ease;
    }

        .publication-section .publication-button:hover,
        .staff-access-section .publication-button:hover {
            background: #ed8a1d;
            color: #fff;
            transform: translateY(-2px);
        }

        .publication-section .publication-button span,
        .staff-access-section .publication-button span {
            font-size: var(--fs-lead);
            line-height: 1;
        }

.staff-access-section {
    position: relative;
    isolation: isolate;
    padding: 110px 0 80px;
    overflow: hidden;
    background: #fff;
}

    .staff-access-section::before {
        content: "";
        position: absolute;
        z-index: -1;
        inset: 0 0 auto;
        height: 650px;
        background: linear-gradient( 114.32deg, #13315D 4.03%, #2A5692 49.42%, #13315D 94.81% );
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 73%);
    }

    .staff-access-section .staff-access-container {
        width: min(1700px, calc(100% - 80px));
        margin: 0 auto;
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 0.95fr);
        column-gap: 90px;
        align-items: start;
    }

    .staff-access-section .staff-access-heading {
        padding-top: 5px;
        color: #fff;
    }

        .staff-access-section .staff-access-heading h2 {
            margin: 0;
            color: #fff;
            font-weight: 400;
            line-height: 1.2;
        }

    .staff-access-section .staff-access-line {
        display: block;
        width: 122px;
        height: 5px;
        margin: 20px 0 30px;
        background: #ff9e2c;
    }

    .staff-access-section .staff-access-heading h3 {
        max-width: 650px;
        margin: 0;
        color: #fff;
        font-weight: 400;
        line-height: 1.45;
        font-size: var(--fs-lg);
    }

    .staff-access-section .staff-access-heading .publication-cta {
        justify-content: flex-start;
        margin-top: 35px;
    }

    .staff-access-section .staff-access-features {
        display: flex;
        flex-direction: column;
        gap: 38px;
    }

    .staff-access-section .staff-access-card {
        position: relative;
        display: grid;
        grid-template-columns: 110px minmax(0, 1fr);
        align-items: center;
        gap: 24px;
        min-height: 165px;
        padding: 30px 32px;
        overflow: hidden;
        background: #fff;
        border-radius: 16px;
        box-shadow: 0 9px 22px rgba(0, 0, 0, 0.10);
        max-width: 80%;
    }

        .staff-access-section .staff-access-card::before {
            content: "";
            position: absolute;
            top: 0;
            right: 0;
            width: 105px;
            height: 75px;
            background: #fff4e8;
            clip-path: polygon(0 0, 100% 0, 100% 100%);
            pointer-events: none;
        }

    .staff-access-section .staff-access-icon {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 105px;
        height: 105px;
        color: #2d4d7c;
    }

    .staff-access-section .staff-access-card-content {
        position: relative;
        z-index: 1;
    }

        .staff-access-section .staff-access-card-content p {
            margin: 0;
            color: #171717;
            font-weight: 400;
            line-height: 1.55;
        }

.featured-us-bg .actor-card {
    height: auto;
}

section.coordinate-entry.py-5 .hero-bottom-shape {
    position: absolute;
    z-index: 0;
    left: -2%;
    bottom: -1px;
    width: 104%;
    height: 325px;
    background: var(--white-color);
    clip-path: polygon(0% 30%, 100% 0%, 100% 100%, 0 990%);
}

.gis-left-border {
    position: relative;
    padding-left: 70px;
}

    .gis-left-border::before {
        content: "";
        position: absolute;
        top: 26px;
        bottom: 0;
        left: 21px;
        width: 2px;
        background: var(--primary-color);
        height: 50%;
    }

    .gis-left-border::after {
        content: "";
        position: absolute;
        top: 0;
        left: 8px;
        width: 28px;
        height: 28px;
        border: 2px solid #173663;
        border-radius: 50%;
        background: #e1e0dc;
        box-shadow: 0 389px 0 -2px transparent;
    }

.gis-maps-section__card {
    position: relative;
}

    .gis-maps-section__card:first-child::before,
    .gis-maps-section__card:last-child::before {
        content: "";
        position: absolute;
        left: -62px;
        width: 28px;
        height: 28px;
        border: 2px solid #173663;
        border-radius: 50%;
        background: #c6bda7;
    }

    .gis-maps-section__card:first-child::before {
        top: 0;
    }

    .gis-maps-section__card:last-child::before {
        top: -1px;
    }

.row.mt-5.information-zindex {
    z-index: 1;
    position: relative;
}

.featured-us-bg .row {
    margin: 0;
}

.feature-page-actors-section .actors-title strong {
    width: max-content;
    display: grid;
    margin: 0 auto;
    margin-bottom: 25px;
}

    .feature-page-actors-section .actors-title strong:after {
        content: '';
        width: 87px;
        height: 4px;
        background-color: var(--secondary-color);
        display: block;
        margin-top: 10px;
    }

.coordinate-entry .coordinate-entry__card {
    min-height: 455px;
}

.training-page .hero-section-inner {
    min-height: 785px;
    background-image: url(../images/training-page-main-img.webp);
}

.training-page .photos-drawings-section .photos-drawings-section__intro {
    font-size: var(--fs-lead);
}

.training-page .photos-drawings-section .photos-drawings-section__main-title {
    width: auto;
}

.training-page .free-trial-box {
    align-items: center;
}

.training-page .hero-bottom-shape {
    background: #fff;
    z-index: 1;
}

.training-page h2 {
    font-size: var(--fs-3xl);
}

.training-page .hero-content-inner-pages p {
    font-size: var(--fs-lead);
}

.training-page .hero-content-inner-pages h1 strong:after {
    content: '';
    width: 100px;
    height: 2px;
    display: block;
    background: #F59C30;
    margin: 15px 0 30px 0;
}

.training-page .photos-drawings-section .photos-drawings-section__main-title:after {
    margin: 10px auto 10px auto;
}

/* The two ways to learn below the hero: "1 Learn" (video course, the main one) and "2 Look up" (documentation). */
.training-step {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 5px 16px 5px 5px;
    border: 1px solid var(--secondary-color);
    border-radius: 30px;
    color: var(--secondary-color);
    font-size: var(--fs-sm);
    font-weight: 500;
    letter-spacing: .5px;
    text-transform: uppercase;
}

.training-step__number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--secondary-color);
    color: var(--white-color);
}

.training-step--muted {
    border-color: #9fb3cc;
    color: var(--bluelight-color);
}

    .training-step--muted .training-step__number {
        background: var(--bluelight-color);
    }

.training-course {
    position: relative;
    z-index: 1;
    padding: 40px 0 90px;
    scroll-margin-top: 90px;
}

.training-course__header {
    margin-bottom: 40px;
}

.training-course__player {
    overflow: hidden;
    border-radius: 12px;
    background: var(--primary-color);
    box-shadow: 0 18px 40px rgba(19, 49, 93, .25);
}

    .training-course__player iframe {
        border: 0;
    }

.training-course__caption {
    margin: 16px 0 0;
    color: #45658d;
    font-size: var(--fs-base);
}

    .training-course__caption strong {
        color: var(--secondary-color);
        font-weight: 600;
    }

.training-reference {
    padding: 0 0 100px;
}

.training-reference__box {
    display: flex;
    align-items: center;
    gap: 32px;
    padding: 36px 40px;
    border: 1px solid #d6e3f2;
    border-radius: 12px;
    background: #eff7ff;
}

.training-reference__icon {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 76px;
    height: 76px;
    border-radius: 50%;
    background: var(--white-color);
    color: var(--bluelight-color);
}

.training-reference__content {
    flex: 1;
}

    .training-page .training-reference__content h2 {
        margin: 16px 0 10px;
        color: var(--primary-color);
        font-size: var(--fs-xl);
        font-weight: 400;
    }

        .training-reference__content h2 strong {
            font-weight: 600;
        }

    .training-reference__content p {
        margin: 0;
        color: #34547d;
        font-size: var(--fs-base);
        line-height: 1.7;
    }

/* Outlined, so that it never competes with the orange button of the video course. */
.training-reference__button {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    gap: 14px;
    min-height: 48px;
    padding: 12px 24px;
    border: 1px solid var(--bluelight-color);
    border-radius: 8px;
    color: var(--bluelight-color);
    font-size: var(--fs-sm);
    font-weight: 500;
    text-decoration: none;
    transition: .3s;
}

    .training-reference__button:hover {
        background: var(--bluelight-color);
        color: var(--white-color);
    }

@media (max-width: 991px) {
    .training-reference__box {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
        padding: 28px 24px;
    }

    .training-reference__icon {
        width: 60px;
        height: 60px;
    }
}

.brochures-section {
    position: relative;
    padding: 100px 0 120px;
    color: #fff;
    background: linear-gradient(to bottom, #fff 0%, #ffffff 50%, #eff7ff 100%);
    isolation: isolate;
    overflow: hidden;
}

.photo-dive-section .row {
    max-width: 500px;
    margin: 0 auto;
}

.tutorial-section {
    padding: 50px 0 0 60px;
}

.brochures-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(rgba(22, 49, 82, .88), rgba(22, 49, 82, .92)), url("../images/brochures-bg.webp") center/cover no-repeat;
    clip-path: polygon(0 0, 100% 11%, 100% 89%, 0 100%);
    z-index: -1;
}

.brochures-header {
    margin-bottom: 44px;
}

.brochures-tag {
    display: inline-block;
    padding: 6px 15px;
    border: 1px solid #ff9d2e;
    border-radius: 30px;
    color: #ff9d2e;
    font-size: var(--fs-xs);
}

.brochures-header h2 {
    margin: 22px 0 12px;
    font-size: var(--fs-3xl);
    font-weight: 400;
}

.brochures-line {
    width: 85px;
    height: 4px;
    margin-bottom: 26px;
    background: #ff9d2e;
}

.brochures-header p {
    max-width: 600px;
    margin-bottom: 0;
    color: #e1e8f1;
    font-size: var(--fs-lead);
    line-height: 1.8;
}

.brochure-card {
    height: 100%;
    overflow: hidden;
    color: #111;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .15);
}

.brochure-card-img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.brochure-card-body {
    position: relative;
    padding: 22px 23px;
    isolation: isolate;
    overflow: hidden;
}

    .brochure-card-body h3 {
        margin-bottom: 16px;
        color: #294b79;
        font-size: var(--fs-lg);
        font-weight: 500;
    }

    .brochure-card-body p {
        margin-bottom: 16px;
        font-size: var(--fs-base);
    }

.brochure-btn {
    display: flex;
    padding: 12px;
    color: #fff;
    background: #ff9d2e;
    border: 1px solid #ff9d2e;
    border-radius: 8px;
    justify-content: center;
    gap: 10px;
}

    .brochure-btn:hover {
        color: #fff;
        background: #e98a1c;
        border-color: #e98a1c;
    }

.support-section {
    position: relative;
    overflow: hidden;
    padding: 80px 0 110px !important;
    background: #eff7ff;
    clip-path: polygon(0 0, 100% 0, 100% 86%, 0 100%);
}

.support-title {
    color: #183762;
    font-size: var(--fs-3xl);
    font-weight: 400;
    line-height: 1.35;
}

section.support-section.py-5 span.free-trial-tag {
    margin-bottom: 0;
}

.support-title strong {
    display: block;
    font-weight: 700;
}

/* Title kept on one line: the bold part follows the regular part instead of starting a new line. */
.support-title-inline strong {
    display: inline;
}

.support-line {
    display: block;
    width: 88px;
    height: 4px;
    margin-top: 14px;
    background: #f99d2b;
}

.support-description {
    max-width: 560px;
    color: #34547d;
    font-size: var(--fs-lead);
    line-height: 1.8;
}

.support-list {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.support-item {
    display: flex;
    align-items: flex-start;
    gap: 13px;
}

.support-check {
    width: 27px;
    height: 27px;
    flex-shrink: 0;
    object-fit: contain;
}

.support-item h3 {
    margin: 0 0 8px;
    color: #294b79;
    font-size: var(--fs-lg);
    font-weight: 500;
}

.support-item p {
    margin: 0;
    color: #45658d;
    font-size: var(--fs-sm);
    line-height: 1.7;
}

.support-visual {
    text-align: center;
}

/* The pages sharing .drawingtool-main set their own hero image further down. */
.drawingtool-main .hero-section {
    background-image: url(../images/2d-drawings-background.webp);
    min-height: 800px;
}

/* Drawing Tool page: excavation plan drawing, full width; anchored to the top, which also keeps the white slanted strip
   baked into the bottom of the image out of view. */
.drawing-tool-page .hero-section {
    background-position: center top;
}

.drawingtool-main .row {
    margin: 0;
}

.drawingtool-main .hero-btns a:last-child {
    background: transparent;
    border: 1px solid #f59c30;
    color: #f59c30;
}

.drawingtool-main .support-check {
    width: 60px;
    height: 60px;
}

.drawingtool-main .hero-bottom-shape {
    background: #fff;
}

.drawingtool-main .why-card-content li {
    display: list-item;
    color: var(--text-color);
}

.drawingtool-main .why-card-content ul {
    list-style: disc;
    padding: 20px 0 0 20px;
}

.drawingtool-main h2 {
    font-size: var(--fs-3xl);
    font-weight: 400;
}

.drawingtool-main .coordinate-entry .coordinate-entry__card {
    min-height: 300px;
}

.drawingtool-main .coordinate-entry {
    background: linear-gradient(114.32deg, #13315D 4.03%, #2A5692 49.42%, #13315D 94.81%);
}

.drawingtool-main .coordinate-entry {
    position: relative;
    isolation: isolate;
    padding-top: 120px !important;
    padding-bottom: 180px !important;
    background: #ffffff !important;
}

.drawingtool-main .drawing-hero-text-hero {
    font-size: var(--fs-sm);
    font-weight: 300;
    font-style: italic;
    max-width: 460px;
    margin-bottom: 30px;
}

.drawingtool-main .hero-draw-box {
    background: #EFF7FF;
    border-radius: 8px;
    color: #13305D;
    padding: 15px;
    font-size: var(--fs-base);
    max-width: 460px;
}

.drawingtool-main .coordinate-entry::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient( 114.32deg, #13315D 4.03%, #2A5692 49.42%, #13315D 94.81% );
    clip-path: polygon(0 0, 100% 12%, 100% 100%, 0 88%);
    z-index: -1;
}

/* Drawing Tool page: no white between the grey .support-section and the blue band. The band's 100px top margin moves
   into the grey section's bottom padding (same spacing), and the triangle above the band's slanted top edge takes the
   same grey; the one below its bottom edge stays white like the .benefits-section that follows. */
.drawing-tool-page .support-section {
    padding-bottom: calc(3rem + 100px) !important;
}

.drawing-tool-page .coordinate-entry {
    margin-top: 0;
    background: linear-gradient(to bottom, #F8F9FA 50%, #ffffff 50%) !important;
}

.drawingtool-main .coordinate-entry .coordinate-entry__description {
    font-size: var(--fs-lead);
}

.drawingtool-main .why-matters-heading p {
    font-size: var(--fs-lead);
}

.drawingtool-main .support-list {
    gap: 45px;
}

.drawingtool-main .support-item p {
    color: var(--text-color);
    font-size: var(--fs-base);
}

.drawingtool-main .support-visual img {
    width: 100%;
}

.drawingtool-main .coordinate-entry .coordinate-entry__card-text {
    font-size: var(--fs-base);
}

.drawingtool-main .coordinate-entry .coordinate-entry__card-title {
    margin-top: 35px;
}

.drawingtool-main .support-section {
    background: #F8F9FA;
    clip-path: none;
}

.geo-section {
    background: linear-gradient( to bottom, #e5f2ff 0%, #e5f2ff 100% );
    padding: 75px 0 !important;
    color: #193c6b;
}

.geo-header {
    max-width: 900px;
    margin-bottom: 45px;
}

.geo-main-title {
    font-size: var(--fs-2xl);
    font-weight: 400;
    line-height: 1.3;
    margin-bottom: 8px;
    color: var(--primary-color);
}

.geo-line {
    display: block;
    width: 63px;
    height: 3px;
    background-color: #ff981f;
    margin: 12px 0 32px;
}

.geo-header .geo-line {
    margin: 0 auto 32px;
}

.geo-intro {
    font-size: var(--fs-lead);
    line-height: 1.6;
    color: #345174;
    margin: 0;
}

.geo-row {
    margin-bottom: 32px;
}

    .geo-row:last-child {
        margin-bottom: 0;
    }

.geo-image {
    width: 100%;
    overflow: hidden;
    border-radius: 9px;
}

    .geo-image img {
        display: block;
        width: 100%;
        height: auto;
        border-radius: 9px;
    }

/* A deeper shade for a screenshot on the light blue background; the wrapper must not clip it. */
.geo-image.geo-image-shadow {
    overflow: visible;
}

    .geo-image.geo-image-shadow img {
        box-shadow: 0 0 30px rgba(0, 0, 0, .28);
    }

.geo-content {
    max-width: 450px;
    padding: 25px 15px;
}

    .geo-content h3 {
        color: var(--primary-color);
        font-size: var(--fs-2xl);
        font-weight: 400;
        line-height: 1.35;
        margin: 0;
    }

    .geo-content .geo-line {
        margin: 8px 0 32px;
    }

    .geo-content p {
        font-size: var(--fs-base);
        line-height: 1.7;
        color: var(--text-color);
        margin-bottom: 0;
    }

.records-section {
    background-color: #f7f8fa;
    padding: 70px 0 !important;
    overflow: hidden;
}

    .records-section .records-content {
        padding: 10px 0;
    }

    .records-section .records-title {
        color: var(--primary-color);
        font-size: var(--fs-3xl);
        font-weight: 400;
        line-height: 1.36;
        margin: 0;
    }

    .records-section .records-line {
        display: block;
        width: 88px;
        height: 4px;
        background-color: #ff9826;
        margin: 10px 0 48px;
    }

    .records-section .records-intro {
        color: #40536e;
        font-size: var(--fs-base);
        line-height: 1.7;
        margin-bottom: 38px;
        max-width: 470px;
    }

    .records-section .records-feature {
        display: flex;
        align-items: flex-start;
        gap: 24px;
        margin-bottom: 32px;
    }

        .records-section .records-feature:last-child {
            margin-bottom: 0;
        }

    .records-section .records-icon {
        flex: 0 0 60px;
        width: 60px;
        display: flex;
        align-items: flex-start;
        justify-content: center;
        padding-top: 2px;
    }

        .records-section .records-icon img {
            width: 55px;
            height: 55px;
            object-fit: contain;
            display: block;
        }

    .records-section .records-feature-text {
        flex: 1;
    }

        .records-section .records-feature-text h3 {
            color: #304f7c;
            font-size: var(--fs-lg);
            font-weight: 500;
            line-height: 1.4;
            margin: 0 0 8px;
        }

        .records-section .records-feature-text p {
            color: #171717;
            font-size: var(--fs-sm);
            line-height: 1.65;
            margin: 0;
        }

    .records-section .records-main-image {
        width: 100%;
        border-radius: 12px;
        overflow: hidden;
    }

        .records-section .records-main-image img {
            width: 100%;
            height: 830px;
            object-fit: cover;
            object-position: center;
            display: block;
            border-radius: 12px;
        }

.benefits-section {
    background-color: #ffffff;
    padding: 65px 0 45px !important;
    overflow: hidden;
}

    .benefits-section .benefits-header h2 {
        color: var(--primary-color);
        font-size: var(--fs-3xl);
        line-height: 1.3;
        margin: 0;
    }

    .benefits-section .benefits-line {
        display: block;
        width: 88px;
        height: 4px;
        background-color: #ff9826;
        margin: 12px auto 0;
    }

    .benefits-section .benefits-main-image {
        margin: 25px auto 55px;
    }

        .benefits-section .benefits-main-image img {
            width: 100%;
            max-width: 1150px;
            height: auto;
            display: inline-block;
            object-fit: contain;
        }

    .benefits-section .benefits-cards {
        border-top: 1px solid var(--primary-color);
    }

    .benefits-section .benefit-card {
        height: 100%;
        min-height: 255px;
        padding: 38px 22px 24px;
        border: 1px solid #f5f5f5;
        border-top: 0;
        border-radius: 0 0 12px 12px;
        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.015);
    }

        .benefits-section .benefit-card h3 {
            color: var(--text-color);
            font-size: var(--fs-lg);
            font-weight: 500;
            line-height: 1.45;
            margin: 0 0 28px;
        }

        .benefits-section .benefit-card p {
            color: var(--text-color);
            font-size: var(--fs-base);
            font-weight: 400;
            line-height: 1.7;
            margin: 0;
        }

    .benefits-section .benefit-card-highlight {
        position: relative;
    }

        .benefits-section .benefit-card-highlight::before {
            content: "";
            position: absolute;
            top: -1px;
            left: 0;
            width: 100%;
            height: 4px;
            background-color: #ff9826;
        }

        .benefits-section .benefit-card-highlight h3 {
            color: var(--primary-color);
            font-weight: 700;
        }

.drawingtool-main .coordinate-entry .coordinate-entry__card {
    padding: 45px 25px;
}

.drawingtool-main .support-item {
    gap: 25px;
}

.matrix-main .drawing-hero-text-hero-matrix {
    font-style: normal !important;
}

.matrix-main .hero-btns-matrix .hero-btn {
    background: #f59c30 !important;
    border: 1px solid #f59c30 !important;
    color: white !important;
    min-width: 138px !important;
}

.matrix-main .hero-bottom-shape {
    background: #f8f9fa;
    z-index: 1;
}

.matrix-main .photos-drawings-section__description-matrix {
    font-size: var(--fs-lead) !important;
    color: #13315D;
}

.matrix-main .photos-drawings-section__content-matrix .photos-drawings-section__info p.mt-3.fw-medium {
    font-size: var(--fs-lead) !important;
}

.matrix-main .coordinate-entry .coordinate-entry__card-matrix::before {
    position: unset !important;
}

.matrix-main .coordinate-entry-matrix h2.coordinate-entry__title.text-center.mb-3.mt-3::before {
    width: 92px;
    height: 4px;
    background-color: var(--secondary-color);
    position: absolute;
    content: '';
    top: 60px;
}

.matrix-main .coordinate-entry-matrix h2.coordinate-entry__title.text-center.mb-3.mt-3 {
    position: relative;
}

.matrix-main .coordinate-entry.py-5.coordinate-entry-matrix .coordinate-entry__header {
    margin-bottom: 30px;
}

.matrix-main .coordinate-entry.py-5.coordinate-entry-matrix {
    padding-bottom: 50px !important;
    min-height: 800px;
    background: none !important;
}

.matrix-main section.coordinate-entry.py-5.coordinate-entry-matrix::before {
    background: linear-gradient(to bottom, #FFFFFF, #f0f8ff);
    clip-path: unset;
}

.matrix-main .photos-drawings-section-matrix {
    padding-top: 5px !important;
}

.matrix-main .photos-drawings-section-matrix .photos-drawings-section__visual {
    padding: 0 10px;
}

.matrix-main .photos-drawings-section-matrix .photos-drawings-section__image {
    width: 100%;
    max-width: 680px;
}

.matrix-main .coordinate-entry.py-5.coordinate-entry-matrix .field-network-bg {
    background: url(../images/2nd-homepage-image_my.webp) center center / cover no-repeat !important;
}

.matrix-main .University-field-network-section-matrix .field-network-bg {
    background: url(../images/2nd-homepage-imagenew_1.webp) center center / cover no-repeat !important;
}

    /* This photo is bright, unlike University's pre-darkened one: a denser overlay gives the same contrast. */
    .matrix-main .University-field-network-section-matrix .field-network-bg::before {
        background: linear-gradient(275.16deg, rgba(22,44,77,.94) .04%, rgba(43,72,114,.86) 18.73%, rgba(37,64,106,.8) 44.02%, rgba(43,72,114,.88) 65.9%, rgba(32,57,94,.94) 86.44%);
    }

.matrix-main .features-section {
    color: var(--primary-color);
}

    .matrix-main .features-section h2,
    .matrix-main .features-section h3 {
        color: var(--primary-color);
        margin-top: 15px;
    }

.matrix-main .features-underline {
    width: 42px;
    height: 2px;
    background-color: #ff941f;
}

.matrix-main .features-section p {
    color: #34527c;
    line-height: 1.6;
    font-size: var(--fs-lead);
}

.matrix-main .feature-class-child p {
    font-size: var(--fs-base) !important;
}

.matrix-main .features-section h2.mb-2::before {
    width: 92px;
    height: 4px;
    background-color: var(--secondary-color);
    position: absolute;
    content: '';
    top: 80px;
}

.matrix-main .features-section .col-12.text-center.mb-5 {
    position: relative;
}

.matrix-main .container.feature-section {
    max-width: 1000px;
}

    .matrix-main .container.feature-section .col-12.col-md-4 {
        max-width: 180px;
    }

.matrix-main .features-section .feature-small-icon {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    object-fit: contain;
}

.matrix-main .features-section .row > div > img.img-fluid {
    width: 100%;
    height: auto;
    max-height: 220px;
    object-fit: contain;
    object-position: center;
}

.matrix-main .feature-class-child img {
    width: 50px !important;
    height: 50px !important;
}

.matrix-main .hero-section-matrix {
    background-image: url(../images/firstmain.webp) !important;
}

.matrix-main .records-matrix-section {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    color: #ffffff;
    background-image: linear-gradient(#F8F9FA, #F8F9FA);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    clip-path: polygon(0 0, 100% 0, 100% 85.5%, 0 100%);
    padding: 95px 0 175px;
    color: var(--primary-color);
    min-height: 800px;
} 
.matrix-main .records-matrix-title {
    margin: 0;
    color: var(--primary-color);
    line-height: 1.25;
}

.records-matrix-title strong {
    font-weight: 700;
}

.records-matrix-line {
    width: 48px;
    height: 2px;
    margin-top: 10px;
    background-color: #ff941f;
} 
.records-matrix-subtitle {
    color: var(--primary-color);
    font-size: var(--fs-lead);
    font-weight: 400;
    line-height: 1.6;
}

.records-matrix-row {
    display: flex;
    align-items: stretch;
    margin-left: 0;
    margin-right: 0;
    gap: 20px 0;
} 
.records-matrix-card-column {
    flex: 1 1 0;
    width: 0;
    min-width: 0;
    padding-left: 0;
    padding-right: 0;
}

.matrix-main .container.feature-section .row.align-items-center.g-4 {
    justify-content: center;
} 
.records-matrix-card-second {
    max-width: 490px;
}

.records-matrix-card {
    position: relative;
    z-index: 1;
    width: 100%;
    min-width: 0;
    min-height: 280px;
    padding: 30px 24px;
    overflow: hidden;
    background-color: #ffffff;
    border: 1px solid #f0f0f0;
    border-radius: 8px !important;
    box-shadow: 0 3px 7px rgba(0, 0, 0, 0.10);
    box-sizing: border-box;
} 
    .records-matrix-card::before {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        width: 85px;
        height: 55px;
        background-color: #eff7ff;
        clip-path: polygon(0 0, 100% 0, 100% 100%);
        z-index: -1;
        pointer-events: none;
    }

    .records-matrix-card h3 {
        margin: 0 0 8px;
        margin-top: 30px;
        color: var(--primary-color);
        font-size: var(--fs-lg);
        font-weight: 500;
        line-height: 1.4;
    }

    .records-matrix-card p {
        margin: 0;
        color: #222222;
        font-size: var(--fs-base);
        font-weight: 400;
        line-height: 1.6;
        overflow-wrap: break-word;
    } 
.records-matrix-divider-column {
    flex: 0 0 62px;
    width: 62px;
    max-width: 62px;
    padding: 0 !important;
    display: flex;
    align-items: stretch;
    justify-content: center;
}

.records-matrix-divider {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1px;
    height: 100%;
    min-height: 190px;
    background-color: #315482;
}

    .records-matrix-divider span {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        padding: 12px 8px;
        color: var(--primary-color);
        background-color: #f7f8fa;
        font-size: var(--fs-xs);
        line-height: 1;
    }

.matrix-main .records-matrix-title {
    position: relative;
    padding-bottom: 20px;
}

.records-matrix-title::before {
    width: 92px;
    height: 4px;
    background-color: var(--secondary-color);
    position: absolute;
    content: '';
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

.records-matrix-section .col-12.text-center {
    position: relative;
}

.drawingtool-main.matrix-main .support-section {
    background: #F0F8FF !important;
    clip-path: none;
}

.drawingtool-main.reporting-publication-main .hero-section {
    background-image: url(../images/archeopublication-hero.webp);
    background-position: center 25%;
}

.drawingtool-main.reporting-publication-main:not(.data-infrastructure) .support-main-image {
    border-radius: 10px;
    box-shadow: 0 4px 9px rgba(0, 0, 0, .4);
}

.drawingtool-main.reporting-publication-main .hero-bottom-shape {
    background: #fff !important;
}

.drawingtool-main.reporting-publication-main .why-card {
    min-height: auto;
}

.drawingtool-main.reporting-publication-main .why-card-icon img {
    max-width: 120px;
    max-height: 120px;
}

.drawingtool-main.reporting-publication-main section.support-section.reporting-sec .support-list.mt-4 {
    display: flex;
    flex-direction: row;
    gap: 20px;
}

    .drawingtool-main.reporting-publication-main section.support-section.reporting-sec .support-list.mt-4 .support-item {
        background: #EFF7FF;
        padding: 20px;
        border-radius: 8px;
        display: flex;
        flex-direction: column;
    }

.drawingtool-main.reporting-publication-main .support-section.reporting-sec {
    padding: 0 0 50px 0 !important;
}

.drawingtool-main.reporting-publication-main .support-section-rreporting-page {
    padding-bottom: 50px !important;
}

/* Feature rows with a zoomable screenshot: text left, image right (Reporting & Publication, Harris Matrix). */
.matrix-main .container.feature-section.feature-section--zoom .col-12.col-md-4 {
    max-width: 430px;
}

.matrix-main .container.feature-section.feature-section--zoom .pub-zoom {
    display: block;
    border-radius: 10px;
    box-shadow: 0 4px 9px rgba(0, 0, 0, .4);
    overflow: hidden;
    cursor: zoom-in;
}

    .matrix-main .container.feature-section.feature-section--zoom .pub-zoom img {
        display: block;
        width: 100%;
        height: auto;
        transition: transform .3s ease;
    }

    .matrix-main .container.feature-section.feature-section--zoom .pub-zoom:hover img {
        transform: scale(1.03);
    }

    .matrix-main .container.feature-section.feature-section--zoom .pub-zoom:focus-visible {
        outline: 3px solid #f59c30;
        outline-offset: 3px;
    }

.pub-image-modal .modal-content {
    width: fit-content;
    margin: 0 auto;
    background: transparent;
    border: 0;
}

.pub-image-modal__image {
    display: block;
    max-width: 100%;
    max-height: calc(100vh - 3.5rem);
    margin: 0 auto;
    border-radius: 8px;
}

.pub-image-modal__close {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 1;
    padding: 10px;
    background-color: #fff;
    border-radius: 50%;
    opacity: .9;
}

@media (min-width: 768px) {
    .matrix-main .container.feature-section.feature-section--zoom .col-12.col-md-4 {
        width: 43%;
    }

    .matrix-main .container.feature-section.feature-section--zoom .col-12.col-md-8 {
        width: 57%;
    }
}

.drawingtool-main.reporting-publication-main.drawingtool-main.reporting-publication-main .support-section {
    background: #ffffff !important;
    clip-path: none;
    padding-top: 0 !important;
}

.drawingtool-main.reporting-publication-main .features-section {
    position: relative;
    padding: 140px 0 38px !important;
    background: #f7f8fa;
    overflow: hidden;
    clip-path: polygon( 0 0, 100% 0, 100% 100%, 0 100% );
}

    .drawingtool-main.reporting-publication-main .features-section::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 80px;
        background: #fff;
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 25%);
        pointer-events: none;
    }

.drawingtool-main.reporting-publication-main .why-card {
    min-height: 344px;
}

.publications-section {
    position: relative;
    isolation: isolate;
    padding: 150px 0 0;
    margin: 0;
    color: #fff;
    background: linear-gradient(to bottom, #f7f8fa 0%, #ffffff 100%);
}

    .publications-section::before {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient( 114.32deg, #13315D 4.03%, #2A5692 49.42%, #13315D 94.81% );
        clip-path: polygon(0 0, 100% 12%, 100% 100%, 0 88%);
        z-index: -1;
    }

    .publications-section .publications-title {
        color: #fff;
        line-height: 1.3;
        margin: 0;
    }

    .publications-section .publications-line {
        display: block;
        width: 88px;
        height: 4px;
        background: var(--secondary-color);
        margin: 12px 0 48px;
    }

    .publications-section .publications-intro {
        color: #f1f4f9;
        font-size: var(--fs-lead);
        line-height: 1.7;
        margin: 0 0 68px;
    }

    .publications-section .publications-row {
        position: relative;
    }

    .publications-section .publications-image {
        height: 605px;
        border-radius: 12px;
        overflow: hidden;
    }

        .publications-section .publications-image img {
            width: 100%;
            height: 100%;
            display: block;
            object-fit: cover;
            object-position: center;
        }

    /* A screenshot is shown whole, at its own height, rather than cropped to fill the box. */
    .publications-section .publications-image.publications-image--screenshot {
        height: auto;
        border-radius: 10px;
        box-shadow: 0 4px 9px rgba(0, 0, 0, .4);
    }

        .publications-section .publications-image.publications-image--screenshot img {
            height: auto;
        }

/* The screenshot is shorter than the feature list, so the list sets the section height; keep its
   last line above the slanted bottom edge of the blue background. */
@media (min-width: 992px) {
    .reporting-publication-main:not(.data-infrastructure) .publications-section {
        padding-bottom: 130px;
    }
}

    .publications-section .publications-features {
        padding: 35px 0 0 35px;
    }

    .publications-section .publication-feature {
        display: flex;
        align-items: flex-start;
        gap: 24px;
        margin-bottom: 40px;
    }

        .publications-section .publication-feature:last-child {
            margin-bottom: 0;
        }

    .publications-section .publication-check {
        flex: 0 0 28px;
        width: 28px;
        height: 28px;
    }

        .publications-section .publication-check img {
            width: 28px;
            height: 28px;
            display: block;
            object-fit: contain;
        }

    .publications-section .publication-feature p {
        color: #fff;
        font-size: var(--fs-lead);
        font-weight: 400;
        line-height: 1.45;
        margin: 0;
        max-width: 440px;
    }

.data-infrastructure .hero-content {
    margin: 0 auto;
    text-align: center;
}

.data-infrastructure .hero-section {
    display: flex;
    align-items: center;
    background-image: url(../images/data-infrastructure-hero.webp) !important;
    background-position: center 40%;
}

.data-infrastructure .hero-content {
    max-width: 565px;
}

.data-infrastructure .why-matters-heading p {
    max-width: 920px;
    margin: 0 auto;
}

.data-infrastructure .drawing-hero-text-hero {
    max-width: 100%;
}

.data-infrastructure .hero-section .hero-btn {
    margin: 0 auto;
}

.data-infrastructure .hero-container {
    padding-top: 0px;
}

.data-infrastructure .support-title strong {
    display: unset;
}

.data-infrastructure .support-section.py-5.infrastructure-support-section .support-check {
    width: 28px;
    height: 28px;
}

.data-infrastructure .hero-description {
    font-size: var(--fs-lead);
}

.data-infrastructure .photos-drawings-section.py-5.photo-dive-section .row {
    margin: 0 auto;
    max-width: 564px;
}

.data-infrastructure .photos-drawings-section .photos-drawings-section__main-title {
    width: auto;
} 
    .data-infrastructure .photos-drawings-section .photos-drawings-section__main-title:after {
        margin: 15px auto 0;
    } 
.export-section {
    position: relative;
    isolation: isolate;
    padding: 150px 0 150px;
    color: #ffffff;
    overflow: hidden;
} 
    .export-section::before {
        content: "";
        position: absolute;
        inset: 0;
        /* Same gradient as .free-trial-box. */
        background: linear-gradient( 114.32deg, #13315D 4.03%, #2A5692 49.42%, #13315D 94.81% );
        clip-path: polygon( 0 0, 100% 13.5%, 100% 100%, 0 86.5% );
        z-index: -1;
    } 
    .export-section .export-content {
        padding: 20px 0;
    } 
    .export-section .export-line {
        display: block;
        width: 88px;
        height: 4px;
        background: #ff9b27;
        margin: 12px 0 48px;
    } 
    .export-section .export-intro {
        color: #f2f5fa;
        font-size: var(--fs-lead);
        line-height: 1.7;
        margin-bottom: 78px;
    } 
    .export-section .export-features {
        row-gap: 30px;
    } 
    .export-section .export-feature-icon {
        width: 44px;
        height: 48px;
        margin-bottom: 25px;
    }
    .export-section .export-feature p {
        color: #ffffff;
        font-size: var(--fs-md);
        font-weight: 400;
        line-height: 1.45;
        margin: 0;
        max-width: 320px;
    }
    .export-section .export-card-image {
        width: 100%;
        max-width: 504px;
        margin-left: auto;
        border-radius: 13px;
        overflow: hidden;
    }
.search-at-every-scale .hero-content {
    max-width: 655px;
}

.search-at-every-scale .hero-section {
    display: flex;
    align-items: center;
    background-image: url(../images/excavation_site.webp) !important;
}

.search-at-every-scale .why-matters-section {
    padding: 30px 0 30px;
}

.search-at-every-scale .support-visual img {
    max-width: max-content;
}

.search-at-every-scale .support-section {
    padding-bottom: 50px !important;
}

.search-at-every-scale .support-item h3 span {
    color: var(--secondary-color);
    font-size: var(--fs-sm);
    font-weight: 400;
    text-transform: uppercase;
    float: right;
    border: 1px solid var(--secondary-color);
    padding: 4px 15px;
    border-radius: 50px;
}

.search-at-every-scale .support-item p {
    padding-right: 80px;
}

.spatial-query-section {
    --spatial-navy: var(--primary-color);
    --spatial-orange: #ff9b27;
    position: relative;
    isolation: isolate;
    padding: 115px 0 35px;
    margin-bottom: 0;
    background: #ffffff;
    color: #ffffff;
}

    .spatial-query-section::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: -1;
        background: linear-gradient( 90deg, rgba(25, 56, 97, 0.94) 0%, rgba(25, 56, 97, 0.78) 55%, rgba(25, 56, 97, 0.82) 100% ), url("../images/excavation-background.webp") center 45% / cover no-repeat;
        clip-path: polygon( 0 0, 100% 15%, 100% 73.5%, 0 89% );
    }

    .spatial-query-section .spatial-query-header {
        max-width: 800px;
    }

        .spatial-query-section .spatial-query-header h2 {
            color: #ffffff;
            line-height: 1.35;
            margin: 0;
        }

            .spatial-query-section .spatial-query-header h2 strong {
                font-weight: 700;
            }

    .spatial-query-section .spatial-query-line {
        display: block;
        width: 88px;
        height: 4px;
        background: var(--spatial-orange);
        margin: 12px 0 48px;
    }

    .spatial-query-section .spatial-query-header p {
        color: #ffffff;
        font-size: var(--fs-lead);
        line-height: 1.6;
        margin: 0;
    }

    .spatial-query-section .spatial-query-timeline {
        position: relative;
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin: 58px 0 20px;
        padding: 0 20px;
    }

    .spatial-query-section .spatial-timeline-line {
        position: absolute;
        top: 50%;
        left: 20px;
        right: 20px;
        height: 2px;
        background: #7C90AD;
        transform: translateY(-50%);
    }

    .spatial-query-section .spatial-timeline-dot {
        position: relative;
        z-index: 1;
        width: 28px;
        height: 28px;
        flex: 0 0 28px;
        border: 2px solid #8299b8;
        border-radius: 50%;
        background: #233653;
    }

    .spatial-query-section .spatial-query-cards {
        position: relative;
        z-index: 2;
        --bs-gutter-x: 28px;
        row-gap: 25px;
        align-items: flex-start;
    }

    .spatial-query-section .spatial-query-card {
        position: relative;
        height: 100%;
        min-height: 244px;
        padding: 28px 20px 24px;
        overflow: hidden;
        color: var(--primary-color);
        background: #ffffff;
        border-radius: 12px;
        box-shadow: 0 8px 14px rgba(0, 0, 0, 0.11);
    }

        .spatial-query-section .spatial-query-card::before {
            content: "";
            position: absolute;
            top: 0;
            right: 0;
            width: 0;
            height: 0;
            border-top: 62px solid #fff4e8;
            border-left: 90px solid transparent;
        }

    .spatial-query-section .spatial-card-icon {
        position: relative;
        z-index: 1;
        width: 45px;
        height: 54px;
        margin-bottom: 25px;
    }

    .spatial-query-section .spatial-query-card h3 {
        color: var(--primary-color);
        font-size: var(--fs-md);
        font-weight: 500;
        line-height: 1.45;
        margin: 0 0 22px;
    }

    .spatial-query-section .spatial-query-card p {
        color: #111111;
        font-size: var(--fs-base);
        font-weight: 400;
        line-height: 1.7;
        margin: 0;
    }

.legacy-story-section {
    position: relative;
    isolation: isolate;
    padding: 100px 0 80px;
    color: #ffffff;
    overflow: hidden;
}

    .legacy-story-section::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: -1;
        background: linear-gradient( 90deg, rgba(19, 43, 76, 0.94) 0%, rgba(25, 54, 93, 0.83) 55%, rgba(19, 43, 76, 0.86) 100% ), url("../images/excavation-background1.webp") center center / cover no-repeat;
        clip-path: polygon( 0 0, 100% 13.5%, 100% 86.5%, 0 100% );
    }

    .legacy-story-section .legacy-story-row {
        min-height: 620px;
    }

    .legacy-story-section .legacy-story-content {
        padding: 10px 30px 30px 0;
    }

    .legacy-story-section .legacy-story-badge {
        display: inline-block;
        color: var(--white-color);
        border: 1px solid var(--white-color);
        border-radius: 30px;
        padding: 7px 15px;
        font-size: var(--fs-xs);
        line-height: 1.2;
        letter-spacing: 0.5px;
    }

    .legacy-story-section .legacy-quote-mark {
        color: var(--secondary-color);
        margin-top: 35px;
        font-size: 8.125rem;
        font-weight: 700;
        line-height: 0.8;
        height: 65px;
        font-family: 'Raleway',sans-serif;
    }

    /* Same type as the home page testimonials (components/testimonial-slider.css). */
    .legacy-story-section .legacy-story-quote {
        color: #ffffff;
        font-size: var(--fs-xl);
        font-weight: 300;
        font-style: italic;
        line-height: 1.42;
        margin: 0 0 30px;
        max-width: 640px;
    }

    .legacy-story-section .legacy-story-author {
        color: #ffffff;
        font-size: var(--fs-lg);
        font-weight: 400;
        margin: 0 0 5px;
    }

    .legacy-story-section .legacy-story-caption {
        color: rgba(255, 255, 255, .8);
        font-size: var(--fs-sm);
        font-weight: 300;
        margin: 0;
    }

    .legacy-story-section .testimonial-media {
        margin-left: auto;
    }

.territory-section {
    background: #ffffff;
    padding: 75px 0 85px !important;
}

    .territory-section .territory-header {
        max-width: 800px;
        margin-bottom: 48px;
    }

        .territory-section .territory-header h2 {
            color: var(--primary-color);
            font-size: var(--fs-3xl);
            font-weight: 400;
            line-height: 1.35;
            margin: 0;
        }

    .territory-section .territory-line {
        display: block;
        width: 88px;
        height: 4px;
        background: #ff9b27;
        margin-top: 12px;
    }

    .territory-section .territory-content {
        max-width: 520px;
    }

    .territory-section .territory-feature {
        gap: 22px;
    }

    .territory-section .territory-content > .territory-feature {
        margin-bottom: 48px;
    }

    .territory-section .territory-icon {
        width: 78px;
        text-align: center;
    }

        .territory-section .territory-icon img {
            width: 60px;
            height: 60px;
            object-fit: contain;
        }

    .territory-section .territory-feature-text {
        flex: 1;
    }

        .territory-section .territory-feature-text h3 {
            color: #304f7c;
            font-size: var(--fs-lg);
            font-weight: 500;
            line-height: 1.4;
            margin: 0 0 10px;
        }

        .territory-section .territory-feature-text p {
            color: #111111;
            font-size: var(--fs-sm);
            line-height: 1.75;
            margin: 0;
        }

    .territory-section .territory-highlight {
        background: #edf5ff;
        border-radius: 12px;
        padding: 25px 24px 24px;
    }

        .territory-section .territory-highlight .territory-feature {
            margin-bottom: 30px;
        }

    .territory-section .territory-btn {
        background: #ff9d2e;
        color: #ffffff;
        border-radius: 8px;
        padding: 19px 20px;
        min-height: 64px;
        font-size: var(--fs-base);
        font-weight: 500;
        line-height: 1.4;
        text-align: center;
        transition: background 0.3s ease;
    }

        .territory-section .territory-btn:hover {
            background: #eb881c;
            color: #ffffff;
        }

        .territory-section .territory-btn span:last-child {
            font-size: 1.5rem;
            line-height: 1;
        }

    .territory-section .territory-image {
        width: 100%;
        border-radius: 16px;
        overflow: hidden;
    }

        .territory-section .territory-image img {
            display: block;
            width: 100%;
            height: 563px;
            object-fit: cover;
            object-position: center;
            border-radius: 16px;
        }

.field-section {
    background: #ffffff;
    padding: 65px 0 !important;
    color: #111111;
}

    .field-section .field-header {
        margin-bottom: 47px;
    }

        .field-section .field-header h2 {
            color: var(--primary-color);
            font-size: var(--fs-3xl);
            font-weight: 400;
            line-height: 1.3;
            margin: 0;
        }

    .field-section .field-line {
        display: block;
        width: 88px;
        height: 4px;
        background: #ff9b27;
        margin-top: 12px;
    }

    .field-section .field-stat-card {
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        height: 100%;
        min-height: 263px;
        padding: 30px 24px;
        overflow: hidden;
        background: #ffffff;
        border-radius: 13px;
        box-shadow: 0 6px 14px rgba(0, 0, 0, 0.10);
    }

        .field-section .field-stat-card::before {
            content: "";
            position: absolute;
            top: 0;
            right: 0;
            width: 0;
            height: 0;
            border-top: 55px solid #fff4e8;
            border-left: 80px solid transparent;
        }

    .field-section .field-stat-top {
        position: relative;
        z-index: 1;
    }

        .field-section .field-stat-top h3 {
            color: #304f7c;
            font-size: var(--fs-3xl);
            font-weight: 700;
            line-height: 1.15;
            margin: 0 0 12px;
        }

    .field-section .field-stat-details {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 12px;
    }

    .field-section .field-stat-label {
        color: #111111;
        font-size: var(--fs-sm);
        letter-spacing: 0.5px;
        line-height: 1.5;
    }

    .field-section .field-pills {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 10px;
        margin-left: auto;
    }

        .field-section .field-pills span {
            display: inline-block;
            padding: 7px 15px;
            color: #304f7c;
            border: 1px solid #304f7c;
            border-radius: 25px;
            font-size: var(--fs-xs);
            line-height: 1.2;
            white-space: nowrap;
        }

    .field-section .field-stat-bottom {
        position: relative;
        z-index: 1;
        margin-top: 35px;
    }

        .field-section .field-stat-bottom h4 {
            color: #111111;
            font-size: var(--fs-lg);
            font-weight: 400;
            line-height: 1.4;
            margin: 0 0 10px;
        }

        .field-section .field-stat-bottom p {
            color: #111111;
            font-size: var(--fs-sm);
            font-style: italic;
            line-height: 1.5;
            margin: 0;
        }

    .field-section .field-testimonial {
        max-width: 1100px;
        margin: 55px auto 0;
        clip-path: none;
        background: none;
        padding: 0 !important;
    }

    /* The mark sits beside the text, its top level with the first line, as in the home page testimonials. */
    .field-section .field-quote {
        position: relative;
        display: flex;
        align-items: flex-start;
        gap: 12px;
    }

    .field-section .field-quote-mark {
        flex-shrink: 0;
        color: #ffbd70;
        font-size: 8.125rem;
        font-weight: 700;
        line-height: .8;
        font-family: 'Raleway',sans-serif;
        height: 65px;
    }

    .field-section .field-quote blockquote {
        color: #111111;
        font-size: var(--fs-xl);
        font-weight: 300;
        font-style: italic;
        line-height: 1.42;
        margin: 0;
    }

    .field-section .field-testimonial h3 {
        color: #111111;
        font-size: var(--fs-lg);
        font-weight: 400;
        margin: 35px 0 8px;
    }

    .field-section .field-testimonial > p {
        color: #333333;
        font-size: var(--fs-sm);
        line-height: 1.5;
        margin: 0;
    }

.book-demo .intro-section {
    max-width: 100%;
    margin: 0 auto;
    background: #F0F8FF;
}

.book-testinonials {
    max-width: 900px;
    margin: 80px auto 0 auto !important;
}

.book-demo .intro-section .container {
    max-width: 1260px;
}

.book-demo .adoption-row > div:nth-child(1)::after, .book-demo .adoption-row > div:nth-child(2)::after {
    right: -30px;
}

.book-demo .hero-overlay {
    background: linear-gradient(281.18deg, rgba(22, 44, 77, 0.98) 0.85%, rgba(43, 72, 114, 0.784) 12.96%, rgb(37 64 106 / 72%) 42.44%, rgba(43, 72, 114, 0.8526) 70.39%, rgba(32, 57, 94, 0.98) 90.77%);
}

/* Minimum, not fixed: the French, German and Italian texts are longer and were cut off by overflow: hidden. Cards in a row still match through height: 100%. */
.book-demo .adoption-card {
    min-height: 460px;
    padding-bottom: 32px;
}

.book-demo .hero-section {
    background-image: url(../images/data-infrastructure-main-img.webp) !important;
    padding-top: 0;
}

.book-demo .hero-btn {
    margin: 0 !important;
    width: auto !important;
}

.book-demo .hero-content .d-flex.gap-3.mt-5 {
    align-items: center;
    justify-content: center;
}

.book-demo .hero-description {
    font-size: var(--fs-base);
}

.book-demo a.hero-btn.hero-btn-4 {
    background: transparent !important;
    border: 1px solid var(--secondary-color);
    color: var(--secondary-color);
}

.drawingtool-main.reporting-publication-main.book-demo .hero-bottom-shape {
    background: #eff7fe !important;
}

.demo-booking-section {
    position: relative;
    isolation: isolate;
    padding: 130px 0 100px;
    background: #ffffff;
    overflow: hidden;
}

    .demo-booking-section::before {
        content: "";
        position: absolute;
        z-index: -1;
        top: 0;
        left: 0;
        width: 100%;
        height: 135px;
        background: #eff7ff;
        clip-path: polygon(0 0, 100% 100%, 100% 0);
    }

    .demo-booking-section .demo-booking-content {
        padding: 0 25px 0 0;
    }

        .demo-booking-section .demo-booking-content h2 {
            color: var(--primary-color);
            font-weight: 400;
            line-height: 1.36;
            margin: 0;
        }

    .demo-booking-section .demo-booking-line {
        display: block;
        width: 88px;
        height: 4px;
        background: #ff9b27;
        margin: 12px 0 28px;
    }

    .demo-booking-section .demo-booking-description {
        color: var(--text-color);
        font-size: var(--fs-lead);
        line-height: 1.75;
        margin: 0 0 48px;
    }

    .demo-booking-section .demo-booking-benefits {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }

    .demo-booking-section .demo-benefit {
        display: flex;
        align-items: center;
        gap: 13px;
        width: fit-content;
        max-width: 100%;
        min-height: 60px;
        padding: 10px 20px;
        border: 1px solid #304f7c;
        border-radius: 12px;
        background: #ffffff;
    }

        .demo-booking-section .demo-benefit img {
            width: 30px;
            height: 30px;
            object-fit: contain;
            flex-shrink: 0;
        }

        .demo-booking-section .demo-benefit span {
            color: #000;
            font-size: var(--fs-md);
            line-height: 1.4;
        }

    .demo-booking-section .demo-booking-right {
        width: 100%;
        max-width: 550px;
        margin-left: auto;
    }

    .demo-booking-section .demo-calendar-button {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        min-height: 56px;
        padding: 15px 20px;
        background: #ff9b27;
        border-radius: 9px;
        color: #ffffff;
        text-decoration: none;
        font-size: var(--fs-base);
        font-weight: 600;
        transition: background 0.25s ease;
    }

        .demo-booking-section .demo-calendar-button:hover,
        .demo-booking-section .demo-submit-button:hover {
            background: #e98a1b;
            color: #ffffff;
        }

    .demo-booking-section .demo-calendar-note {
        display: flex;
        justify-content: center;
        align-items: flex-start;
        gap: 8px;
        color: var(--text-color);
        font-size: var(--fs-xs);
        line-height: 1.5;
        margin: 12px 0 22px;
        text-align: center;
    }

    .demo-booking-section .demo-info-icon {
        font-size: 0.9375rem;
        line-height: 1;
        flex-shrink: 0;
    }

    .demo-booking-section .demo-or-divider {
        display: flex;
        align-items: center;
        gap: 12px;
        margin-bottom: 20px;
    }

        .demo-booking-section .demo-or-divider span {
            flex: 1;
            height: 2px;
            background: #9aaac0;
        }

        .demo-booking-section .demo-or-divider p {
            color: #1F385C;
            font-size: var(--fs-sm);
            margin: 0;
        }

    .demo-booking-section .demo-contact-form {
        background: #F8F9FA;
        border-radius: 13px;
        padding: 30px 28px 28px;
        /* Target of the hero buttons: stops below the fixed header instead of under it. */
        scroll-margin-top: 110px;
    }

    .demo-booking-section .demo-form-intro {
        color: var(--text-color);
        font-size: var(--fs-sm);
        margin: 0 0 16px;
    }

    .demo-booking-section .demo-form-group {
        margin-bottom: 20px;
    }

        .demo-booking-section .demo-form-group label {
            display: block;
            color: var(--text-color);
            font-size: var(--fs-sm);
            margin-bottom: 8px;
        }

        .demo-booking-section .demo-form-group input,
        .demo-booking-section .demo-form-group textarea {
            display: block;
            width: 100%;
            padding: 14px 12px;
            color: #222222;
            font-size: var(--fs-sm);
            line-height: 1.4;
            background: #ffffff;
            border: 1px solid #999999;
            border-radius: 9px;
            outline: none;
            box-shadow: none;
            transition: border-color 0.2s ease;
        }

        .demo-booking-section .demo-form-group input {
            height: 49px;
        }

        .demo-booking-section .demo-form-group textarea {
            min-height: 96px;
            resize: vertical;
        }

            .demo-booking-section .demo-form-group input::placeholder,
            .demo-booking-section .demo-form-group textarea::placeholder {
                color: #b7b7b7;
                opacity: 1;
            }

            .demo-booking-section .demo-form-group input:focus,
            .demo-booking-section .demo-form-group textarea:focus {
                border-color: #304f7c;
            }

        /* Server-side validation message under a field (empty, and so invisible, when the field is valid). */
        .demo-booking-section .demo-form-error {
            display: block;
            margin-top: 6px;
            color: #b42318;
            font-size: var(--fs-xs);
        }

            .demo-booking-section .demo-form-error:empty {
                display: none;
            }

    /* "Message sent" in place of the form, or "could not be sent" above it. */
    .demo-booking-section .demo-form-status {
        margin-bottom: 20px;
        padding: 14px 16px;
        border-radius: 8px;
        font-size: var(--fs-sm);
        line-height: 1.5;
    }

        .demo-booking-section .demo-form-status strong {
            display: block;
        }

    .demo-booking-section .demo-form-status--success {
        color: #0f5132;
        background: #d1e7dd;
        border: 1px solid #a3cfbb;
    }

    .demo-booking-section .demo-form-status--error {
        color: #842029;
        background: #f8d7da;
        border: 1px solid #f1aeb5;
    }

    /* The bot trap: off screen rather than display:none, which some bots check for. */
    .demo-booking-section .demo-form-trap {
        position: absolute;
        left: -10000px;
        width: 1px;
        height: 1px;
        overflow: hidden;
    }

    .demo-booking-section .demo-form-bottom {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 20px;
    }

    .demo-booking-section .demo-submit-button {
        display: inline-flex;
        justify-content: center;
        align-items: center;
        gap: 14px;
        flex-shrink: 0;
        min-height: 56px;
        padding: 14px 25px;
        color: #ffffff;
        background: #ff9b27;
        border: 0;
        border-radius: 8px;
        font-size: var(--fs-sm);
        font-weight: 600;
        cursor: pointer;
        transition: background 0.25s ease;
    }

        .demo-booking-section .demo-submit-button span {
            font-size: var(--fs-lead);
            line-height: 1;
        }

    .demo-booking-section .demo-form-bottom p {
        display: flex;
        align-items: flex-start;
        gap: 7px;
        max-width: 200px;
        color: var(--text-color);
        font-size: var(--fs-xs);
        line-height: 1.5;
        text-align: left;
        margin: 0;
    } 
.book-demo .step-content h3 {
    color: #2B4872;
    font-size: var(--fs-lg);
    font-weight: 500;
}

.book-demo .adoption-row::after {
    display: none;
}

.book-demo .adoption-row::before {
    background: linear-gradient( 90deg, #2d4c77 0%, #3d6da6 50%, #3dbbc2 100%);
}
/* Pricing extras (temporary staff, intensive use, backups): white cards on the shared photo band, price first */
.Pricing-page .pp-extras-section {
    padding: 90px 0 40px;
}

.Pricing-page .pp-extras-heading {
    max-width: 1300px;
    margin: 0 auto 40px;
}

.Pricing-page .pp-extras-eyebrow {
    display: block;
    margin-bottom: 10px;
    color: #FFB766;
    font-size: var(--fs-sm);
    letter-spacing: 0.08em;
}

.Pricing-page .pp-extras-heading h2 {
    margin: 0;
    color: #fff;
    font-size: var(--fs-3xl);
    font-weight: 400;
    line-height: 1.25;
}

    .Pricing-page .pp-extras-heading h2 strong {
        font-weight: 700;
    }

.Pricing-page .pp-extras-cards {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
    max-width: 1300px;
    margin: 0 auto;
}

.Pricing-page .pp-extra-card {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 28px 26px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.13);
    color: #3B4452;
}

.Pricing-page .pp-extra-title {
    display: flex;
    align-items: center;
    gap: 14px;
}

.Pricing-page .pp-extra-icon {
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
}

    .Pricing-page .pp-extra-icon img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

.Pricing-page .pp-extra-card h3 {
    margin: 0;
    color: var(--primary-color);
    font-size: var(--fs-lg);
    font-weight: 600;
    line-height: 1.3;
}

.Pricing-page .pp-extra-price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 2px 8px;
    margin: 0;
    color: var(--primary-color);
}

.Pricing-page .pp-extra-currency {
    font-size: var(--fs-md);
    font-weight: 500;
}

.Pricing-page .pp-extra-value {
    font-size: 2.75rem;
    font-weight: 700;
    line-height: 1.05;
    font-variant-numeric: tabular-nums;
}

.Pricing-page .pp-extra-unit {
    color: #2B4872;
    font-size: var(--fs-base);
}

.Pricing-page .pp-extra-quote {
    margin: 0;
    color: var(--primary-color);
    font-size: 2.125rem;
    font-weight: 700;
    line-height: 1.15;
}

.Pricing-page .pp-extra-text {
    margin: 0;
    color: #3B4452;
    font-size: var(--fs-base);
    line-height: 1.6;
}

.Pricing-page .pp-extra-split {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

    .Pricing-page .pp-extra-split > div {
        padding-bottom: 12px;
        border-bottom: 1px solid #DCE3EC;
    }

        .Pricing-page .pp-extra-split > div:last-child {
            padding-bottom: 0;
            border-bottom: 0;
        }

    .Pricing-page .pp-extra-split .pp-extra-value {
        font-size: 2rem;
    }

.Pricing-page .pp-extra-caption {
    display: block;
    margin-top: 2px;
    color: #6A7484;
    font-size: var(--fs-sm);
}

.Pricing-page .pp-extra-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: auto 0 0;
    padding: 4px 0 0;
    list-style: none;
}

    .Pricing-page .pp-extra-facts li {
        padding: 4px 11px;
        background: #EEF3F9;
        border-radius: 20px;
        color: #2B4872;
        font-size: var(--fs-xs);
        line-height: 1.45;
    }


.Pricing-page.drawingtool-main .institutional-content h2 {
    color: #183762 !important;
    /* "Priced so that no archaeologist is left out": in the narrow column a word was left alone on its line. */
    text-wrap: balance;
}

.Pricing-page .free-trial-content h2 {
    font-size: var(--fs-3xl) !important;
}

/* archeo.webp: mirrored so the archaeologist sits in the visible right part, facing the text; crop kept on face and hands */
.Pricing-page .free-trial-image img {
    transform: scaleX(-1);
    object-position: center 35%;
}

    /* keep the mirror during the hover zoom from animation.css (scale(1.04) alone would flip it back) */
    .Pricing-page .free-trial-box:hover .free-trial-image img {
        transform: scale(-1.04, 1.04);
    }

.pp-faq-section .col-12.text-center.mb-5 {
    position: relative;
}

.pp-faq-section h2.fw-bold.mb-2::before {
    width: 92px;
    height: 4px;
    background-color: var(--secondary-color);
    position: absolute;
    content: '';
    top: 60px;
} 
.Pricing-page .pp-pricing-section {
    padding: 115px 0 65px;
    background: #fff;
    color: #2B4872;
} 
.Pricing-page .pp-pricing-heading {
    margin: 0px auto 48px auto !important;
    max-width: 1300px;
}

.Pricing-page .pp-eyebrow {
    display: block;
    margin-bottom: 12px;
    color: #ff922e;
    font-size: var(--fs-sm);
    letter-spacing: 0.7px;
} 
.Pricing-page .pp-pricing-heading h1 {
    margin: 0;
    color: #2B4872;
    font-size: var(--fs-3xl);
    font-weight: 400;
    line-height: 1.25;
}

    .Pricing-page .pp-pricing-heading h1 strong {
        font-weight: 700;
    }

.Pricing-page .pp-pricing-layout {
    max-width: 1300px;
    margin: 0 auto;
}

/* Module Entry: price and team-size rates on the left, what is included on the right */
.Pricing-page .pp-entry-card {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    gap: 40px;
    padding: 36px;
    background: #fff;
    border: 1px solid #DCE3EC;
    border-radius: 10px;
    box-shadow: 0 3px 12px rgba(19, 49, 93, 0.07);
}

.Pricing-page .pp-entry-name {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 12px;
    margin-bottom: 14px;
}

    .Pricing-page .pp-entry-name h3 {
        margin: 0;
        color: #2B4872;
        font-size: var(--fs-xl);
        font-weight: 600;
    }

    .Pricing-page .pp-entry-name span {
        color: #6A7484;
        font-size: var(--fs-sm);
    }

.Pricing-page .pp-entry-price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 10px;
    margin: 0;
    color: var(--primary-color);
}

.Pricing-page .pp-price-currency {
    font-size: var(--fs-xl);
    font-weight: 500;
}

.Pricing-page .pp-price-value {
    font-size: clamp(3.25rem, 2.4rem + 3vw, 4.75rem);
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.02em;
}

.Pricing-page .pp-price-unit {
    color: #2B4872;
    font-size: var(--fs-base);
}

.Pricing-page .pp-entry-terms {
    margin: 12px 0 26px;
    color: #3B4452;
    font-size: var(--fs-base);
    line-height: 1.55;
}

    .Pricing-page .pp-entry-terms strong {
        color: var(--primary-color);
        font-weight: 600;
    }

.Pricing-page .pp-team-tiers {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}

    .Pricing-page .pp-team-tiers li {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 2px;
        padding: 10px 6px;
        background: #EEF3F9;
        border-radius: 8px;
        text-align: center;
    }

    .Pricing-page .pp-team-tiers span {
        color: #6A7484;
        font-size: var(--fs-xs);
    }

    .Pricing-page .pp-team-tiers strong {
        color: var(--primary-color);
        font-size: var(--fs-lg);
        font-weight: 600;
        font-variant-numeric: tabular-nums;
    }

    .Pricing-page .pp-team-tiers li.is-current {
        background: var(--secondary-color);
    }

        .Pricing-page .pp-team-tiers li.is-current span {
            color: #ffffff;
        }

        .Pricing-page .pp-team-tiers li.is-current strong {
            color: #fff;
        }

.Pricing-page .pp-tiers-caption {
    margin: 8px 0 0;
    color: #6A7484;
    font-size: var(--fs-xs);
}

.Pricing-page .pp-entry-benefits {
    padding-left: 40px;
    border-left: 1px solid #DCE3EC;
}

.Pricing-page .pp-benefits-label {
    display: block;
    margin-bottom: 14px;
    color: #6A7484;
    font-size: var(--fs-xs);
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.Pricing-page .pp-benefits-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

    .Pricing-page .pp-benefits-list li {
        position: relative;
        margin-bottom: 11px;
        padding-left: 26px;
        color: #3B4452;
        font-size: var(--fs-base);
        line-height: 1.45;
    }

        .Pricing-page .pp-benefits-list li:last-child {
            margin-bottom: 0;
        }

        .Pricing-page .pp-benefits-list li::before {
            content: "";
            position: absolute;
            top: 2px;
            left: 0;
            width: 17px;
            height: 17px;
            background-image: url("../images/tick-circle-svgrepo-com__6761.png");
            background-repeat: no-repeat;
            background-position: center;
            background-size: contain;
            border: none;
            border-radius: 0;
        }

/* "Add modules" heading between the Entry card and the module cards */
.Pricing-page .pp-modules-heading {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 36px 0 16px;
}

.Pricing-page .pp-modules-plus {
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    background: var(--secondary-color);
    border-radius: 50%;
    color: #fff;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1;
}

.Pricing-page .pp-modules-heading h3 {
    margin: 0;
    color: #2B4872;
    font-size: var(--fs-lg);
    font-weight: 600;
}

.Pricing-page .pp-modules-heading p {
    margin: 0;
    color: #6A7484;
    font-size: var(--fs-sm);
}

.Pricing-page .pp-country-note {
    margin: 22px 0 0;
    color: #6A7484;
    font-size: var(--fs-sm);
}

    .Pricing-page .pp-country-note a {
        color: #2B4872;
        font-weight: 500;
        text-decoration: underline;
    }

.Pricing-page .methodology-section {
    background: #F8F9FA !important;
}

.Pricing-page .pp-module-cards {
    row-gap: 16px;
    /* undo ".drawingtool-main .row { margin: 0 }" so the cards line up with the Entry card */
    margin-left: calc(-0.5 * var(--bs-gutter-x));
    margin-right: calc(-0.5 * var(--bs-gutter-x));
}

.Pricing-page .pp-module-column {
    display: flex;
}

.Pricing-page .pp-module-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 202px;
    padding: 17px 15px 13px;
    border-radius: 8px;
    color: #fff;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1);
}

.Pricing-page .pp-module-lab {
    background: linear-gradient(145deg, #2b4770, #3b69a5);
}

.Pricing-page .pp-module-collection {
    background: linear-gradient(145deg, #3b68a7, #3886a9);
}

.Pricing-page .pp-module-publication {
    background: linear-gradient(145deg, #3884a8, #39afc2);
}

.Pricing-page .pp-module-icon {
    width: 58px;
    height: 70px;
    margin-bottom: 12px;
}

    .Pricing-page .pp-module-icon svg {
        display: block;
        width: 100%;
        height: 100%;
        fill: none;
        stroke: #fff;
        stroke-width: 1.5px;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

.Pricing-page .pp-module-card h3 {
    margin: 0 0 13px;
    color: #fff;
    font-size: var(--fs-lg);
    font-weight: 500;
}

.Pricing-page .pp-module-price {
    margin: 0;
    color: #fff;
    font-size: 2.125rem;
    font-weight: 700;
    line-height: 1.3;
}

.Pricing-page .pp-module-unit {
    color: #fff;
    font-size: var(--fs-md);
}

.Pricing-page .pp-module-description {
    margin: auto 0 0;
    padding-top: 12px;
    color: #fff;
    font-size: var(--fs-sm);
    line-height: 1.45;
}
 

.Pricing-page .pp-orange-line {
    display: block;
    width: 55px;
    height: 2px;
    margin: 0 0 32px;
    background: #ff962d;
}


.Pricing-page .pp-faq-section {
    padding: 68px 0 45px;
    background: #fff;
    color: #2B4872;
}

.Pricing-page .pp-faq-inner {
    max-width: 960px;
    margin: 0 auto;
}

.Pricing-page .pp-faq-heading {
    margin-bottom: 22px;
}

    .Pricing-page .pp-faq-heading h2 {
        margin: 0 0 6px;
        color: #2B4872;
        font-size: var(--fs-lg);
        font-weight: 400;
        line-height: 1.4;
        text-align: center;
    }

        .Pricing-page .pp-faq-heading h2 strong {
            font-weight: 700;
        }

    .Pricing-page .pp-faq-heading .pp-orange-line {
        width: 41px;
        margin-bottom: 0;
    }
     

.Pricing-page .pp-faq-accordion {
    --bs-accordion-border-color: #e3e3e3;
    --bs-accordion-border-width: 0;
    --bs-accordion-border-radius: 0;
    --bs-accordion-inner-border-radius: 0;
    --bs-accordion-btn-focus-box-shadow: none;
    --bs-accordion-active-bg: #fff;
    --bs-accordion-active-color: #2B4872;
    --bs-accordion-btn-color: #2B4872;
    --bs-accordion-btn-bg: #fff;
    --bs-accordion-bg: #fff;
}

.Pricing-page .pp-faq-item {
    border: 0;
    border-bottom: 1px solid #e4e4e4;
    background: #fff;
}

    .Pricing-page .pp-faq-item:first-child {
        border-top: 0;
    }

    .Pricing-page .pp-faq-item .accordion-button {
        padding: 20px 10px;
        background-color: #fff;
        box-shadow: none;
        color: #2B4872;
        font-size: var(--fs-lg);
        font-weight: 500;
        line-height: 1.6;
    }

        .Pricing-page .pp-faq-item .accordion-button:not(.collapsed) {
            background-color: #fff;
            box-shadow: none;
            color: #2B4872;
        }

        .Pricing-page .pp-faq-item .accordion-button::after {
            width: 12px;
            height: 12px;
            background-size: 12px;
            opacity: 0;
        }

        .Pricing-page .pp-faq-item .accordion-button:focus {
            box-shadow: none;
            outline: 2px solid #9bb6d8;
            outline-offset: -3px;
        }

    .Pricing-page .pp-faq-item .accordion-body {
        padding: 0 27px 16px;
        color: #333;
        font-size: var(--fs-base);
        line-height: 1.7;
    }
/* The pricing page has no dark hero behind the header, so the header shows its scrolled (sticky) background from the start. */
header.site-header.pricing-header {
    background: var(--primary-color);
}

.Staff-page.book-demo .hero-btn {
    justify-content: center;
}


.Staff-page .card-corner {
    background: none !important;
}

.spatial-query-section::before {
    background: linear-gradient(90deg, rgba(25, 56, 97, 0.94) 0%, rgba(25, 56, 97, 0.78) 55%, rgba(25, 56, 97, 0.82) 100%), url(../images/PA_materiel_place_petit_st_jean_03fdfde.webp) center 45% / cover no-repeat !important;
}


.Staff-page.data-infrastructure .why-matters-heading p {
    font-size: var(--fs-3xl);
}

.Staff-page.search-at-every-scale .support-item p.fw-normal {
    font-size: var(--fs-lg) !important;
}

.drawingtool-main.search-at-every-scale.book-demo.Pricing-page.Staff-page .hero-bottom-shape {
    background: #ffffff !important;
}

.Staff-page.book-demo .hero-section {
    background-image: url(../images/staff-access-hero.webp) !important;
    background-position: center 35%;
    padding-top: 0;
}

.spatial-query-section::before {
    background: linear-gradient(90deg, rgba(25, 56, 97, 0.94) 0%, rgba(25, 56, 97, 0.78) 55%, rgba(25, 56, 97, 0.82) 100%), url(../images/PA_materiel_place_petit_st_jean_Staff.webp) center 45% / cover no-repeat;
}

.Staff-page p.hero-description1.fst-italic {
    max-width: 500px;
    margin: 0 auto;
}

.Staff-page .spatial-query-section .spatial-query-header {
    min-height: 500px;
}

/* Graphical password drawing, kept small enough to stay above the slanted bottom edge of the section. */
.pattern-unlock-image {
    display: block;
    width: 100%;
    max-width: 400px;
    margin: -20px 0 0 auto;
}

@media (max-width: 991px) {
    .Staff-page .spatial-query-section {
        padding-bottom: 170px;
    }

    /* The drawing now fills the space that this minimum height used to keep free. */
    .Staff-page .spatial-query-section .row .spatial-query-header {
        min-height: 0;
    }

    .pattern-unlock-image {
        max-width: 360px;
        margin: 35px auto 0;
    }
}

.Staff-page section.publications-section {
    min-height: 600px;
}

/* The blue background ends on a slant that is lowest on the right, so the button on the left
   needs extra room below it. */
@media (min-width: 992px) {
    .Staff-page section.publications-section {
        padding-bottom: 170px;
    }
}

.Staff-page .publications-section a.free-trial-btn {
    margin-top: 0;
}

/* Padlock drawing on the right of "Security foundations". */
.security-lock-image {
    display: block;
    width: 100%;
    max-width: 220px;
    margin: -40px 0 0 auto;
}

@media (max-width: 991px) {
    .security-lock-image {
        max-width: 300px;
        margin: 40px auto 0;
    }
}

.Staff-page span.field-network-badge {
    margin-bottom: 30px;
}


.Staff-page .audit-history-section {
    padding: 35px 0 100px;
    background: #ffffff;
}

.Staff-page .audit-heading {
    margin-bottom: 28px;
    text-align: center;
}



    .Staff-page .audit-heading h2 {
        color: #263e63;        
        margin: 0 auto;
        position: relative;
        display: table;
        padding-bottom: 12px;
    }

        .Staff-page .audit-heading h2::after {
            content: "";
            position: absolute;
            bottom: 0;
            left: 0;
            width: 62px;
            height: 3px;
            background: #ff982e;
        }

.Staff-page .audit-history-section .container {
    max-width: 1100px;
}

.Staff-page .audit-card {
    position: relative;
    display: flex;
    align-items: start;
    gap: 25px;
    min-height: 148px;
    height: 100%;
    padding: 22px 30px;
    background: #ffffff;
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.10);
    overflow: hidden;
}
 

.Staff-page .card-corner {
    position: absolute;
    top: 0;
    right: 0;
    width: 95px;
    height: 65px;
    background: #fff4e8 !important;
    clip-path: polygon(0 0, 100% 0, 100% 100%);
}
 

.Staff-page .audit-card-icon {
    position: relative;
    z-index: 1;
    flex: 0 0 70px;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .Staff-page .audit-card-icon img {
        display: block;
        width: 95px;
        height: 95px;
        object-fit: contain;
    }
     
.Staff-page .audit-card-content {
    position: relative;
    z-index: 1;
    flex: 1;
    min-width: 0;
}

    .Staff-page .audit-card-content h3 {
        color: #2b4872;
        font-size: var(--fs-lg);
        font-weight: 500;
        line-height: 1.4;
        margin: 0 0 10px;
    }

    .Staff-page .audit-card-content p {
        color: #222222;
        font-size: var(--fs-base);
        font-weight: 400;
        line-height: 1.6;
        margin: 0;
    }
.Staff-page.drawingtool-main.reporting-publication-main .why-card {
    min-height: 410px;
}
.gigs-maps .hero-section {
    background-image: url(../images/gigs-main-img.webp);
}

.gigs-maps .hero-tag {
    border: none;
}

.gigs-maps .geo-content h3 {
    font-size: var(--fs-3xl);
}



.drawingtool-main.gigs-maps .coordinate-entry .coordinate-entry__card {
    min-height: 300px;
    height: auto !important;
    padding-top: 20px;
    padding-bottom: 30px;
}

.gigs-maps .testimonials-sec1 .testimonial-card h3.h4.fw-normal.mb-2 {
    font-size: var(--fs-lg);
}

.gigs-maps .why-section-heading h2 {
    margin: 0;
    WIDTH: unset;
}

.gigs-maps .hero-bottom-shape {
    background: #fff;
}

.gigs-maps .staff-access-section .staff-access-container {
    max-width: 1430px;
    display: flex;
}

.gigs-maps .staff-access-heading {
    width: 100%;
}

.drawingtool-main.gigs-maps .coordinate-entry::before {
    clip-path: polygon(0 0, 100% 12%, 100% 68%, 0 72%);
}

.gigs-maps .why-card {
    min-height: auto;
    position: relative;
}

.gigs-maps .why-matters-section {
    padding-bottom: 0;
}

.gigs-maps .why-card:after {
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    width: 100px;
    height: 90px;
    background-color: #fff5e9;
    clip-path: polygon(0 0, 100% 0, 100% 100%);
    content: "";
}

.gigs-maps .coordinate-entry .coordinate-entry__header {
    margin-bottom: 0;
    padding-left: 0;
    padding-right: 0;
}

.gigs-maps .staff-access-section::before {
    clip-path: polygon(0 0, 100% 0%, 100% 70%, 0 80%);
    background: linear-gradient(100deg, rgba(28, 56, 94, 0.94), rgba(28, 56, 94, 0.86)), url(../images/firld-img.webp) center 45% / cover no-repeat;
}

.survey-section {
    color: #171717;
}

.survey-timeline {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    position: relative;
    margin-bottom: 28px;
}

section.why-matters-section.why-matters-section-gig {
    padding: 20px 0 80px 0 !important;
}

.survey-timeline::before {
    content: "";
    position: absolute;
    height: 2px;
    background: #d6d6d6;
    top: 29px;
    left: 50px;
    right: 29%;
}

.survey-step {
    position: relative;
    z-index: 1;
    padding-left: 20px;
}

.survey-step-number {
    width: 60px;
    height: 60px;
    border: 1px solid #2c4c7c;
    border-radius: 50%;
    background: #fff;
    color: #2c4c7c;
    font-size: 1.4375rem;
    font-weight: 600;
}

.survey-card {
    min-height: 512px;
    padding: 30px 28px 28px;
    background: #eef6ff;
    border-radius: 13px;
    box-shadow: 0 4px 12px rgba(27, 54, 87, 0.045);
}

    .survey-card h3 {
        color: #2c4c7c;
        font-size: var(--fs-lg);
        font-weight: 500;
        line-height: 1.45;
        margin-bottom: 18px;
    }

    .survey-card p {
        font-size: var(--fs-base);
        line-height: 1.55;
        margin-bottom: 26px;
    }

    .survey-card img {
        width: 100%;
        height: 288px;
        object-fit: cover;
        border-radius: 12px;
        margin-top: auto;
    }

.survey-info {
    margin-top: 47px;
    padding: 23px 29px;
    background: #eef6ff;
    border-radius: 8px;
    gap: 11px;
}

.survey-info-icon {
    width: 21px;
    height: 21px;
    object-fit: contain;
    flex-shrink: 0;
    margin-top: 3px;
}

.survey-info h3 {
    color: #1e3d6c;
    font-size: var(--fs-lg);
    font-weight: 500;
    margin-bottom: 7px;
}

.survey-info p {
    font-size: var(--fs-base);
    line-height: 1.6;
    margin-bottom: 0;
}

.ortho-sec h4 {
    color: var(--primary-color);
    font-size: var(--fs-lg);
    padding: 0px 0 10px 0;
}

.ortho-sec p {
    color: var(--text-color);
    font-size: var(--fs-sm);
    padding: 0 0 10px 0;
}

.map-history-section {
    padding: 32px 20px 60px;
    z-index: 4;
    position: relative;
    margin-top: 50px;
}

.map-history-container {
    margin: 0 auto;
    padding: 28px;
    background: #fff;
    border-radius: 16px;
}

.map-history-title {
    color: #173765;
    font-size: var(--fs-3xl);
    line-height: 1.3;
    font-weight: 400;
    margin: 0 0 12px;
}

    .map-history-title strong {
        font-weight: 700;
    }

.map-history-underline {
    width: 88px;
    height: 4px;
    background: #f79432;
    margin-bottom: 28px;
}

.map-history-description {
    color: #222;
    font-size: var(--fs-md);
    line-height: 1.8;
    margin-bottom: 28px;
}

.map-comparison {
    background: #f5f5f5;
    border-radius: 12px;
    padding: 24px;
}

.map-image {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 16px;
}

.map-date {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #4c5d72;
    font-size: var(--fs-sm);
    margin-top: 8px;
}

    .map-date img {
        width: 17px;
        height: 17px;
        object-fit: contain;
    }

.map-date-right {
    justify-content: flex-end;
}

.map-history-center {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    height: 100%;
    color: #173765;
}
.photos-drawing-main .hero-section {
    background-image: url(../images/drawing-img-main.webp);
}

.photos-drawing-main .hero-container {
    padding-top: 150px;
}

.support-section.reporting-sec.drawing-support-sec .support-item {
    background: #EFF7FF;
    box-shadow: 0px 4px 9px rgba(0, 0, 0, 0.05);
    border-radius: 12px;
    padding: 28px;
}

.support-section.reporting-sec.drawing-support-sec .support-list {
    gap: 28px;
}
/* Find Any Image Section */
.find-image-section {
    position: relative;
    isolation: isolate;
    padding: 110px 0;
    overflow: hidden;
    background: linear-gradient(to bottom, #e5f2ff 0%, #dfeefc 50%, #ffffff 100%);
}

    /* Background Image with Blue Overlay */
    .find-image-section::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: -1;
        background: linear-gradient( 90deg, rgba(22, 49, 85, 0.94) 0%, rgba(28, 58, 97, 0.82) 50%, rgba(28, 58, 97, 0.88) 100% ), url("../images/conds-img.webp") center center / cover no-repeat;
        clip-path: polygon( 0 6%, 100% 18%, 100% 86%, 0 97% );
    }

    /* Left Content */
    .find-image-section .find-image-content {
        color: #ffffff;
        padding: 20px 20px 20px 0;
    }

        .find-image-section .find-image-content h2 {
            color: #ffffff;
            font-size: var(--fs-3xl);
            font-weight: 400;
            line-height: 1.35;
            margin: 0;
        }

            .find-image-section .find-image-content h2 strong {
                font-weight: 700;
            }

    .find-image-section .find-image-line {
        display: block;
        width: 108px;
        height: 4px;
        background: #ff9b27;
        margin: 15px 0 58px;
    }

    .find-image-section .find-image-content p {
        color: #f2f5fa;
        font-size: var(--fs-base);
        line-height: 1.85;
        margin: 0;
        max-width: 580px;
    }

    /* Right Image */
    .find-image-section .find-image-visual {
        position: relative;
        width: 100%;
        border-radius: 18px;
        overflow: hidden;
    }

    .find-image-section .find-image-main {
        display: block;
        width: 100%;
        height: 590px;
        object-fit: cover;
        object-position: center;
        border-radius: 18px;
    }

        /* A screenshot keeps its own proportions instead of being cropped to the photo's fixed height. */
        .find-image-section .find-image-main.find-image-screenshot {
            height: auto;
        }

    /* Search Bar Overlay */
    .find-image-section .find-image-search {
        position: absolute;
        left: 4%;
        right: 4%;
        bottom: 32px;
        display: flex;
        align-items: center;
        gap: 20px;
        min-height: 72px;
        padding: 15px 25px;
        background: rgba(25, 56, 97, 0.92);
        border: 1px solid #ffffff;
        border-radius: 9px;
        color: #ffffff;
        font-size: var(--fs-lead);
        line-height: 1.4;
    }

    .find-image-section .find-search-icon {
        flex: 0 0 28px;
        width: 28px;
        height: 28px;
    }

        .find-image-section .find-search-icon img {
            display: block;
            width: 100%;
            height: 100%;
            object-fit: contain;
        }

section.support-section.py-5.infrastructure-support-section.one-home-support {
    background: #fff;
    padding: 0 !important;
}

section.why-matters-section.photo-draw-section {
    padding: 50px 0 70px;
}

.section12-draw .field-network-bg {
    clip-path: polygon(0 0, 100% 15%, 100% 85%, 0% 100%, 0 100%);
}

section.why-matters-section.photo-draw-section .why-card-icon img {
    max-width: 120px;
    max-height: 120px;
}

.section12-draw {
    display: flex;
    align-items: center;
    background: transparent;
}

.pt-0-drawing {
    padding-top: 0px !important;
}

.bg-draw-sec {
    padding: 0 0 0 !important;
    background: transparent !important;
}

.photos-drawing-main .geo-content {
    max-width: 100%;
} 
@media (min-width:1200px) {
    .free-trial-content {
        padding-left: 48px
    }

    .adoption-row {
        margin-left: 0;
        margin-right: 0
    }

        .adoption-row > div:first-child {
            padding-right: 45px
        }

        .adoption-row > div:nth-child(2) {
            padding-left: 45px;
            padding-right: 45px
        }

        .adoption-row > div:nth-child(3) {
            padding-left: 45px
        }
} 
@media (max-width:1199px) {
    .testimonials-page .hero-content-inner-pages {
        padding: 0 0 0 30px;
    }

    .testimonials-page section.hero-section-inner video {
        max-width: 500px;
        margin: 0 auto;
        display: flex;
        align-items: center;
    }

    .wheel {
        width: 450px;
        height: 450px
    }

    .wheel-center {
        width: 135px;
        height: 135px
    }

    .wheel-center-inner {
        width: 115px;
        height: 115px
    }

        .wheel-center-inner strong {
            font-size: 3.25rem
        }

    .wheel-trench {
        top: 100px;
        left: 78px
    }

    .wheel-lab {
        top: 100px;
        right: 77px
    }

    .wheel-catalog {
        right: 35px;
        top: 277px
    }

    .wheel-loan {
        bottom: 50px;
        left: 202px
    }

    .wheel-museum {
        left: 28px;
        top: 277px
    }

    .icon-trench {
        top: 23px;
        left: 164px
    }

    .icon-lab {
        top: 121px;
        right: 40px
    }

    .icon-catalog {
        right: 55px;
        bottom: 68px
    }

    .icon-loan {
        left: 124px;
        bottom: 34px
    }

    .icon-museum {
        left: 20px;
        top: 200px
    }

    .footer-announcement p, .hero-tag {
        font-size: var(--fs-xs)
    }

    .book-demo .adoption-row::before {
        left: 0;
        right: 0;
    }
}
 
@media (max-width:991px) {
    .mobile-row-reverse {
        flex-direction: column-reverse !important;
    }

    .staff-access-section .staff-access-card {
        max-width: 100%;
    }

    .testimonials-page .hero-content-inner-pages {
        padding: 0 0 0 0;
    }

    .testimonials-page .hero-section-inner {
        min-height: auto !important;
        padding-bottom: 120px;
    }

    .testimonials-sec1 .testimonial-card {
        min-height: 368px;
    }

    .trust-section .trust-section__timeline {
        max-width: 760px;
    }

    .trust-section .trust-section__number-col {
        flex-basis: 80px;
        width: 80px;
    }

    .trust-section .trust-section__card {
        gap: 18px;
        padding: 22px;
    }

    .trust-section .trust-section__icon {
        flex-basis: 85px;
        width: 85px;
    }

        .trust-section .trust-section__icon img {
            height: 80px;
        }

    section.field-testimonial.py-5 {
        margin-bottom: -120px;
    }

    .field-testimonial {
        padding-top: 120px !important;
        padding-bottom: 160px !important;
    }

        .field-testimonial .field-testimonial__mark {
            font-size: 5.3125rem;
        }

    .field-testimonials .field-testimonials__card .card-body {
        padding: 16px 14px;
    }

    section.methodology-section .row.align-items-center {
        flex-direction: column-reverse
    }

    .hero-content-inner-pages {
        padding: 0
    }

    .legal-features-section {
        padding: 45px 0
    }

    .legal-features {
        gap: 10px
    }

    .legal-feature {
        height: 55px;
        padding: 0 10px;
        font-size: var(--fs-base);
        gap: 9px
    }

    .legal-feature-icon {
        font-size: 1.125rem
    }

    .problem-solution-section {
        padding: 30px 0 45px
    }

    .problem-circle, .solution-circle {
        width: 380px;
        height: 380px
    }

    .solution-col {
        margin-left: -20px
    }

    .circle-content {
        width: 250px
    }

        .circle-content p {
            font-size: var(--fs-sm);
            line-height: 1.55
        }

    .platform-image-wrap {
        width: 220px;
        height: 220px
    }

    .methodology-section {
        padding: 0
    }

    section.identifier-section .row.align-items-center, section.oversight-section .row.align-items-center {
        flex-direction: column-reverse
    }

    .identifier-section {
        padding: 0
    }

    .methodology-content {
        padding-right: 20px
    }

    .methodology-description {
        max-width: 100%;
    }

    .methodology-image {
        height: 430px
    }

    .institutional-section {
        padding: 50px 0 70px
    }

    .institutional-image {
        height: 430px
    }

    .institutional-content {
        padding-left: 25px
    }

    .data-control-section {
        padding: 60px 0
    }

    .data-control-image {
        height: 450px
    }

    .data-control-content {
        padding-left: 30px
    }

    .data-control-line {
        margin-bottom: 30px
    }

    .oversight-section {
        padding: 50px 0 70px
    }

    .oversight-content {
        padding-right: 20px
    }

    .oversight-list li {
        font-size: var(--fs-sm)
    }

    .oversight-image {
        height: 450px
    }

    .excavation-section {
        min-height: 600px;
        padding: 160px 0 150px
    }

    .excavation-bg {
        clip-path: polygon(0 0,100% 10%,100% 88%,8% 100%,0 100%)
    }

    .excavation-title {
        max-width: 700px;
    }

    .stat-number {
        font-size: 2.875rem
    }

    .actors-section {
        padding: 40px 0 60px
    }

    .actors-cards {
        margin-top: 40px
    }

    .actor-card {
        height: 155px
    }

    .identifier-content {
        padding-right: 0;
        margin-bottom: 50px;
        text-align: center
    }

    .identifier-description, .identifier-line {
        margin-left: auto;
        margin-right: auto
    }

    .field-network-section {
        min-height: auto;
        padding: 80px 0
    }

    .field-network-bg {
        clip-path: none
    }

    .field-network-content {
        padding-right: 0;
        margin-bottom: 50px
    }

    .field-network-card {
        margin-left: auto;
        margin-right: auto;
        position: relative;
        top: 0
    }

    .benefits-box {
        padding: 35px 20px
    }

    .benefit-item {
        margin: 15px 0
    }

    .benefit-icon {
        font-size: 3.125rem
    }

    .explore-section {
        padding: 50px 0 60px
    }

    .explore-card {
        height: 280px
    }

    .explore-icon {
        height: 105px;
        font-size: 4.25rem
    }

    .analytic-section, .infrastructure-section {
        clip-path: none
    }

    .timeline-wrapper {
        margin-top: 40px
    }

    .founder-card {
        height: 100%
    }

    .timeline-dot {
        left: -33px
    }

    .infrastructure-content {
        padding-bottom: 0
    }

    .time-gained-section {
        min-height: 450px
    }

    .archaeology-benefits {
        padding-top: 60px;
        padding-bottom: 120px
    }

    section.py-5.gis-2-grid {
        margin: -120px 0 0;
    }

    .benefit-image {
        width: 210px;
        height: 210px
    }

    .sovereignty-section {
        padding-bottom: 100px;
        clip-path: polygon(0 0,100% 0,100% 97%,0 100%)
    }

    .data-sovereignty-image {
        width: 500px
    }

    .free-trial-box {
        min-height: 600px
    }

    .free-trial-content {
        width: 60%;
        padding: 55px 35px
    }

    .hero-container .col-lg-6:first-child {
        padding-left: 12px
    }

    .free-trial-image {
        width: 57%;
        clip-path: polygon(12% 0,100% 0,100% 100%,45% 100%)
    }

    .testimonials-section {
        padding: 55px 0 80px
    }

    .testimonials-bottom-shape {
        height: 70px
    }

    .cta-banner {
        padding: 0 22px
    }

    .adoption-row {
        row-gap: 30px
    }

        .adoption-row::after, .adoption-row::before {
            display: none
        }

    .adoption-card {
        width: 100%;
        max-width: 295px
    }

    .why-section-heading {
        margin-bottom: 35px
    }

    .why-image-card {
        height: 500px
    }

    .why-card {
        min-height: 500px
    }

    .solution-card {
        height: 440px
    }

    .hero-section {
        min-height: 850px;
        padding-top: 70px
    }

    .hero-container {
        padding-top: 55px
    }

    .hero-video {
        height: 230px;
        justify-content: center
    }

    .play-btn {
        width: 80px;
        height: 80px
    }

        .play-btn svg {
            width: 34px
        }

    /* The header's burger menu rules are in the "Burger menu, below 1200px" block near the end of this file. */

    .footer-main {
        padding: 60px 0 100px
    }

    .footer-brand {
        margin-bottom: 50px
    }

    .university-page .py-5.solution-sec4 .row {
        flex-direction: column-reverse;
    }

    section.Professional_skill .row, section.sovereignty_Section .row, section.Fieldwork_section .row {
        flex-direction: column-reverse;
    }

    h2.actors-title.university-actors-title {
        width: 100%;
        text-align: left;
    }

    .university-page .row {
        margin: 0 !important;
    }

    .university-page .py-5.solution-sec4 {
        padding-bottom: 0 !important;
    }

    .university-page .institutional-section img {
        margin-bottom: 20px;
    }

    .university-page .col-12.col-lg-6 {
        padding: 0;
    }

    .university_sec_9 {
        margin: -580px 0 0px 0;
    }

    .university-page .actors-section {
        padding: 40px 0 0;
    }

    .university-page .circle-content p {
        font-size: var(--fs-sm);
    }

    .featured-us-bg .hero-container .col-lg-6:first-child {
        padding-right: 0;
        padding-left: 0px;
    }

    .structured-recording .structured-recording__image {
        max-width: 520px;
    }

    .form-relationships .form-relationships__card {
        padding: 24px !important;
    }

    .gis-maps-section .gis-maps-section__intro {
        position: static;
    }

    .coordinate-entry .coordinate-entry__header {
        padding-left: 0;
        padding-right: 0;
        margin-bottom: 45px;
    }

    .coordinate-entry .coordinate-entry__card {
        padding: 24px;
    }

    .coordinate-entry .coordinate-entry__footer {
        font-size: var(--fs-md);
    }

    .photos-drawings-section {
        padding-top: 50px !important;
        padding-bottom: 50px !important;
    }

        .photos-drawings-section .photos-drawings-section__visual {
            min-height: 450px;
            padding: 0 30px;
        }

        .photos-drawings-section .photos-drawings-section__image {
            width: 85%;
        }

        .photos-drawings-section .photos-drawings-section__content {
            padding-left: 0;
        }

    .ai-board-section {
        padding-top: 60px !important;
        padding-bottom: 60px !important;
    }

        .ai-board-section .ai-board-section__content {
            padding-right: 0;
        }

        .ai-board-section .ai-board-section__description {
            max-width: 100%;
        }

    .drawing-2d-section {
        padding: 70px 0 130px;
        clip-path: polygon( 0 0, 100% 0, 100% 93%, 0 100% );
        background-position: center;
    }

        .drawing-2d-section .drawing-2d-section__content {
            max-width: 620px;
        }

    .harris-matrices-section {
        padding-top: 65px !important;
        padding-bottom: 65px !important;
    }

        .harris-matrices-section .harris-matrices-section__content {
            padding-left: 0;
        }

    .publication-section {
        padding: 80px 0 45px;
    }

        .publication-section .publication-features {
            grid-template-columns: 1fr;
            gap: 22px;
        }

        .publication-section .publication-feature-card {
            grid-template-columns: 40% 60%;
        }

        .publication-section .publication-timeline {
            grid-template-columns: repeat(3, minmax(0, 1fr));
            row-gap: 55px;
            margin-top: 50px;
        }

            .publication-section .publication-timeline::before {
                display: none;
            }

        .publication-section .publication-timeline-item::before {
            display: none;
        }

    .staff-access-section {
        padding: 80px 0 60px;
    }

        .staff-access-section::before {
            height: 600px;
        }

        .staff-access-section .staff-access-container {
            width: calc(100% - 48px);
            grid-template-columns: 1fr 1fr;
            column-gap: 35px;
        }

        .staff-access-section .staff-access-card {
            grid-template-columns: 75px minmax(0, 1fr);
            gap: 18px;
            min-height: 145px;
            padding: 24px 20px;
        }

        .staff-access-section .staff-access-icon {
            width: 75px;
            height: 75px;
        }

    .featured-us-bg .row {
        margin: 0;
    }

    section.actors-section.feature-page-actors-section .actors-cards .col-md-3 {
        flex: 0 0 auto;
        width: 50%;
    }

    .training-page .hero-section-inner {
        min-height: 1250px;
    }

    .brochures-section::before {
        clip-path: polygon(0 0, 100% 3%, 100% 96%, 0 100%);
    }

    .drawingtool-main .support-item {
        gap: 15px;
    }

    .geo-section {
        padding: 55px 0 !important;
    }

    .geo-content {
        padding: 15px 5px;
        max-width: 100%;
    }

    .drawingtool-main .coordinate-entry::before {
        clip-path: polygon(0 0, 100% 5%, 100% 100%, 0 95%);
    }

    .drawingtool-main .hero-content {
        max-width: 100%
    }

    .geo-row {
        margin-bottom: 25px;
    }

    .benefits-section {
        padding: 50px 0 35px !important;
    }

        .benefits-section .benefits-main-image {
            margin: 25px auto 40px;
        }

        .benefits-section .benefit-card {
            min-height: 240px;
            padding: 28px 20px;
        }

            .benefits-section .benefit-card h3 {
                margin-bottom: 20px;
            }

    .records-matrix-divider {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 1px;
        height: 100%;
        min-height: 60px;
        background-color: #315482;
    }

    .matrix-main .free-trial-section.free-trial-section2 h2 {
        max-width: 340px;
    }

    .records-matrix-subtitle br.d-none.d-md-block {
        display: none !important;
    }

    .records-matrix-section {
        padding: 50px 0 !important;
    }

    .records-matrix-card {
        padding: 20px;
    }

        .records-matrix-card p {
            font-size: var(--fs-xs);
        }

    .records-matrix-divider-column {
        flex-basis: 32px;
        width: 32px;
        max-width: 32px;
        margin: 0 auto;
    }
    .matrix-main .field-network-bg {
        clip-path: polygon(0 0, 100% 1%, 100% 98%, 0 100%) !important;
    }

    .publications-section {
        padding-top: 85px;
        padding-bottom: 85px;
    }

        .publications-section .publications-intro {
            margin-bottom: 40px;
        }

        .publications-section .publications-image {
            height: 480px;
        }

        .publications-section .publications-features {
            padding: 10px 0 0 10px;
        }

        .publications-section .publication-feature {
            gap: 16px;
            margin-bottom: 28px;
        }

    section.support-section.py-5.support-section-rreporting-page .row {
        flex-direction: column-reverse;
    }

    .publications-section::before {
        clip-path: polygon(0 0, 100% 4%, 100% 100%, 0 100%);
    }

    .export-section {
        padding: 90px 0;
    }

        .export-section::before {
            clip-path: polygon( 0 0, 100% 5%, 100% 97%, 0 92% );
        }

        .export-section .export-intro {
            margin-bottom: 45px;
        }

        .export-section .export-feature p {
            font-size: var(--fs-md);
        }

        .export-section .export-card-image {
            max-width: 100%;
            margin: 35px auto 0;
        }

    .data-infrastructure .export-section .col-lg-6:last-child {
        text-align: center;
    }

    .data-infrastructure .export-section .export-card-image img {
        max-width: max-content;
        margin: 0 auto !important;
    }

    .spatial-query-section {
        padding: 85px 0 45px;
    }

        .spatial-query-section::before {
            clip-path: polygon( 0 0, 100% 8%, 100% 78%, 0 88% );
        }

        .spatial-query-section .spatial-query-timeline {
            margin-top: 45px;
        }

        .spatial-query-section .spatial-query-cards {
            --bs-gutter-x: 20px;
        }

        .spatial-query-section .spatial-query-card {
            min-height: 255px;
            padding: 24px 17px;
        }

            .spatial-query-section .spatial-query-card h3 {
                font-size: var(--fs-base);
                margin-bottom: 16px;
            }

    .legacy-story-section {
        padding: 85px 0 70px;
    }

        .legacy-story-section::before {
            clip-path: polygon( 0 0, 100% 6%, 100% 93%, 0 100% );
        }

        .legacy-story-section .legacy-story-row {
            min-height: auto;
        }

        .legacy-story-section .legacy-story-content {
            padding: 0 0 40px;
        }

        .legacy-story-section .testimonial-media {
            margin: 0 auto;
        }

    .territory-section {
        padding: 55px 0 !important;
    }

        .territory-section .territory-header {
            margin-bottom: 40px;
        }

        .territory-section .territory-content {
            max-width: 100%;
        }

        .territory-section .territory-image img {
            height: 450px;
        }

    .field-section .field-stat-card {
        min-height: 250px;
    }

    .field-section .field-testimonial {
        margin-top: 45px;
    }

    .demo-booking-section {
        padding: 110px 0 60px;
    }

        .demo-booking-section .demo-booking-content {
            padding-right: 0;
        }

        .demo-booking-section .demo-booking-right {
            max-width: 100%;
            margin: 25px auto 0;
        }

        .demo-booking-section .demo-booking-description {
            margin-bottom: 30px;
        }

    .book-demo .adoption-row > div:nth-child(1)::after, .book-demo .adoption-row > div:nth-child(2)::after {
        display: none;
    }

    .book-demo .adoption-card {
        width: 100%;
        max-width: 100% !important;
    }

    .Pricing-page .pp-pricing-section {
        padding: 75px 0;
    }

    .Pricing-page .pp-pricing-heading {
        margin-bottom: 32px;
    }

    .Pricing-page .pp-entry-card {
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
        padding: 26px;
    }

    .Pricing-page .pp-entry-benefits {
        padding-top: 26px;
        padding-left: 0;
        border-top: 1px solid #DCE3EC;
        border-left: 0;
    }

    .Pricing-page .pp-module-card {
        min-height: 215px;
    }

    .Pricing-page .pp-extras-section {
        padding: 70px 0 40px;
    }

    .Pricing-page .pp-extras-heading {
        margin-bottom: 30px;
    }

    .Pricing-page .pp-extras-cards {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
        max-width: 640px;
        margin: 0;
    }

    .Pricing-page .pp-faq-inner {
        max-width: 100%;
    }

    .Pricing-page h2.methodology-title {
        margin-top: 20px;
    }

    .Pricing-page.drawingtool-main .institutional-content h2 {
        margin-top: 20px;
    }


    .Staff-page .audit-history-section {
        padding: 30px 0 70px;
    }

    .Staff-page .audit-card {
        padding: 20px;
        gap: 15px;
        min-height: 145px;
    }

    .Staff-page .audit-card-icon {
        flex-basis: 55px;
    }

        .Staff-page .audit-card-icon img {
            width: 55px;
            height: 65px;
        }

    .Staff-page section.publications-section {
        min-height: 440px;
    }

    .Staff-page .spatial-query-section .spatial-query-header {
        min-height: 330px;
    }

    .survey-card {
        min-height: 450px;
        padding: 24px 20px 20px;
    }

        .survey-card p {
            font-size: var(--fs-base);
        }

        .survey-card img {
            height: 230px;
        }

    .map-history-container {
        padding: 24px;
    }

    .map-comparison {
        padding: 18px;
    }

    .map-history-center {
        gap: 6px;
    }

    .find-image-section {
        padding: 85px 0;
    }

        .find-image-section::before {
            clip-path: polygon( 0 5%, 100% 12%, 100% 90%, 0 96% );
        }

        .find-image-section .find-image-content {
            padding: 0 0 35px;
        }

        .find-image-section .find-image-line {
            margin-bottom: 30px;
        }

        .find-image-section .find-image-main {
            height: 450px;
        }

        .find-image-section .find-image-search {
            min-height: 60px;
            gap: 12px;
        } 
} 
            
@media (max-width:767px) {
    section.support-section.py-5.infrastructure-support-section.one-home-support .col-lg-6 {
        padding: 0;
    }
    .Staff-page section.support-section.py-5 .row.align-items-center.g-5 {
        flex-direction: column-reverse !important;
    }

    section.field-testimonial.py-5 {
        margin-bottom: -50px;
    }

    .field-testimonials {
        padding-top: 80px !important;
    }

    .testimonials-page section.free-trial-section.free-trial-section2 {
        margin: 0 0 30px 0;
    }

    .testimonials-page .hero-section-inner {
        min-height: auto;
        padding-bottom: 70px;
    }

        .testimonials-sec1 .section-title br {
            display: none;
        }

    .testimonials-sec1 .testimonial-card {
        min-height: auto;
    }

    .trust-section {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
    }

        .trust-section .trust-section__title {
            text-align: left;
        }

        .trust-section .trust-section__subtitle {
            margin-top: 24px;
        }

        .trust-section .trust-section__number-col {
            flex-basis: 48px;
            width: 48px;
            justify-content: flex-start;
        }

        .trust-section .trust-section__number {
            width: 38px;
            height: 38px;
            font-size: 1.3125rem;
        }

        .trust-section .trust-section__item:not(:last-child)
        .trust-section__number-col::after {
            top: 38px;
            bottom: -28px;
            left: 19px;
        }

        .trust-section .trust-section__card {
            flex-direction: column;
            align-items: flex-start !important;
            gap: 14px;
            padding: 20px 16px;
        }

        .trust-section .trust-section__badge {
            margin-bottom: 10px;
        }

    .field-testimonial {
        padding-top: 100px !important;
        padding-bottom: 100px !important;
        clip-path: polygon( 0 8%, 100% 0, 100% 100%, 0 92% );
    }

        .field-testimonial .field-testimonial__quote {
            gap: 8px;
        }

        .field-testimonial .field-testimonial__mark {
            font-size: 3.625rem;
        }

        .field-testimonial .field-testimonial__quote blockquote {
            padding-top: 5px;
            line-height: 1.5;
        }

        .field-testimonial .field-testimonial__author {
            margin-top: 24px;
            padding-left: 0;
        }

            .field-testimonial .field-testimonial__author p {
                font-size: var(--fs-xs);
            }

    .field-testimonials .field-testimonials__intro {
        max-width: 300px;
    }

    .field-testimonials .field-testimonials__video-btn {
        gap: 14px !important;
        min-height: 90px;
        padding: 16px 18px;
    }

    .field-testimonials .field-testimonials__play {
        flex-basis: 48px;
        width: 48px;
        height: 48px;
    }

        .field-testimonials .field-testimonials__play svg {
            width: 23px;
            height: 23px;
        }

    .field-testimonials .field-testimonials__video-text > span {
        font-size: var(--fs-xs);
        overflow-wrap: anywhere;
    }

    .interview-modal .interview-modal__image {
        height: 220px;
    }

    .interview-modal .interview-modal__caption {
        padding: 8px 18px;
    }

    .interview-modal .interview-modal__picker {
        grid-template-columns: 1fr;
        gap: 8px;
        padding: 10px;
    }

    .interview-modal .interview-modal__pick img {
        width: 88px;
    }

    .interview-modal .interview-modal__body {
        padding: 18px 18px 28px;
    }

    .free-trial-section-about {
        padding: 0 0 30px !important
    }

    .belief-section .row.mb-5 {
        margin-bottom: 15px !important
    }

    .infrastructure-content .container.py-5, section.analytic-section.overflow-hidden .row.align-items-center.py-lg-5 {
        padding-top: 0 !important
    }

    .timeline-wrapper {
        margin-top: 0
    }

    .timeline-dot {
        left: -34px
    }

    .infrastructure-content {
        padding-bottom: 0
    }

        .infrastructure-content .row.g-5.justify-content-center .col-md-6 {
            margin-top: 20px
        }

    .timeline-card {
        padding: 15px !important
    }

    .timeline-text {
        font-size: var(--fs-xs)
    }

    section.free-trial-section.free-trial-section2 .free-trial-image {
        width: 100%
    }

    .free-trial-section2, .hero-content-inner-pages {
        padding: 0
    }

        .hero-content-inner-pages h1 {
            font-weight: 400;
        }

            .hero-content-inner-pages h1 br {
                display: none
            }

    .hero-section-inner {
        min-height: 500px
    }

    .problem-solution-section {
        padding: 0
    }

        .problem-solution-section::after {
            display: none
        }

    .problem-solution-row {
        flex-direction: column;
        min-height: auto
    }

    .problem-circle, .solution-circle {
        width: min(440px,90vw);
        height: min(440px,90vw)
    }

    .solution-col {
        margin-left: 0;
        margin-top: -30px
    }

    .circle-content {
        width: 68%
    }

        .circle-content p {
            font-size: var(--fs-sm);
            line-height: 1.5
        }

    .legal-features {
        flex-direction: column;
        width: 100%
    }

    .legal-feature {
        width: 100%;
        max-width: 400px;
        height: 55px;
        justify-content: flex-start;
        padding-left: 20px
    }

    .platform-section {
        padding-top: 40px !important;
        padding-bottom: 40px !important
    }

        .platform-title strong {
            display: block
        }

    .platform-description {
        line-height: 1.45
    }

    .platform-items {
        margin-top: 40px !important
    }

    .platform-item {
        margin-bottom: 0
    }

    .platform-image-wrap {
        width: 280px;
        height: 280px
    }

    .methodology-section {
        padding: 40px 0 0
    }

    section.methodology-section .row.align-items-center {
        flex-direction: column-reverse
    }

    .identifier-wheel img {
        width: 100%
    }

    .methodology-content {
        padding-right: 0;
        margin-bottom: 35px
    }

    .methodology-title {
        line-height: 1.2
    }

    .methodology-line {
        margin-top: 15px;
        margin-bottom: 22px
    }

    .methodology-description {
        line-height: 1.6
    }

    .methodology-image {
        height: 350px;
        border-radius: 10px
    }

    .institutional-section {
        padding: 0 0 60px
    }

    .institutional-image {
        height: 350px;
        margin-bottom: 35px
    }

    .institutional-content {
        padding-left: 0
    }

    .institutional-title {
        line-height: 1.2
    }

    .institutional-description {
        max-width: 100%;
    }

    .institutional-overlay-text {
        top: 20px;
        left: 20px;
        line-height: 1.45
    }

    .data-control-section {
        padding: 0 0 30px
    }

    section.identifier-section .row.align-items-center {
        flex-direction: column-reverse
    }

    .data-control-image {
        height: 350px;
        margin-bottom: 40px
    }

    .data-control-content {
        padding-left: 0
    }

    .data-control-title {
        line-height: 1.2
    }

    .data-control-line {
        margin-top: 15px;
        margin-bottom: 28px
    }

    .data-control-description {
        max-width: 100%;
        margin-bottom: 30px;
    }

    .data-control-buttons {
        gap: 12px !important
    }

        .data-control-buttons .btn {
            min-height: 46px
        }

    .oversight-section {
        padding: 40px 0 60px
    }

    .oversight-content {
        padding-right: 0;
        margin-bottom: 40px
    }

    .oversight-title {
        line-height: 1.2
    }

    .oversight-list {
        gap: 17px
    }

        .oversight-list li {
            font-size: var(--fs-sm)
        }

    .oversight-image {
        height: 350px;
        border-radius: 10px
    }

    .excavation-section {
        min-height: auto;
        padding: 110px 0 100px
    }

    .excavation-bg {
        clip-path: polygon(0 0,100% 5%,100% 95%,0 100%)
    }

    .excavation-title {
        margin-top: 25px;
        line-height: 1.4
    }

    .excavation-stats {
        margin-top: 30px
    }

    .excavation-stat {
        margin-bottom: 25px
    }

    .stat-number {
        font-size: 2.625rem
    }

    .actors-cards {
        margin-top: 35px
    }

    .actor-card {
        height: 150px
    }

    .identifier-section {
        padding: 50px 0 0
    }

    .identifier-title {
        line-height: 1.25
    }

    section.free-trial-section.free-trial-section2 {
        padding: 0
    }

    .wheel {
        width: 330px;
        height: 330px
    }

    .wheel-center {
        width: 105px;
        height: 105px
    }

    .wheel-center-inner {
        width: 87px;
        height: 87px
    }

        .wheel-center-inner strong {
            font-size: 2.375rem
        }

        .wheel-center-inner span {
            font-size: var(--fs-xs);
            margin-top: 4px
        }

    .wheel-icon {
        width: 36px;
        height: 36px;
        font-size: 1rem
    }

    .wheel-trench {
        top: 72px;
        left: 58px
    }

    .wheel-lab {
        top: 72px;
        right: 57px
    }

    .wheel-catalog {
        right: 24px;
        top: 207px
    }

    .wheel-loan {
        bottom: 38px;
        left: 145px
    }

    .wheel-museum {
        left: 21px;
        top: 207px
    }

    .icon-trench {
        top: 16px;
        left: 120px
    }

    .icon-lab {
        top: 89px;
        right: 30px
    }

    .icon-catalog {
        right: 39px;
        bottom: 51px
    }

    .icon-loan {
        left: 91px;
        bottom: 25px
    }

    .icon-museum {
        left: 14px;
        top: 148px
    }

    .field-network-section {
        padding: 60px 0
    }

    .field-network-title {
        line-height: 1.4
    }

    .field-network-card {
        padding: 30px 22px
    }

    .field-stat {
        gap: 15px
    }

    .field-stat-icon {
        width: 60px;
        min-width: 60px;
        height: 60px;
        font-size: 2.5rem
    }

    .field-stat-number {
        font-size: 2.625rem
    }

    .field-stat-content p {
        font-size: var(--fs-sm)
    }

    .benefits-section {
        padding: 40px 0 60px
    }

    .benefits-box {
        padding: 30px 15px
    }

    .benefit-item {
        margin: 20px 0
    }

    .benefit-icon {
        height: 70px;
        font-size: 2.8125rem
    }

    .benefit-item h3 {
        margin-top: 12px;
    }

    .explore-section {
        padding: 40px 0 50px
    }

    .explore-divider {
        margin-bottom: 35px
    }

    .explore-card {
        height: 270px
    }

    .explore-icon {
        height: 100px;
        font-size: 4.0625rem
    }

    .explore-card p {
        font-size: var(--fs-sm)
    }

    .solution-2 .legal-feature {
        font-size: var(--fs-base)
    }

    .solution-2 .circle-content p {
        font-size: var(--fs-xs)
    }

    .reverse-mobile, .solution-sec4 .row, .solution-sec7 .row {
        flex-direction: column-reverse
    }

    .solution-sec6, .solution-sec9 {
        padding-bottom: 0 !important
    }

        .solution-sec4, .solution-sec6 .col-12.col-lg-6, section.py-5.solution-sec4 {
            padding-top: 0 !important
        }

            .solution-sec4 .g-5, .solution-sec6 .g-5, .solution-sec7 .g-5 {
                margin: 0
            }

            .solution-sec4 .col-12.col-lg-6, .solution-sec6 .col-12.col-lg-6 {
                padding: 0
            }

    section.py-5.solution-sec7 .col-12.col-lg-6 {
        margin: 0 !important;
        padding: 0
    }

    section.py-5.gis-2-grid {
        margin: 0;
        z-index: 99999;
        position: relative
    }

    .time-gained-section {
        min-height: 420px
    }

        .time-gained-section p {
            font-size: var(--fs-base) !important
        }

    .archaeology-benefits {
        padding-top: 50px;
        padding-bottom: 100px;
        clip-path: polygon(0 0,100% 0,100% 97%,0 100%)
    }

    .benefit-image {
        width: 250px;
        height: 250px
    }

    .benefit-image-1, .benefit-image-2, .benefit-image-3 {
        transform: none
    }

    .archaeology-benefits h3 {
        font-size: var(--fs-xl)
    }

    .sovereignty-section {
        padding-bottom: 80px;
        clip-path: none
    }

    .free-trial-section {
        padding: 80px 0 50px
    }

    .free-trial-box {
        display: flex;
        flex-direction: column;
        min-height: auto
    }

    .free-trial-content {
        width: 100%;
        padding: 40px 25px 45px
    }

        .free-trial-content h2 {
            line-height: 1.3
        }

    .free-trial-tag {
        margin-bottom: 22px
    }

    .free-trial-btn {
        margin-top: 30px
    }

    .free-trial-image {
        position: relative;
        top: auto;
        right: auto;
        width: 100%;
        height: 350px;
        clip-path: none
    }

    .testimonials-section {
        min-height: auto;
        padding: 45px 0 70px
    }

    .expertise-card {
        flex-direction: column;
        align-items: flex-start;
        gap: 17px;
        padding: 25px 22px
    }

    .cta-banner-section {
        padding: 30px 0 50px
    }

    .cta-banner {
        padding: 25px 20px;
        flex-direction: column;
        align-items: flex-start;
        gap: 20px
    }

    .cta-button {
        min-width: 165px
    }

    .adoption-section, .why-archeobase-section {
        padding: 45px 0 55px
    }

    .adoption-heading, .why-matters-heading {
        margin-bottom: 35px
    }

    .adoption-card {
        min-height: 380px
    }

    .why-image-card {
        height: 430px
    }

        .why-image-card h3 {
            left: 25px;
            bottom: 30px;
        }

    .why-accordion .accordion-item {
        margin-bottom: 15px
    }

    .why-accordion .accordion-button {
        min-height: 65px;
    }

    .features-section {
        padding: 45px 0 35px
    }

    .features-heading {
        padding: 0;
        margin-bottom: 30px
    }

    .solutions-section, .why-matters-section {
        padding: 50px 0 60px
    }

    .solutions-heading {
        margin-bottom: 30px
    }

    .solution-card {
        height: auto;
        min-height: 430px
    }

    .why-card {
        min-height: auto;
        padding: 35px 22px 30px
    }

    .quote-mark {
        font-size: 4.375rem
    }

    .footer-social {
        margin-top: 30px
    }

    .footer-announcement {
        padding: 8px 15px
    }

        .footer-announcement p {
            font-size: var(--fs-xs)
        }

    .footer-main {
        padding: 45px 0 50px
    }

    .footer-logo img {
        width: 169px
    }

    .footer-links {
        margin-top: 25px;
        margin-bottom: 10px
    }

        .footer-links h6 {
            margin-bottom: 17px
        }

        .footer-links a {
            font-size: var(--fs-sm)
        }

    .footer-bottom {
        padding-bottom: 25px
    }

    .featured-us-bg .hero-content-inner-pages p {
        font-size: var(--fs-base);
    }

    section.form-relationships.py-5 .col-12.col-lg-6.mt-0:last-child {
        margin-top: 20px !important;
    }

    section.actors-section.feature-page-actors-section .actors-cards .col-md-3 {
        flex: 0 0 auto;
        width: 100%;
    }

    .ai-board-section .row {
        flex-direction: column-reverse;
    }

    .gis-left-border {
        position: relative;
        padding-left: 0;
    }

        .gis-left-border::after, .gis-left-border::after, .gis-maps-section__card:first-child::before, .gis-maps-section__card:last-child::before, .gis-left-border::before, .publication-section .publication-timeline-item::before {
            display: none;
        }

    .featured-us-bg .hero-container {
        padding-top: 0;
    }

    .structured-recording {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
    }

        .structured-recording .structured-recording__description {
            font-size: var(--fs-sm);
        }

        .structured-recording .structured-recording__list {
            font-size: var(--fs-sm);
        }

        .structured-recording .structured-recording__image {
            max-width: 100%;
            margin-top: 15px;
        }

    .form-relationships {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
    }

        .form-relationships .form-relationships__intro {
            line-height: 1.6;
        }

        .form-relationships .form-relationships__card {
            padding: 22px !important;
            border-radius: 14px !important;
        }

        .form-relationships .form-relationships__icon {
            flex-basis: 30px;
            width: 30px;
        }

        .form-relationships .form-relationships__text {
            font-size: var(--fs-sm);
            line-height: 1.7;
        }

    .gis-maps-section {
        padding-top: 35px !important;
        padding-bottom: 35px !important;
        background-position: center;
    }

        .gis-maps-section .gis-maps-section__description {
            font-size: var(--fs-sm);
        }

        .gis-maps-section .gis-maps-section__overview {
            padding: 24px !important;
        }

        .gis-maps-section .gis-maps-section__overview-text {
            font-size: var(--fs-sm);
        }

        .gis-maps-section .gis-maps-section__card {
            padding: 22px !important;
        }

        .gis-maps-section .gis-maps-section__icon {
            width: 62px;
            height: 62px;
        }

        .gis-maps-section .gis-maps-section__card-text {
            font-size: var(--fs-sm);
        }

    .coordinate-entry {
        padding-top: 35px !important;
        padding-bottom: 35px !important;
    }

        .coordinate-entry .coordinate-entry__header {
            margin-bottom: 35px;
        }

        .coordinate-entry .coordinate-entry__description {
            font-size: var(--fs-sm);
        }

        .coordinate-entry .coordinate-entry__card {
            min-height: auto;
            padding: 24px;
        }

        .coordinate-entry .coordinate-entry__card-title {
            margin-bottom: 12px;
        }

        .coordinate-entry .coordinate-entry__card-text {
            font-size: var(--fs-sm);
            line-height: 1.75;
        }

        .coordinate-entry .coordinate-entry__footer {
            padding: 22px !important;
            font-size: var(--fs-base);
        }

    .photos-drawings-section {
        padding-top: 35px !important;
        padding-bottom: 40px !important;
    }

        .photos-drawings-section .photos-drawings-section__intro {
            font-size: var(--fs-sm);
        }

        .photos-drawings-section .photos-drawings-section__visual {
            min-height: 350px;
            padding: 0 15px;
            margin-top: -100px;
        }

        .photos-drawings-section .photos-drawings-section__visual-bg {
            width: 100%;
            top: 8%;
            bottom: 8%;
        }

        .photos-drawings-section .photos-drawings-section__image {
            width: 88%;
        }

        .photos-drawings-section .photos-drawings-section__description,
        .photos-drawings-section .photos-drawings-section__info {
            font-size: var(--fs-sm);
        }

        .photos-drawings-section .photos-drawings-section__info {
            padding: 20px !important;
            margin-bottom: 30px !important;
        }

    .ai-board-section {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
    }

        .ai-board-section .ai-board-section__title {
            line-height: 1.3;
        }

        .ai-board-section .ai-board-section__description {
            line-height: 1.75;
        }

        .ai-board-section .ai-board-section__button {
            padding: 13px 22px;
            font-size: var(--fs-sm);
        }

    .drawing-2d-section {
        padding: 50px 0 95px;
        clip-path: polygon( 0 0, 100% 0, 100% 97%, 0 100% );
    }

        .drawing-2d-section .drawing-2d-section__description,
        .drawing-2d-section .drawing-2d-section__features li {
            font-size: var(--fs-sm);
        }

        .drawing-2d-section .drawing-2d-section__features li {
            align-items: flex-start;
            gap: 10px;
            margin-bottom: 16px;
        }

        .drawing-2d-section .drawing-2d-section__info {
            padding: 12px;
        }

            .drawing-2d-section .drawing-2d-section__info p {
                font-size: var(--fs-sm);
            }

        .drawing-2d-section .drawing-2d-section__button {
            padding: 13px 22px;
            font-size: var(--fs-sm);
        }

    .harris-matrices-section {
        padding-top: 40px !important;
        padding-bottom: 45px !important;
    }

        .harris-matrices-section .harris-matrices-section__description,
        .harris-matrices-section .harris-matrices-section__features li {
            font-size: var(--fs-sm);
        }

        .harris-matrices-section .harris-matrices-section__features li {
            align-items: flex-start;
            gap: 10px;
        }

        .harris-matrices-section .harris-matrices-section__features i {
            font-size: 1.375rem;
        }

        .harris-matrices-section .harris-matrices-section__button {
            min-height: 46px;
            padding: 11px 20px;
            font-size: var(--fs-sm);
        }

    .publication-section {
        padding: 60px 0 35px;
    }

        .publication-section .publication-container {
            width: calc(100% - 32px);
        }

        .publication-section .publication-header {
            margin-bottom: 35px;
        }

            .publication-section .publication-header h3 {
                margin-bottom: 22px;
            }

        .publication-section .publication-feature-card {
            grid-template-columns: 1fr;
        }

        .publication-section .publication-feature-image,
        .publication-section .publication-feature-image img {
            min-height: 210px;
            max-height: 240px;
        }

        .publication-section .publication-feature-content {
            padding: 24px 20px 28px;
        }

        .publication-section .publication-timeline {
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 32px 16px;
            margin-top: 38px;
        }

        .publication-section .publication-timeline-item {
            min-height: 125px;
            padding: 18px 14px;
        }

            .publication-section .publication-timeline-item h5 {
                font-size: var(--fs-sm);
            }

        .publication-section .publication-cta {
            margin-top: 32px;
        }

    .staff-access-section {
        padding: 60px 0 45px;
    }

        .staff-access-section::before {
            height: 470px;
            clip-path: polygon(0 0, 100% 0, 100% 90%, 0 78%);
        }

        .staff-access-section .staff-access-container {
            width: calc(100% - 36px);
            grid-template-columns: 1fr;
            row-gap: 35px;
        }

        .staff-access-section .staff-access-line {
            width: 90px;
            margin: 16px 0 22px;
        }

        .staff-access-section .staff-access-features {
            gap: 20px;
        }

        .staff-access-section .staff-access-card {
            grid-template-columns: 65px minmax(0, 1fr);
            gap: 16px;
            min-height: 125px;
            padding: 22px 18px;
            border-radius: 12px;
            max-width: 100%;
        }

        .staff-access-section .staff-access-icon {
            width: 65px;
            height: 65px;
        }

        .staff-access-section .staff-access-card-content p {
            font-size: var(--fs-base);
            line-height: 1.6;
        }

    section.support-section.py-5 .row.align-items-center.g-5 {
        flex-direction: column-reverse;
    }

    .brochures-section {
        padding: 70px 0 90px;
    }

    .support-visual,
    .support-main-image {
        height: auto;
        width: 100%;
    }

    .support-center-text {
        font-size: var(--fs-lead);
    }

    .tutorial-section {
        padding: 10px 0 20px 0;
    }

    .training-page .hero-section-inner {
        min-height: 1000px;
    }

    .training-page .photos-drawings-section .photos-drawings-section__main-title:after {
        content: '';
        width: 87px;
        height: 4px;
        background-color: var(--secondary-color);
        display: block;
        margin: 0 auto;
    }

    .brochures-section::before,
    .support-section {
        clip-path: polygon(0 0, 100% 0, 100% 98%, 0 100%);
    }

    .support-section {
        padding-bottom: 60px !important;
    }

    section.geo-section .col-lg-6, .drawingtool-main .support-section .col-lg-7, .drawingtool-main .support-section .col-lg-5,
    .drawingtool-main .coordinate-entry .container.px-4.px-lg-5 {
        padding-left: 5px !important;
        padding-right: 5px !important;
    }

    .drawingtool-main .support-section {
        padding-bottom: 60px !important;
        padding-top: 0 !important;
    }

    .drawingtool-main .why-matters-heading h2::after {
        position: relative;
    }

    .drawingtool-main .why-matters-heading p, .drawingtool-main .why-card-content li, .drawingtool-main .support-item p, .geo-intro,
    .drawingtool-main .coordinate-entry .coordinate-entry__description, .benefits-section .benefit-card p {
        font-size: var(--fs-base);
    }

    .drawingtool-main .coordinate-entry::before {
        clip-path: polygon(0 0, 100% 2%, 100% 100%, 0 98%);
    }

    .drawingtool-main .coordinate-entry {
        padding-top: 80px !important;
        padding-bottom: 80px !important;
    }

    .drawingtool-main h2 {
        width: auto;
    }

    .drawingtool-main .hero-btn {
        gap: 5px;
        font-size: var(--fs-sm);
        min-width: auto;
        padding: 0 15px;
    }

    .geo-section {
        padding: 40px 0 !important;
    }

    .geo-header {
        margin-bottom: 35px;
    }

    .geo-content {
        max-width: 100%;
        padding: 10px 5px 20px;
    }

        .geo-content .geo-line {
            margin-bottom: 20px;
        }

        .geo-content p {
            font-size: var(--fs-base);
        }

    .geo-row {
        margin-bottom: 25px;
    }

    .benefits-section .benefits-main-image {
        margin: 20px auto 30px;
    }

    .benefits-section .benefits-cards {
        border-top: 1px solid var(--primary-color);
    }

    .benefits-section .benefit-card {
        min-height: auto;
        padding: 25px 18px;
        border-radius: 0 0 8px 8px;
    }

        .benefits-section .benefit-card h3 {
            margin-bottom: 15px;
        }

    .matrix-main .records-matrix-section {
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    }

    .records-matrix-section {
        padding: 40px 0 !important;
    }

    .records-matrix-subtitle {
        padding: 0 10px;
        margin-bottom: 30px !important;
    }

    .records-matrix-row {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    .records-matrix-card-column {
        flex: 0 0 100%;
        width: 100%;
        max-width: 100%;
    }

    .records-matrix-card {
        width: 100%;
        min-height: auto;
        padding: 22px;
    }

        .records-matrix-card p, .matrix-main .photos-drawings-section__description-matrix, .matrix-main .features-section p {
            font-size: var(--fs-base) !important;
        }

    .matrix-main .container.feature-section .row.align-items-center.g-4:last-child {
        flex-direction: column-reverse;
    }

    .matrix-main .container.feature-section .row.align-items-center.g-4.mb-4:nth-child(even) {
        flex-direction: column-reverse !important;
    }

    .matrix-main .feature-class-child {
        display: flex;
        align-items: self-start;
        gap: 10px;
    }

    .matrix-main .features-section h3 {
        margin-top: 0;
    }

    .matrix-main .features-section {
        padding: 0 0 30px 0 !important;
    }

    .matrix-main .container.feature-section {
        padding: 0 !important;
    }

    .matrix-main .photos-drawings-section .photos-drawings-section__image {
        width: 100%;
    }

    .matrix-main .coordinate-entry.py-5.coordinate-entry-matrix {
        padding: 20px 0 !important;
    }

    .matrix-main .photos-drawings-section {
        padding-bottom: 0 !important;
    }

        .matrix-main .photos-drawings-section.photos-drawings-section-matrix.py-5 .col-12.col-lg-7 {
            padding: 0;
            margin-top: 0;
        }

        .matrix-main .photos-drawings-section.photos-drawings-section-matrix.py-5 .col-12.col-lg-5 {
            padding: 0 15px;
        }

        .matrix-main .photos-drawings-section.photos-drawings-section-matrix.py-5 .row {
            flex-direction: column-reverse;
        }

        .matrix-main .photos-drawings-section .photos-drawings-section__visual {
            min-height: auto;
            padding: 0 15px;
            margin-top: 0;
        }

    .publications-section {
        padding-top: 65px;
    }

        .publications-section::before {
            clip-path: none;
        }

        .publications-section .publications-line {
            margin-bottom: 28px;
        }

        .publications-section .publications-intro {
            margin-bottom: 32px;
        }

        .publications-section .publications-image {
            height: 360px;
        }

        .publications-section .publications-features {
            padding: 15px 0 0px;
        }

        .publications-section .publication-feature {
            gap: 15px;
            margin-bottom: 25px;
        }

        .publications-section .publication-check,
        .publications-section .publication-check img {
            width: 24px;
            height: 24px;
        }

        .publications-section .publication-check {
            flex-basis: 24px;
        }

    .drawingtool-main.reporting-publication-main section.support-section.reporting-sec .support-list.mt-4 {
        flex-direction: column;
    }

    .drawingtool-main.reporting-publication-main .py-5.testimonials-sec1 .row.mb-5 {
        margin-bottom: 0 !important;
    }

    .drawingtool-main.reporting-publication-main .col-12.col-md-6 {
        padding: 0 0 !important;
    }

    .drawingtool-main.reporting-publication-main .support-section-rreporting-page .col-lg-6,
    .drawingtool-main.reporting-publication-main section.support-section.reporting-sec .col-lg-6 {
        padding: 0 10px !important;
        margin-top: 0;
    }

    .drawingtool-main.reporting-publication-main .why-matters-section {
        padding: 50px 0 20px;
    }

    .drawingtool-main.reporting-publication-main .features-section, .drawingtool-main.reporting-publication-main .features-section::before {
        clip-path: none !important;
    }

    .drawingtool-main.reporting-publication-main .support-section.reporting-sec {
        padding: 0 0 0 0 !important;
    }

    .drawingtool-main.reporting-publication-main.matrix-main .features-section h2.mb-2::before {
        top: auto !important;
        bottom: -10px !important;
    }

    .matrix-main .container.feature-section.feature-section--zoom .row.align-items-center.g-4 {
        flex-direction: column-reverse !important;
    }

    .drawingtool-main.reporting-publication-main.matrix-main .testimonials-sec1 .section-description {
        font-size: var(--fs-base);
    }

    .data-infrastructure .support-section .row.align-items-center.g-5 .col-lg-6 {
        padding: 0 10px;
        margin-top: 0;
    }

    .data-infrastructure.drawingtool-main.reporting-publication-main .support-section-rreporting-page {
        padding-bottom: 30px !important;
    }

    .data-infrastructure .export-section .row {
        flex-direction: column-reverse;
    }

    .data-infrastructure .export-section::before {
        clip-path: polygon(0 0, 100% 0%, 100% 100%, 0 100%);
    }

    .data-infrastructure .support-section.py-5 .row.align-items-center.g-5 {
        flex-direction: column;
    }

    .data-infrastructure .why-matters-section {
        padding: 0 0 20px !important;
    }

    .data-infrastructure .hero-section {
        min-height: 620px;
    }

        .data-infrastructure .hero-section .col-lg-12 {
            padding: 0;
        }

    .export-section {
        padding: 30px 0 40px 0;
    }

        .export-section .export-line {
            margin-bottom: 30px;
        }

        .export-section .export-intro {
            margin-bottom: 40px;
        }

        .export-section .export-feature p {
            font-size: var(--fs-base);
        }

        .export-section .export-feature-icon {
            margin-bottom: 15px;
        }

        .export-section .export-card-image {
            margin-top: 0px;
        }

    .data-infrastructure .support-visual {
        padding-top: 40px;
    }

    .drawingtool-main.reporting-publication-main.data-infrastructure .why-card-icon img {
        max-width: 80px;
        max-height: 80px;
    }

    .search-at-every-scale section.support-section.support-section-matrix .row {
        flex-direction: column-reverse !important;
    }

    .search-at-every-scale .support-visual {
        padding-top: 0;
    }

    .spatial-query-section {
        padding: 65px 0 35px;
    }

        .spatial-query-section::before {
            clip-path: polygon( 0 0, 100% 4%, 100% 80%, 0 86% );
        }

        .spatial-query-section .spatial-query-line {
            margin-bottom: 25px;
        }

        .spatial-query-section .spatial-query-timeline {
            display: none;
        }

        .spatial-query-section .spatial-query-cards {
            margin-top: 40px;
            --bs-gutter-x: 14px;
            row-gap: 18px;
        }

        .spatial-query-section .spatial-query-card {
            min-height: 240px;
            padding: 22px 16px;
        }

        .spatial-query-section .spatial-card-icon {
            width: 40px;
            height: 45px;
            margin-bottom: 18px;
        }

    .legacy-story-section {
        padding: 65px 0 50px;
    }

        .legacy-story-section::before {
            clip-path: polygon( 0 0, 100% 3%, 100% 96%, 0 100% );
        }

        .legacy-story-section .legacy-quote-mark {
            margin-top: 25px;
            font-size: 4.875rem;
            height: 52px;
        }

        .legacy-story-section .legacy-story-quote {
            line-height: 1.5;
        }

        .legacy-story-section .legacy-story-caption {
            font-size: var(--fs-xs);
        }

    .territory-section {
        padding: 40px 0 !important;
    }

        .territory-section .territory-header {
            margin-bottom: 35px;
        }

            .territory-section .territory-header h2 {
                line-height: 1.35;
            }

        .territory-section .territory-feature {
            gap: 14px;
        }

        .territory-section .territory-icon {
            width: 45px;
        }

            .territory-section .territory-icon img {
                width: 42px;
                height: 42px;
            }

        .territory-section .territory-content > .territory-feature {
            margin-bottom: 30px;
        }

        .territory-section .territory-highlight {
            padding: 22px 16px;
        }

        .territory-section .territory-btn {
            font-size: var(--fs-base);
            padding: 15px 12px;
            min-height: 58px;
        }

        .territory-section .territory-image img {
            height: 350px;
        }

    .field-section {
        padding: 40px 0 !important;
    }

        .field-section .field-header {
            margin-bottom: 30px;
        }

        .field-section .field-stat-card {
            min-height: 235px;
            padding: 25px 18px;
        }

        .field-section .field-stat-details {
            align-items: flex-start;
            flex-direction: column;
            gap: 10px;
        }

        .field-section .field-pills {
            margin-left: 0;
            gap: 7px;
        }

            .field-section .field-pills span {
                font-size: var(--fs-xs);
                padding: 6px 9px;
            }

        .field-section .field-stat-bottom {
            margin-top: 28px;
        }

        .field-section .field-testimonial {
            margin-top: 40px;
        }

        .field-section .field-quote-mark {
            font-size: 4.0625rem;
            height: 35px;
        }

        .field-section .field-quote blockquote {
            line-height: 1.5;
        }

        .field-section .field-testimonial h3 {
            margin-top: 25px;
        }

        .field-section .field-testimonial > p {
            font-size: var(--fs-xs);
        }

    .search-at-every-scale .support-item p {
        padding-right: 0px;
    }

    .search-at-every-scale .support-item h3 span {
        padding: 3px 15px;
        font-size: var(--fs-xs);
        position: relative;
        top: -3px;
    }

    .book-demo .hero-description {
        font-size: var(--fs-sm);
    }

    .book-demo .hero-content .d-flex.gap-3.mt-5 {
        flex-direction: column;
    }

    .demo-booking-section .col-lg-6 {
        padding: 0 10px;
    }

    .demo-booking-section {
        padding: 85px 0 40px;
    }

        .demo-booking-section::before {
            height: 85px;
            clip-path: polygon(0 0, 100% 75%, 100% 0);
        }

        .demo-booking-section .demo-benefit {
            width: 100%;
            padding: 12px 15px;
        }

            .demo-booking-section .demo-benefit span {
                font-size: var(--fs-base);
            }

        .demo-booking-section .demo-contact-form {
            padding: 22px 16px;
        }

        .demo-booking-section .demo-form-bottom {
            flex-direction: column;
            align-items: stretch;
            gap: 18px;
        }

        .demo-booking-section .demo-submit-button {
            width: 100%;
        }

        .demo-booking-section .demo-form-bottom p {
            max-width: none;
            justify-content: center;
        }

    .Pricing-page h2.methodology-title {
        margin-top: 20px;
    }

    .Pricing-page.drawingtool-main .institutional-content h2 {
        margin-top: 20px;
    }

    .survey-timeline, .gigs-maps .why-matters-section p br {
        display: none;
    }

    .survey-section.py-4.py-md-5 .col-12.col-md-4,
    .gigs-maps .staff-access-section .staff-access-container .col-12.col-md-6,
    section.why-matters-section.why-matters-section-gig .col-lg-4.col-md-6,
    .row.g-5.pt-3.ortho-sec .col-12.col-sm-6.col-lg-3,
    .container.survey-container {
        padding: 0;
    }

    section.why-matters-section.why-matters-section-gig {
        padding: 0px 0 40px 0 !important;
    }

    .gigs-maps .staff-access-section .staff-access-container {
        flex-direction: column;
        gap: 0;
    }

    .survey-timeline::before {
        top: 30px;
        bottom: 30px;
        left: 29px;
        right: auto;
        width: 2px;
        height: auto;
    }

    .survey-step {
        padding-left: 0;
        min-height: 76px;
    }

    .survey-card {
        min-height: auto;
        padding: 24px 22px 22px;
    }

        .survey-card h3 {
            margin-bottom: 12px;
        }

        .survey-card p {
            font-size: var(--fs-base);
            margin-bottom: 22px;
        }

        .survey-card img {
            height: 250px;
            margin-top: 0;
        }

    .survey-info {
        margin-top: 28px;
        padding: 20px;
    }

        .survey-info p {
            font-size: var(--fs-sm);
        }

    .map-history-section {
        padding: 20px 0 40px 0;
    }

    .map-history-container {
        padding: 22px 16px;
        border-radius: 14px;
    }

    .map-history-underline {
        margin-bottom: 20px;
    }

    .map-history-description {
        font-size: var(--fs-sm);
        margin-bottom: 22px;
    }

    .map-comparison {
        padding: 14px;
    }

    .map-history-center {
        padding: 12px 0;
        flex-direction: row;
    }

    .map-history-arrow {
        transform: rotate(-90deg);
    }

    .map-date-right {
        justify-content: flex-start;
    }

    .gigs-maps.drawingtool-main.photos-drawing-main section.hero-section {
        min-height: 640px;
    }

    .mobile-row-reverse {
        flex-direction: column-reverse !important;
    }

    .gigs-maps.drawingtool-main.photos-drawing-main .support-section {
        padding-bottom: 0 !important;
    }

    .photos-drawing-main .hero-container {
        padding-top: 40px;
    }

    section.support-section.reporting-sec.drawing-support-sec.bg-draw-sec .col-lg-4,
    section.support-section.reporting-sec.drawing-support-sec.bg-draw-sec .col-lg-8 {
        margin: 0;
        padding: 0;
    }

    .bg-draw-sec img.w-auto.h-auto {
        width: 100% !important;
    }

    .section12-draw .field-network-bg {
        clip-path: polygon(0 0, 100% 4%, 100% 96%, 0% 100%, 0 100%);
    }

    section.why-matters-section.photo-draw-section {
        padding: 0 0 70px;
    }

    .find-image-section {
        padding: 65px 0;
    }

        .find-image-section::before {
            clip-path: polygon( 0 3%, 100% 7%, 100% 94%, 0 98% );
        }

        .find-image-section .find-image-content p {
            font-size: var(--fs-sm);
            line-height: 1.7;
        }

        .find-image-section .find-image-line {
            margin-bottom: 25px;
        }

        .find-image-section .find-image-main {
            height: 330px;
        }

        .find-image-section .find-image-search {
            left: 3%;
            right: 3%;
            bottom: 15px;
            min-height: 52px;
            padding: 10px 12px;
            gap: 10px;
        }

        .find-image-section .find-search-icon {
            flex-basis: 22px;
            width: 22px;
            height: 22px;
        }
}
     
.navbar-nav .nav-link.active, .navbar-nav .nav-link.show {
    color: #f59c30;
}

@media (max-width:575px) {
    .Staff-page.search-at-every-scale .support-visual {
        margin-top: 30px;
    }
    .free-trial-content {
        padding: 35px 20px 40px
    }

    .free-trial-image {
        height: 280px
    }

    .testimonial-tag {
        font-size: var(--fs-xs)
    }

    .expertise-card__body p, .why-card-content li p {
        font-size: var(--fs-sm)
    }

    .cta-button, .cta-button-wrap {
        width: 100%
    }

    .adoption-card {
        max-width: 295px
    }

    .step-number {
        font-size: 2.5rem
    }

    .why-image-card {
        height: 380px
    }

    .why-accordion .accordion-button {
        padding-left: 15px;
        padding-right: 50px;
    }

        .why-accordion .accordion-button::before {
            right: 15px
        }

    .why-accordion .accordion-body {
        padding-left: 15px;
        padding-right: 25px
    }

    .hero-container {
        padding-top: 45px
    }

    .hero-content h1 {
        line-height: 1.2
    }


    .hero-description {
        font-size: var(--fs-base)
    }

    .hero-video {
        height: 180px;
        justify-content: center
    }

    .hero-section {
        min-height: 650px
    }

    .hero-bottom-shape {
        height: 60px
    }

    .section-tag {
        font-size: var(--fs-xs)
    }

    .solution-image {
        height: 220px
    }

    .navbar-brand img {
        max-width: 165px
    }

    .quote-mark {
        font-size: 3.4375rem
    }

    .footer-brand {
        margin-bottom: 30px
    }

    .footer-links {
        margin-top: 25px
    }

    .copyright {
        min-height: 50px;
        font-size: var(--fs-xs)
    }

    .timeline-heading {
        letter-spacing: 2px
    }

    .founder-card {
        padding: 20px !important
    }

    .navbar-nav .nav-link {
        color: white !important;
    }

    .Pricing-page .pp-pricing-section {
        padding: 75px 0;
    }

    .Pricing-page .pp-pricing-heading {
        margin-bottom: 25px;
    }

    .Pricing-page .pp-entry-card {
        padding: 20px 18px;
    }

    .Pricing-page .pp-team-tiers {
        gap: 4px;
    }

        .Pricing-page .pp-team-tiers li {
            padding: 8px 2px;
        }

        .Pricing-page .pp-team-tiers span {
            font-size: 0.6875rem;
        }

    .Pricing-page .pp-benefits-list li {
        font-size: var(--fs-sm);
    }

    .Pricing-page .pp-modules-heading {
        align-items: flex-start;
        margin-top: 30px;
    }

    .Pricing-page .pp-module-cards {
        row-gap: 14px;
    }

    .Pricing-page .pp-extras-section {
        padding: 55px 0 30px;
    }

    .Pricing-page .pp-extra-card {
        gap: 14px;
        padding: 22px 18px;
    }

    .Pricing-page .pp-extra-value {
        font-size: 2.375rem;
    }

    .Pricing-page .pp-module-card {
        min-height: 190px;
        padding: 16px 13px;
    }

    .Pricing-page .pp-module-price {
        font-size: 1.75rem;
    }

    .Pricing-page .pp-module-description {
        font-size: var(--fs-sm);
    }

    .Pricing-page .pp-orange-line {
        margin-bottom: 24px;
    }

    .Pricing-page .pp-faq-section {
        padding: 28px 0 35px;
    }

    .Pricing-page .pp-faq-item .accordion-button {
        padding: 14px 5px;
    }
    .Pricing-page .pp-faq-item .accordion-body {
        padding: 0 15px 16px;
        font-size: var(--fs-sm);
    }

    .Staff-page section.publications-section {
        min-height: 440px;
    }

    .Staff-page .spatial-query-section .spatial-query-header {
        min-height: 330px;
    }

    .Staff-page .audit-history-section {
        padding: 30px 0 50px;
    }

    .Staff-page .audit-heading {
        margin-bottom: 22px;
    }

        .Staff-page .audit-heading h2 {
            padding-bottom: 10px;
        }



    .Staff-page .audit-card {
        min-height: 125px;
        padding: 18px 15px;
        gap: 12px;
    }

    .Staff-page .audit-card-icon {
        flex: 0 0 50px;
    }

        .Staff-page .audit-card-icon img {
            width: 48px;
            height: 60px;
        }

    .Staff-page .audit-card-content h3 {
        line-height: 1.4;
        margin-bottom: 7px;
    }

    .Staff-page .audit-card-content p {
        font-size: var(--fs-sm);
        line-height: 1.5;
    }

    .Staff-page .card-corner {
        width: 65px;
        height: 45px;
    }

}
  
@media (max-width:480px) {
    .problem-circle, .solution-circle {
        width: 340px;
        height: 340px
    }

    .circle-content {
        width: 70%
    }

        .circle-content p {
            font-size: var(--fs-sm);
            line-height: 1.45
        }

    .circle-label {
        height: 28px;
        padding: 0 13px;
        font-size: var(--fs-xs)
    }
}


button.btn.dropdown-toggle.dropdown-toggle-split {
    color: #fff;
}

.solutions-section .row > div {
    position: relative;
}

    .solutions-section .row > div .full-a {
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        right: 0;
        width: 100%;
        height: 100%;
        z-index: 3;
    }

.gigs-maps .coordinate-entry {
    background: linear-gradient(to bottom, #E5F2FF, #ffffff, #ffffff) !important;
    margin: -380px 0 0 0;
    padding-top: 320px !important;
    padding-bottom: 30px !important;
}

/* Header dropdowns (Pages/Shared/_Header.cshtml and _LanguageSwitcher.cshtml): a white card, one icon tile per entry. */
.site-header .dropdown-menu {
    --bs-dropdown-min-width: 250px;
    --bs-dropdown-padding-x: 8px;
    --bs-dropdown-padding-y: 8px;
    --bs-dropdown-spacer: 12px;
    --bs-dropdown-border-width: 0;
    --bs-dropdown-border-radius: 14px;
    --bs-dropdown-divider-bg: #E6ECF4;
    --bs-dropdown-divider-margin-y: 6px;
    --bs-dropdown-item-padding-x: 10px;
    --bs-dropdown-item-padding-y: 8px;
    --bs-dropdown-item-border-radius: 10px;
    --bs-dropdown-link-color: var(--primary-color);
    --bs-dropdown-link-hover-color: var(--primary-color);
    --bs-dropdown-link-hover-bg: #F3F6FB;
    --bs-dropdown-link-active-color: var(--primary-color);
    --bs-dropdown-link-active-bg: #F3F6FB;
    box-shadow: 0 20px 44px -14px rgba(19, 49, 93, .45), 0 0 0 1px rgba(19, 49, 93, .06);
}

    /* The notch pointing at the menu's button. */
    .site-header .dropdown-menu::before {
        content: "";
        position: absolute;
        top: -6px;
        left: 24px;
        width: 12px;
        height: 12px;
        border-radius: 3px 0 0;
        background: var(--bs-dropdown-bg);
        transform: rotate(45deg);
    }

.site-header .dropdown-item {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: var(--fs-base);
    font-weight: 500;
    transition: background-color .2s, color .2s;
}

    .site-header .dropdown-item.active,
    .site-header .dropdown-item[aria-current="page"] {
        color: var(--bs-dropdown-link-active-color);
        background-color: var(--bs-dropdown-link-active-bg);
        font-weight: 600;
    }

    .site-header .dropdown-item:focus-visible {
        outline: 2px solid var(--blue-color);
        outline-offset: -2px;
    }

/* Lucide line icons (Pages/Shared/_MenuIcons.cshtml): a 1.25 line on their 24-unit grid, drawn at 22px, is about 1.15px. */
.site-header .header-menu-icon {
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.25;
    stroke-linecap: round;
    stroke-linejoin: round;
    color: #5F7CA5;
    transition: color .2s;
}

.site-header .dropdown-item:hover .header-menu-icon,
.site-header .dropdown-item:focus-visible .header-menu-icon,
.site-header .dropdown-item[aria-current="page"] .header-menu-icon {
    color: #E08A1E;
}

.site-header .dropdown-toggle::after {
    transition: transform .2s;
}

.site-header .dropdown-toggle.show::after {
    transform: rotate(180deg);
}

/* Language switcher; the button reuses the nav-link styles above. */
    .lang-switcher .nav-link .icon-globe {
        margin-right: 6px;
        font-size: 0.9375rem;
    }

    .lang-switcher .dropdown-menu {
        --bs-dropdown-min-width: 180px;
    }

@media (min-width:1200px) {
    /* Features lists nine pages: Overview across the top, the other eight in two columns. The menu is as wide as its
       longest labels need (French and German labels are longer than English), never wider than the screen; if it ever
       reaches that limit, labels wrap instead of running into the next column. */
    .site-header .header-menu-columns {
        --bs-dropdown-min-width: 540px;
        width: max-content;
        max-width: calc(100vw - 32px);
    }

        .site-header .header-menu-columns.show {
            display: grid;
            grid-template-columns: repeat(2, auto);
            column-gap: 4px;
        }

        .site-header .header-menu-columns .dropdown-item {
            white-space: normal;
        }

        .site-header .header-menu-columns > .header-menu-full {
            grid-column: 1 / -1;
        }

    .site-header .dropdown-menu-end::before {
        left: auto;
        right: 24px;
    }
}

/* Burger menu, below 1200px (navbar-expand-xl in _Header.cshtml). */
@media (max-width:1199px) {
    .site-header {
        padding: 10px 0;
    }

    .site-header .navbar-collapse {
        padding: 20px;
        background: var(--primary-color);
        border-radius: 0;
        margin: 15px -12px 0;
    }

    .site-header .navbar-nav {
        gap: 5px;
        z-index: 1;
        position: relative;
    }

        .site-header .navbar-nav .nav-link {
            padding: 9px 0;
            font-size: var(--fs-md);
        }

    .site-header li.nav-item {
        width: max-content;
    }

    .header-btn-wrap {
        margin: 15px 0 0;
    }

    .header-btn {
        width: 100%;
        justify-content: center;
    }

    .lang-switcher {
        margin: 10px 0 0;
    }

    /* In the burger menu a dropdown opens in place, full width under its button; the header is fixed, so the menu scrolls when that makes it taller than the screen. */
    .site-header .navbar-collapse.show {
        max-height: calc(100vh - 75px);
        max-height: calc(100dvh - 75px);
        overflow-y: auto;
        overscroll-behavior: contain;
    }

    .site-header .navbar-nav .nav-item.dropdown {
        width: 100%;
    }

    .site-header .navbar-nav .dropdown > .d-flex {
        flex-wrap: wrap;
    }

    .site-header .dropdown-menu {
        position: relative;
        flex: 0 0 100%;
    }

    .site-header .dropdown-item {
        white-space: normal;
    }
}

/* Problem/solution circles with larger text (Pages/Archaeology.cshtml, Pages/University.cshtml): larger text than the shared circles, so larger circles; each content width keeps every line inside its circle. */
.problem-solution-lg .problem-solution-row {
    min-height: 540px;
}

.problem-solution-lg .problem-circle,
.problem-solution-lg .solution-circle {
    width: 540px;
    height: 540px;
}

.problem-solution-lg .circle-content {
    width: 380px;
}

    .problem-solution-lg .circle-content p {
        font-size: var(--fs-md);
        line-height: 1.5;
    }

@media (max-width:1199px) {
    .problem-solution-lg .problem-solution-row {
        min-height: 490px;
    }

    .problem-solution-lg .problem-circle,
    .problem-solution-lg .solution-circle {
        width: 490px;
        height: 490px;
    }

    .problem-solution-lg .circle-content {
        width: 345px;
    }

        .problem-solution-lg .circle-content p {
            font-size: var(--fs-base);
        }
}

/* Two 490px circles no longer fit side by side, so they stack as on phones. */
@media (max-width:991px) {
    .problem-solution-lg {
        padding: 0 0 40px;
    }

        .problem-solution-lg::after {
            display: none;
        }

    .problem-solution-lg .problem-solution-row {
        flex-direction: column;
        min-height: auto;
    }

    .problem-solution-lg .problem-circle,
    .problem-solution-lg .solution-circle {
        width: min(490px, calc(100vw - 16px));
        height: min(490px, calc(100vw - 16px));
    }

    .problem-solution-lg .solution-col {
        margin-left: 0;
        margin-top: -30px;
    }

    .problem-solution-lg .circle-content {
        width: 72%;
    }
}

/* Here the circle follows the screen width, so the text scales with it: 13px up to 377px wide, 16px from 464px. */
@media (max-width:480px) {
    .problem-solution-lg .circle-content {
        width: 74%;
    }

        .problem-solution-lg .circle-content p {
            margin-top: 8px;
            font-size: clamp(.8125rem, 3.45vw, 1rem);
            line-height: 1.4;
        }
}

/* Longer problem/solution text (Pages/Corporate.cshtml): larger desktop circles, wider content, and smaller phone text so every line stays inside its circle. */
.problem-solution-lg.problem-solution-long .problem-solution-row {
    min-height: 570px;
}

.problem-solution-lg.problem-solution-long .problem-circle,
.problem-solution-lg.problem-solution-long .solution-circle {
    width: 570px;
    height: 570px;
}

.problem-solution-lg.problem-solution-long .circle-content {
    width: 400px;
}

@media (max-width:1199px) {
    .problem-solution-lg.problem-solution-long .problem-solution-row {
        min-height: 490px;
    }

    .problem-solution-lg.problem-solution-long .problem-circle,
    .problem-solution-lg.problem-solution-long .solution-circle {
        width: 490px;
        height: 490px;
    }

    .problem-solution-lg.problem-solution-long .circle-content {
        width: 355px;
    }
}

@media (max-width:991px) {
    .problem-solution-lg.problem-solution-long .problem-solution-row {
        min-height: auto;
    }

    .problem-solution-lg.problem-solution-long .problem-circle,
    .problem-solution-lg.problem-solution-long .solution-circle {
        width: min(490px, calc(100vw - 16px));
        height: min(490px, calc(100vw - 16px));
    }

    .problem-solution-lg.problem-solution-long .circle-content {
        width: 74%;
    }
}

/* 12px up to 364px wide, 16px from 485px. */
@media (max-width:480px) {
    .problem-solution-lg.problem-solution-long .circle-content {
        width: 78%;
    }

        .problem-solution-lg.problem-solution-long .circle-content p {
            font-size: clamp(.75rem, 3.3vw, 1rem);
            line-height: 1.35;
        }
}

/* Territory photo (Pages/Archaeology.cshtml): the corners and shadow that servers.webp, the photo above it, has baked into the image. */
.oversight-image img {
    border-radius: 10px;
    box-shadow: 0 4px 9px rgba(0, 0, 0, .4);
}

@media (min-width:992px) {
    /* Same 99px between text and photo as the section above; taken from the photo, as the title only just fits its column below 1200px. */
    .oversight-image {
        margin-left: 40px;
    }
}

@media (max-width:991px) {
    /* Stacked, the photo sits right above the title. */
    .oversight-image {
        margin-bottom: 40px;
    }
}

/* Screenshots shown at their own width, so a column a few pixels narrower does not scale (and blur) them:
   on desktop they may run up to 12px into the column's gutter, and only scale down when the column is narrower still. */
.img-natural {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
}

@media (min-width:992px) {
    .img-natural {
        max-width: calc(100% + 12px);
    }
}

/* Screenshots with a white border: an even shade on all four edges sets them off the white page. */
.screenshot-shadow {
    box-shadow: 0 0 18px rgba(0,0,0,.18);
}

/* Photos & Drawings page: the file formats band, in the blue gradient of the Overview page's Staff & Access Control.
   Specific enough to win over the page's own .support-section rules, which remove the background, slant and padding. */
.gigs-maps.drawingtool-main.photos-drawing-main .support-section.file-formats-section {
    padding: 90px 0 130px !important;
    background: linear-gradient(114.32deg, #13315D 4.03%, #2A5692 49.42%, #13315D 94.81%);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 88%);
    color: #fff;
}

@media (max-width:991px) {
    .gigs-maps.drawingtool-main.photos-drawing-main .support-section.file-formats-section {
        padding: 60px 0 90px !important;
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 95%);
    }
}

    .file-formats-section .support-title {
        color: #fff;
    }

    .file-formats-section .file-formats-group {
        background: rgba(255, 255, 255, .08);
    }

/* Photos & Drawings page: file formats as groups of pills, one dot colour per group
   (CAD Plans: images, graphics, georeferenced files; One home: office files, mail and archives, data and media). */
.file-formats {
    display: grid;
    gap: 18px;
    max-width: 520px;
    margin: 0 auto;
    padding: 0;
    list-style: none;
}

.file-formats-group {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    padding: 22px;
    border-radius: 16px;
    background: #F4F5FF;
}

    .file-formats-group span {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 10px 18px;
        border-radius: 30px;
        background: var(--white-color);
        box-shadow: 0 4px 12px rgba(43, 72, 114, .1);
        color: var(--primary-color);
        font-family: Poppins;
        font-size: 16px;
        font-weight: 600;
        line-height: 1;
    }

        .file-formats-group span::before {
            content: "";
            width: 8px;
            aspect-ratio: 1;
            border-radius: 50%;
            background: var(--file-formats-color);
        }

        /* "And any other file": no dot, a dashed outline instead of a shadow. */
        .file-formats-group .file-formats-any {
            border: 1.5px dashed #9FB0E6;
            background: transparent;
            box-shadow: none;
            font-weight: 500;
        }

            .file-formats-group .file-formats-any::before {
                content: none;
            }

/* The closing line holds only the "any other file" pill, without a box around it. */
.file-formats-more {
    padding: 0;
    background: transparent;
}

.file-formats-blue {
    --file-formats-color: #5D82C4;
}

.file-formats-orange {
    --file-formats-color: var(--secondary-color);
}

.file-formats-teal {
    --file-formats-color: #17ADA6;
}
