:root {
  --ink: #13251f;
  --ink-soft: #3f554c;
  --paper: #f7f9f5;
  --white: #ffffff;
  --line: #dce4dd;
  --green: #176b4d;
  --green-dark: #0d4936;
  --mint: #c8f0df;
  --blue: #315fa8;
  --amber: #c17b18;
  --red: #a7443f;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: Manrope, sans-serif; }
a { color: inherit; text-decoration: none; }
.inline-link { color: var(--green); font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
svg { width: 1.1rem; height: 1.1rem; stroke-width: 1.9; }
.site-shell { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.site-header { position: sticky; top: 0; z-index: 50; border-bottom: 1px solid rgba(19, 37, 31, .1); background: rgba(247, 249, 245, .92); backdrop-filter: blur(18px); }
.site-header__inner { display: flex; min-height: 74px; align-items: center; justify-content: space-between; gap: 2rem; }
.wordmark { display: inline-flex; align-items: center; gap: .7rem; }
.wordmark__mark { display: grid; width: 2.35rem; height: 2.35rem; place-items: center; border-radius: 7px; color: white; background: var(--green); }
.wordmark__mark svg { width: 1.3rem; height: 1.3rem; }
.wordmark strong, .wordmark small { display: block; letter-spacing: 0; }
.wordmark strong { font-size: .95rem; font-weight: 800; }
.wordmark small { margin-top: .03rem; color: #6c7c74; font-size: .62rem; font-weight: 700; }
.site-nav { display: flex; align-items: center; gap: 1.65rem; font-size: .78rem; font-weight: 700; }
.site-nav > a:not(.button):hover { color: var(--green); }
.button { display: inline-flex; min-height: 3rem; align-items: center; justify-content: center; gap: .55rem; border: 1px solid var(--green); border-radius: 6px; padding: .75rem 1.1rem; color: #fff; background: var(--green); font-size: .78rem; font-weight: 800; transition: background 160ms ease, border-color 160ms ease, transform 160ms ease; }
.button:hover { border-color: var(--green-dark); background: var(--green-dark); transform: translateY(-1px); }
.button--small { min-height: 2.55rem; padding: .58rem .86rem; }
.button--outline { color: var(--ink); border-color: #bdc9c1; background: #fff; }
.button--outline:hover { color: #fff; }
.mobile-menu { display: none; width: 2.5rem; height: 2.5rem; place-items: center; border: 1px solid var(--line); border-radius: 6px; color: var(--ink); background: white; }
.site-flashes { position: fixed; z-index: 80; top: 5.5rem; left: 50%; width: min(32rem, calc(100% - 2rem)); transform: translateX(-50%); }
.site-flash { border: 1px solid #edb9b4; border-radius: 6px; padding: .8rem 1rem; color: #7e2723; background: #fff2f1; box-shadow: 0 18px 50px -30px #251915; font-size: .78rem; font-weight: 700; }
.hero { min-height: calc(100vh - 74px); overflow: hidden; color: #edf7f1; background: #102820; }
.hero__inner { display: grid; min-height: calc(100vh - 74px); grid-template-columns: .77fr 1.23fr; align-items: center; gap: clamp(2.5rem, 5vw, 5.5rem); padding-block: 5rem 4rem; }
.eyebrow { display: flex; align-items: center; gap: .6rem; margin: 0; color: #a9ddc6; font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.eyebrow > span { width: 1.4rem; height: 1px; background: currentColor; }
.eyebrow--dark { color: var(--green); }
.hero h1 { margin: 1rem 0 0; color: #fff; font-family: Newsreader, serif; font-size: clamp(4.8rem, 9vw, 8.2rem); font-weight: 600; letter-spacing: 0; line-height: .86; }
.hero__statement { max-width: 36rem; margin: 1.5rem 0 0; color: #c6d5ce; font-size: clamp(1.05rem, 1.7vw, 1.28rem); line-height: 1.65; }
.hero__actions { display: flex; align-items: center; gap: 1.2rem; margin-top: 2rem; }
.text-link { display: inline-flex; align-items: center; gap: .45rem; color: inherit; font-size: .78rem; font-weight: 800; }
.text-link svg { width: .95rem; }
.hero__proof { display: flex; flex-wrap: wrap; gap: 1rem 1.4rem; margin-top: 2.2rem; color: #aebfb7; font-size: .7rem; font-weight: 700; }
.hero__proof span { display: inline-flex; align-items: center; gap: .35rem; }
.hero__proof svg { width: .8rem; color: #70d6a7; }
.product-scene { position: relative; min-width: 0; border: 1px solid rgba(255, 255, 255, .17); border-radius: 8px; background: #f6f8f6; box-shadow: 0 45px 100px -38px rgba(0, 0, 0, .72); transform: perspective(1300px) rotateY(-5deg); transform-origin: right center; }
.product-scene__bar { display: flex; height: 3rem; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid #dce3de; padding: 0 .8rem; color: #53675e; font-size: .58rem; font-weight: 800; }
.product-scene__brand { display: flex; align-items: center; gap: .35rem; color: var(--green-dark); }
.product-scene__brand svg { width: .8rem; }
.product-scene__search { display: flex; width: 38%; align-items: center; gap: .35rem; border: 1px solid #dce3de; border-radius: 5px; padding: .42rem .55rem; color: #7c8b84; background: #fff; }
.product-scene__search svg { width: .7rem; }
.product-scene__avatar { display: grid; width: 1.75rem; height: 1.75rem; place-items: center; border-radius: 50%; color: #fff; background: var(--green); }
.product-scene__body { display: grid; grid-template-columns: 3.3rem 1fr; min-height: 34rem; }
.product-scene__rail { display: flex; flex-direction: column; align-items: center; gap: .8rem; border-right: 1px solid #dce3de; padding-top: 1rem; color: #839087; }
.product-scene__rail svg { width: 2rem; height: 2rem; border-radius: 5px; padding: .48rem; }
.product-scene__rail .is-active { color: var(--green); background: #e2f0e8; }
.product-scene__canvas { min-width: 0; padding: 1.1rem; color: var(--ink); }
.scene-heading, .scene-heading > div, .scene-chart > div { display: flex; align-items: center; justify-content: space-between; }
.scene-heading > div { align-items: flex-start; flex-direction: column; }
.scene-heading small { color: #809087; font-size: .55rem; }
.scene-heading strong { margin-top: .16rem; font-size: .9rem; }
.scene-heading button { display: flex; align-items: center; gap: .25rem; border: 0; border-radius: 5px; padding: .42rem .58rem; color: white; background: var(--green); font-size: .57rem; font-weight: 800; }
.scene-heading button svg { width: .7rem; }
.scene-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: .6rem; margin-top: 1rem; }
.scene-metrics article, .scene-chart, .scene-activity { border: 1px solid #dce3de; border-radius: 6px; padding: .75rem; background: #fff; }
.scene-metrics span, .scene-metrics small { display: block; color: #798980; font-size: .52rem; }
.scene-metrics strong { display: block; margin: .25rem 0; font-size: 1.05rem; }
.scene-metrics .good { color: var(--green); }
.scene-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: .6rem; margin-top: .6rem; }
.scene-chart, .scene-activity { min-height: 13rem; }
.scene-chart strong, .scene-activity > strong { font-size: .68rem; }
.scene-chart span { color: #839087; font-size: .48rem; }
.scene-chart__bars { display: flex; height: 9rem; align-items: end; gap: .42rem; padding-top: 1.1rem; }
.scene-chart__bars i { flex: 1; min-height: .5rem; border-radius: 2px 2px 0 0; background: #4d8e71; }
.scene-activity p { display: flex; align-items: flex-start; gap: .5rem; margin: .8rem 0 0; font-size: .55rem; font-weight: 700; }
.scene-activity small { display: block; margin-top: .1rem; color: #849189; font-size: .46rem; font-weight: 500; }
.dot { width: .4rem; height: .4rem; flex: 0 0 auto; margin-top: .1rem; border-radius: 50%; background: var(--green); }
.dot--blue { background: var(--blue); }
.dot--amber { background: var(--amber); }
.scene-float { position: absolute; display: flex; align-items: center; gap: .55rem; border: 1px solid rgba(19, 37, 31, .13); border-radius: 6px; padding: .65rem .8rem; color: var(--ink); background: rgba(255, 255, 255, .96); box-shadow: 0 18px 45px -24px #081510; transform: translateZ(20px); }
.scene-float svg { color: var(--green); }
.scene-float strong, .scene-float small { display: block; }
.scene-float strong { font-size: .58rem; }
.scene-float small { margin-top: .08rem; color: #718077; font-size: .48rem; }
.scene-float--one { right: -1.5rem; bottom: 5.5rem; }
.scene-float--two { left: -2.2rem; top: 8rem; }
.platform-intro { padding: 7rem 0 5rem; background: #fff; }
.platform-intro__grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 6rem; }
.platform-intro h2, .section-heading h2, .customer-view h2, .closing-cta h2, .checkout-copy h2 { max-width: 45rem; margin: 1rem 0 0; font-family: Newsreader, serif; font-size: clamp(2.7rem, 5vw, 4.8rem); font-weight: 600; letter-spacing: 0; line-height: .98; }
.platform-intro__grid > div:last-child { padding-top: 1.5rem; color: var(--ink-soft); font-size: 1.02rem; line-height: 1.8; }
.platform-intro__grid > div:last-child p { margin: 0 0 1rem; }
.outcome-strip { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 5rem; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.outcome-strip span { padding: 1.2rem 0; font-size: .75rem; font-weight: 800; }
.outcome-strip strong { margin-right: .7rem; color: #849189; font-size: .62rem; }
.modules { padding: 6rem 0; }
.section-heading { display: grid; grid-template-columns: 1fr .55fr; align-items: end; gap: 4rem; }
.section-heading > p { margin: 0; color: var(--ink-soft); line-height: 1.75; }
.module-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin-top: 3.5rem; border: 1px solid var(--line); background: var(--line); }
.module { position: relative; min-height: 22rem; overflow: hidden; padding: 2rem; background: #fff; }
.module--wide { grid-column: 1 / -1; min-height: 25rem; }
.module__icon { display: grid; width: 2.7rem; height: 2.7rem; place-items: center; border-radius: 6px; color: var(--blue); background: #e6edf8; }
.module__icon--green { color: var(--green); background: #e3f1ea; }
.module__icon--amber { color: var(--amber); background: #f7ecd9; }
.module__icon--red { color: var(--red); background: #f6e6e4; }
.module > p { margin: 1.6rem 0 .5rem; color: #718077; font-size: .65rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.module h3 { max-width: 34rem; margin: 0; font-family: Newsreader, serif; font-size: clamp(2rem, 3.3vw, 3.2rem); font-weight: 600; line-height: 1; }
.module > span:not(.module__icon) { display: block; max-width: 31rem; margin-top: 1rem; color: var(--ink-soft); font-size: .87rem; line-height: 1.7; }
.pipeline { position: absolute; right: 4rem; bottom: 3rem; display: flex; width: 38%; height: 10rem; align-items: end; gap: .7rem; }
.pipeline i { flex: 1; height: 90%; background: #d9e9e0; }
.pipeline i:nth-child(2) { height: 72%; background: #b8d8c8; }
.pipeline i:nth-child(3) { height: 54%; background: #8dbda5; }
.pipeline i:nth-child(4) { height: 35%; background: #4d8e71; }
.module--ink { color: #edf7f1; background: #173229; }
.module--ink .module__icon { color: #b8ecd4; background: rgba(255, 255, 255, .08); }
.module--ink > p, .module--ink > span:not(.module__icon) { color: #b3c8be; }
.module__flow { position: absolute; right: 3rem; bottom: 3.5rem; display: flex; width: 45%; align-items: center; }
.module__flow span { flex: 0 0 auto; border: 1px solid rgba(255, 255, 255, .18); border-radius: 5px; padding: .65rem .8rem; color: #e6f4ed; font-size: .65rem; font-weight: 800; }
.module__flow i { height: 1px; flex: 1; background: #6e9c87; }
.customer-view { padding: 6rem 0; color: #edf7f1; background: #2c3f64; }
.customer-view__grid { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 6rem; }
.customer-view h2 { margin-bottom: 1.4rem; color: #fff; }
.customer-view__grid > div:last-child > p:not(.eyebrow) { color: #c9d1df; line-height: 1.75; }
.text-link--light { margin-top: 1rem; color: #fff; }
.portal-window { overflow: hidden; border: 1px solid rgba(255, 255, 255, .18); border-radius: 8px; color: var(--ink); background: #f6f8f6; box-shadow: 0 35px 80px -34px #0a1120; transform: rotate(-2deg); }
.portal-window__top { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #dbe3dd; padding: 1rem; font-size: .72rem; font-weight: 800; }
.portal-window__top small { color: #718077; }
.portal-window__content { padding: 2.2rem; }
.portal-window__content > p { margin: 0; color: #718077; font-size: .7rem; font-weight: 800; }
.portal-window__content > strong { display: block; max-width: 24rem; margin-top: .5rem; font-family: Newsreader, serif; font-size: 2.2rem; line-height: 1; }
.portal-window__content > div { display: grid; grid-template-columns: repeat(3, 1fr); gap: .5rem; margin-top: 2rem; }
.portal-window__content > div span { border: 1px solid #dbe3dd; border-radius: 6px; padding: 1rem; background: white; font-size: .58rem; }
.portal-window__content b { display: block; margin-bottom: .4rem; color: var(--green); font-size: 1.25rem; }
.closing-cta { padding: 6.5rem 0; background: #fff; }
.closing-cta__inner { display: grid; grid-template-columns: 1fr .65fr; gap: 6rem; align-items: end; }
.closing-cta__inner > div:last-child p { color: var(--ink-soft); line-height: 1.7; }
.site-footer { padding: 4rem 0 1.5rem; color: #d9e4de; background: #0e211a; }
.site-footer__grid { display: grid; grid-template-columns: 1.4fr .5fr .7fr; gap: 5rem; }
.wordmark--footer .wordmark__mark { color: var(--green-dark); background: #bfe8d4; }
.wordmark--footer small { color: #8ca299; }
.site-footer__grid > div { display: flex; flex-direction: column; align-items: flex-start; gap: .65rem; font-size: .74rem; }
.site-footer__grid > div:first-child p { max-width: 24rem; color: #8fa49a; line-height: 1.7; }
.site-footer__grid > div > strong { margin-bottom: .35rem; color: #fff; font-size: .67rem; letter-spacing: .06em; text-transform: uppercase; }
.site-footer__grid > div > a, .site-footer__grid > div > span { color: #9fb1a8; }
.site-footer__bottom { display: flex; justify-content: space-between; margin-top: 3rem; border-top: 1px solid rgba(255, 255, 255, .1); padding-top: 1.2rem; color: #82978d; font-size: .63rem; }
.pricing-hero { padding: 6.5rem 0 4rem; text-align: center; background: #fff; }
.pricing-hero__inner { display: flex; flex-direction: column; align-items: center; }
.pricing-hero h1, .confirmation h1 { max-width: 58rem; margin: 1rem auto 0; font-family: Newsreader, serif; font-size: clamp(3.3rem, 6vw, 5.8rem); font-weight: 600; line-height: .93; }
.pricing-hero__inner > p:last-of-type { max-width: 42rem; color: var(--ink-soft); line-height: 1.7; }
.billing-switch { display: inline-flex; margin-top: 1.5rem; border: 1px solid var(--line); border-radius: 7px; padding: .25rem; background: var(--paper); }
.billing-switch button { min-height: 2.45rem; border: 0; border-radius: 5px; padding: .5rem .85rem; color: #65766d; background: transparent; font-size: .72rem; font-weight: 800; }
.billing-switch button.is-active { color: #fff; background: var(--ink); }
.billing-switch span { margin-left: .3rem; color: #70d6a7; font-size: .58rem; }
.pricing-section { padding: 4rem 0 6rem; }
.pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; align-items: stretch; }
.price-plan { position: relative; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 8px; padding: 1.7rem; background: #fff; }
.price-plan--featured { border: 2px solid var(--green); }
.price-plan__flag { position: absolute; top: 0; right: 1.2rem; margin: 0; border-radius: 0 0 5px 5px; padding: .42rem .65rem; color: #fff; background: var(--green); font-size: .55rem; font-weight: 800; text-transform: uppercase; }
.price-plan__head > span { font-size: 1rem; font-weight: 800; }
.price-plan__head p { min-height: 3.4rem; color: var(--ink-soft); font-size: .76rem; line-height: 1.6; }
.price-plan__price { display: flex; align-items: end; gap: .55rem; margin: 1.6rem 0 .45rem; }
.price-plan__price strong { font-family: Newsreader, serif; font-size: 3rem; font-weight: 600; line-height: .9; }
.price-plan__price span { color: #718077; font-size: .58rem; line-height: 1.35; }
.price-plan__user { min-height: 1.3rem; margin: .65rem 0 1.5rem; color: #50635a; font-size: .68rem; font-weight: 700; }
.price-plan .button { width: 100%; }
.price-plan ul { display: grid; gap: .75rem; margin: 1.6rem 0; padding: 0; list-style: none; }
.price-plan li { display: flex; align-items: flex-start; gap: .5rem; color: #41544b; font-size: .7rem; line-height: 1.5; }
.price-plan li svg { width: .85rem; flex: 0 0 auto; color: var(--green); }
.price-plan > small { margin-top: auto; border-top: 1px solid var(--line); padding-top: 1rem; color: #76857d; font-size: .6rem; font-weight: 700; }
.pricing-add-on-link { padding: 0 0 5rem; }
.pricing-add-on-link__inner { display: flex; align-items: center; justify-content: space-between; gap: 2rem; border: 1px solid var(--line); border-radius: 8px; padding: 1.3rem 1.5rem; background: #fff; }
.pricing-add-on-link__inner > div { display: flex; align-items: center; gap: .8rem; }
.pricing-add-on-link__inner > div > svg { width: 1.35rem; height: 1.35rem; color: var(--green); }
.pricing-add-on-link__inner p { margin: 0; color: var(--ink-soft); font-size: .75rem; }
.pricing-add-on-link__inner strong { display: block; margin-bottom: .1rem; color: var(--ink); font-size: .8rem; }
.checkout-section { padding: 7rem 0; background: #eaf0eb; }
.checkout-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 5rem; align-items: start; }
.checkout-copy { position: sticky; top: 7rem; }
.checkout-copy > p:not(.eyebrow) { color: var(--ink-soft); line-height: 1.75; }
.checkout-note { display: flex; gap: .8rem; margin-top: 2rem; border-top: 1px solid #cfd9d1; padding-top: 1.4rem; }
.checkout-note > svg { flex: 0 0 auto; color: var(--green); }
.checkout-note p { margin: 0; color: #5c6e65; font-size: .72rem; line-height: 1.6; }
.checkout-note strong { display: block; color: var(--ink); }
.checkout-form { border: 1px solid #d3ddd5; border-radius: 8px; padding: clamp(1.3rem, 3vw, 2.2rem); background: #fff; box-shadow: 0 25px 70px -50px #1b2c24; }
.checkout-form__selection { display: grid; grid-template-columns: 1fr 1fr .75fr; gap: .8rem; }
.checkout-form label { display: grid; gap: .4rem; color: var(--ink); font-size: .68rem; font-weight: 800; }
.checkout-form input, .checkout-form select, .checkout-form textarea { width: 100%; border: 1px solid #cfd9d1; border-radius: 5px; outline: none; padding: .75rem .8rem; color: var(--ink); background: white; font-size: .76rem; }
.checkout-form input:focus, .checkout-form select:focus, .checkout-form textarea:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(23, 107, 77, .12); }
.number-stepper { display: grid; grid-template-columns: 2.4rem 1fr 2.4rem; border: 1px solid #cfd9d1; border-radius: 5px; overflow: hidden; }
.number-stepper button { display: grid; place-items: center; border: 0; color: var(--green); background: #f3f6f3; }
.number-stepper button svg { width: .85rem; }
.number-stepper input { border: 0; border-radius: 0; padding-inline: .2rem; text-align: center; }
.checkout-total { display: flex; min-height: 6rem; align-items: end; justify-content: space-between; gap: 1rem; margin: 1.1rem 0 1.5rem; border-radius: 6px; padding: 1rem 1.2rem; color: white; background: var(--ink); }
.checkout-total small, .checkout-total strong { display: block; }
.checkout-total small { color: #a8bdb3; font-size: .58rem; font-weight: 700; }
.checkout-total strong { margin-top: .25rem; font-family: Newsreader, serif; font-size: 2.2rem; font-weight: 600; line-height: 1; }
.checkout-total > span:last-child { color: #a8bdb3; font-size: .62rem; }
.checkout-form__fields { display: grid; grid-template-columns: repeat(2, 1fr); gap: .9rem; }
.checkout-form label > span small { color: #839087; font-weight: 500; }
.field-wide { grid-column: 1 / -1; }
.checkout-form__submit { width: 100%; margin-top: 1.2rem; }
.checkout-form__legal { margin: .8rem 0 0; color: #819087; text-align: center; font-size: .58rem; }
.checkout-form__legal a { color: var(--green); text-decoration: underline; text-underline-offset: 2px; }
.checkout-form__submit:disabled { cursor: wait; opacity: .72; transform: none; }
.checkout-cancelled { display: flex; gap: .8rem; margin-top: 1rem; border: 1px solid #d8c89f; border-radius: 7px; padding: .9rem; color: #66511d; background: #fff9e9; }
.checkout-cancelled svg { flex: 0 0 auto; }
.checkout-cancelled p { margin: 0; font-size: .7rem; line-height: 1.55; }
.checkout-cancelled strong { display: block; }
.confirmation { min-height: 72vh; display: grid; place-items: center; padding: 7rem 0; text-align: center; background: #fff; }
.confirmation__inner { display: flex; flex-direction: column; align-items: center; }
.confirmation__icon { display: grid; width: 4rem; height: 4rem; margin-bottom: 1.3rem; place-items: center; border-radius: 50%; color: white; background: var(--green); }
.confirmation__icon svg { width: 1.8rem; height: 1.8rem; }
.confirmation__inner > p:not(.eyebrow, .confirmation__vat) { max-width: 42rem; color: var(--ink-soft); line-height: 1.7; }
.confirmation__summary { display: grid; width: min(100%, 48rem); grid-template-columns: repeat(4, 1fr); margin-top: 2rem; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); }
.confirmation__summary span { padding: 1.3rem; }
.confirmation__summary span + span { border-left: 1px solid var(--line); }
.confirmation__summary small, .confirmation__summary strong { display: block; }
.confirmation__summary small { color: #718077; font-size: .58rem; font-weight: 700; }
.confirmation__summary strong { margin-top: .35rem; font-size: .85rem; }
.confirmation__vat { color: #718077; font-size: .68rem; }
.add-ons-hero { padding-bottom: 5rem; }
.add-on-catalogue { padding: 6rem 0; }
.add-on-catalogue__intro { display: grid; grid-template-columns: 1fr .55fr; align-items: end; gap: 4rem; }
.add-on-catalogue__intro h2, .add-on-configurator__copy h2 { max-width: 46rem; margin: 1rem 0 0; font-family: Newsreader, serif; font-size: clamp(2.7rem, 5vw, 4.8rem); font-weight: 600; line-height: .98; }
.add-on-catalogue__intro > p { margin: 0; color: var(--ink-soft); line-height: 1.75; }
.add-on-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 3rem; }
.add-on-card { display: flex; min-height: 31rem; flex-direction: column; border: 1px solid var(--line); border-radius: 8px; padding: 1.5rem; background: #fff; }
.add-on-card__top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: #718077; font-size: .58rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.add-on-card__icon { display: grid; width: 2.65rem; height: 2.65rem; place-items: center; border-radius: 6px; color: var(--green); background: #e3f1ea; }
.add-on-card h3 { margin: 1.4rem 0 .55rem; font-family: Newsreader, serif; font-size: 2rem; font-weight: 600; line-height: 1; }
.add-on-card > p:not(.add-on-card__unit) { min-height: 5rem; margin: 0; color: var(--ink-soft); font-size: .73rem; line-height: 1.65; }
.add-on-card__price { display: flex; align-items: end; gap: .5rem; margin-top: 1.3rem; }
.add-on-card__price strong { font-family: Newsreader, serif; font-size: 2.5rem; font-weight: 600; line-height: .9; }
.add-on-card__price span { color: #718077; font-size: .55rem; line-height: 1.4; }
.add-on-card__unit { margin: .65rem 0 0; color: var(--green); font-size: .65rem; font-weight: 800; }
.add-on-card ul { display: grid; gap: .6rem; margin: 1.3rem 0; padding: 0; list-style: none; }
.add-on-card li { display: flex; align-items: flex-start; gap: .45rem; color: #4d6057; font-size: .65rem; }
.add-on-card li svg { width: .8rem; flex: 0 0 auto; color: var(--green); }
.add-on-card > small { margin-top: auto; border-top: 1px solid var(--line); padding-top: .9rem; color: #7a8981; font-size: .56rem; }
.add-on-card .button { width: 100%; margin-top: 1rem; }
.add-on-configurator { padding: 7rem 0; color: #edf7f1; background: #173229; }
.add-on-configurator__grid { display: grid; grid-template-columns: .68fr 1.32fr; gap: 4.5rem; align-items: start; }
.add-on-configurator__copy { position: sticky; top: 7rem; }
.add-on-configurator__copy h2 { color: #fff; }
.add-on-configurator__copy > p:not(.eyebrow) { color: #b6c8bf; line-height: 1.75; }
.upgrade-advice { display: flex; gap: .8rem; margin-top: 1.8rem; border: 1px solid rgba(200, 240, 223, .24); border-radius: 7px; padding: 1rem; background: rgba(200, 240, 223, .08); }
.upgrade-advice[hidden] { display: none; }
.upgrade-advice svg { flex: 0 0 auto; color: #9fe0c1; }
.upgrade-advice p { margin: 0; color: #b9ccc2; font-size: .7rem; line-height: 1.6; }
.upgrade-advice strong { display: block; color: #fff; }
.add-on-form { border-radius: 8px; padding: clamp(1.3rem, 3vw, 2rem); color: var(--ink); background: #fff; }
.add-on-picker { display: grid; grid-template-columns: repeat(2, 1fr); gap: .65rem; margin: 0; border: 0; padding: 0; }
.add-on-picker legend { grid-column: 1 / -1; margin-bottom: .5rem; font-size: .72rem; font-weight: 800; }
.add-on-picker label { position: relative; display: grid; grid-template-columns: 1.5rem 1fr; align-items: center; gap: .65rem; border: 1px solid #d3ddd5; border-radius: 6px; padding: .8rem; cursor: pointer; }
.add-on-picker label:has(input:checked) { border-color: var(--green); background: #edf7f1; }
.add-on-picker input { position: absolute; opacity: 0; pointer-events: none; }
.add-on-picker__check { display: grid; width: 1.4rem; height: 1.4rem; place-items: center; border: 1px solid #b8c5bd; border-radius: 4px; color: transparent; background: white; }
.add-on-picker label:has(input:checked) .add-on-picker__check { color: #fff; border-color: var(--green); background: var(--green); }
.add-on-picker__check svg { width: .78rem; }
.add-on-picker strong, .add-on-picker small { display: block; }
.add-on-picker strong { font-size: .68rem; }
.add-on-picker small { margin-top: .15rem; color: #718077; font-size: .52rem; font-weight: 500; }
.add-on-form__scale { display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem; margin-top: 1.2rem; border-top: 1px solid var(--line); padding-top: 1.2rem; }
.add-on-form label { display: grid; gap: .4rem; font-size: .68rem; font-weight: 800; }
.add-on-form input, .add-on-form select, .add-on-form textarea { width: 100%; border: 1px solid #cfd9d1; border-radius: 5px; outline: none; padding: .75rem .8rem; color: var(--ink); background: white; font-size: .76rem; }
.add-on-form input:focus, .add-on-form select:focus, .add-on-form textarea:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(23, 107, 77, .12); }
.add-on-total { margin-top: 1rem; }
.add-on-confirmation-list { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin-top: 1.5rem; }
.add-on-confirmation-list > span { display: inline-flex; align-items: center; gap: .4rem; border: 1px solid var(--line); border-radius: 5px; padding: .55rem .7rem; color: var(--green-dark); background: var(--paper); font-size: .65rem; font-weight: 800; }
.add-on-confirmation-list svg { width: .85rem; }
.modules-hero { padding: 7rem 0 5rem; background: #fff; }
.modules-hero__grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 5rem; align-items: end; }
.modules-hero h1 { margin: 1rem 0 0; font-family: Newsreader, serif; font-size: clamp(3.4rem, 7vw, 6.4rem); font-weight: 600; line-height: .9; }
.modules-hero__grid > div:last-child > p { color: var(--ink-soft); font-size: 1.02rem; line-height: 1.75; }
.modules-hero .hero__actions { margin-top: 1.6rem; }
.module-catalogue { padding: 6rem 0; }
.module-detail-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; margin-top: 3rem; }
.module-detail { border: 1px solid var(--line); border-radius: 8px; padding: 1.6rem; background: #fff; }
.module-detail--featured { background: #edf7f1; border-color: #b8d8c8; }
.module-detail small { display: block; margin-top: 1.1rem; color: #718077; font-size: .6rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.module-detail h3 { margin: .45rem 0 .6rem; font-family: Newsreader, serif; font-size: 2.05rem; font-weight: 600; line-height: 1; }
.module-detail p { margin: 0; color: var(--ink-soft); font-size: .78rem; line-height: 1.65; }
.module-flow-section { padding: 6rem 0; color: #edf7f1; background: #173229; }
.module-flow-section__grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 5rem; align-items: center; }
.module-flow-section h2 { margin: 1rem 0 0; color: #fff; font-family: Newsreader, serif; font-size: clamp(2.7rem, 5vw, 4.8rem); font-weight: 600; line-height: .98; }
.module-flow-list { display: grid; gap: .7rem; }
.module-flow-list span { display: flex; gap: .8rem; border: 1px solid rgba(255, 255, 255, .14); border-radius: 7px; padding: .9rem 1rem; color: #dbe8e2; background: rgba(255, 255, 255, .05); font-size: .78rem; font-weight: 800; }
.module-flow-list b { color: #9fe0c1; font-size: .68rem; }
.legal-page { min-height: 70vh; padding: 7rem 0; background: #fff; }
.legal-page__inner { width: min(780px, calc(100% - 40px)); }
.legal-page h1 { margin: 1rem 0 0; font-family: Newsreader, serif; font-size: clamp(3rem, 7vw, 5.5rem); font-weight: 600; line-height: .95; }
.legal-page__updated { color: #718077; font-size: .68rem; }
.legal-copy { margin-top: 3rem; border-top: 1px solid var(--line); padding-top: 1rem; }
.legal-copy h2 { margin: 2rem 0 .5rem; font-size: 1rem; }
.legal-copy p { color: var(--ink-soft); line-height: 1.8; }
.legal-copy a { color: var(--green); text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 980px) {
  .hero__inner { grid-template-columns: 1fr; padding-top: 4rem; }
  .product-scene { width: 92%; margin-inline: auto; transform: none; }
  .platform-intro__grid, .customer-view__grid, .closing-cta__inner, .checkout-grid { gap: 3rem; }
  .pricing-grid { grid-template-columns: 1fr; max-width: 42rem; }
  .add-on-grid { grid-template-columns: repeat(2, 1fr); }
  .modules-hero__grid, .module-flow-section__grid { grid-template-columns: 1fr; gap: 3rem; }
  .price-plan__head p { min-height: 0; }
  .checkout-grid { grid-template-columns: 1fr; }
  .checkout-copy { position: static; }
  .add-on-configurator__grid { grid-template-columns: 1fr; }
  .add-on-configurator__copy { position: static; }
}

@media (max-width: 760px) {
  .site-shell { width: min(100% - 28px, 1180px); }
  .mobile-menu { display: grid; }
  .site-nav { position: absolute; top: 74px; right: 14px; left: 14px; display: none; align-items: stretch; flex-direction: column; gap: 0; border: 1px solid var(--line); border-radius: 7px; padding: .65rem; background: white; box-shadow: 0 20px 55px -35px #13251f; }
  .site-nav.is-open { display: flex; }
  .site-nav a { padding: .75rem; }
  .site-nav .button { margin-top: .35rem; }
  .hero { min-height: auto; }
  .hero__inner { min-height: 0; padding-block: 4rem 3rem; }
  .hero h1 { font-size: clamp(4.4rem, 23vw, 6.5rem); }
  .product-scene { width: 100%; }
  .product-scene__body { min-height: 24rem; }
  .scene-grid { grid-template-columns: 1fr; }
  .scene-activity { display: none; }
  .scene-chart { min-height: 10rem; }
  .scene-chart__bars { height: 6rem; }
  .scene-float { display: none; }
  .platform-intro, .modules, .customer-view, .closing-cta, .checkout-section { padding-block: 4.5rem; }
  .platform-intro__grid, .section-heading, .customer-view__grid, .closing-cta__inner { grid-template-columns: 1fr; gap: 2rem; }
  .add-on-catalogue__intro { grid-template-columns: 1fr; gap: 2rem; }
  .add-on-grid { grid-template-columns: 1fr; }
  .module-detail-grid { grid-template-columns: 1fr; }
  .add-on-card { min-height: 0; }
  .add-on-card > p:not(.add-on-card__unit) { min-height: 0; }
  .add-on-picker { grid-template-columns: 1fr; }
  .add-on-form__scale { grid-template-columns: 1fr; }
  .pricing-add-on-link__inner { align-items: flex-start; flex-direction: column; }
  .outcome-strip { grid-template-columns: repeat(2, 1fr); }
  .module-grid { grid-template-columns: 1fr; }
  .module--wide { grid-column: auto; }
  .pipeline, .module__flow { position: static; width: 100%; margin-top: 2rem; }
  .module__flow span { padding-inline: .5rem; font-size: .55rem; }
  .portal-window__content { padding: 1.3rem; }
  .portal-window__content > div { grid-template-columns: 1fr; }
  .site-footer__grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .checkout-form__selection, .checkout-form__fields { grid-template-columns: 1fr; }
  .field-wide { grid-column: auto; }
  .confirmation__summary { grid-template-columns: repeat(2, 1fr); }
  .confirmation__summary span:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  .confirmation__summary span:nth-child(4) { border-top: 1px solid var(--line); }
}

@media (max-width: 480px) {
  .hero__actions { align-items: stretch; flex-direction: column; }
  .hero__actions .text-link { justify-content: center; }
  .hero__proof { flex-direction: column; }
  .product-scene__body { grid-template-columns: 2.6rem 1fr; }
  .product-scene__canvas { padding: .65rem; }
  .scene-metrics { grid-template-columns: 1fr 1fr; }
  .scene-metrics article:last-child { display: none; }
  .outcome-strip { grid-template-columns: 1fr; }
  .checkout-total { align-items: flex-start; flex-direction: column; }
  .site-footer__bottom { gap: 1rem; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; }
}
