/* Ciama parent product page. Other products and Ciama module pages keep their own styles. */
.ci { --ci-line: #d1dccd; --ci-muted: #596d60; --ci-accent: #00866a; }
.ci [id] { scroll-margin-top: 108px; }
.ci .ed-eyebrow { color: #50715f; }
.ci .ed-hero { background: #101b19; }
.ci .ed-hero .ed-eyebrow { color: #b7c9c1; }
.ci .ed-hero__copy { padding-top: 76px; }
.ci .ed-hero h1 { width: 100%; font-size: clamp(48px, 5.2vw, 74px); }
.ci .ed-hero h1 span { color: #37dbb3; }
.ci-breadcrumb { position: relative; display: flex; flex-wrap: wrap; gap: 12px; padding-top: 28px; color: #afc4b8; font-size: 11px; }
.ci-section { padding: 100px 0; }
.ci-paper { background: #f6f6ef; }
.ci-mist { background: #e9eee5; }
.ci-forest { background: #15251f; color: #f4f6ed; }
.ci-heading { display: grid; grid-template-columns: 1.35fr 1fr; gap: 80px; align-items: end; margin-bottom: 50px; }
.ci-heading .ed-eyebrow, .ci-case__copy > .ed-eyebrow, .ci-integration__copy > .ed-eyebrow, .ci-faq-layout .ed-eyebrow { margin-bottom: 22px; }
.ci h2 > span { color: #47725a; }
.ci-heading > p, .ci-case__copy > p:not(.ed-eyebrow), .ci-integration__copy > p:not(.ed-eyebrow) { font-size: 16px; line-height: 1.75; color: var(--ci-muted); }
.ci-note { font-size: 12px; line-height: 1.8; margin-top: 28px !important; color: var(--ci-muted); }
.ci-index { font: 11px/1.5 ui-monospace, monospace; color: #00866a; }
.ci-overview picture, .ci-overview img { display: block; width: 100%; height: auto; }
.ci-overview figcaption { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; padding: 18px 22px; background: #dcebd3; color: #426248; font-size: 12px; line-height: 1.6; }
.ci-overview figcaption > span { font-size: 9px; }
.ci-outcomes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--ci-line); margin-top: 42px; }
.ci-outcomes article { display: flex; gap: 22px; padding: 30px 34px 0 0; }
.ci-outcomes .ci-index { padding-top: 6px; }
.ci-outcomes h3 { font-size: 26px; margin-bottom: 12px; }
.ci-outcomes p { font-size: 14px; line-height: 1.75; color: var(--ci-muted); }
.ci-modules-section { background: #15251f; color: #f4f6ed; }
.ci-modules-section .ci-heading .ed-eyebrow { color: #a2c4b0; }
.ci-modules-section .ci-heading h2 > span { color: #48deb5; }
.ci-modules-section .ci-heading > p { color: #b8cbc0; }
.ci .ci-pim { display: grid; grid-template-columns: 1.05fr 1fr; background: #f6f7ed; color: #172822; border: 1px solid #d6e2cd; }
.ci-pim__visual { min-width: 0; background: #b4d875; display: flex; align-items: center; }
.ci-pim__visual img { display: block; width: 100%; height: auto; }
.ci-pim__body { padding: 40px; }
.ci .ci-pim h3 { font-size: 40px; line-height: 1.1; letter-spacing: -.04em; margin: 22px 0; }
.ci-pim__body > p:not(.ed-eyebrow) { font-size: 15px; line-height: 1.75; color: #5a6d56; }
.ci-pim__cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 28px; padding-top: 22px; border-top: 1px solid #cad7bf; font-size: 13px; font-weight: 500; }
.ci-pim__cta b { font-size: 24px; font-weight: 400; color: #467640; }
.ci-pim:hover .ci-pim__cta { color: #00866a; }
.ci-modules { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; margin-top: 28px; }
.ci-module { display: flex; flex-direction: column; min-width: 0; background: #fafbf5; color: #172822 !important; border: 1px solid #d7e1d1; }
.ci-module__visual { aspect-ratio: 800 / 450; overflow: hidden; }
.ci-module__visual img { display: block; width: 100%; height: 100%; object-fit: contain; transition: transform 400ms ease; }
.ci-module:hover .ci-module__visual img { transform: scale(1.025); }
.ci-module__body { padding: 34px; display: flex; flex-direction: column; flex: 1; }
.ci-module__body > .ed-eyebrow { font-size: 10px; margin-bottom: 22px; }
.ci .ci-module h3 { font-size: 32px; line-height: 1.16; letter-spacing: -.035em; margin-bottom: 20px; }
.ci-module__body > p:not(.ed-eyebrow) { font-size: 15px; line-height: 1.75; color: var(--ci-muted); margin-bottom: 28px; }
.ci-module__link { display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid #d0dcc9; padding-top: 22px; margin-top: auto; font-size: 13px; font-weight: 500; }
.ci-module__link b { display: grid; place-items: center; width: 32px; height: 32px; color: #007e5f; font-size: 20px; font-weight: 400; border: 1px solid #c4d5bf; border-radius: 50%; }
.ci-module:hover .ci-module__link b { background: #007e5f; color: #fff; }
.ci-module-bridges { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; margin-top: 34px; }
.ci-module-bridges a { display: flex; align-items: center; justify-content: space-between; gap: 20px; font-size: 14px; line-height: 1.6; padding: 20px 0; border-bottom: 1px solid #9bbcaa50; color: #d5e8db; }
.ci-module-bridges a > span { font-size: 23px; color: #50dfb7; }
.ci-module-bridges a:hover { color: #50dfb7; }
.ci-modules-section > .ed-wrap > .ci-note { padding: 22px 26px; background: #ffffff06; border-left: 2px solid #8dbf9b; color: #b5c9bc; }
.ci-case { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.ci-case__copy > p:not(.ed-eyebrow) { margin-top: 24px; }
.ci-case__copy .ci-lead { font-size: 19px !important; color: #315b42 !important; }
.ci-case__copy .ed-text-link { margin-top: 28px; }
.ci-case__art { position: relative; isolation: isolate; overflow: hidden; background: #55cda7; padding: 34px; }
.ci-case__art::before { content: ''; position: absolute; inset: 0; z-index: -1; background-image: linear-gradient(#fff2 1px, transparent 1px), linear-gradient(90deg, #fff2 1px, transparent 1px); background-size: 50px 50px; }
.ci-case__ribbon { position: absolute; top: 0; right: 0; width: 160px; height: 190px; background: #a1e9bb; clip-path: polygon(0 0, 100% 0, 100% 100%, 45% 100%, 45% 55%, 0 55%); z-index: -1; }
.ci-client-card { position: relative; padding: 25px 28px; background: #e8edbd; margin-bottom: 22px; }
.ci-client-card > .ed-eyebrow { font-size: 9px; color: #6a7445; }
.ci-client-card > strong { display: block; font-size: 62px; letter-spacing: -.065em; line-height: 1; margin: 20px 0; font-weight: 500; color: #264b36; }
.ci-client-card > strong > span { font-size: 23px; letter-spacing: -.035em; margin-left: 12px; }
.ci-client-card__status { font-size: 11px; line-height: 1.6; color: #536c43; }
.ci-client-card__status i { display: inline-block; width: 6px; height: 6px; background: #3c855a; margin-right: 8px; }
.ci-adoption { position: relative; background: #183d2d; color: #f3f7e9; padding: 28px; box-shadow: 8px 10px 0 #247d5b35; }
.ci-adoption__bar { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-bottom: 22px; }
.ci-adoption__bar > b { font-size: 32px; letter-spacing: -.05em; font-weight: 500; }
.ci-adoption__bar > span { font: 8px/1.6 ui-monospace, monospace; color: #a7d7b4; }
.ci-adoption__row { display: flex; align-items: center; gap: 18px; padding: 18px 0; border-top: 1px solid #e1f3c726; }
.ci-adoption__row > span { font-size: 24px; color: #a7ddb0; }
.ci-adoption__row b { font-size: 14px; line-height: 1.5; font-weight: 400; }
.ci-adoption__row p > span { display: block; font-size: 11px; line-height: 1.6; color: #accdb5; margin-top: 6px; }
.ci-art-caption { font: 9px/1.7 ui-monospace, monospace; color: #245f44; margin-top: 24px !important; }
.ci-integration { display: grid; grid-template-columns: 1fr 1fr; gap: 85px; align-items: center; }
.ci-flow-visual { min-width: 0; background: #43c4a2; }
.ci-flow-visual img { display: block; width: 100%; height: auto; }
.ci-flow-visual figcaption { color: #174e3c; background: #9ce2b8; padding: 17px 20px; font-size: 10px; line-height: 1.7; }
.ci-integration__copy > .ed-eyebrow { color: #a6c7b0; }
.ci-integration__copy h2 > span { color: #48deb5; }
.ci-integration__copy > p:not(.ed-eyebrow) { color: #b7cbbb; margin-top: 25px; }
.ci-integration__copy ul { display: grid; gap: 11px; padding-left: 18px; margin: 25px 0; font-size: 14px; line-height: 1.8; color: #d7e7da; }
.ci-integration__copy li::marker { color: #50ddb1; }
.ci-integration .ed-text-link { font-size: 13px; }
.ci-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; list-style: none; padding: 0; margin: 0; }
.ci-steps li { padding-top: 26px; border-top: 1px solid var(--ci-line); }
.ci-steps .ci-index { display: block; margin-bottom: 26px; }
.ci .ci-steps h3 { font-size: 24px; line-height: 1.2; margin-bottom: 18px; }
.ci-steps p { font-size: 14px; line-height: 1.75; color: var(--ci-muted); }
.ci-license { display: grid; grid-template-columns: 1fr 1fr; gap: 25px 70px; padding: 40px; margin-top: 50px; background: #e4ecdb; border: 1px solid #cad7c1; }
.ci .ci-license h3 { font-size: 30px; line-height: 1.2; margin-top: 18px; }
.ci-license > p { font-size: 15px; line-height: 1.75; color: var(--ci-muted); }
.ci-license > a { grid-column: 2; justify-self: start; font-size: 13px; }
.ci-faq-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 85px; }
.ci-faq-intro { max-width: 330px; margin-top: 26px !important; color: var(--ci-muted); font-size: 15px; line-height: 1.75; }
.ci-faq details { border-top: 1px solid #bdcdb1; }
.ci-faq details:last-child { border-bottom: 1px solid #bdcdb1; }
.ci-faq summary { display: flex; justify-content: space-between; gap: 20px; list-style: none; cursor: pointer; padding: 24px 0; font-size: 16px; line-height: 1.6; }
.ci-faq summary::-webkit-details-marker { display: none; }
.ci-faq summary > span { color: #4b785a; font-size: 23px; }
.ci-faq details[open] summary > span { transform: rotate(45deg); }
.ci-faq details > p { font-size: 15px; line-height: 1.75; color: var(--ci-muted); padding: 0 25px 25px 0; }
.ci-faq summary:focus-visible { outline: 3px solid #00856b; outline-offset: 4px; }
.ci-resources { margin-top: 60px; padding-top: 30px; border-top: 1px solid #bdcdb1; }
.ci-resources > div { display: flex; flex-wrap: wrap; gap: 20px 44px; margin-top: 24px; }
.ci-resources a { display: flex; gap: 28px; padding-bottom: 10px; border-bottom: 1px solid #94a581; font-size: 13px; }
.ci .ci-closing { background: #11271e; }
.ci-closing .ed-eyebrow { color: #acc5b4; }
.ci-closing h2 > span { color: #45dcb0; }
.ci-closing .ci-closing__intro { font-size: 17px; line-height: 1.8; color: #bad0c0; margin: 28px auto 32px; }
@media (max-width: 1199px) {
    .ci-heading { gap: 45px; }
    .ci-pim__body { padding: 30px; }
    .ci .ci-pim h3 { font-size: 34px; }
    .ci-case, .ci-integration { gap: 45px; }
    .ci-case__art { padding: 26px; }
}
@media (max-width: 991px) {
    .ci-section { padding: 76px 0; }
    .ci .ed-hero__copy { padding-top: 60px; }
    .ci-heading { gap: 30px; }
    .ci-heading > p { font-size: 15px; }
    .ci .ci-pim { grid-template-columns: 1fr; }
    .ci-pim__visual { aspect-ratio: 800 / 450; }
    .ci-modules { gap: 22px; }
    .ci-module__body { padding: 26px; }
    .ci .ci-module h3 { font-size: 27px; }
    .ci-case, .ci-integration { grid-template-columns: 1fr; gap: 40px; }
    .ci-case__copy { max-width: 680px; }
    .ci-case__art, .ci-flow-visual { max-width: 650px; width: 100%; }
    .ci-integration__copy { grid-row: 1; }
    .ci-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 35px; }
    .ci-license, .ci-faq-layout { gap: 26px 35px; }
}
@media (max-width: 767px) {
    .ci-section { padding: 58px 0; }
    .ci-breadcrumb { padding-top: 22px; font-size: 10px; }
    .ci .ed-hero__copy { padding-top: 45px; }
    .ci .ed-hero h1 { font-size: clamp(37px, 9vw, 56px); }
    .ci-heading { grid-template-columns: 1fr; gap: 24px; margin-bottom: 32px; }
    .ci-heading .ed-eyebrow { margin-bottom: 18px; }
    .ci-overview figcaption { display: block; padding: 16px; font-size: 11px; }
    .ci-overview figcaption > span { display: block; font-size: 8px; margin-top: 5px; }
    .ci-outcomes { grid-template-columns: 1fr; margin-top: 28px; }
    .ci-outcomes article { padding: 25px 0; border-bottom: 1px solid var(--ci-line); }
    .ci-outcomes article:last-child { padding-bottom: 0; border-bottom: 0; }
    .ci-outcomes h3 { font-size: 26px; }
    .ci-pim__body { padding: 28px 24px; }
    .ci .ci-pim h3 { font-size: 32px; }
    .ci-modules { grid-template-columns: 1fr; gap: 25px; margin-top: 25px; }
    .ci-module__body { padding: 28px 24px; }
    .ci .ci-module h3 { font-size: 28px; }
    .ci-module-bridges { grid-template-columns: 1fr; gap: 8px; }
    .ci-module-bridges a { font-size: 13px; }
    .ci-modules-section > .ed-wrap > .ci-note { padding: 20px; font-size: 11px; }
    .ci-case__copy .ci-lead { font-size: 18px !important; }
    .ci-case__copy > p:not(.ed-eyebrow) { font-size: 15px; }
    .ci-case__art { padding: 22px 18px; }
    .ci-client-card { padding: 22px; }
    .ci-client-card > strong { font-size: 50px; }
    .ci-client-card > strong > span { display: block; margin: 10px 0 0; font-size: 20px; }
    .ci-client-card__status { font-size: 10px; }
    .ci-adoption { padding: 22px 18px; }
    .ci-adoption__bar > span { font-size: 7px; max-width: 95px; }
    .ci-adoption__row { gap: 12px; }
    .ci-adoption__row b { font-size: 12px; }
    .ci-adoption__row p > span { font-size: 10px; }
    .ci-art-caption { font-size: 8px; }
    .ci-flow-visual figcaption { padding: 14px 16px; font-size: 9px; }
    .ci-integration__copy > p:not(.ed-eyebrow) { font-size: 15px; }
    .ci-integration .ed-text-link { font-size: 12px; gap: 14px; }
    .ci-steps { grid-template-columns: 1fr; gap: 28px; }
    .ci-steps .ci-index { margin-bottom: 18px; }
    .ci-license { grid-template-columns: 1fr; padding: 28px 24px; margin-top: 35px; gap: 24px; }
    .ci .ci-license h3 { font-size: 28px; }
    .ci-license > a { grid-column: auto; }
    .ci-faq-layout { grid-template-columns: 1fr; gap: 30px; }
    .ci-faq summary { font-size: 15px; }
    .ci-resources { margin-top: 40px; }
    .ci-resources > div { display: grid; grid-template-columns: 1fr; gap: 18px; }
    .ci-resources a { justify-content: space-between; }
    .ci-closing h2 { font-size: 37px; }
    .ci-closing .ci-closing__intro { font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) {
    .ci *, .ci *::before, .ci *::after { scroll-behavior: auto !important; transition: none !important; }
}
