/* =========================================================
   01. VARIABLES
   ========================================================= */

.tw-ecom {
    --ecom-ink: #17231f;
    --ecom-text: #34413a;
    --ecom-muted: #6b7770;
    --ecom-green: #008060;
    --ecom-green-dark: #005c46;
    --ecom-green-light: #e4f1e9;
    --ecom-green-pale: #f2f7f3;
    --ecom-white: #ffffff;
    --ecom-paper: #f7f8f5;
    --ecom-line: #dfe5df;
    --ecom-line-dark: #cbd5cd;

    width: 100%;
    overflow: clip;
    background: var(--ecom-white);
    color: var(--ecom-ink);
    font-family: inherit;
    font-size: 16px;
    line-height: 1.7;
}

.tw-ecom *,
.tw-ecom *::before,
.tw-ecom *::after {
    box-sizing: border-box;
}

.tw-ecom h1,
.tw-ecom h2,
.tw-ecom h3,
.tw-ecom h4,
.tw-ecom p {
    margin-top: 0;
}

.tw-ecom h1,
.tw-ecom h2,
.tw-ecom h3,
.tw-ecom h4 {
    color: var(--ecom-ink);
    font-family: inherit;
}

.tw-ecom p {
    color: var(--ecom-muted);
}

.tw-ecom a {
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
}

.tw-ecom-container {
    width: min(1240px, calc(100% - 64px));
    margin-right: auto;
    margin-left: auto;
}

.tw-ecom-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 19px;
    color: var(--ecom-green);
    font-size: 11px;
    font-weight: 750;
    line-height: 1.5;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.tw-ecom-eyebrow::before {
    content: "";
    display: inline-block;
    width: 23px;
    height: 2px;
    background: var(--ecom-green);
}


/* =========================================================
   02. BUTTONS
   ========================================================= */

.tw-ecom-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    min-height: 52px;
    padding: 14px 23px;
    border: 1px solid transparent;
    border-radius: 0;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none !important;
    transition:
        background-color 180ms ease,
        border-color 180ms ease,
        color 180ms ease;
}

.tw-ecom-button span {
    font-size: 17px;
    line-height: 1;
    transition: transform 180ms ease;
}

.tw-ecom-button:hover span {
    transform: translate(2px, -2px);
}

.tw-ecom-button-primary {
    border-color: var(--ecom-green-dark);
    background: var(--ecom-green-dark);
    color: #ffffff !important;
}

.tw-ecom-button-primary:hover {
    border-color: var(--ecom-ink);
    background: var(--ecom-ink);
    color: #ffffff !important;
}

.tw-ecom-button-light {
    border-color: #ffffff;
    background: #ffffff;
    color: var(--ecom-green-dark) !important;
}

.tw-ecom-button-light:hover {
    border-color: #dceee4;
    background: #dceee4;
    color: var(--ecom-ink) !important;
}

.tw-ecom-button:focus-visible,
.tw-ecom-text-link:focus-visible {
    outline: 2px solid var(--ecom-green);
    outline-offset: 4px;
}


/* =========================================================
   03. HERO
   ========================================================= */

.tw-ecom-hero {
    position: relative;
    isolation: isolate;
    padding: 88px 0 78px;
    background: #ffffff;
}

.tw-ecom-hero::before {
    position: absolute;
    z-index: -1;
    top: 0;
    right: 0;
    width: 43%;
    height: 100%;
    background: #f5f7f4;
    content: "";
}

.tw-ecom-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    align-items: center;
    gap: 60px;
}

.tw-ecom-hero-content {
    min-width: 0;
    max-width: 590px;
}

.tw-ecom-hero-content h1 {
    max-width: 650px;
    margin-bottom: 23px;
    font-size: clamp(43px, 4.7vw, 67px);
    font-weight: 650;
    line-height: 1.04;
    letter-spacing: -2.6px;
}

.tw-ecom-hero-content h1 span {
    display: block;
    color: var(--ecom-green);
}

.tw-ecom-hero-description {
    max-width: 550px;
    margin-bottom: 28px;
    font-size: 16px;
    line-height: 1.9;
}

.tw-ecom-hero-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 24px;
}

.tw-ecom-text-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--ecom-ink);
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

.tw-ecom-text-link span {
    color: var(--ecom-green);
    font-size: 17px;
}

.tw-ecom-hero-proof {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    max-width: 430px;
    margin-top: 32px;
    padding-top: 22px;
    border-top: 1px solid var(--ecom-line);
}

.tw-ecom-proof-mark {
    display: flex;
    flex: 0 0 23px;
    align-items: center;
    justify-content: center;
    width: 23px;
    height: 23px;
    background: var(--ecom-green-light);
    color: var(--ecom-green-dark);
    font-size: 12px;
    font-weight: 800;
}

.tw-ecom-hero-proof p {
    margin: 0;
    font-size: 12px;
    line-height: 1.7;
}


/* =========================================================
   04. HERO STOREFRONT
   ========================================================= */

.tw-ecom-hero-visual {
    position: relative;
    min-width: 0;
    padding: 12px 20px 28px 8px;
}

.tw-ecom-store-shell {
    overflow: hidden;
    border: 1px solid #dfe5df;
    background: #ffffff;
    box-shadow: 0 24px 65px rgba(23, 35, 31, 0.09);
}

.tw-ecom-browser-bar {
    display: grid;
    grid-template-columns: 65px minmax(0, 1fr) 65px;
    align-items: center;
    gap: 12px;
    height: 36px;
    padding: 0 13px;
    border-bottom: 1px solid #e9ede9;
    background: #fbfcfb;
}

.tw-ecom-browser-dots {
    display: flex;
    align-items: center;
    gap: 5px;
}

.tw-ecom-browser-dots span {
    width: 6px;
    height: 6px;
    background: #cbd5ce;
}

.tw-ecom-browser-address {
    overflow: hidden;
    padding: 4px 8px;
    background: #f0f3ef;
    color: #7b857e;
    font-size: 8px;
    line-height: 1.5;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tw-ecom-browser-menu {
    display: flex;
    justify-content: flex-end;
    gap: 5px;
}

.tw-ecom-browser-menu span {
    width: 7px;
    height: 7px;
    border: 1px solid #aab6ad;
}

.tw-ecom-store {
    padding: 14px;
    background: #ffffff;
}

.tw-ecom-store-announcement {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 25px;
    padding: 5px;
    background: #153e32;
    color: #ffffff;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 1.1px;
    text-align: center;
}

.tw-ecom-store-header {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 12px;
    padding: 15px 1px;
    border-bottom: 1px solid #edf0ed;
}

.tw-ecom-store-logo {
    color: #1e3028;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1px;
}

.tw-ecom-store-navigation {
    display: flex;
    align-items: center;
    gap: 15px;
}

.tw-ecom-store-navigation span {
    color: #68746c;
    font-size: 8px;
    font-weight: 600;
}

.tw-ecom-store-cart {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
    color: #35443a;
}

.tw-ecom-store-cart > span {
    font-size: 15px;
}

.tw-ecom-store-cart small {
    font-size: 8px;
}

.tw-ecom-store-hero {
    display: grid;
    grid-template-columns: 1fr 0.9fr;
    align-items: center;
    gap: 10px;
    padding: 20px 0;
}

.tw-ecom-store-copy {
    min-width: 0;
    padding: 4px 0 4px 4px;
}

.tw-ecom-store-label {
    display: block;
    margin-bottom: 10px;
    color: var(--ecom-green);
    font-size: 7px;
    font-weight: 800;
    letter-spacing: 1px;
}

.tw-ecom-store-copy h2 {
    margin-bottom: 8px;
    color: #1b3027;
    font-size: clamp(20px, 2.2vw, 29px);
    font-weight: 650;
    line-height: 1.06;
    letter-spacing: -0.9px;
}

.tw-ecom-store-copy h2 span {
    display: block;
    color: var(--ecom-green);
}

.tw-ecom-store-copy p {
    margin-bottom: 13px;
    font-size: 9px;
    line-height: 1.6;
}

.tw-ecom-store-shop {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding-bottom: 4px;
    border-bottom: 1px solid var(--ecom-green);
    color: var(--ecom-green-dark);
    font-size: 8px;
    font-weight: 800;
}


/* Product arrangement */

.tw-ecom-product-stage {
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    min-width: 0;
    min-height: 190px;
    overflow: hidden;
    background: #e8eee5;
}

.tw-ecom-product-sun {
    position: absolute;
    top: 12%;
    right: 14%;
    width: 58%;
    aspect-ratio: 1;
    background: #d1dfce;
    border-radius: 50%;
}

.tw-ecom-product-platform {
    position: absolute;
    z-index: 1;
    right: 7%;
    bottom: 10%;
    left: 7%;
    height: 18%;
    border-top: 1px solid rgba(31, 58, 42, 0.15);
    background: #d4dfd1;
    transform: skewY(-4deg);
}


/* Three illustrative product packages */

.tw-ecom-product-object {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    width: 28%;
    height: 95px;
    margin-right: -3%;
    border: 1px solid rgba(31, 54, 41, 0.16);
    background: linear-gradient(145deg, #faf8ef, #d7ddca);
    box-shadow: 0 9px 18px rgba(23, 35, 31, 0.13);
}

.tw-ecom-product-object > span {
    display: block;
    width: 70%;
    height: 2px;
    margin-top: 36%;
    background: rgba(31, 54, 41, 0.22);
}

.tw-ecom-product-object-one {
    height: 92px;
    transform: rotate(-5deg);
}

.tw-ecom-product-object-two {
    width: 31%;
    height: 126px;
    background: linear-gradient(145deg, #f6f0df, #d3c8ac);
}

.tw-ecom-product-object-two > span {
    margin-top: 43%;
}

.tw-ecom-product-object-three {
    width: 23%;
    height: 79px;
    background: linear-gradient(145deg, #d6e4d7, #a8c3ae);
    transform: rotate(5deg);
}


/* Store product catalogue */

.tw-ecom-store-collection {
    padding-top: 13px;
    border-top: 1px solid #e9eee9;
}

.tw-ecom-collection-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 11px;
}

.tw-ecom-collection-heading > div > span {
    display: block;
    margin-bottom: 3px;
    color: var(--ecom-green);
    font-size: 7px;
    font-weight: 800;
    letter-spacing: 0.8px;
}

.tw-ecom-collection-heading h3 {
    margin: 0;
    color: #23342a;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.3;
}

.tw-ecom-collection-link {
    color: #425a4a;
    font-size: 8px;
    font-weight: 700;
    white-space: nowrap;
}

.tw-ecom-product-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
}

.tw-ecom-product-card {
    min-width: 0;
}

.tw-ecom-product-image {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 77px;
    margin-bottom: 7px;
    overflow: hidden;
    background: #f0f1e9;
}

.tw-ecom-product-image-two {
    background: #e5ede7;
}

.tw-ecom-product-image-three {
    background: #f0e8dd;
}

.tw-ecom-product-bottle {
    position: relative;
    display: block;
    width: 22px;
    height: 43px;
    border: 1px solid rgba(37, 56, 44, 0.15);
    background: linear-gradient(90deg, #d5e1d5, #f4f5ed, #c8d8c9);
}

.tw-ecom-product-bottle::before {
    position: absolute;
    top: -7px;
    left: 6px;
    width: 9px;
    height: 7px;
    background: #526b58;
    content: "";
}

.tw-ecom-product-jar {
    position: relative;
    display: block;
    width: 37px;
    height: 31px;
    border: 1px solid rgba(37, 56, 44, 0.16);
    background: linear-gradient(145deg, #f9f7ee, #b7cfbe);
}

.tw-ecom-product-jar::before {
    position: absolute;
    top: -6px;
    left: -1px;
    width: 37px;
    height: 6px;
    background: #8aa893;
    content: "";
}

.tw-ecom-product-box {
    position: relative;
    display: block;
    width: 39px;
    height: 44px;
    border: 1px solid rgba(37, 56, 44, 0.15);
    background: linear-gradient(145deg, #e4d4bf, #bca88d);
}

.tw-ecom-product-box::after {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 1px;
    background: rgba(37, 56, 44, 0.2);
    content: "";
}

.tw-ecom-product-info > span {
    display: block;
    overflow: hidden;
    margin-bottom: 3px;
    color: #788279;
    font-size: 6px;
    font-weight: 700;
    letter-spacing: 0.3px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tw-ecom-product-info strong {
    display: block;
    overflow: hidden;
    color: #26372d;
    font-size: 8px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tw-ecom-product-info small {
    display: block;
    margin-top: 3px;
    color: #35483b;
    font-size: 8px;
    font-weight: 750;
}


/* =========================================================
   05. FLOATING INSIGHT CARDS
   ========================================================= */

.tw-ecom-insight-card {
    position: absolute;
    z-index: 4;
    display: flex;
    align-items: center;
    gap: 11px;
    width: 190px;
    padding: 13px;
    border: 1px solid #e0e7e0;
    background: #ffffff;
    box-shadow: 0 12px 32px rgba(23, 35, 31, 0.10);
}

.tw-ecom-insight-acquisition {
    top: 12%;
    right: -16px;
}

.tw-ecom-insight-conversion {
    bottom: 7%;
    left: -24px;
}

.tw-ecom-insight-icon {
    display: flex;
    flex: 0 0 33px;
    align-items: center;
    justify-content: center;
    width: 33px;
    height: 33px;
    background: var(--ecom-green-light);
    color: var(--ecom-green-dark);
    font-size: 15px;
    font-weight: 800;
}

.tw-ecom-insight-card small {
    display: block;
    margin-bottom: 3px;
    color: var(--ecom-muted);
    font-size: 8px;
    line-height: 1.5;
}

.tw-ecom-insight-card strong {
    display: block;
    color: var(--ecom-ink);
    font-size: 10px;
    font-weight: 750;
    line-height: 1.5;
}

.tw-ecom-visual-note {
    margin: 17px 0 0;
    color: var(--ecom-muted);
    font-size: 10px;
    line-height: 1.6;
    text-align: right;
}


/* =========================================================
   06. CAPABILITIES STRIP
   ========================================================= */

.tw-ecom-capabilities {
    border-top: 1px solid var(--ecom-line);
    border-bottom: 1px solid var(--ecom-line);
    background: #ffffff;
}

.tw-ecom-capabilities-heading {
    padding: 20px 0 13px;
    color: var(--ecom-muted);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.1px;
    text-align: center;
    text-transform: uppercase;
}

.tw-ecom-capability-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid var(--ecom-line);
}

.tw-ecom-capability-item {
    display: flex;
    align-items: center;
    gap: 13px;
    min-width: 0;
    padding: 22px 17px;
    border-right: 1px solid var(--ecom-line);
}

.tw-ecom-capability-item:first-child {
    border-left: 1px solid var(--ecom-line);
}

.tw-ecom-capability-item > span {
    color: var(--ecom-green);
    font-size: 10px;
    font-weight: 800;
}

.tw-ecom-capability-item strong {
    color: var(--ecom-ink);
    font-size: 12px;
    font-weight: 700;
}


/* =========================================================
   07. SHARED SECTIONS
   ========================================================= */

.tw-ecom-intro,
.tw-ecom-challenges,
.tw-ecom-solutions,
.tw-ecom-journey,
.tw-ecom-strategy,
.tw-ecom-approach {
    padding: 100px 0;
}

.tw-ecom-intro {
    background: var(--ecom-paper);
}

.tw-ecom-section-heading {
    max-width: 800px;
    margin-bottom: 42px;
}

.tw-ecom-section-heading h2,
.tw-ecom-approach-heading h2 {
    margin-bottom: 20px;
    font-size: clamp(32px, 3.5vw, 48px);
    font-weight: 650;
    line-height: 1.12;
    letter-spacing: -1.6px;
}

.tw-ecom-section-heading h2 span,
.tw-ecom-approach-heading h2 span {
    color: var(--ecom-green);
}

.tw-ecom-section-heading > p {
    max-width: 650px;
    margin-bottom: 0;
    font-size: 15px;
    line-height: 1.85;
}


/* =========================================================
   08. INTRODUCTION
   ========================================================= */

.tw-ecom-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    gap: 75px;
}

.tw-ecom-intro-grid > * {
    min-width: 0;
}

.tw-ecom-intro-grid .tw-ecom-section-heading {
    margin-bottom: 0;
}

.tw-ecom-intro-copy {
    padding-top: 8px;
}

.tw-ecom-intro-copy p {
    margin-bottom: 17px;
    font-size: 14px;
    line-height: 1.9;
}

.tw-ecom-intro-copy p:last-child {
    margin-bottom: 0;
}

.tw-ecom-intro-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    margin-top: 60px;
    border-top: 1px solid var(--ecom-line-dark);
    border-bottom: 1px solid var(--ecom-line-dark);
}

.tw-ecom-intro-fact {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    padding: 25px 22px;
    border-right: 1px solid var(--ecom-line-dark);
}

.tw-ecom-intro-fact:first-child {
    padding-left: 0;
}

.tw-ecom-intro-fact:last-child {
    padding-right: 0;
    border-right: 0;
}

.tw-ecom-fact-number {
    color: var(--ecom-green);
    font-size: 11px;
    font-weight: 800;
}

.tw-ecom-intro-fact strong {
    display: block;
    margin-bottom: 7px;
    color: var(--ecom-ink);
    font-size: 14px;
    font-weight: 750;
    line-height: 1.5;
}

.tw-ecom-intro-fact p {
    margin: 0;
    font-size: 12px;
    line-height: 1.8;
}


/* =========================================================
   09. CHALLENGES
   ========================================================= */

.tw-ecom-challenges {
    background: #ffffff;
}

.tw-ecom-heading-split {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.65fr);
    align-items: end;
    gap: 55px;
    max-width: none;
}

.tw-ecom-heading-split > div {
    max-width: 700px;
}

.tw-ecom-heading-split > p {
    max-width: 440px;
    margin-bottom: 23px;
}

.tw-ecom-challenge-list {
    border-top: 1px solid var(--ecom-line);
}

.tw-ecom-challenge-row {
    display: grid;
    grid-template-columns: 55px minmax(0, 0.9fr) minmax(0, 1fr);
    align-items: start;
    gap: 28px;
    padding: 29px 0;
    border-bottom: 1px solid var(--ecom-line);
}

.tw-ecom-row-number {
    padding-top: 3px;
    color: var(--ecom-green);
    font-size: 12px;
    font-weight: 800;
}

.tw-ecom-challenge-category {
    display: block;
    margin-bottom: 9px;
    color: var(--ecom-muted);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1px;
}

.tw-ecom-challenge-title h3 {
    margin: 0;
    font-size: 21px;
    font-weight: 650;
    line-height: 1.4;
    letter-spacing: -0.45px;
}

.tw-ecom-challenge-detail p {
    margin: 0;
    font-size: 13px;
    line-height: 1.85;
}


/* =========================================================
   10. SOLUTIONS
   ========================================================= */

.tw-ecom-solutions {
    background: var(--ecom-paper);
}

.tw-ecom-solutions .tw-ecom-section-heading {
    max-width: 780px;
}

.tw-ecom-solutions-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    border: 1px solid var(--ecom-line);
    background: var(--ecom-line);
}

.tw-ecom-solution-card {
    min-width: 0;
    padding: 30px;
    background: #ffffff;
    transition: background-color 180ms ease;
}

.tw-ecom-solution-card:hover {
    background: #fbfdfb;
}

.tw-ecom-solution-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.tw-ecom-solution-number {
    color: var(--ecom-green);
    font-size: 11px;
    font-weight: 800;
}

.tw-ecom-solution-tag {
    color: #6e7c72;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 0.7px;
    text-align: right;
}

.tw-ecom-solution-card h3 {
    margin: 24px 0 12px;
    font-size: 22px;
    font-weight: 650;
    line-height: 1.35;
    letter-spacing: -0.4px;
}

.tw-ecom-solution-card > p {
    margin-bottom: 18px;
    font-size: 13px;
    line-height: 1.85;
}

.tw-ecom-solution-card ul {
    display: grid;
    gap: 9px;
    margin: 0;
    padding: 17px 0 0;
    border-top: 1px solid #e9eee9;
    list-style: none;
}

.tw-ecom-solution-card li {
    position: relative;
    padding-left: 17px;
    color: var(--ecom-text);
    font-size: 12px;
    line-height: 1.7;
}

.tw-ecom-solution-card li::before {
    position: absolute;
    top: 8px;
    left: 0;
    width: 6px;
    height: 6px;
    background: var(--ecom-green);
    content: "";
}


/* Service visual area */

.tw-ecom-solution-visual {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 150px;
    margin-top: 24px;
    overflow: hidden;
    border: 1px solid #e5ebe5;
    background: #f6f8f5;
}


/* SEO visual */

.tw-ecom-visual-search {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    padding: 24px 28px;
}

.tw-ecom-search-product {
    position: relative;
    display: block;
    width: 54%;
    height: 25px;
    margin-bottom: 2px;
    border: 1px solid #d5dfd6;
    background: #ffffff;
}

.tw-ecom-search-product::before {
    position: absolute;
    top: 7px;
    left: 9px;
    width: 10px;
    height: 10px;
    border: 1px solid var(--ecom-green);
    border-radius: 50%;
    content: "";
}

.tw-ecom-search-product::after {
    position: absolute;
    top: 17px;
    left: 19px;
    width: 6px;
    height: 1px;
    background: var(--ecom-green);
    content: "";
    transform: rotate(45deg);
}

.tw-ecom-search-line {
    display: block;
    width: 72%;
    height: 5px;
    background: #dce5dc;
}

.tw-ecom-search-line:nth-last-child(1) {
    width: 48%;
    background: #b4d2bd;
}


/* Paid advertising visual */

.tw-ecom-visual-ads {
    flex-direction: column;
    gap: 12px;
    padding: 18px;
    background: #edf2ed;
}

.tw-ecom-ad-window {
    display: flex;
    align-items: center;
    gap: 5px;
    width: 82%;
    padding: 10px;
    border: 1px solid #dfe6df;
    background: #ffffff;
}

.tw-ecom-ad-window i {
    display: block;
    width: 6px;
    height: 6px;
    background: #bdc9be;
}

.tw-ecom-ad-window b {
    margin-left: auto;
    padding: 6px 9px;
    background: var(--ecom-green);
    color: #ffffff;
    font-size: 7px;
    font-weight: 800;
}

.tw-ecom-ad-result {
    display: flex;
    flex-direction: column;
    gap: 3px;
    width: 82%;
    padding: 9px 11px;
    border: 1px solid #dfe6df;
    background: #ffffff;
}

.tw-ecom-ad-result small {
    color: #7b857d;
    font-size: 8px;
}

.tw-ecom-ad-result strong {
    color: var(--ecom-ink);
    font-size: 10px;
}


/* Content visual */

.tw-ecom-visual-content {
    align-items: center;
    justify-content: center;
    background: #edf0e8;
}

.tw-ecom-content-frame {
    display: grid;
    grid-template-columns: 1fr 0.8fr;
    gap: 12px;
    width: 67%;
    padding: 14px;
    border: 1px solid #dce3d8;
    background: #ffffff;
}

.tw-ecom-content-image {
    min-height: 75px;
    background:
        linear-gradient(145deg, transparent 47%, rgba(30, 69, 46, 0.12) 48%),
        #dce6d6;
}

.tw-ecom-content-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 7px;
}

.tw-ecom-content-copy i {
    display: block;
    width: 100%;
    height: 5px;
    background: #dce4dc;
}

.tw-ecom-content-copy i:last-child {
    width: 65%;
    background: #b9d3bf;
}

.tw-ecom-content-badge {
    position: absolute;
    right: 10%;
    bottom: 13px;
    color: var(--ecom-green-dark);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1px;
}


/* Conversion visual */

.tw-ecom-visual-conversion {
    flex-direction: column;
    gap: 20px;
    padding: 20px;
    background: #f0f4ef;
}

.tw-ecom-conversion-steps {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
}

.tw-ecom-conversion-steps span {
    padding: 10px 11px;
    border: 1px solid #d8e2d9;
    background: #ffffff;
    color: var(--ecom-text);
    font-size: 9px;
    font-weight: 700;
}

.tw-ecom-conversion-steps b {
    color: var(--ecom-green);
    font-size: 13px;
}

.tw-ecom-conversion-check {
    display: flex;
    align-items: center;
    gap: 9px;
    color: var(--ecom-muted);
    font-size: 9px;
}

.tw-ecom-conversion-check span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 19px;
    height: 19px;
    background: var(--ecom-green);
    color: #ffffff;
    font-size: 10px;
}


/* Retention visual */

.tw-ecom-visual-retention {
    background: #f1f5ef;
}

.tw-ecom-retention-loop {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    width: 100%;
}

.tw-ecom-retention-loop span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 86px;
    height: 38px;
    border: 1px solid #cbdccc;
    background: #ffffff;
    color: var(--ecom-text);
    font-size: 9px;
    font-weight: 700;
}

.tw-ecom-retention-center {
    position: absolute;
    bottom: 15px;
    left: 50%;
    color: var(--ecom-green-dark);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1px;
    transform: translateX(-50%);
}


/* Analytics visual */

.tw-ecom-visual-analytics {
    justify-content: flex-start;
    gap: 25px;
    padding: 24px 30px;
    background: #eef3ee;
}

.tw-ecom-analytics-bars {
    display: flex;
    align-items: flex-end;
    gap: 7px;
    height: 83px;
    padding: 10px;
    border-bottom: 1px solid #bdcfc0;
}

.tw-ecom-analytics-bars span {
    display: block;
    width: 12px;
    background: #a9c9b1;
}

.tw-ecom-analytics-bars span:nth-child(1) {
    height: 28%;
}

.tw-ecom-analytics-bars span:nth-child(2) {
    height: 45%;
}

.tw-ecom-analytics-bars span:nth-child(3) {
    height: 38%;
}

.tw-ecom-analytics-bars span:nth-child(4) {
    height: 69%;
}

.tw-ecom-analytics-bars span:nth-child(5) {
    height: 92%;
    background: var(--ecom-green);
}

.tw-ecom-analytics-summary {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.tw-ecom-analytics-summary small {
    color: var(--ecom-muted);
    font-size: 8px;
}

.tw-ecom-analytics-summary strong {
    max-width: 120px;
    color: var(--ecom-ink);
    font-size: 13px;
    line-height: 1.4;
}

/* E-commerce service internal links */

.tw-ecom .tw-ecom-solution-card h3 a {
    color: var(--ecom-ink, #17231f);
    text-decoration: none;
    transition: color 180ms ease;
}

.tw-ecom .tw-ecom-solution-card h3 a:hover {
    color: var(--ecom-green, #008060);
}

.tw-ecom .tw-ecom-service-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 20px;
    margin-right: 16px;
    color: var(--ecom-green-dark, #005c46);
    font-size: 12px;
    font-weight: 750;
    line-height: 1.6;
    text-decoration: none;
    text-underline-offset: 4px;
}

.tw-ecom .tw-ecom-service-link span {
    font-size: 16px;
    transition: transform 180ms ease;
}

.tw-ecom .tw-ecom-service-link:hover {
    text-decoration: underline;
}

.tw-ecom .tw-ecom-service-link:hover span {
    transform: translate(3px, -2px);
}

/* =========================================================
   11. CUSTOMER JOURNEY
   ========================================================= */

.tw-ecom-journey {
    background: #ffffff;
}

.tw-ecom-journey .tw-ecom-section-heading {
    max-width: 760px;
}

.tw-ecom-journey-track {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 25px;
}

.tw-ecom-journey-track::before {
    position: absolute;
    top: 22px;
    right: 10%;
    left: 10%;
    height: 1px;
    background: var(--ecom-line-dark);
    content: "";
}

.tw-ecom-journey-step {
    position: relative;
    min-width: 0;
    padding-top: 62px;
}

.tw-ecom-journey-index {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: 1px solid #c7d9cb;
    background: #ffffff;
    color: var(--ecom-green-dark);
    font-size: 11px;
    font-weight: 800;
}

.tw-ecom-journey-icon {
    position: relative;
    width: 100%;
    height: 92px;
    margin-bottom: 20px;
    overflow: hidden;
    background: var(--ecom-green-pale);
}

.tw-ecom-journey-icon::before {
    position: absolute;
    top: 20px;
    left: 50%;
    width: 43px;
    height: 43px;
    border: 1px solid #8cb69b;
    content: "";
    transform: translateX(-50%);
}

.tw-ecom-journey-icon::after {
    position: absolute;
    top: 33px;
    left: 50%;
    width: 16px;
    height: 16px;
    border: 1px solid var(--ecom-green);
    content: "";
    transform: translateX(-50%);
}

.tw-ecom-journey-evaluate::before {
    width: 50px;
    height: 35px;
    top: 28px;
}

.tw-ecom-journey-evaluate::after {
    top: 36px;
    width: 27px;
    height: 2px;
    border: 0;
    background: var(--ecom-green);
}

.tw-ecom-journey-purchase::before {
    width: 39px;
    height: 39px;
    top: 23px;
}

.tw-ecom-journey-purchase::after {
    top: 34px;
    width: 17px;
    height: 17px;
    border: 0;
    border-right: 2px solid var(--ecom-green);
    border-bottom: 2px solid var(--ecom-green);
    transform: translateX(-50%) rotate(45deg);
}

.tw-ecom-journey-retain::before {
    width: 47px;
    height: 47px;
    top: 20px;
    border-radius: 50%;
}

.tw-ecom-journey-retain::after {
    top: 34px;
    width: 19px;
    height: 19px;
    border-radius: 50%;
    background: #cfe4d3;
}

.tw-ecom-journey-stage {
    display: block;
    margin-bottom: 8px;
    color: var(--ecom-green);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1px;
}

.tw-ecom-journey-step h3 {
    margin-bottom: 10px;
    font-size: 19px;
    font-weight: 650;
    line-height: 1.4;
}

.tw-ecom-journey-step p {
    margin-bottom: 0;
    font-size: 12px;
    line-height: 1.85;
}


/* =========================================================
   12. STRATEGY / COMMERCE ECOSYSTEM
   ========================================================= */

.tw-ecom-strategy {
    background: var(--ecom-paper);
}

.tw-ecom-strategy-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    align-items: center;
    gap: 65px;
}

.tw-ecom-strategy-copy {
    min-width: 0;
}

.tw-ecom-strategy-copy h2 {
    margin-bottom: 20px;
    font-size: clamp(32px, 3.5vw, 47px);
    font-weight: 650;
    line-height: 1.12;
    letter-spacing: -1.5px;
}

.tw-ecom-strategy-copy h2 span {
    color: var(--ecom-green);
}

.tw-ecom-strategy-copy > p {
    margin-bottom: 26px;
    font-size: 14px;
    line-height: 1.9;
}

.tw-ecom-strategy-points {
    display: grid;
    gap: 18px;
}

.tw-ecom-strategy-points > div {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 12px;
}

.tw-ecom-strategy-points > div > span {
    color: var(--ecom-green);
    font-size: 11px;
    font-weight: 800;
}

.tw-ecom-strategy-points p {
    margin: 0;
    font-size: 12px;
    line-height: 1.8;
}

.tw-ecom-strategy-points strong {
    display: block;
    margin-bottom: 3px;
    color: var(--ecom-ink);
    font-size: 13px;
}


/* Ecosystem diagram */

.tw-ecom-ecosystem {
    min-width: 0;
    padding: 22px;
    border: 1px solid var(--ecom-line);
    background: #ffffff;
    box-shadow: 0 15px 40px rgba(23, 35, 31, 0.04);
}

.tw-ecom-ecosystem-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 17px;
    border-bottom: 1px solid var(--ecom-line);
    color: var(--ecom-muted);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.8px;
}

.tw-ecom-ecosystem-status {
    color: var(--ecom-green);
    font-size: 8px;
}

.tw-ecom-ecosystem-map {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto auto;
    align-items: center;
    justify-items: center;
    gap: 18px;
    min-height: 320px;
    padding: 25px 0;
    background:
        linear-gradient(to right, transparent calc(50% - 0.5px), #e6ece6 50%, transparent calc(50% + 0.5px)),
        linear-gradient(to bottom, transparent calc(50% - 0.5px), #e6ece6 50%, transparent calc(50% + 0.5px));
}

.tw-ecom-ecosystem-node {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 3px;
    width: 100%;
    max-width: 175px;
    min-height: 78px;
    padding: 12px;
    border: 1px solid var(--ecom-line-dark);
    background: #ffffff;
}

.tw-ecom-ecosystem-node > span {
    color: var(--ecom-green);
    font-size: 8px;
    font-weight: 800;
}

.tw-ecom-ecosystem-node strong {
    color: var(--ecom-ink);
    font-size: 12px;
    font-weight: 750;
}

.tw-ecom-ecosystem-node small {
    color: var(--ecom-muted);
    font-size: 9px;
    line-height: 1.5;
}

.tw-ecom-node-seo {
    grid-column: 1;
    grid-row: 1;
}

.tw-ecom-node-paid {
    grid-column: 2;
    grid-row: 1;
}

.tw-ecom-ecosystem-center {
    position: relative;
    z-index: 2;
    display: flex;
    grid-column: 1 / -1;
    grid-row: 2;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 145px;
    min-height: 98px;
    padding: 12px;
    border: 1px solid var(--ecom-green-dark);
    background: var(--ecom-green-dark);
    color: #ffffff;
    text-align: center;
}

.tw-ecom-ecosystem-store-icon {
    margin-bottom: 5px;
    font-size: 19px;
    line-height: 1;
}

.tw-ecom-ecosystem-center strong {
    color: #ffffff;
    font-size: 12px;
    font-weight: 750;
}

.tw-ecom-ecosystem-center small {
    margin-top: 4px;
    color: #d5e8dd;
    font-size: 8px;
}

.tw-ecom-node-content {
    grid-column: 1;
    grid-row: 3;
}

.tw-ecom-node-data {
    grid-column: 2;
    grid-row: 3;
}

.tw-ecom-ecosystem-footer {
    display: flex;
    align-items: center;
    gap: 9px;
    padding-top: 15px;
    border-top: 1px solid var(--ecom-line);
    color: var(--ecom-muted);
    font-size: 10px;
    font-weight: 650;
}

.tw-ecom-ecosystem-dot {
    flex: 0 0 7px;
    width: 7px;
    height: 7px;
    background: var(--ecom-green);
}


/* =========================================================
   13. OUR APPROACH
   ========================================================= */

.tw-ecom-approach {
    background: #ffffff;
}

.tw-ecom-approach-heading {
    max-width: 780px;
    margin-bottom: 45px;
}

.tw-ecom-approach-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid var(--ecom-line);
    border-bottom: 1px solid var(--ecom-line);
}

.tw-ecom-approach-card {
    min-width: 0;
    padding: 30px 28px;
    border-right: 1px solid var(--ecom-line);
}

.tw-ecom-approach-card:first-child {
    padding-left: 0;
}

.tw-ecom-approach-card:last-child {
    padding-right: 0;
    border-right: 0;
}

.tw-ecom-approach-number {
    display: block;
    margin-bottom: 24px;
    color: var(--ecom-green);
    font-size: 11px;
    font-weight: 800;
}

.tw-ecom-approach-card h3 {
    margin-bottom: 12px;
    font-size: 20px;
    font-weight: 650;
    line-height: 1.4;
}

.tw-ecom-approach-card p {
    margin-bottom: 0;
    font-size: 13px;
    line-height: 1.85;
}


/* =========================================================
   14. FINAL CTA
   ========================================================= */

.tw-ecom-cta {
    padding: 90px 0 90px;
    background: #153e32;
}

.tw-ecom-cta-inner {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 55px;
    overflow: hidden;
    padding: 0px;
    background: #153e32;
    color: #ffffff;
}

.tw-ecom-cta-inner::after {
    position: absolute;
    top: -100px;
    right: 20%;
    width: 260px;
    height: 260px;
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.tw-ecom-cta-copy,
.tw-ecom-cta-action {
    position: relative;
    z-index: 1;
}

.tw-ecom-cta-copy .tw-ecom-eyebrow {
    color: #b7ddc7;
}

.tw-ecom-cta-copy .tw-ecom-eyebrow::before {
    background: #b7ddc7;
}

.tw-ecom-cta-copy h2 {
    max-width: 690px;
    margin-bottom: 17px;
    color: #ffffff;
    font-size: clamp(32px, 3.7vw, 47px);
    font-weight: 650;
    line-height: 1.12;
    letter-spacing: -1.5px;
}

.tw-ecom-cta-copy h2 span {
    color: #b7ddc7;
}

.tw-ecom-cta-copy p {
    max-width: 610px;
    margin-bottom: 0;
    color: #d6e5db;
    font-size: 14px;
    line-height: 1.85;
}

.tw-ecom-cta-action {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 13px;
}

.tw-ecom-cta-action > span {
    max-width: 230px;
    color: #d6e5db;
    font-size: 10px;
    line-height: 1.7;
}


/* =========================================================
   15. TABLET
   ========================================================= */

@media (max-width: 1024px) {

    .tw-ecom-hero-grid {
        grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
        gap: 35px;
    }

    .tw-ecom-hero-content h1 {
        font-size: clamp(38px, 5vw, 54px);
        letter-spacing: -1.8px;
    }

    .tw-ecom-hero-visual {
        padding-right: 10px;
    }

    .tw-ecom-insight-card {
        width: 165px;
        padding: 10px;
    }

    .tw-ecom-insight-acquisition {
        right: -5px;
    }

    .tw-ecom-insight-conversion {
        left: -10px;
    }

    .tw-ecom-intro-grid {
        gap: 42px;
    }

    .tw-ecom-challenge-row {
        grid-template-columns: 38px minmax(0, 0.95fr) minmax(0, 1fr);
        gap: 20px;
    }

    .tw-ecom-solution-card {
        padding: 24px;
    }

    .tw-ecom-strategy-grid {
        gap: 35px;
    }

    .tw-ecom-cta-inner {
        gap: 30px;
        padding: 40px;
    }
}


/* =========================================================
   16. MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .tw-ecom-container {
        width: calc(100% - 36px);
    }

    .tw-ecom-hero {
        padding: 62px 0 60px;
    }

    .tw-ecom-hero::before {
        top: auto;
        bottom: 0;
        width: 100%;
        height: 39%;
    }

    .tw-ecom-hero-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 48px;
    }

    .tw-ecom-hero-content h1 {
        font-size: clamp(37px, 9vw, 54px);
        letter-spacing: -1.7px;
    }

    .tw-ecom-hero-description {
        font-size: 14px;
        line-height: 1.85;
    }

    .tw-ecom-hero-actions {
        align-items: flex-start;
        gap: 17px;
    }

    .tw-ecom-hero-visual {
        width: calc(100% - 8px);
        max-width: 550px;
        margin: 0 auto;
        padding: 10px 5px 25px;
    }

    .tw-ecom-store {
        padding: 9px;
    }

    .tw-ecom-store-header {
        gap: 7px;
        padding: 12px 0;
    }

    .tw-ecom-store-navigation {
        gap: 8px;
    }

    .tw-ecom-store-navigation span {
        font-size: 7px;
    }

    .tw-ecom-store-logo {
        font-size: 10px;
    }

    .tw-ecom-store-cart small {
        font-size: 7px;
    }

    .tw-ecom-product-stage {
        min-height: 155px;
    }

    .tw-ecom-product-object-one {
        height: 76px;
    }

    .tw-ecom-product-object-two {
        height: 100px;
    }

    .tw-ecom-product-object-three {
        height: 68px;
    }

    .tw-ecom-product-image {
        height: 62px;
    }

    .tw-ecom-insight-card {
        width: 150px;
        padding: 9px;
    }

    .tw-ecom-insight-acquisition {
        top: -17px;
        right: -5px;
    }

    .tw-ecom-insight-conversion {
        bottom: -17px;
        left: -5px;
    }

    .tw-ecom-insight-icon {
        flex-basis: 28px;
        width: 28px;
        height: 28px;
    }

    .tw-ecom-visual-note {
        margin-top: 28px;
        font-size: 9px;
    }

    .tw-ecom-capabilities-heading {
        padding: 17px 0 12px;
        font-size: 9px;
    }

    .tw-ecom-capability-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tw-ecom-capability-item {
        padding: 15px 11px;
        gap: 8px;
    }

    .tw-ecom-capability-item:nth-child(odd) {
        border-left: 1px solid var(--ecom-line);
    }

    .tw-ecom-capability-item:nth-child(even) {
        border-right: 1px solid var(--ecom-line);
    }

    .tw-ecom-capability-item:nth-child(n + 3) {
        border-top: 1px solid var(--ecom-line);
    }

    .tw-ecom-capability-item strong {
        font-size: 10px;
    }

    .tw-ecom-intro,
    .tw-ecom-challenges,
    .tw-ecom-solutions,
    .tw-ecom-journey,
    .tw-ecom-strategy,
    .tw-ecom-approach {
        padding: 65px 0;
    }

    .tw-ecom-section-heading h2,
    .tw-ecom-approach-heading h2 {
        font-size: clamp(30px, 7.5vw, 41px);
        letter-spacing: -1.2px;
    }

    .tw-ecom-section-heading {
        margin-bottom: 31px;
    }

    .tw-ecom-intro-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 22px;
    }

    .tw-ecom-intro-facts {
        grid-template-columns: minmax(0, 1fr);
        margin-top: 36px;
    }

    .tw-ecom-intro-fact,
    .tw-ecom-intro-fact:first-child,
    .tw-ecom-intro-fact:last-child {
        padding: 20px 0;
        border-right: 0;
        border-bottom: 1px solid var(--ecom-line-dark);
    }

    .tw-ecom-intro-fact:last-child {
        border-bottom: 0;
    }

    .tw-ecom-heading-split {
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
    }

    .tw-ecom-heading-split > p {
        margin-bottom: 0;
    }

    .tw-ecom-challenge-row {
        grid-template-columns: 30px minmax(0, 1fr);
        gap: 11px;
        padding: 23px 0;
    }

    .tw-ecom-challenge-title h3 {
        font-size: 18px;
    }

    .tw-ecom-challenge-detail {
        grid-column: 2;
    }

    .tw-ecom-challenge-detail p {
        font-size: 12px;
    }

    .tw-ecom-solutions-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .tw-ecom-solution-card {
        padding: 23px 20px;
    }

    .tw-ecom-solution-card h3 {
        font-size: 21px;
    }

    .tw-ecom-solution-visual {
        height: 140px;
    }

    .tw-ecom-journey-track {
        grid-template-columns: minmax(0, 1fr);
        gap: 25px;
        padding-left: 5px;
    }

    .tw-ecom-journey-track::before {
        top: 15px;
        bottom: 40px;
        left: 26px;
        width: 1px;
        height: auto;
    }

    .tw-ecom-journey-step {
        display: grid;
        grid-template-columns: 75px minmax(0, 1fr);
        align-items: start;
        gap: 0 17px;
        padding: 0;
    }

    .tw-ecom-journey-index {
        top: 0;
        left: 5px;
        width: 42px;
        height: 42px;
    }

    .tw-ecom-journey-icon {
        grid-column: 1;
        grid-row: 2 / span 3;
        height: 76px;
        margin-top: 7px;
        margin-bottom: 0;
    }

    .tw-ecom-journey-stage {
        grid-column: 2;
        grid-row: 1;
        margin-bottom: 5px;
        padding-top: 2px;
    }

    .tw-ecom-journey-step h3 {
        grid-column: 2;
        grid-row: 2;
        margin-bottom: 8px;
        font-size: 18px;
    }

    .tw-ecom-journey-step p {
        grid-column: 2;
        grid-row: 3;
        font-size: 12px;
    }

    .tw-ecom-strategy-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 35px;
    }

    .tw-ecom-ecosystem {
        padding: 15px;
    }

    .tw-ecom-ecosystem-map {
        min-height: 290px;
        gap: 12px;
        padding: 18px 0;
    }

    .tw-ecom-ecosystem-node {
        max-width: 145px;
        min-height: 72px;
        padding: 9px;
    }

    .tw-ecom-ecosystem-center {
        width: 125px;
        min-height: 85px;
    }

    .tw-ecom-approach-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .tw-ecom-approach-card,
    .tw-ecom-approach-card:first-child,
    .tw-ecom-approach-card:last-child {
        padding: 24px 0;
        border-right: 0;
        border-bottom: 1px solid var(--ecom-line);
    }

    .tw-ecom-approach-card:last-child {
        border-bottom: 0;
    }

    .tw-ecom-approach-number {
        margin-bottom: 12px;
    }

    .tw-ecom-cta {
        padding-bottom: 60px;
    }

    .tw-ecom-cta-inner {
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
        padding: 34px 23px;
    }

    .tw-ecom-cta-copy h2 {
        font-size: clamp(30px, 7vw, 40px);
        letter-spacing: -1px;
    }

    .tw-ecom-cta-action {
        align-items: flex-start;
    }

    .tw-ecom-cta-action .tw-ecom-button {
        width: 100%;
    }
}


/* =========================================================
   17. SMALL MOBILE
   ========================================================= */

@media (max-width: 420px) {

    .tw-ecom-container {
        width: calc(100% - 28px);
    }

    .tw-ecom-hero-content h1 {
        font-size: 36px;
        letter-spacing: -1.3px;
    }

    .tw-ecom-hero-actions {
        flex-direction: column;
        align-items: flex-start;
    }

    .tw-ecom-store-header {
        grid-template-columns: 1fr auto;
    }

    .tw-ecom-store-navigation {
        display: none;
    }

    .tw-ecom-store-hero {
        grid-template-columns: 1fr 0.85fr;
        gap: 7px;
    }

    .tw-ecom-store-copy h2 {
        font-size: 19px;
    }

    .tw-ecom-store-copy p {
        font-size: 8px;
    }

    .tw-ecom-product-stage {
        min-height: 130px;
    }

    .tw-ecom-product-object-one {
        height: 65px;
    }

    .tw-ecom-product-object-two {
        height: 88px;
    }

    .tw-ecom-product-object-three {
        height: 58px;
    }

    .tw-ecom-product-image {
        height: 53px;
    }

    .tw-ecom-product-info > span {
        font-size: 5px;
    }

    .tw-ecom-product-info strong,
    .tw-ecom-product-info small {
        font-size: 7px;
    }

    .tw-ecom-insight-card {
        width: 132px;
        gap: 7px;
        padding: 8px;
    }

    .tw-ecom-insight-card small {
        font-size: 7px;
    }

    .tw-ecom-insight-card strong {
        font-size: 9px;
    }

    .tw-ecom-insight-icon {
        flex-basis: 25px;
        width: 25px;
        height: 25px;
        font-size: 12px;
    }

    .tw-ecom-capability-item {
        padding: 13px 8px;
    }

    .tw-ecom-capability-item > span {
        font-size: 9px;
    }

    .tw-ecom-capability-item strong {
        font-size: 9px;
    }

    .tw-ecom-solution-card {
        padding: 21px 16px;
    }

    .tw-ecom-solution-tag {
        font-size: 7px;
    }

    .tw-ecom-conversion-steps {
        gap: 5px;
    }

    .tw-ecom-conversion-steps span {
        padding: 8px 7px;
        font-size: 8px;
    }

    .tw-ecom-retention-loop {
        gap: 5px;
    }

    .tw-ecom-retention-loop span {
        width: 76px;
        height: 34px;
        font-size: 8px;
    }

    .tw-ecom-analytics-bars {
        gap: 5px;
        padding: 7px;
    }

    .tw-ecom-analytics-bars span {
        width: 9px;
    }

    .tw-ecom-ecosystem {
        padding: 11px;
    }

    .tw-ecom-ecosystem-map {
        min-height: 270px;
    }

    .tw-ecom-ecosystem-node {
        padding: 8px;
    }

    .tw-ecom-ecosystem-node strong {
        font-size: 10px;
    }

    .tw-ecom-ecosystem-node small {
        font-size: 8px;
    }

    .tw-ecom-ecosystem-center {
        width: 110px;
        min-height: 78px;
    }

    .tw-ecom-ecosystem-footer {
        font-size: 9px;
    }

    .tw-ecom-cta-inner {
        padding: 29px 18px;
    }
}


/* =========================================================
   18. ACCESSIBILITY
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .tw-ecom *,
    .tw-ecom *::before,
    .tw-ecom *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}