.inner-page,
.campaign-page{ background:#fbfcf9; color:var(--page-ink); }
.inner-page main,
.campaign-page main{ min-height:65vh; }
.page-hero{ background:radial-gradient(ellipse at 85% 55%,#244a34,#0c1a15 70%); color:#e5f3e8; padding:80px 0 85px; }
.page-hero-grid{ display:grid; grid-template-columns:1.15fr 1fr; align-items:start; gap:85px; }
.page-hero h1,
.campaign-hero h1{; letter-spacing:-2.5px; max-width:770px; }
.page-hero h1 em{ color:#91dfb7; font-style:normal; }
.page-hero .eyebrow,
.campaign-hero .eyebrow{ color:#91b29b; font-size:9px; letter-spacing:1.4px; margin-bottom:27px; }
.page-lead{ font-size:16px; line-height:1.85; max-width:650px; margin:25px 0 30px; color:#adc1b2; }
.scope-note{ font-size:11px; line-height:1.8; margin-top:22px; color:#779784; }
.hero-editorial{ border-top:1px solid #456c52; padding-top:18px; }
.hero-editorial > span{ font-size:8px; letter-spacing:1.4px; color:#789d85; }
.hero-editorial > div{ padding:24px 0 24px 42px; border-bottom:1px solid #355540; position:relative; }
.hero-editorial small{ position:absolute; left:0; top:29px; color:#789d85; font-size:10px; }
.hero-editorial h3{ font:500 25px/1.2 var(--display); letter-spacing:-.7px; }
.hero-editorial p{ color:#96b2a0; font-size:13px; line-height:1.7; margin-top:8px; }
.page-section{ padding:75px 0; }
.page-section h2,
.record-section h2{ font:500 clamp(29px,3vw,43px)/1.15 var(--display); letter-spacing:-1.2px; color:var(--page-ink); }
.page-tonal{ background:#eaf1e7; }
.page-section-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:55px; margin-bottom:35px; }
.page-section-head h2{ max-width:620px; }
.page-section-head > p{ max-width:410px; color:var(--page-muted); font-size:14px; line-height:1.8; }
.detail-cards{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.detail-cards article{ border-top:1px solid #c7d6c8; padding-top:24px; }
.detail-number{ color:#86a28b; font-size:10px; }
.detail-cards h3{ font:500 23px/1.2 var(--display); margin:20px 0 13px; letter-spacing:-.6px; }
.detail-cards p{ color:var(--page-muted); font-size:14px; line-height:1.9; }
.contact-layout{ display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:80px; }
.contact-layout > div:first-child{ padding-top:31px; }
.contact-layout > div:first-child > p:not(.eyebrow){ color:var(--page-muted); max-width:430px; line-height:1.85; margin-top:22px; }
.offer-list{ padding:0; list-style:none; margin-top:27px; }
.offer-list li{ padding:13px 0; border-bottom:1px solid #d2dfd1; font-size:14px; color:#4b6d55; }
.lead-panel{ background:#fff; color:var(--page-ink); border:1px solid #d5e1d3; border-radius:12px; padding:30px; scroll-margin-top:115px; box-shadow:0 14px 40px #12301e08; min-width:0; }
.lead-panel h2{ font:500 26px/1.2 var(--display); letter-spacing:-.6px; }
.lead-panel .eyebrow{ color:#789780; font-size:8px; margin-bottom:14px; }
.lead-intro{ color:#708575; font-size:12px; line-height:1.8; margin:14px 0 22px; }
.lead-form label{ display:block; color:#4b6653; font-size:11px; margin-bottom:16px; }
.lead-form label > span{ font-size:9px; color:#879a8a; }
.lead-form input,
.lead-form textarea,
.catalogue-header input{ display:block; width:100%; border:1px solid #cbd9cb; border-radius:5px; background:#fcfdfb; padding:11px 12px; margin-top:7px; font:400 13px/1.4 var(--body,sans-serif); color:#1b422b; min-width:0; }
.lead-form input:focus,
.lead-form textarea:focus,
.catalogue-header input:focus{ outline:2px solid #619f77; outline-offset:2px; }
.field-pair{ display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.lead-form textarea{ resize:vertical; }
.lead-form .form-submit{ width:100%; min-height:48px; font-size:12px; }
.lead-status{ font-size:12px; line-height:1.7; color:#9a452f; margin-top:12px; }
.lead-panel .form-note{ color:#7b8b7c; font-size:10px; line-height:1.7; }
.lead-panel a{ text-decoration:underline; }
.lead-success{ padding:30px 0; }
.lead-success h3{ font:500 26px var(--display); margin-bottom:16px; }
.lead-success p{ font-size:14px; line-height:1.8; margin-bottom:20px; }
.lead-success[hidden],
.lead-form[hidden]{ display:none; }
.faq-inner{ max-width:900px; }
.faq-inner h2{ margin-bottom:28px; }
.page-faq{ border-bottom:1px solid #cfddcf; }
.page-faq summary{ cursor:pointer; font:500 17px/1.5 var(--display); padding:22px 30px 22px 0; }
.page-faq p{ padding:0 0 25px; color:#62796a; font-size:14px; line-height:1.85; }
.route-grid{ margin-top:35px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.route-grid > a{ background:#ffffff90; border:1px solid #d2dfd0; padding:27px; border-radius:7px; }
.route-grid h3{ font:500 24px var(--display); margin-bottom:15px; }
.route-grid p{ font-size:13px; line-height:1.8; color:#708573; }
.route-grid span{ display:block; margin-top:20px; color:#4a815c; font-size:12px; }
.catalogue-header{ display:flex; justify-content:space-between; align-items:center; gap:30px; }
.catalogue-header label{ font-size:11px; width:300px; }
.catalogue-count{ color:#7b927f; font-size:12px; margin:25px 0; }
.catalogue-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.catalogue-grid article{ border:1px solid #d9e4d4; background:white; padding:25px; border-radius:8px; }
.catalogue-grid article[hidden]{ display:none; }
.catalogue-grid img{ object-fit:contain; width:38px; height:38px; }
.catalogue-grid h3{ font:500 19px/1.4 var(--display); margin:20px 0; }
.catalogue-grid a{ font-size:11px; color:#528261; }
.inline-routes{ display:flex; justify-content:space-between; gap:25px; margin-bottom:50px; font-size:14px; }
.customer-detail{ max-width:950px; }
.customer-detail p{ max-width:650px; font-size:16px; line-height:1.9; color:#698170; margin:25px 0; }
.customer-detail h3{ margin-top:50px; font:500 25px var(--display); }
.customer-directory-list{ display:grid; grid-template-columns:repeat(3,1fr); list-style:none; padding:25px 0; gap:20px; color:#65836d; }
.legal-copy{ max-width:800px; }
.legal-copy h1{; letter-spacing:-1px; }
.legal-copy p{ font-size:15px; line-height:1.9; margin:25px 0; }
.campaign-hero{ background:radial-gradient(ellipse at 5% 15%,#224d34,#0c1a15 70%); padding:60px 0 70px; color:#f0f6ef; }
.campaign-grid{ display:grid; grid-template-columns:1.2fr 1fr; gap:75px; align-items:start; }
.campaign-copy{ padding-top:31px; }
.campaign-copy .text-link{ color:#a6edc7; font-size:14px; margin-top:20px; }
.campaign-fit{ color:#a2b8aa; font-size:13px; line-height:1.8; margin-top:30px; }
.system-tags{ display:flex; flex-wrap:wrap; gap:10px; margin-top:26px; }
.system-tags span{ border:1px solid #456b53; border-radius:5px; padding:10px 14px; font-size:12px; color:#bfd9c6; }
.campaign-proof{ border-top:1px solid #d8e3d4; border-bottom:1px solid #d8e3d4; background:#f2f4eb; padding:32px 0; }
.campaign-proof .container{ display:flex; gap:65px; align-items:center; }
.campaign-proof .container > span{ font-size:9px; letter-spacing:1.4px; color:#8b9e83; flex-shrink:0; }
.campaign-proof p{ font-size:13px; line-height:1.8; color:#64765d; }
.campaign-proof strong{ display:block; font:500 22px/1.4 var(--display); color:#3f5636; margin-bottom:7px; }
.campaign-last{ display:flex; justify-content:space-between; align-items:center; gap:30px; padding-top:40px; padding-bottom:65px; }
.campaign-last h2{ font:500 31px var(--display); letter-spacing:-.8px; }
.campaign-footer{ display:flex; gap:25px; align-items:center; border-top:1px solid #d5dfd0; padding-top:30px; padding-bottom:30px; font-size:11px; color:#6e856f; }
.review-table{ width:100%; border-collapse:collapse; margin-top:40px; }
.review-table th,
.review-table td{ text-align:left; padding:20px 15px; border-bottom:1px solid #d2dfcc; font-size:14px; }
.review-table a{ color:#4b895d; text-decoration:underline; }
.inner-page .footer-links{ grid-template-columns:repeat(3,1fr); }
.record-section{ background:#f4f7ef; padding:75px 0; color:#1e432c; }
.record-section .eyebrow{ color:#719179; font-size:9px; margin-bottom:17px; }
.record-demo{ border:1px solid #ccdcca; border-radius:12px; overflow:hidden; background:#fff; }
.record-demo-top{ display:flex; justify-content:space-between; align-items:center; padding:20px 28px; background:#e6efe0; border-bottom:1px solid #ccdcca; }
.record-demo-top small{ display:block; font-size:8px; color:#7a957d; letter-spacing:1.2px; margin-bottom:6px; }
.record-demo-top strong{ font:500 24px var(--display); }
.record-sample{ color:#7f967f; font-size:10px; }
.record-demo-body{ display:grid; grid-template-columns:1fr 1.1fr; }
.record-stages{ display:flex; flex-direction:column; padding:22px; gap:9px; background:#f7faf4; }
.record-stages button{ display:flex; align-items:center; gap:18px; text-align:left; border:1px solid transparent; padding:16px; border-radius:7px; background:transparent; color:#456b50; cursor:pointer; }
.record-stages button[aria-selected=true]{ background:#fff; border-color:#8dba95; box-shadow:0 5px 15px #29442209; }
.record-stages button > span{ font-size:10px; color:#8ca28c; }
.record-stages button div{ font:500 15px var(--display); }
.record-stages button small{ display:block; font:400 10px/1.8 var(--body,sans-serif); color:#849782; margin-top:4px; }
.record-stages button b{ margin-left:auto; font-size:13px; color:#77a681; }
.record-detail{ padding:32px 36px; }
.record-state{ font-size:8px; letter-spacing:1.2px; color:#5e966b; }
.record-detail h3{ font:500 26px/1.25 var(--display); letter-spacing:-.6px; margin:15px 0; }
.record-detail > p{ font-size:13px; color:#71876e; line-height:1.8; }
.record-detail dl{ margin-top:24px; }
.record-detail dl div{ display:flex; justify-content:space-between; gap:20px; border-bottom:1px solid #e0e9dc; padding:11px 0; font-size:11px; }
.record-detail dt{ color:#8a9c83; }
.record-detail dd{ text-align:right; }
.record-detail .record-footnote{ font-size:10px; margin-top:20px; color:#91a18a; }
.record-after{ display:flex; justify-content:space-between; gap:25px; margin-top:24px; font-size:12px; color:#82997e; }
.record-after .text-link{ font-size:12px; }


@media(max-width:1100px) {.page-hero-grid,
.campaign-grid,
.contact-layout{ gap:40px; }
.catalogue-grid{ grid-template-columns:repeat(3,1fr); }

 }


@media(max-width:900px) {.page-hero-grid,
.campaign-grid,
.contact-layout{ grid-template-columns:1fr; }
.page-hero{ padding:55px 0; }
.hero-editorial{ margin-top:5px; }
.campaign-copy{ padding-top:0; }
.campaign-grid{ max-width:700px; }
.contact-layout{ max-width:750px; }
.contact-layout > div:first-child{ padding-top:0; }
.page-section-head{ display:block; }
.page-section-head > p{ margin-top:20px; max-width:650px; }
.detail-cards{ gap:23px; }
.record-demo-body{ grid-template-columns:1fr 1fr; }
.record-detail{ padding:28px; }
.record-detail h3{ font-size:23px; }

 }


@media(max-width:640px) {.page-section,
.record-section{ padding:45px 0; }
.page-hero h1,
.campaign-copy h1{; letter-spacing:-1.4px; }
.page-lead{ font-size:14px; }
.page-hero-grid{ gap:30px; }
.hero-editorial h3{ font-size:22px; }
.detail-cards,
.route-grid{ grid-template-columns:1fr; gap:28px; }
.detail-cards h3{ margin-top:14px; }
.lead-panel{ padding:23px 18px; }
.field-pair{ gap:10px; }
.campaign-hero{ padding:35px 0 45px; }
.campaign-proof .container{ display:block; }
.campaign-proof p{ margin-top:18px; }
.campaign-last{ display:block; }
.campaign-last h2{ font-size:28px; margin-bottom:25px; }
.campaign-footer{ flex-wrap:wrap; gap:18px; }
.catalogue-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.catalogue-grid article{ padding:18px; }
.catalogue-grid h3{ font-size:16px; }
.catalogue-header{ display:block; }
.catalogue-header label{ display:block; width:100%; margin-top:25px; }
.inline-routes{ flex-direction:column; }
.customer-directory-list{ grid-template-columns:1fr 1fr; font-size:13px; }
.record-demo-body{ grid-template-columns:1fr; }
.record-demo-top{ padding:18px 22px; }
.record-stages{ padding:13px; gap:3px; }
.record-stages button{ padding:12px; }
.record-detail{ border-top:1px solid #d5e2cd; padding:24px; }
.record-after{ display:block; line-height:1.8; }
.record-after a{ margin-top:12px; }
.review-table th,
.review-table td{ padding:15px 7px; font-size:11px; }
.inner-page .footer-links{ grid-template-columns:1fr 1fr; }

 }
.contact-layout h1{; letter-spacing:-1.5px; color:var(--page-ink); }
.page-hero .button{ background:#a5efc7; color:#153d27; }
.record-section{ scroll-margin-top:90px; }


/* Shared hero visuals: component interiors inherit the site grid and type system. */
.hero-visual { min-width:0; border:1px solid #456c52; border-radius:10px; background:#10251bd9; overflow:hidden; }
.visual-heading { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:18px 23px; border-bottom:1px solid #355540; color:var(--hero-eyebrow); font-size:12px; letter-spacing:1.2px; }
.visual-symbol { color:var(--hero-accent); font-size:23px; line-height:1; }
.hero-visual-caption { padding:22px 24px; border-top:1px solid #355540; }
.hero-visual-caption h3 { font:500 22px/1.3 var(--display); letter-spacing:-.5px; color:#e5f3e8; margin-bottom:10px; }
.hero-visual-caption p { color:#adc1b2; font-size:14px; line-height:1.8; margin:0; }
.visual-link { display:flex; justify-content:space-between; color:var(--hero-accent); font-size:14px; margin-top:18px; }
.scenario-tabs { display:flex; gap:4px; padding:16px 15px 0; }
.scenario-tabs button { flex:1; border:1px solid transparent; border-radius:5px; background:transparent; color:#adc1b2; padding:9px 7px; font:500 12px/1.4 var(--body); cursor:pointer; }
.scenario-tabs button[aria-pressed=true] { border-color:#547b60; color:#d4f0de; background:#244832; }
.scenario-scene { padding:24px; }
.scenario-origin { text-align:center; border:1px solid #547b60; border-radius:6px; padding:16px; background:#1b3928; max-width:290px; margin:auto; }
.scenario-origin>span { display:block; font-size:12px; letter-spacing:1px; color:#9fbea8; }
.scenario-origin strong { display:block; font:500 23px/1.3 var(--display); margin-top:6px; color:#e5f3e8; }
.scenario-bridge { display:flex; flex-direction:column; align-items:center; height:85px; }
.scenario-bridge>span { height:24px; border-left:1px dashed #91dfb7; animation:hero-pulse 2.5s ease-in-out infinite; }
.scenario-bridge img { margin:3px; }
.scenario-destinations { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; border-top:1px solid #547b60; padding-top:17px; }
.scenario-destinations>div { position:relative; text-align:center; padding:15px 6px; background:#1a3625; border:1px solid #456c52; border-radius:5px; }
.scenario-destinations>div:before { content:''; position:absolute; height:17px; width:1px; background:#547b60; left:50%; top:-18px; }
.scenario-glyph { display:block; color:var(--hero-accent); font-size:25px; margin-bottom:8px; line-height:1; }
.scenario-destinations strong { font-size:12px; font-weight:500; color:#d4e8d9; }
.scenario-records { color:#adc1b2; text-align:center; font-size:12px; margin-top:20px; }
.scenario-records i { color:#688e73; font-style:normal; margin:0 10px; }
.integration-visual { border:0; background:transparent; overflow:visible; }
.integration-web { position:relative; height:360px; margin:12px 0; }
.hero-connection-lines { position:absolute; inset:0; width:100%; height:100%; fill:none; stroke:var(--hero-accent); stroke-width:1.5; opacity:.8; }
.hero-connection-lines .connection-track { stroke-dasharray:3 9; animation:hero-connect 6s linear infinite; }
.stack-node { position:absolute; display:flex; flex-direction:column; align-items:center; justify-content:center; width:132px; min-height:114px; padding:15px 12px; gap:5px; border:1px solid #d6e0d5; border-radius:9px; background:#f5f7f4; transform:translate(-50%,-50%); box-shadow:0 8px 24px #06130c20; transition:border-color .3s,box-shadow .3s; }
.stack-logo { height:38px; display:flex; align-items:center; justify-content:center; margin-bottom:3px; }
.stack-logo img { display:block; object-fit:contain; }
.stack-node strong { font:500 14px/1.3 var(--body); color:var(--page-ink); }
.stack-node small { font:400 12px/1.4 var(--body); color:var(--page-muted); }
.stack-node:hover { border-color:var(--hero-accent); box-shadow:0 0 0 4px #91dfb710,0 8px 24px #06130c20; }
.stack-n1 { left:19%; top:23.6%; }.stack-n2 { left:81%; top:23.6%; }.stack-n3 { left:19%; top:76.4%; }.stack-n4 { left:81%; top:76.4%; }
.stack-center { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:70px; height:70px; border:1px solid #547b6055; border-radius:50%; background:#183727; display:grid; place-items:center; box-shadow:0 0 0 10px #91dfb705; }












.hero-visual a:focus-visible,.hero-visual button:focus-visible { outline:2px solid var(--hero-accent); outline-offset:4px; }
@keyframes hero-connect { from { stroke-dashoffset:0; } to { stroke-dashoffset:-48; } }
@keyframes hero-pulse { 50% { opacity:.35; } }
@media(max-width:640px) { .visual-heading { padding:16px 18px; }.scenario-scene { padding:22px 16px; }.scenario-tabs { padding-inline:10px; }.scenario-tabs button { font-size:12px; padding-inline:5px; }.hero-visual-caption { padding:20px; }.integration-web { margin:12px 0; height:350px; }.stack-node { width:106px; min-height:110px; padding:13px 8px; }.stack-center { width:58px; height:58px; }.stack-node strong { font-size:13px; }.stack-node small { font-size:12px; } }
@media(prefers-reduced-motion:reduce) { .hero-visual * { animation:none!important; transition:none!important; } }

/* Floating Solutions scene: reserve text space so scenarios never move the hero. */
.solution-visual { border:0; background:transparent; overflow:visible; }
.solution-visual .visual-heading { border-bottom:0; }
.solution-visual .scenario-tabs button { min-height:48px; }
.solution-visual .scenario-scene { opacity:1; }

.solution-visual .scenario-origin { box-shadow:0 12px 35px #06130c25; }
.solution-visual .scenario-origin>span { min-height:3.3em; display:flex; align-items:center; justify-content:center; }
.solution-visual .scenario-origin strong { min-height:2.6em; display:flex; align-items:center; justify-content:center; }
.solution-visual .scenario-destinations>div { box-shadow:0 10px 25px #06130c20; }
.solution-visual .scenario-destinations strong { display:flex; min-height:3.3em; align-items:center; justify-content:center; }
.solution-visual .scenario-records { min-height:3.3em; }
@media(prefers-reduced-motion:reduce) { .solution-visual .scenario-scene { transition:none; transform:none; } }

.solution-visual .scenario-scene { position:relative; }
.scenario-label-ghost { position:absolute; pointer-events:none; z-index:1; }
.scenario-label-ghost i { color:#688e73; font-style:normal; margin:0 10px; }

.pricing-visual { border:0; background:transparent; overflow:visible; }
/* A single subscription, expressed as an overlapping bundle of capabilities. */
.subscription-bundle { position:relative; height:410px; isolation:isolate; }
.bundle-card { position:absolute; top:65px; width:38%; height:260px; padding:22px 18px; border:1px solid #688c70; border-radius:12px; box-shadow:0 18px 40px #04120935; transform-origin:50% 90%; transition:transform .7s var(--ease); }
.bundle-label { display:block; font:500 10px/1.4 var(--body); letter-spacing:.7px; white-space:normal; }
.bundle-card svg { display:block; width:100%; height:105px; margin:12px 0 13px; fill:none; stroke:currentColor; stroke-width:1.5; }
.bundle-card strong { display:block; font:500 20px/1.2 var(--display); letter-spacing:-.5px; }
.bundle-connect { left:5%; top:65px; background:#244733; color:#c1dfcb; transform:rotate(-12deg); z-index:1; animation:bundle-left 8s ease-in-out infinite; }
.bundle-connect svg rect { fill:#244733; }
.bundle-build { left:31%; top:25px; background:#def0dc; color:#234d30; z-index:3; transform:rotate(0); animation:bundle-middle 8s ease-in-out infinite; }
.bundle-build svg rect,.bundle-build svg path:nth-child(3) { fill:#def0dc; }
.bundle-run { right:5%; top:65px; background:#365c41; color:#e0f0df; transform:rotate(12deg); z-index:2; animation:bundle-right 8s ease-in-out infinite; }
.bundle-scope { display:block; font:400 11px/1.5 var(--body); color:#557b5d; margin-top:9px; }
/* An outlined approval stamp, using the existing brand type and accent. */
.bundle-seal { position:absolute; left:50%; top:320px; transform:translateX(-50%); z-index:4; padding:9px 15px; border:3px double var(--hero-accent); border-radius:3px; color:var(--hero-accent); opacity:.85; }
.bundle-seal span { display:block; font:600 17px/1.1 var(--display); letter-spacing:3px; }
@keyframes bundle-left { 50% { transform:rotate(-14deg) translateY(-5px); } }
@keyframes bundle-middle { 50% { transform:translateY(-7px); } }
@keyframes bundle-right { 50% { transform:rotate(14deg) translateY(-5px); } }
@media(max-width:640px) {
 .subscription-bundle { height:320px; margin-inline:3px; }
 .bundle-card { padding:17px 9px; height:212px; width:38%; }
 .bundle-label { font-size:9px; letter-spacing:0; min-height:26px; }
 .bundle-card strong { font-size:15px; letter-spacing:-.3px; }
 .bundle-card svg { height:70px; margin:8px 0 12px; }
 .bundle-scope { font-size:9px; line-height:1.3; }
 .bundle-seal { top:274px; padding:7px 12px; }
 .bundle-seal span { font-size:13px; letter-spacing:2px; }
}

/* Pricing details: delivery narrative followed by commercial terms. */
.pricing-delivery { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:start; }
.pricing-delivery>div>p,.pricing-terms-heading p { color:var(--page-muted); font-size:15px; line-height:1.85; margin-top:24px; max-width:440px; }
.delivery-outcomes article { display:flex; gap:24px; padding:27px 0; border-bottom:1px solid #c7d6c8; }
.delivery-outcomes article:first-child { padding-top:0; }
.delivery-outcomes article>span { color:#52765b; font-size:30px; width:36px; flex-shrink:0; line-height:1.2; }
.delivery-outcomes h3 { font:500 24px/1.25 var(--display); letter-spacing:-.6px; }
.delivery-outcomes p { color:var(--page-muted); font-size:14px; line-height:1.8; margin-top:10px; }
.pricing-terms-heading { text-align:center; }
.pricing-terms-heading p { margin:22px auto 0; max-width:530px; }
.subscription-equation { display:grid; grid-template-columns:.7fr 1fr 1.3fr; margin-top:54px; }
.subscription-equation>div { padding:0 38px; border-left:1px solid #becfbc; }
.subscription-equation>div:first-child { border-left:0; padding-left:0; }
.subscription-equation>div:last-child { padding-right:0; }
.subscription-equation dt { font-size:13px; color:var(--page-muted); }
.subscription-equation dd { font:500 clamp(29px,3.4vw,48px)/1.15 var(--display); letter-spacing:-1.3px; margin:14px 0 18px; color:var(--page-ink); }
.subscription-equation p { font-size:14px; line-height:1.8; color:var(--page-muted); max-width:330px; }
@media(max-width:800px) {
 .pricing-delivery { grid-template-columns:1fr; gap:38px; }
 .subscription-equation { grid-template-columns:1fr; margin-top:35px; }
 .subscription-equation>div,.subscription-equation>div:first-child,.subscription-equation>div:last-child { padding:26px 0; border-left:0; border-top:1px solid #becfbc; }
 .pricing-terms-heading { text-align:left; }
 .pricing-terms-heading p { margin-left:0; }
}

/* Platform lifecycle uses the shared section, grid boundary and typography. */
.lifecycle-graph { padding-top:25px; }
.lifecycle-stages { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; padding:0; margin:0; gap:58px; }
.lifecycle-stages li { position:relative; text-align:center; }
.lifecycle-stages li:not(:last-child)::after { content:''; position:absolute; top:49px; left:calc(50% + 64px); width:calc(100% - 70px); height:1px; background:#a2baa6; }
.lifecycle-stages li:not(:last-child)::before { content:''; position:absolute; top:46px; left:calc(50% + 64px); width:7px; height:7px; border-radius:50%; background:#527b5e; z-index:1; animation:lifecycle-travel 4s ease-in-out infinite; }
.lifecycle-stages li:nth-child(2)::before { animation-delay:2s; }
.lifecycle-node { display:grid; place-items:center; position:relative; width:100px; height:100px; margin:0 auto 29px; border:1px solid #aac4af; border-radius:50%; background:#edf4e9; box-shadow:0 0 0 9px #edf4e950; }
.lifecycle-node svg { width:44px; height:44px; fill:none; stroke:#335a40; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.lifecycle-node-ready { background:#173e2a; border-color:#173e2a; }.lifecycle-node-ready svg { stroke:#a5efc7; }
.lifecycle-phase { font:500 11px/1.5 var(--body); letter-spacing:1.4px; color:#65826c; }
.lifecycle-stages h3 { font:500 24px/1.25 var(--display); letter-spacing:-.6px; margin:0 0 12px; min-height:2.5em; }
.lifecycle-stages p { font-size:14px; line-height:1.85; color:var(--page-muted); max-width:320px; margin:auto; text-align:left; }
.lifecycle-feedback { position:relative; margin-top:30px; padding-bottom:12px; text-align:center; }
.lifecycle-feedback svg { display:block; width:100%; height:65px; fill:none; stroke:#92ad98; stroke-width:1; stroke-dasharray:4 5; }
.lifecycle-feedback span { display:inline-block; position:relative; margin-top:-5px; padding:0 16px; font-size:12px; color:var(--page-muted); }
@keyframes lifecycle-travel { 0% { left:calc(50% + 64px); opacity:0; } 15%,80% { opacity:1; } 100% { left:calc(150% - 6px); opacity:0; } }
@media(max-width:800px) { .lifecycle-stages { grid-template-columns:1fr; gap:36px; }.lifecycle-stages li { text-align:left; padding-left:90px; min-height:120px; }.lifecycle-node { position:absolute; left:0; top:0; width:62px; height:62px; box-shadow:none; }.lifecycle-node svg { width:31px; height:31px; }.lifecycle-stages h3 { font-size:23px; min-height:0; }.lifecycle-stages p { max-width:none; }.lifecycle-stages li:not(:last-child)::after { left:30px; top:76px; width:1px; height:calc(100% - 52px); }.lifecycle-stages li:not(:last-child)::before { display:none; }.lifecycle-feedback { margin-top:26px; border-left:1px dashed #92ad98; margin-left:30px; text-align:left; padding:8px 0 8px 22px; }.lifecycle-feedback svg { display:none; }.lifecycle-feedback span { padding:0; line-height:1.7; margin:0; } }
@media(prefers-reduced-motion:reduce) { .lifecycle-stages li::before { animation:none!important; } }

/* Center the lifecycle title over its three stages. */
body main .platform-lifecycle .page-section-head { align-items:center; text-align:center; }

/* Initiative pitches give each business case room without boxed card layouts. */
.initiative-pitch { display:grid; grid-template-columns:1fr 1fr; gap:90px; padding:60px 0; }
.initiative-label { display:block; font:500 12px/1.5 var(--body); letter-spacing:1.4px; color:#52765b; margin-bottom:20px; }
.initiative-story h3 { font:500 clamp(28px,2.6vw,37px)/1.18 var(--display); letter-spacing:-1px; margin:0 0 24px; }
.initiative-story p,.initiative-benefits p { font-size:15px; line-height:1.85; color:var(--page-muted); }
.initiative-story p+p { margin-top:17px; }
.initiative-benefits h4 { font:500 20px/1.3 var(--display); color:var(--page-ink); margin:0 0 9px; }
.initiative-benefits p+h4 { margin-top:26px; }
.initiative-commercial { display:flex; align-items:center; justify-content:space-between; gap:40px; padding-top:30px; border-top:1px solid #c7d6c8; }
.initiative-commercial p { max-width:820px; font-size:14px; line-height:1.85; color:var(--page-muted); }
.initiative-commercial strong { color:var(--page-ink); font-weight:500; }
.initiative-commercial .button { flex-shrink:0; }
@media(max-width:800px) { .initiative-pitch { grid-template-columns:1fr; gap:30px; padding:36px 0; }.initiative-commercial { display:block; }.initiative-commercial .button { display:inline-flex; margin-top:22px; } }

/* Integration path links stay attached to their system pairing and use case. */
.integration-path-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.integration-path { display:flex; flex-direction:column; padding:30px; border:1px solid #d1dfce; border-radius:10px; background:#f1f6ed; color:var(--page-ink); transition:background .2s,border-color .2s; }
.integration-path:hover { background:#e7f1e1; border-color:#85a58b; }
.integration-path:focus-visible { outline:2px solid #335a40; outline-offset:4px; }
.path-category { font:500 10px/1.5 var(--body); letter-spacing:1.2px; color:var(--page-muted); }
.path-pair { display:flex; align-items:center; gap:10px; margin:0 0 28px; }
.path-pair>span { padding:9px 12px; background:#fff; border:1px solid #dae5d6; border-radius:5px; font:500 14px/1.4 var(--body); }
.path-pair i { font-style:normal; color:#71967c; font-size:20px; }
.integration-path h3 { font:500 24px/1.25 var(--display); letter-spacing:-.6px; margin-bottom:16px; }
.integration-path p { font-size:14px; line-height:1.8; color:var(--page-muted); margin-bottom:30px; }
.path-action { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:auto; padding-top:20px; border-top:1px solid #d1dfce; font:500 13px/1.5 var(--body); }
.path-action b { font-size:19px; font-weight:400; }
@media(max-width:1050px) { .integration-path { padding:23px; }.path-pair { gap:7px; }.path-pair>span { padding:8px; font-size:12px; } }
@media(max-width:800px) { .integration-path-grid { grid-template-columns:1fr; }.integration-path { padding:26px; }.path-pair>span { font-size:14px; }.integration-path h3 br { display:none; } }

.initiative-band { scroll-margin-top:100px; }
.initiative-reversed .initiative-story { grid-column:2; grid-row:1; }
.initiative-reversed .initiative-benefits { grid-column:1; grid-row:1; }
@media(max-width:800px) {
 .initiative-reversed .initiative-story,.initiative-reversed .initiative-benefits { grid-column:auto; grid-row:auto; }
}

.initiative-story { align-self:center; }

/* Give the short initiative pitch more breathing room beside the benefits. */
@media(min-width:1101px) {
 .initiative-pitch { grid-template-columns:calc((100% - 90px) / 2 - 60px) calc((100% - 90px) / 2); gap:150px; }
 .initiative-reversed .initiative-pitch { grid-template-columns:calc((100% - 90px) / 2) calc((100% - 90px) / 2 - 60px); }
}
.solution-initiatives { padding-top:0; }
.initiative-story h3:last-child { margin-bottom:0; }

.home-integration-paths .integration-path-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media(max-width:800px) { .home-integration-paths .integration-path-grid { grid-template-columns:1fr; } }
