:root {     
    --base-color: #30bd9b;
    --medium-gray:#797A8C;
    --dark-gray:#353642;
	--roze-kkn: #EB519D;
	--oranje-kkn: #f7913e;
    --geel-kkn: #f3ef9e;
	--lichtgroen-kkn: #51a2a3;
	--groen-kkn: #145457;
	--donkergroen-kkn: #145457;
    --alt-font: 'Poppins', sans-serif;
    --primary-font: 'DM Sans', sans-serif;
}  

.navbar-collapse-show[data-mobile-nav-style=full-screen-menu] .navbar-full-screen-menu-inner {
    background: var(--roze-kkn) !important;
    background-image: none !important;
}

.hero-kokonuts-mark {
    font-weight: 700;
    text-shadow: 4px 4px 0 var(--roze-kkn), 8px 8px 0 var(--roze-kkn);
}

.hero-title-lines .hero-title-line {
    display: block;
}

.hero-kkn-section {
    background-color: #ffffff;
}

.hero-geo-section {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    overflow-x: visible;
    overflow-y: visible;
}

.hero-geo-inner {
    display: flex;
    flex-direction: column;
    flex: 1;
    width: 100%;
    min-height: 100vh;
    padding-top: 40px;
    padding-bottom: 48px;
}

.hero-geo-main {
    flex-grow: 0;
    position: relative;
    z-index: 1;
    margin-top: 56px;
}

@media (max-width: 991px) {
    .hero-geo-main {
        margin-top: 32px;
    }
}

.hero-geo-tagline {
    color: var(--geel-kkn);
    font-size: clamp(1.35rem, 2.8vw, 1.75rem);
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: -0.3px;
    max-width: 42rem;
    margin-left: auto;
    margin-right: auto;
    margin-top: 96px;
    margin-bottom: 0;
    padding-bottom: 20px;
    position: relative;
    z-index: 2;
}

@media (max-width: 991px) {
    .hero-geo-tagline {
        margin-top: 64px;
    }
}

.hero-geo-bottom {
    margin-top: 32px;
    padding-top: 0;
    position: relative;
    z-index: 2;
}

.hero-geo-cta {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 16px 25px;
}

.hero-geo-lead {
    letter-spacing: -0.5px;
}

.hero-geo-text {
    opacity: 0.95;
}

.hero-geo-title,
.hero-geo-title .hero-title-line {
    color: var(--geel-kkn);
    font-size: clamp(2.75rem, 8vw, 6.25rem);
    line-height: 0.95;
    text-shadow: 4px 4px 0 #000, 8px 8px 0 #000;
    word-break: normal;
    overflow-wrap: normal;
    hyphens: none;
}

.hero-geo-title .hero-title-line {
    display: block;
}

.hero-geo-title-wrap {
    position: relative;
    display: block;
    width: 100%;
    max-width: 100%;
    overflow: visible;
    z-index: 1;
}

.hero-geo-bol {
    position: absolute;
    z-index: 0;
    top: 74%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: clamp(320px, 62vw, 540px);
    max-width: none;
    height: auto;
    pointer-events: none;
    user-select: none;
}

.hero-geo-title {
    position: relative;
    z-index: 1;
}

.geo-name-section {
    background-color: #ffffff;
}

.geo-name-title {
    color: var(--roze-kkn);
    font-size: clamp(2.35rem, 5.5vw, 4.5rem);
    line-height: 1.05;
}

.geo-name-text {
    color: var(--roze-kkn);
}

.geo-name-cta {
    margin-top: 32px;
}

.geo-cases-text-item {
    display: flex;
    align-items: center;
}

.geo-cases-text-inner {
    width: 100%;
    padding: 40px 20px 40px 32px;
}

.geo-cases-title {
    color: var(--geel-kkn);
    font-size: clamp(1.85rem, 4vw, 3.25rem);
    line-height: 1.1;
    text-transform: uppercase;
    margin-bottom: 56px !important;
}

.geo-cases-subtitle {
    color: var(--geel-kkn);
    font-size: clamp(1.1rem, 2.2vw, 1.35rem);
    line-height: 1.35;
    margin-bottom: 48px !important;
}

.geo-cases-body {
    color: var(--geel-kkn);
    font-size: clamp(1rem, 1.8vw, 1.125rem);
    line-height: 1.55;
    max-width: 36rem;
}

.geo-cases-wide-image {
    width: 100%;
    margin-top: 48px;
}

.geo-cases-wide-image-img {
    width: 100%;
    height: auto;
    display: block;
}

.geo-content-section {
    background-color: #ffffff;
}

.geo-context-title {
    color: var(--roze-kkn);
    font-size: clamp(1.6rem, 3.2vw, 2.25rem);
    line-height: 1.15;
}

.geo-aanpak-box {
    border: 2px solid #ffffff;
}

.geo-aanpak-box h6,
.geo-aanpak-title,
.geo-aanpak-subtitle,
.geo-aanpak-text {
    color: var(--geel-kkn);
}

.geo-aanpak-cell-right {
    border-right: 2px solid #ffffff;
}

.geo-aanpak-cell-top {
    border-top: 2px solid #ffffff;
}

.geo-aanpak-header {
    border-bottom: 2px solid #ffffff;
    padding: 16px 72px 20px 40px;
    text-align: left;
    overflow: hidden;
}

.geo-aanpak-title {
    font-size: clamp(1.85rem, 4.2vw, 3.5rem);
    line-height: 1.1;
    white-space: normal;
    max-width: 100%;
    text-transform: uppercase;
    text-shadow: 5px 5px 0 var(--roze-kkn), 10px 10px 0 var(--roze-kkn);
}

.geo-aanpak-subtitle {
    font-size: clamp(1.35rem, 3vw, 2rem);
    line-height: 1.35;
    margin-top: 10px;
    text-transform: uppercase;
}

.geo-waarom-title {
    color: var(--geel-kkn);
    font-size: clamp(1.75rem, 4vw, 3rem);
    line-height: 1.15;
    text-transform: uppercase;
    text-shadow: none;
    margin-bottom: 64px !important;
}

.geo-waarom-text {
    margin-top: 0;
}

#waarom-website .geo-waarom-title,
#waarom-website .geo-waarom-text {
    color: var(--groen-kkn);
}

.geo-waarom-section {
    padding-top: 56px !important;
}

.geo-waarom-section .waarom-content-row {
    align-items: flex-start;
}

@media (min-width: 992px) {
    .geo-waarom-section .waarom-text-col {
        margin-bottom: 0;
        padding-top: 36px;
    }
}

@media (max-width: 991px) {
    .geo-waarom-section {
        padding-top: 40px !important;
    }

    .geo-waarom-section .waarom-text-col {
        padding-top: 24px;
    }

    .geo-waarom-title {
        margin-bottom: 48px !important;
    }
}

@media (max-width: 767px) {
    .geo-aanpak-title {
        white-space: normal;
    }
}

.hero-kkn-content {
    padding-top: 40px;
}

@media (min-width: 992px) {
    .hero-kkn-content {
        padding-top: 60px;
    }
}

@media (max-width: 767px) {
    #feiten .feiten-divider {
        margin-top: 28px;
    }

    #slogan.snake-text-section {
        margin-top: 0;
        padding-top: 28px;
    }
}

.waarom-title {
    font-size: clamp(3rem, 9vw, 9rem);
    line-height: 0.95;
    white-space: nowrap;
    text-shadow: 5px 5px 0 var(--roze-kkn), 10px 10px 0 var(--roze-kkn);
}

@media (min-width: 992px) {
    .waarom-title {
        top: 300px;
        margin-bottom: -260px;
    }

    .waarom-text-col {
        margin-bottom: 60px;
    }
}

@media (max-width: 991px) {
    .waarom-section {
        padding-bottom: 60px !important;
    }

    .waarom-title {
        top: auto;
        margin-bottom: 24px;
        padding-top: 24px;
        padding-bottom: 20px;
        white-space: normal;
    }

    .waarom-content-row {
        align-items: stretch;
    }

    .faq-title-break {
        display: none;
    }

    .faq-title-col {
        margin-bottom: 24px;
    }

    #faq.big-section {
        padding-bottom: 32px;
    }

    #contact.contact-kkn-section {
        margin-top: 0;
        padding-top: 28px;
    }
}

.faq-title {
    color: var(--geel-kkn);
    font-size: clamp(3rem, 9vw, 9rem);
    line-height: 0.95;
    text-shadow: 5px 5px 0 var(--lichtgroen-kkn), 10px 10px 0 var(--lichtgroen-kkn);
}

.snake-text {
    display: inline-block;
    white-space: nowrap;
    position: relative;
    z-index: 3;
    will-change: transform;
}

.snake-text span {
    display: inline-block;
    max-width: 0;
    overflow: hidden;
    vertical-align: bottom;
    transform: translateY(calc(sin(var(--i) * 15deg) * 2em)) rotate(calc(cos(var(--i) * 15deg) * 45deg));
    transition: max-width 0.34s cubic-bezier(0.22, 1, 0.36, 1);
}

.snake-text span.is-visible {
    max-width: 1.2em;
}

.snake-text span.snake-char-space.is-visible {
    max-width: 0.45em;
}

@media (prefers-reduced-motion: reduce) {
    .snake-text span {
        max-width: none;
        overflow: visible;
        transition: none;
    }
}

.snake-text-wrap {
    position: relative;
    z-index: 3;
    overflow: visible;
}

.snake-text-section {
    position: relative;
    z-index: 2;
    isolation: isolate;
    background-color: var(--roze-kkn);
    overflow: hidden;
}

.snake-text-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url('../img/lijnen.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 0;
    pointer-events: none;
}

.snake-text-section .container,
.snake-text-section .row {
    position: relative;
    z-index: 2;
}

.kases-cta {
    position: absolute;
    left: 38%;
    bottom: 22%;
    z-index: 2;
    white-space: nowrap;
}

.accordion-kkn {
    border: 2px solid var(--geel-kkn);
    padding: 0;
}

.accordion-kkn.accordion-style-02 .accordion-item .accordion-header {
    border-bottom: 2px solid var(--geel-kkn) !important;
    padding: 25px 30px !important;
}

.accordion-kkn.accordion-style-02 .accordion-item.active-accordion .accordion-header {
    border-bottom: none !important;
}

.accordion-kkn.accordion-style-02 .accordion-item .accordion-body {
    border-bottom: 2px solid var(--geel-kkn) !important;
    padding: 0 30px 25px 30px !important;
}

.accordion-kkn.accordion-style-02 .accordion-item:last-child .accordion-body {
    border-bottom: none !important;
}

.accordion-kkn .accordion-title {
    color: var(--geel-kkn) !important;
    padding: 0 !important;
}

.accordion-kkn .accordion-title i {
    display: none;
}

.accordion-kkn .accordion-title span {
    font-size: 1.75rem;
    line-height: 1.2;
}

.accordion-kkn .accordion-body p {
    color: #000000;
}

.footer-links-55 a {
    color: rgba(255, 255, 255, 0.55) !important;
}

.footer-links-55 a:hover {
    color: rgba(255, 255, 255, 0.85) !important;
}

.footer-social-55 {
    display: flex !important;
    gap: 16px;
    align-items: center;
}

.footer-social-55 li {
    margin: 0 !important;
}

.footer-social-55 a {
    color: rgba(255, 255, 255, 0.55) !important;
    font-size: 28px !important;
    width: auto !important;
    height: auto !important;
}

.footer-social-55 a:hover {
    color: rgba(255, 255, 255, 0.85) !important;
}

.header-social-55 a {
    color: var(--dark-gray) !important;
    font-size: 22px !important;
}

.header-social-55 a:hover {
    color: var(--roze-kkn) !important;
}

.header-icon .header-social-icon ul {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
    list-style: none;
}

.header-icon .header-social-icon a {
    padding-left: 0;
}

.portfolio-creative .portfolio-keep-image .portfolio-box:hover .portfolio-image img {
    opacity: 1;
}

.portfolio-creative .grid-item:not(.portfolio-keep-image) .portfolio-box {
    border: 4px solid transparent;
    box-sizing: border-box;
    transition: border-color 0.25s ease;
}

.portfolio-creative .grid-item:not(.portfolio-keep-image):hover .portfolio-box {
    border-color: var(--geel-kkn);
}

.portfolio-creative .portfolio-title-full {
    overflow: visible;
    position: relative;
    z-index: 2;
    min-height: 100px;
}

.portfolio-creative .portfolio-item-full-title,
.portfolio-creative .portfolio-item-full-title .portfolio-box,
.portfolio-creative .portfolio-item-full-title .portfolio-hover {
    overflow: visible !important;
}

.portfolio-creative .portfolio-item-full-title:hover {
    z-index: 20;
    position: relative;
}

.portfolio-creative .portfolio-item-full-title .portfolio-hover {
    padding: 50px 25px 40px !important;
}

.portfolio-creative .portfolio-box:hover .portfolio-title-full {
    transform: scale(1);
    overflow: visible;
    position: relative;
    min-height: 90px;
    width: 100%;
}

.portfolio-creative .portfolio-box:hover .portfolio-title-full::before {
    content: attr(data-text);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: auto;
    white-space: nowrap;
    color: #ffffff;
    z-index: 2;
    margin: 0;
    text-align: center;
}

.portfolio-creative .portfolio-box:hover .portfolio-title-full::after {
    content: attr(data-text);
    position: absolute;
    top: 50%;
    left: 50%;
    right: auto;
    transform: translate(-50%, -50%);
    font-size: clamp(42px, 7vw, 72px);
    letter-spacing: -3px;
    white-space: nowrap;
    overflow: visible;
    z-index: 1;
    color: rgba(0, 0, 0, 0.15);
    font-weight: 800;
    display: block;
    margin: 0;
    text-align: center;
    width: auto;
    animation: glitch-skew 1s infinite linear alternate-reverse;
}

.portfolio-creative .portfolio-box:hover .portfolio-hover {
    overflow: visible;
}

.portfolio-creative .portfolio-box:has(.portfolio-title-full):hover {
    overflow: visible;
}

.wat-we-doen-wheel {
    position: relative;
    width: min(570px, 100%);
    margin: 0 auto;
    aspect-ratio: 570 / 773;
    overflow: visible;
}

.wat-we-doen-svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: visible;
}

.wat-we-doen-ring-text,
.wat-we-doen-ring-text text {
    font-family: var(--alt-font);
    font-weight: 700;
    font-size: 26px;
    letter-spacing: 0.02em;
}

.wat-we-doen-ring-text textPath {
    font-family: inherit;
    font-weight: inherit;
    font-size: inherit;
    letter-spacing: inherit;
    fill: inherit;
}

.wat-we-doen-ring-text .wat-segment {
    cursor: pointer;
    fill: #000;
    transition: fill 0.2s ease;
}

.wat-we-doen-ring-text .wat-separator {
    fill: #000;
    pointer-events: none;
}

.wat-we-doen-ring-text .wat-segment.is-active {
    fill: var(--roze-kkn);
}

.wat-we-doen-ring-text .wat-segment:hover {
    fill: var(--roze-kkn);
}

.wat-we-doen-center {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: var(--oranje-kkn);
    font-size: clamp(1.8rem, 5vw, 5rem);
    line-height: 0.95;
    text-shadow: 4px 4px 0 var(--roze-kkn), 8px 8px 0 var(--roze-kkn);
    pointer-events: none;
    z-index: 2;
}

.wat-we-doen-panel {
    margin-top: 80px;
}

.wat-we-doen-content {
    transition: opacity 0.18s ease;
}

.wat-we-doen-content.is-changing {
    opacity: 0;
}

@media (min-width: 1200px) {
    .wat-we-doen-panel {
        margin-top: 120px;
    }
}

@media (min-width: 992px) {
    .wat-we-doen-scroll-section {
        padding-bottom: 0 !important;
    }

    .wat-we-doen-scroll-track {
        position: relative;
    }

    .wat-we-doen-scroll-spacer {
        display: block;
        height: 0;
    }

    .wat-we-doen-scroll-pin {
        position: relative;
        width: 100%;
        min-height: 100vh;
        height: auto;
        box-sizing: border-box;
        padding-top: 12px;
        padding-bottom: 70px;
        background-color: var(--geel-kkn);
        z-index: 20;
    }

    .wat-we-doen-scroll-pin.is-pinned {
        position: fixed;
        top: 0;
        left: 0;
    }

    .wat-we-doen-scroll-pin.is-pinned-end {
        position: absolute;
        left: 0;
        width: 100%;
    }

    .wat-we-doen-scroll-pin > .container {
        width: 100%;
    }

    .wat-we-doen-scroll-pin .wat-we-doen-panel {
        margin-top: 0;
    }

    .wat-we-doen-scroll-pin .row {
        align-items: flex-start;
    }

    .wat-we-doen-scroll-pin #watWeDoenContent {
        opacity: 1 !important;
    }

    .wat-we-doen-scroll-progress {
        position: absolute;
        right: 24px;
        top: 50%;
        transform: translateY(-50%);
        display: flex;
        flex-direction: column;
        gap: 10px;
        z-index: 3;
        pointer-events: none;
    }

    .wat-we-doen-scroll-progress span {
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background-color: rgba(0, 0, 0, 0.18);
        transition: transform 0.25s ease, background-color 0.25s ease;
    }

    .wat-we-doen-scroll-progress span.is-active {
        background-color: var(--roze-kkn);
        transform: scale(1.35);
    }
}

.waar-naartoe-panel {
    position: fixed;
    top: var(--waar-naartoe-top, 80px);
    left: 0;
    right: 0;
    z-index: 998;
    background-color: var(--geel-kkn);
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.55s cubic-bezier(0.22, 1, 0.36, 1);
    box-shadow: 0 14px 40px rgba(0, 0, 0, 0.1);
}

.waar-naartoe-panel.is-open {
    max-height: min(85vh, 700px);
    height: min(85vh, 700px);
}

body.waar-naartoe-open {
    overflow: hidden;
}

.waar-naartoe-panel-inner {
    position: relative;
    min-height: min(85vh, 700px);
    padding: 28px 20px 0;
    overflow: hidden;
}

.waar-naartoe-panel-inner::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 3px;
    background-color: rgba(235, 81, 157, 0.35);
    pointer-events: none;
}

.waar-naartoe-fig {
    position: absolute;
    left: 0;
    top: 0;
    background-color: var(--roze-kkn);
    color: #ffffff;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-family: var(--alt-font);
    font-weight: 700;
    font-size: 15px;
    line-height: 1.15;
    padding: 10px;
    box-sizing: border-box;
    opacity: 1;
    will-change: transform;
    touch-action: manipulation;
}

.waar-naartoe-fig.is-settled {
    transition: box-shadow 0.2s ease, filter 0.2s ease;
}

.waar-naartoe-fig.is-settled:hover,
.waar-naartoe-fig.is-settled:focus-visible {
    box-shadow: 0 10px 28px rgba(235, 81, 157, 0.45);
    filter: brightness(1.06);
    z-index: 5;
    outline: none;
}

.waar-naartoe-fig-label {
    position: relative;
    z-index: 1;
    pointer-events: none;
}

.fig-circle { border-radius: 50%; }
.fig-square { border-radius: 6px; }
.fig-pill { border-radius: 999px; }
.waar-naartoe-panel-inner .waar-naartoe-fig.fig-pill {
    min-width: 0 !important;
    min-height: 0 !important;
    padding-inline: 14px;
}
.fig-triangle { clip-path: polygon(50% 8%, 8% 92%, 92% 92%); border-radius: 0; }
.fig-diamond { clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%); border-radius: 0; }
.fig-hex { clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%); border-radius: 0; }
.fig-star { clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%); border-radius: 0; }
.fig-ring {
    background: transparent;
    border: 9px solid var(--roze-kkn);
    border-radius: 50%;
    color: var(--roze-kkn);
}
.fig-blob { border-radius: 42% 58% 55% 45% / 52% 42% 58% 48%; }
.fig-cross { clip-path: polygon(35% 0%, 65% 0%, 65% 35%, 100% 35%, 100% 65%, 65% 65%, 65% 100%, 35% 100%, 35% 65%, 0% 65%, 0% 35%, 35% 35%); border-radius: 0; }

.js-waar-naartoe-trigger[aria-expanded="true"] {
    color: var(--roze-kkn) !important;
}

@media (prefers-reduced-motion: reduce) {
    .waar-naartoe-panel {
        transition: none;
    }
}

@media (max-width: 767px) {
    .waar-naartoe-fig {
        font-size: 12px;
        padding: 8px;
    }
}

