.cp-wrap { width: calc(100% - 112px); max-width: 1600px; margin-inline: auto; }
.cp-nav-overlay .cp-brand img, .cp-footer .cp-brand img { filter: brightness(0) invert(1); }
.cp-button { display: inline-flex; justify-content: center; align-items: center; gap: 25px; min-height: 46px; padding: 13px 25px; border: 1px solid var(--cp-ink); border-radius: 999px; background: var(--cp-ink); font-weight: 600; line-height: 1.3; text-align: center; transition: background 0.2s, transform 0.2s; color: white !important; font-size: 13px !important; }
.cp-button:hover { background: rgb(67, 94, 115); transform: translateY(-2px); }
.cp-button svg { flex-shrink: 0; }
.cp-hero .cp-button, .cp-landscape .cp-button, .cp-feature-media .cp-button { background: white; border-color: white; color: var(--cp-ink) !important; }
.cp-hero .cp-button-outline { background: transparent; border-color: rgba(255, 255, 255, 0.65); color: white !important; }
.cp-button:disabled { opacity: 0.5; cursor: not-allowed; transform: none; }
.cp-footer { background: rgb(32, 33, 31); color: rgb(244, 243, 238); padding: 75px 0px 30px; }
.cp-footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 45px; }
.cp-footer-grid .cp-brand { text-align: left; font-size: 32px; }
.cp-footer-grid > div > p { margin-top: 30px; font-size: 13px; color: rgb(188, 190, 183); }
.cp-footer nav { display: flex; flex-direction: column; align-items: start; gap: 14px; font-size: 13px; }
.cp-footer nav a:hover { text-decoration: underline; text-underline-offset: 4px; }
.cp-footer nav button { padding: 0px; background: none; border: 0px; font-size: 13px; }
.cp-footer-bottom { display: flex; justify-content: space-between; gap: 30px; border-top: 1px solid rgba(255, 255, 255, 0.15); margin-top: 70px; padding-top: 25px; font-size: 11px; color: rgb(188, 190, 183); }
.cp-footer-bottom a { display: flex; gap: 15px; align-items: center; }
.cp-page-heading .cp-button { margin-top: 30px; }
.cp-cookie-backdrop .cp-button { margin-top: 10px; }
@container (max-width: 1100px) {.cp-wrap { width: calc(100% - 64px); }
.cp-footer-grid { grid-template-columns: 1.3fr 1fr 1fr; gap: 35px; }
.cp-footer-grid > nav:last-child { grid-column: 1 / -1; flex-flow: wrap; gap: 15px 25px; }}
@container (max-width: 700px) {.cp-wrap { width: calc(100% - 40px); }
.cp-button { padding: 12px 18px; gap: 18px; min-height: 44px; font-size: 12px !important; }
.cp-footer { padding-top: 55px; }
.cp-footer-grid { grid-template-columns: 1fr 1fr; gap: 45px 25px; }
.cp-footer-grid > div { grid-column: 1 / -1; }
.cp-footer-grid > div > p { margin-top: 24px; }
.cp-footer-grid > nav:last-child { display: flex; flex-direction: column; gap: 13px; grid-column: 1 / -1; padding-top: 30px; border-top: 1px solid rgba(255, 255, 255, 0.15); }
.cp-footer-bottom { flex-direction: column; margin-top: 45px; gap: 20px; font-size: 10px; }}
.cp-data-story .cp-button { background: rgb(48, 36, 56); border-color: rgb(48, 36, 56); }
.cp-software-story .cp-button { background: rgb(255, 164, 88); border-color: rgb(255, 164, 88); color: rgb(32, 34, 37) !important; }
.cp-software-story .cp-button:hover { background: rgb(255, 181, 116); border-color: rgb(255, 181, 116); }
.cp-people-story .cp-button { background: white; border-color: white; color: rgb(32, 33, 31) !important; }
.cp-hero, .cp-data-story, .cp-software-story, .cp-people-story, .cp-landscape, .cp-feature, .cp-callout, .cp-footer { border-radius: var(--cp-section-radius); overflow: hidden; margin: 12px; }
@container (max-width: 700px) {.cp-hero, .cp-data-story, .cp-software-story, .cp-people-story, .cp-landscape, .cp-feature, .cp-callout, .cp-footer { --cp-section-radius: 33px; --cp-card-radius: 18px; margin: 8px; }}
.cp-note .cp-button { background: rgb(236, 219, 155); border-color: rgb(236, 219, 155); color: rgb(35, 75, 73) !important; }
.cp-updates.cp-wrap { padding-top: 100px; }
.cp-footer nav a { line-height: 1.5; }
@container (max-width: 700px) {.cp-news-more .cp-button { margin-top: 25px; }
.cp-updates.cp-wrap { padding-top: 65px; }}
.cp-hero .cp-button-outline { background: rgb(35, 75, 73); border-color: rgb(35, 75, 73); color: rgb(255, 255, 255) !important; }
.cp-hero .cp-button-outline:hover { background: rgb(50, 99, 96); border-color: rgb(50, 99, 96); }
.cp-nav-cta, .cp-nav-overlay .cp-nav-cta, .cp-button, .cp-filter-row > button, .cp-tabs, .cp-tabs > button, .cp-menu-mobile-links > a { border-radius: var(--cp-action-radius); }
.cp-hero .cp-button-outline { background: rgb(231, 129, 69); border-color: rgb(231, 129, 69); color: rgb(255, 255, 255) !important; }
.cp-hero .cp-button-outline:hover { background: rgb(201, 110, 56); border-color: rgb(201, 110, 56); }
.cp-callout-photo .cp-button { background: rgb(231, 129, 69); border-color: rgb(231, 129, 69); color: rgb(255, 255, 255) !important; }
.cp-callout-photo .cp-button:hover { background: rgb(201, 110, 56); }
.cp-contact-form-actions .cp-button { background: rgb(32, 33, 31); border-color: rgb(32, 33, 31); font-size: 12px !important; }
.cp-range-heading > .cp-button { flex: 0 0 auto; background: rgb(255, 255, 255); border-color: rgb(255, 255, 255); min-height: 54px; padding: 14px 23px; margin: 0px; color: rgb(32, 33, 31) !important; font-size: 15px !important; }
.cp-section-heading > .cp-button { min-height: 52px; margin: 0px; padding: 13px 22px; font-size: 15px !important; }
.cp-mission-copy .cp-button { background: rgb(255, 255, 255); border-color: rgb(255, 255, 255); min-height: 54px; margin-top: 28px; color: rgb(32, 33, 31) !important; font-size: 15px !important; }
.cp-footer { background: rgb(32, 33, 31); color: rgb(255, 255, 255); padding: 86px 0px 40px; }
.cp-footer-main { max-width: none; }
.cp-footer-about { max-width: 900px; padding-bottom: 48px; }
.cp-footer-about h2 { font-size: clamp(42px, 4vw, 68px); margin-bottom: 22px; }
.cp-footer-about p { max-width: 750px; color: rgb(225, 225, 217); }
.cp-footer-about .cp-button { display: inline-flex; margin-top: 28px; background: rgb(255, 255, 255); border-color: rgb(255, 255, 255); min-height: 52px; color: rgb(32, 33, 31) !important; font-size: 15px !important; }
.cp-footer-links { display: grid; grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: 32px; max-width: 1080px; padding-top: 24px; }
.cp-footer-links nav { display: flex; flex-direction: column; align-items: flex-start; gap: 13px; }
.cp-footer-links h3 { font-size: 17px; letter-spacing: 0px; margin-bottom: 10px; }
.cp-footer-links a, .cp-footer-links button { font-size: 15px; color: rgb(224, 224, 217); line-height: 1.35; }
.cp-footer-links nav button { font-size: 15px; line-height: 1.5; }
.cp-footer-links a:hover, .cp-footer-links button:hover { text-decoration: underline; text-underline-offset: 4px; }
.cp-footer-links button { background: none; border: 0px; padding: 0px; text-align: left; }
.cp-footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 32px; border: 0px; margin-top: 70px; padding: 0px; font-size: 13px; color: rgb(216, 216, 209); }
.cp-iso-icons { display: flex; gap: 13px; align-items: center; flex-wrap: wrap; }
.cp-iso-icons img { width: 116px; height: auto; object-fit: contain; }
.cp-policy-banner-copy .cp-button { background: rgb(255, 255, 255); border-color: rgb(255, 255, 255); min-height: 54px; margin-top: 28px; color: rgb(32, 33, 31) !important; font-size: 15px !important; }
.cp-policy-layout aside > .cp-button { min-height: 48px; margin-top: 0px; font-size: 14px !important; }
.cp-application-heading.cp-wrap { display: flex; align-items: end; justify-content: space-between; gap: 44px; width: calc(100% - 112px); max-width: 1600px; margin-bottom: 42px; }
.cp-application-heading > .cp-button { flex: 0 0 auto; min-height: 54px; padding: 14px 22px; background: rgb(162, 78, 40); border-color: rgb(162, 78, 40); font-size: 15px !important; }
.cp-application-heading > .cp-button:hover { background: rgb(128, 59, 32); border-color: rgb(128, 59, 32); }
.cp-applications-section .cp-application-grid .cp-button { min-height: 52px; margin-top: auto; padding: 13px 20px; font-size: 15px !important; }
.cp-applications-section .cp-tint-sand .cp-button { background: rgb(72, 91, 46); border-color: rgb(72, 91, 46); }
.cp-applications-section .cp-tint-lavender .cp-button { background: rgb(99, 61, 106); border-color: rgb(99, 61, 106); }
.cp-applications-section .cp-tint-sage .cp-button { background: rgb(40, 88, 76); border-color: rgb(40, 88, 76); }
.cp-applications-section .cp-tint-peach .cp-button { background: rgb(145, 65, 31); border-color: rgb(145, 65, 31); }
.cp-applications-section .cp-tint-sand .cp-button:hover { background: rgb(51, 67, 31); border-color: rgb(51, 67, 31); }
.cp-applications-section .cp-tint-lavender .cp-button:hover { background: rgb(72, 43, 80); border-color: rgb(72, 43, 80); }
.cp-applications-section .cp-tint-sage .cp-button:hover { background: rgb(28, 65, 56); border-color: rgb(28, 65, 56); }
.cp-applications-section .cp-tint-peach .cp-button:hover { background: rgb(109, 47, 24); border-color: rgb(109, 47, 24); }
@container (max-width: 1100px) {.cp-range-heading > .cp-button { margin: 0px; }
.cp-footer-links { grid-template-columns: repeat(2, minmax(0px, 1fr)); max-width: 760px; }}
@container (max-width: 1100px) {.cp-application-heading.cp-wrap { width: calc(100% - 64px); align-items: flex-start; }}
@container (max-width: 700px) {.cp-range-heading > .cp-button { min-height: 48px; font-size: 14px !important; }
.cp-section-heading > .cp-button { margin-top: 20px; min-height: 47px; font-size: 14px !important; }
.cp-mission-copy .cp-button { min-height: 49px; margin-top: 24px; font-size: 14px !important; }
.cp-footer { margin: 8px; border-radius: 33px; padding: 59px 0px 35px; }
.cp-footer-about { padding-bottom: 38px; }
.cp-footer-about h2 { font-size: 42px; }
.cp-footer-about .cp-button { min-height: 48px; font-size: 14px !important; }
.cp-footer-links { gap: 36px 16px; padding-top: 20px; }
.cp-footer-links h3 { font-size: 15px; }
.cp-footer-links a, .cp-footer-links button { font-size: 13px; }
.cp-footer-bottom { align-items: flex-start; flex-direction: column; margin-top: 50px; gap: 25px; font-size: 12px; }
.cp-iso-icons { gap: 8px; }
.cp-iso-icons img { width: 91px; }
.cp-policy-banner-copy .cp-button { min-height: 49px; margin-top: 22px; font-size: 14px !important; }}
@container (max-width: 700px) {.cp-application-heading.cp-wrap { display: block; width: calc(100% - 40px); margin-bottom: 27px; }
.cp-application-heading > .cp-button { margin-top: 22px; min-height: 49px; font-size: 14px !important; }
.cp-applications-section .cp-application-grid .cp-button { min-height: 49px; font-size: 14px !important; }}
.cp-mythe-heading .cp-button { background: rgb(242, 163, 91); border-color: rgb(242, 163, 91); min-height: 52px; flex: 0 0 auto; color: rgb(32, 33, 31) !important; }
.cp-datasheet-request .cp-button { background: rgb(233, 155, 85); border-color: rgb(233, 155, 85); min-height: 54px; flex: 0 0 auto; color: rgb(32, 33, 31) !important; }
@container (max-width: 700px) {.cp-datasheet-request .cp-button { min-height: 49px; font-size: 14px !important; }}
.cp-company-page .cp-policy-layout aside > .cp-button { background: rgb(237, 162, 99); border-color: rgb(237, 162, 99); color: rgb(32, 33, 31) !important; }
.cp-system-actions .cp-button { background: rgb(36, 73, 69); border-color: rgb(36, 73, 69); color: rgb(255, 255, 255) !important; }
.cp-system-actions .cp-button:last-child { background: rgb(237, 162, 99); border-color: rgb(237, 162, 99); color: rgb(32, 33, 31) !important; }
.cp-button { min-height: 52px; padding: 15px 27px; font-size: 14px !important; }
.cp-range-heading > .cp-button, .cp-section-heading > .cp-button, .cp-mission-copy .cp-button, .cp-footer-about .cp-button, .cp-policy-banner-copy .cp-button, .cp-application-heading > .cp-button, .cp-applications-section .cp-application-grid .cp-button { min-height: 58px; padding: 16px 26px; font-size: 16px !important; }
.cp-policy-layout aside > .cp-button, .cp-datasheet-request .cp-button, .cp-mythe-heading .cp-button { min-height: 54px; font-size: 15px !important; }
@container (max-width: 700px) {.cp-button { min-height: 50px; padding: 13px 21px; font-size: 13px !important; }
.cp-range-heading > .cp-button, .cp-section-heading > .cp-button, .cp-mission-copy .cp-button, .cp-footer-about .cp-button, .cp-policy-banner-copy .cp-button, .cp-application-heading > .cp-button, .cp-applications-section .cp-application-grid .cp-button, .cp-datasheet-request .cp-button { min-height: 53px; padding: 14px 22px; font-size: 15px !important; }}
@container (max-width: 700px) {.cp-footer-links nav button { font-size: 13px; }}
.cp-updates:not(.cp-wrap) .cp-page-hero .cp-hero-content { width: min(1220px, 100% - 10vw); max-width: 1220px; }
@container (max-width: 700px) {.cp-updates:not(.cp-wrap) .cp-page-hero .cp-hero-content { width: auto; max-width: none; }}
.cp-direction-marker { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 64px; height: 64px; border-radius: 17px; background: rgb(242, 163, 91); color: rgb(32, 33, 31); }
.cp-direction-marker svg { position: static; width: 38px; height: 38px; bottom: auto; right: auto; transition: transform 0.2s; }
.cp-company-destinations .cp-direction-marker { position: absolute; right: 28px; bottom: 28px; }
.cp-company-destinations > a:nth-child(2) .cp-direction-marker { background: rgb(201, 168, 206); }
.cp-company-destinations > a:nth-child(3) .cp-direction-marker { background: rgb(231, 232, 189); }
.footer-reference .cp-wayfinding-button.cp-button { justify-content: space-between; gap: 28px; min-height: 80px; padding: 8px 8px 8px 24px; border: 0px; border-radius: 23px; background: rgb(32, 33, 31); font-weight: 600; max-width: 100%; white-space: normal; color: rgb(255, 255, 255) !important; font-size: 16px !important; }
.cp-wayfinding-button .cp-direction-marker { width: 64px; height: 64px; border-radius: 16px; }
.footer-reference .cp-wayfinding-button.cp-button:hover { background: rgb(48, 54, 55); transform: none; }
.cp-wayfinding-button > span:first-child { min-width: 0px; text-align: left; }
.cp-about-page .cp-wayfinding-button.cp-button { background: rgb(48, 54, 55); }
.cp-company-destinations > a:hover .cp-icon-right svg, .cp-wayfinding-button:hover .cp-icon-right svg { transform: translateX(2px); }
@container (max-width: 1100px) {.cp-company-destinations .cp-direction-marker { right: 24px; bottom: 24px; }}
@container (max-width: 700px) {.cp-direction-marker { width: 60px; height: 60px; border-radius: 16px; }
.cp-direction-marker svg { width: 36px; height: 36px; }
.cp-wayfinding-button.cp-button { min-height: 76px; }
.cp-wayfinding-button .cp-direction-marker { width: 60px; height: 60px; }}
@media (prefers-reduced-motion: reduce) {.cp-direction-marker svg { transition: none; }
.cp-company-destinations > a:hover .cp-direction-marker svg, .cp-wayfinding-button:hover .cp-direction-marker svg { transform: none; }}
.cp-application-heading > .cp-wayfinding-button.cp-button, .cp-mission-copy .cp-wayfinding-button.cp-button, .cp-software-story .cp-wayfinding-button.cp-button { background: rgb(32, 33, 31); color: rgb(255, 255, 255) !important; }
.cp-hero-content > p:not(.cp-label), .cp-inner-hero .cp-hero-content > p:not(.cp-label), .cp-intro > p:last-child, .cp-page-heading > p:not(.cp-label), .cp-range-heading p, .cp-data-heading > p:last-child, .cp-data-steps p, .cp-software-grid > div > p:not(.cp-label), .cp-model-flow p, .cp-people-story p:not(.cp-label), .cp-scenic-copy > p:not(.cp-label), .cp-scenic-water .cp-scenic-copy > p:not(.cp-label), .cp-reading-head > p, .cp-mythe-heading > div > p:last-child, .cp-mission-copy p, .cp-system-copy > p:not(.cp-label), .cp-footer-about p, .cp-application-heading > div > p:last-child, .cp-application-grid p:not(.cp-label), .cp-applications-section .cp-application-grid article > p:not(.cp-label), .cp-about-intro > p, .cp-company-grid p:not(.cp-label), .cp-about-page .cp-company-grid p:not(.cp-label), .cp-company-links p, .cp-editorial p:not(.cp-label), .cp-product-detail p, .cp-feature-media p, .cp-landscape p:not(.cp-label), .cp-datasheet-request p:not(.cp-label), .cp-contact-copy > p:not(.cp-label), .cp-contact-section .cp-contact-copy > p, .cp-contact-section .cp-enquiry-intro, .cp-journal-header > p, .cp-journal-cta p, .cp-article-heading > p:last-child, .cp-process p, .cp-product-insight > p, .cp-product-insight article p, .cp-note > p, .cp-project-steps article > p, .cp-parameter p:not(.cp-label), .cp-news-grid p:not(.cp-label), .cp-resource-grid p:not(.cp-label), .cp-news-more p, .cp-faq details p, .cp-callout > p, .cp-callout-copy > p, .cp-policy-banner-copy > p:not(.cp-label), .cp-product-copy > p:not(.cp-label), .cp-contact-details article > p:not(.cp-label), .cp-contact-details address { font-size: var(--cp-body-size); line-height: var(--cp-body-leading); }
.footer-reference .cp-wayfinding-button.cp-button, .footer-reference .cp-news-action, .footer-reference .cp-resource-action { display: inline-flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 54px; padding: 7px 7px 7px 18px; border: 0px; border-radius: 16px; line-height: 1.3; font-weight: 600; max-width: 100%; white-space: normal; font-size: 15px !important; }
.footer-reference .cp-wayfinding-button.cp-button { background: var(--cp-button-bg,#20211f); color: var(--cp-button-ink,#fff) !important; }
.footer-reference .cp-direction-marker, .footer-reference .cp-wayfinding-button .cp-direction-marker { position: static; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 38px; height: 38px; border-radius: 11px; background: var(--cp-marker-bg,#e6e9e2); color: var(--cp-marker-ink,#20211f); }
.footer-reference .cp-direction-marker svg { width: 20px; height: 20px; transition: transform 0.2s; }
.footer-reference .cp-wayfinding-button:hover .cp-icon-right svg, .footer-reference .cp-company-links > a:hover .cp-icon-right svg { transform: translateX(2px); }
.footer-reference .cp-wayfinding-button:hover .cp-icon-external svg { transform: translate(1px, -1px); }
.cp-hero .cp-button-outline { --cp-button-bg: #ee994e; --cp-button-ink: #20211f; --cp-marker-bg: #ffd0a2; }
.cp-people-story, .cp-footer { --cp-marker-bg: #e0e5dd; }
.cp-footer { --cp-button-bg: #fff; --cp-button-ink: #20211f; }
.footer-reference .cp-company-links > a > .cp-direction-marker { position: absolute; right: 24px; bottom: 24px; }
.footer-reference .cp-menu-card > .cp-direction-marker { position: absolute; right: 16px; bottom: 16px; background: rgb(244, 243, 238); }
.footer-reference .cp-contact-details .cp-button { --cp-marker-bg: #ffc78f; text-decoration: none; }
@media (prefers-reduced-motion: reduce) {.footer-reference .cp-direction-marker svg { transition: none; transform: none !important; }}
.footer-reference .cp-photo-primary.cp-button { --cp-button-bg: #fff; --cp-button-ink: #20211f; --cp-button-hover-bg: #f0f1ed; --cp-button-hover-ink: #20211f; --cp-marker-bg: #ee994e; --cp-marker-ink: #20211f; }
.footer-reference .cp-wayfinding-button.cp-button { --cp-button-hover-bg: #343a3b; --cp-button-hover-ink: var(--cp-button-ink,#fff); transition: background-color 0.2s, color 0.2s; }
.footer-reference .cp-wayfinding-button.cp-button:hover { background: var(--cp-button-hover-bg); color: var(--cp-button-hover-ink) !important; }
.footer-reference .cp-range-heading > .cp-button { --cp-button-bg: #3b4140; --cp-button-ink: #fff; --cp-button-hover-bg: #4a504f; --cp-button-hover-ink: #fff; --cp-marker-bg: #e6e9e2; --cp-marker-ink: #20211f; }
.footer-reference .cp-product > a:hover .cp-product-action .cp-icon-right svg, .footer-reference .cp-product > a:focus-visible .cp-product-action .cp-icon-right svg { transform: translateX(2px); }
.footer-reference .cp-hero:not(.cp-page-hero) .cp-actions > .cp-button:not(.cp-button-outline) { --cp-button-bg: #fff; --cp-button-ink: #20211f; --cp-button-hover-bg: #f0f1ed; --cp-button-hover-ink: #20211f; --cp-marker-bg: #ee994e; --cp-marker-ink: #20211f; }
.footer-reference .cp-hero:not(.cp-page-hero) .cp-actions > .cp-button-outline { --cp-button-bg: #ee994e; --cp-button-ink: #20211f; --cp-button-hover-bg: #f4aa69; --cp-button-hover-ink: #20211f; --cp-marker-bg: #ffd0a2; --cp-marker-ink: #20211f; }
.footer-reference .cp-people-story .cp-wayfinding-button.cp-button { --cp-button-bg: #fff; --cp-button-ink: #20211f; --cp-button-hover-bg: #f0f1ed; --cp-button-hover-ink: #20211f; --cp-marker-bg: #ee994e; --cp-marker-ink: #20211f; }
.footer-reference .cp-callout-photo .cp-wayfinding-button.cp-button { --cp-button-bg: #e78145; --cp-button-ink: #fff; --cp-button-hover-bg: #f0975d; --cp-button-hover-ink: #20211f; --cp-marker-bg: #fff; --cp-marker-ink: #20211f; }
.footer-reference .cp-mythe-heading .cp-button { --cp-button-bg: #f2a35b; --cp-button-ink: #20211f; --cp-button-hover-bg: #f6b779; --cp-button-hover-ink: #20211f; --cp-marker-bg: #dceae5; --cp-marker-ink: #20211f; }
@container (max-width: 700px) {.cp-water-explanation > .cp-wrap { width: calc(100% - 40px); }}
.footer-reference .cp-drinking-callout .cp-wayfinding-button.cp-button { --cp-button-bg: #fff; --cp-button-ink: #20211f; --cp-button-hover-bg: #f0f1ed; --cp-button-hover-ink: #20211f; --cp-marker-bg: #ee994e; --cp-marker-ink: #20211f; }
.footer-reference .cp-footer-links { width: 100%; max-width: 980px; margin-right: auto; margin-left: 0px; grid-template-columns: 1fr 1fr 1fr 1.35fr; gap: 28px; text-align: left; }
.footer-reference .cp-footer-about .cp-wayfinding-button.cp-button { --cp-button-bg: #000; --cp-button-ink: #fff; --cp-marker-bg: #153eff; --cp-marker-ink: #fff; --cp-button-hover-bg: #343a3b; --cp-button-hover-ink: #fff; }
.footer-reference .cp-callout-photo:not(.cp-drinking-callout) .cp-wayfinding-button.cp-button { --cp-button-hover-bg: #343a3b; --cp-button-hover-ink: #fff; }
@container (max-width: 1000px) {.footer-reference .cp-footer-links { max-width: 680px; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 32px 24px; }}
.footer-reference .cp-footer-links { grid-template-columns: 180px minmax(0px, 1fr); gap: 40px; max-width: 820px; align-items: start; }
.cp-footer-page-columns { display: grid; grid-template-columns: 140px 140px minmax(0px, 1fr); gap: 20px; align-items: start; min-width: 0px; }
.cp-footer-links nav { min-width: 0px; align-self: start; }
.footer-reference .cp-footer-products > a { font-family: var(--font-onest,Onest),Arial,sans-serif; font-size: 24px; font-weight: 650; line-height: 1.2; letter-spacing: var(--cp-heading-tracking); color: rgb(255, 255, 255); }
.footer-reference .cp-footer-bottom { align-items: center; gap: 32px; }
.cp-footer-identity { display: flex; align-items: center; min-width: 0px; }
.cp-footer-identity > p { font-size: 12px; line-height: 1.5; color: rgb(199, 203, 199); }
.footer-reference .cp-footer-linkedin { display: inline-flex; align-items: center; justify-content: space-between; flex: 0 0 auto; gap: 8px; width: 152px; height: 40px; min-height: 40px; max-width: 100%; padding: 6px 7px; color: rgb(255, 255, 255); background: rgb(10, 102, 194); text-decoration: none; border-radius: 10px; transition: background-color 0.2s; }
.cp-footer-social-logo { display: flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 26px; height: 26px; border-radius: 7px; background: transparent; color: rgb(255, 255, 255); }
.cp-footer-social-logo svg { display: block; width: 20px; height: 20px; }
.cp-footer-social-logo svg circle, .cp-footer-social-logo svg path { fill: rgb(10, 102, 194); }
.cp-footer-social-label { font-size: 13px; font-weight: 600; line-height: 1.2; }
.cp-footer-social-arrow { display: flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 26px; height: 26px; background: transparent; color: rgb(255, 255, 255); }
.cp-footer-social-arrow svg { transition: transform 0.2s; }
.cp-footer-linkedin:hover { background: rgb(0, 65, 130); }
.cp-footer-linkedin:hover .cp-footer-social-logo svg circle, .cp-footer-linkedin:hover .cp-footer-social-logo svg path { fill: rgb(0, 65, 130); }
.cp-footer-linkedin:hover .cp-footer-social-arrow svg { transform: translate(2px, -2px); }
.footer-reference .cp-iso-icons { display: flex; flex: 0 0 auto; gap: 8px; align-items: center; flex-wrap: nowrap; }
.cp-iso-badge { display: flex; flex-direction: row; align-items: center; justify-content: center; flex: 0 0 auto; gap: 7px; width: 104px; height: 40px; padding: 6px 10px; border-radius: 10px; background: rgb(48, 53, 54); color: rgb(255, 255, 255); }
.cp-iso-badge > span { font-size: 10px; font-weight: 650; letter-spacing: 0.04em; line-height: 1.2; }
.cp-iso-badge > strong { font-family: var(--font-onest,Onest),Arial,sans-serif; font-size: 17px; font-weight: 600; line-height: 1.2; letter-spacing: var(--cp-heading-tracking); }
@container (max-width: 1000px) {.footer-reference .cp-footer-links { grid-template-columns: 160px minmax(0px, 1fr); gap: 28px; max-width: 820px; }
.cp-footer-page-columns { gap: 16px; grid-template-columns: 1fr 1fr 1.45fr; }
.footer-reference .cp-footer-products > a { font-size: 22px; }
.footer-reference .cp-footer-bottom { flex-direction: column; align-items: flex-start; gap: 24px; }
.cp-footer-marks { align-self: flex-end; }}
@container (max-width: 700px) {.footer-reference .cp-footer-links { grid-template-columns: 1fr; gap: 24px; }
.cp-footer-links .cp-footer-products { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 0px 16px; width: 100%; align-items: start; }
.cp-footer-products > h3 { grid-column: 1 / -1; margin-bottom: 8px; }
.footer-reference .cp-footer-products > a { font-size: 20px; min-height: 40px; display: flex; align-items: center; }
.cp-footer-page-columns { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 24px 20px; }
.cp-footer-page-columns > nav:last-child { grid-column: 1 / -1; }
.cp-footer-page-columns nav { gap: 0px; }
.cp-footer-page-columns h3 { margin: 0px 0px 6px; }
.cp-footer-page-columns :is(a, button) { display: inline-flex; align-items: center; min-height: 36px; text-align: left; }
.footer-reference .cp-footer-bottom { align-items: flex-start; margin-top: 32px; gap: 20px; }
.footer-reference .cp-iso-icons { width: 100%; max-width: 488px; gap: 6px; align-self: flex-start; }
.cp-iso-badge { flex: 1 1 0%; min-width: 0px; width: auto; max-width: none; height: 40px; padding: 4px; gap: 4px; }
.cp-iso-badge > span { font-size: 9px; }
.cp-iso-badge > strong { font-size: 14px; }
.footer-reference .cp-footer-linkedin { width: 118px; gap: 6px; padding: 6px; }
.cp-footer-social-logo, .cp-footer-social-arrow { width: 24px; height: 24px; }
.cp-footer-social-label { font-size: 12px; }}
@container (max-width: 375px) {.footer-reference .cp-footer-linkedin { width: 58px; gap: 6px; }
.cp-footer-linkedin .cp-footer-social-label { display: none; }
.cp-footer-social-logo, .cp-footer-social-arrow { width: 20px; height: 24px; }
.cp-iso-badge > strong { font-size: 13px; }}
@container (max-width: 350px) {.footer-reference .cp-footer-products > a { font-size: 18px; }}
@media (prefers-reduced-motion: reduce) {.cp-footer-social-arrow svg, .cp-footer-social-arrow { transition: none; }
.cp-footer-linkedin:hover .cp-footer-social-arrow svg { transform: none; }}
.footer-reference .cp-brochure-download .cp-direction-marker { background: rgb(238, 153, 78); color: rgb(32, 33, 31); }
@container (max-width: 700px) {.cp-datasheet-action .cp-button { max-width: 100%; }}
.cp-weather-resource > .cp-button { margin-top: 24px; }
.footer-reference .cp-callout-photo.cp-blue-sky:not(.cp-drinking-callout) .cp-wayfinding-button.cp-button { --cp-button-bg: #ee994e; --cp-button-ink: #20211f; --cp-button-hover-bg: #343a3b; --cp-button-hover-ink: #fff; --cp-marker-bg: #fff; --cp-marker-ink: #20211f; }
.footer-reference .cp-weather-invitation .cp-wayfinding-button.cp-button { margin-top: 22px; max-width: 100%; --cp-button-bg: #20211f; --cp-button-ink: #fff; --cp-button-hover-bg: #343a3b; --cp-button-hover-ink: #fff; --cp-marker-bg: #ee994e; --cp-marker-ink: #20211f; }
@container (max-width: 700px) {.footer-reference .cp-weather-invitation .cp-wayfinding-button.cp-button { margin-top: 20px; }}
.cp-news-archive-grid .cp-direction-marker { align-self: center; flex: 0 0 auto; }
@container (max-width: 1100px) {.cp-news-archive-grid .cp-direction-marker { display: none; }}
.cp-discovery-hero > .cp-wrap { padding: 54px 0px 158px; }
.cp-discovery-hero .cp-button { margin-top: 26px; }
.cp-discovery-banner .cp-button { margin-top: 24px; }
.cp-discovery-model .cp-button { flex-shrink: 0; }
.cp-discovery-page main > .cp-wrap { width: calc(100% - 136px); max-width: 1600px; }
.cp-discovery-page .cp-wayfinding-button { --cp-marker-bg: #ee994e; --cp-marker-ink: #20211f; }
@media (max-width: 1000px) {.cp-discovery-page main > .cp-wrap { width: calc(100% - 88px); }}
@media (max-width: 700px) {.cp-discovery-page main > .cp-wrap { width: calc(100% - 56px); }
.cp-discovery-hero > .cp-wrap { width: calc(100% - 40px); padding-block: 32px 142px; }
.cp-discovery-flow > .cp-wrap { width: calc(100% - 40px); }
.cp-discovery-topic-hero .cp-button { max-width: 100%; }}