.webdev-page-wrapper{
    background-color:black;
    color:#e3f0d7;
    overflow:hidden;
    z-index:1;

}
.web-section-wrapper{margin-bottom: 5%;}
.mobile-first-section-wrapper{
    margin-bottom:7%;
}
.webdev-guidelines-img-wrapper{
    margin-bottom:var(--block-margin-b);
}
.web-section-carousel-title{
    margin-top:var(--block-margin-t);
    font-size:var(--text-size-subtitle);
    font-weight:var(--font-weight-subtitle);
    margin-bottom:var(--text-margin);
}
.web-callout-wrapper{
    position:relative;
    z-index:1;
    box-sizing: border-box;
    margin-bottom: 18%;
}
.callout-wrapper{
    position:relative;
    background-color:var(--main-text-color1);
    padding:10%;
    height:70vw;
    display:flex;
    justify-content: space-between;
    flex-direction:column;
}
.callout-top-shape-divider{
    display: flex;
    align-items: flex-end;
}
.webdev-page-wrapper{
    background-color:black;
    color:#e3f0d7;
    overflow:hidden;
    z-index:1;

}
.web-section-wrapper{margin-bottom: 5%;}
.mobile-first-section-wrapper{
    margin-bottom: -4%;
}
.webdev-guidelines-img-wrapper{
    margin-bottom:var(--block-margin-b);
}
.web-section-carousel-title{
    margin-top:var(--block-margin-t);
    font-size:var(--text-size-subtitle);
    font-weight:var(--font-weight-subtitle);
    margin-bottom:var(--text-margin);
}
.web-callout-wrapper{
    position:relative;
    z-index:1;
    box-sizing: border-box;
    margin-bottom: 18%;
}
.callout-wrapper{
    position:relative;
    background-color:var(--main-text-color1);
    padding:10%;
    height:70vw;
    display:flex;
    justify-content: space-between;
    flex-direction:column;
}
.callout-top-shape-divider{
    display: flex;
    align-items: flex-end;
    margin-bottom:-2px;
    height:fit-content;
}
.callout-bottom-shape-divider{
    align-items: start;
    margin-top:-2px;
}
.callout-top-text{
    color:black;
    font-weight:var(--font-weight-title);
    font-size:60px;
    line-height:var(--line-height-title);
}
.callout-img{
    position:absolute;
    left:auto;
    right:-20%;
    bottom: 20%;
    width:63%;
    height:63%;
}
.callout-bottom-text{
    color:#ff0000;
    font-weight:var(--font-weight-title);
    font-size:60px;
    line-height:var(--line-height-title);
}


/* Section wrapper ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã¢â‚¬Å“ full bleed */
.platforms-section{
    background: var(--bg);
    color: var(--text);
    margin-top:var(--text-margin);
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position:relative;
    z-index:1;
}

/* Splide layout */
.platforms-splide .splide__track{ overflow: hidden; }
.platforms-splide .splide__list{
    display: flex;
    align-items: center;
}
.platforms-splide .splide__slide{
    flex: 0 0 auto;
    box-sizing:border-box;
    height: 1098px;
    display: flex;
    align-items: stretch;
}

/* Card */
.platform-card{
    flex: 1;
    display: flex;
}

.card-inner{
    position: relative;
    width: 842px;
    /* min-height: var(--card-min-h); */
    border-radius: 80px;
    background: #050504;
}
.platform-wp {
    /* border: 4px solid #d80f0f; */
    background: linear-gradient(347deg, rgb(0 124 145) 0%, rgb(0 33 49) 66%, rgb(11 75 87) 83%, rgb(8 96 110) 87%, rgb(14 131 147) 91%, rgb(0 247 255) 100%);
}

.platform-shopify {
    background: linear-gradient(347deg, rgb(73 110 32) 0%, rgba(11, 20, 1, 1) 69%, rgba(70, 102, 38, 1) 85%, rgba(101, 145, 57, 1) 92%, rgba(185, 255, 118, 1) 100%);
}


/* Inner vignette */
.card-inner::after{
    content:"";
    position:absolute;
    inset:0;
    border-radius: 80px;
    box-shadow: inset 0 -22px 50px #b9ff7640;
    pointer-events:none;
}

/* Header */
.card-header{
    display:flex;
    align-items:center;
    gap:16px;
    margin:var(--text-margin);
    font-weight:var(--font-weight-subtitle);
    color: var(--text);
}
.platform-title{
    font-size: var(--text-size-subtitle);
}

.platform-icon-shopify{
    width:200px;
    height:200px;
    object-fit:cover;
    filter: drop-shadow(0 0 14px rgba(185, 255, 118,0.65));
}
.platform-icon-wp{
    width:200px;
    height:200px;
    object-fit:cover;
    filter: drop-shadow(0 0 14px rgba(120,245,226,0.65));
}

/* Divider */
.card-divider-wp{
    height: 5px;
    background-color: var(--card-border);
    background: linear-gradient(270deg, rgb(0 135 222 / 0%) 0%, rgb(2 74 114) , rgb(57 202 255) 72%, rgb(10 112 139) 87%, rgb(0 0 0 / 0%) 100%);
    border: none;
}
.card-divider-shopify{
    height: 5px;
    background-color: var(--card-border);
    background: linear-gradient(270deg, rgba(22, 41, 5, 1) 1%, rgb(163 233 94) 52%, rgba(185, 255, 118, 1), rgb(185 255 118 / 0%) 100%);
    border: none;
}

/* ---------- Features list ---------- */
.card-features-wp, .card-features-shopify{
    list-style: none;
    margin: 0;
    padding: 8%;
    display: grid;
    gap: 7%;  /* adjustable spacing between list items */

    /* Adjustable knobs */ /* font size */
    --dot-size: 0.5em;                      /* bullet size relative to font */
    --dot-gap: 5%;                      /* space between dot and text */
}

.card-features-wp li{
    position: relative;
    font-size: var(--text-size-desc);
    font-weight: var(--font-weight-desc);
    line-height: 1.3;
    color: var(--muted);
    margin-left: 0;
    padding: 4% 4% 4% 18%;
    background: #000000cc;
    border-radius: 40px;
    border: 4px solid #2aa6d769;
}
.card-features-shopify li{
    position: relative;
    font-size: var(--text-size-desc);
    font-weight: var(--font-weight-desc);
    line-height: 1.3;
    color: #e1ffc3;
    margin-left: 0;
    padding: 4% 4% 4% 18%;
    background: #000000cc;
    border-radius: 40px;
    border: 4px solid #90c95963;
}

.card-features-wp li::before{
    content: "";
    position: absolute;
    left: 7%;
    top: 50%;
    transform: translateY(-50%);   /* perfectly centers with text line */
    width: 34px;
    height: 34px;
    border-radius: 99px;
    background: rgb(156 246 255);
}

.card-features-shopify li::before{
    content: "";
    position: absolute;
    left: 7%;
    top: 50%;
    transform: translateY(-50%);   /* perfectly centers with text line */
    width: 34px;
    height: 34px;
    border-radius: 99px;
    background: #ceffa0;
}

/* Arrows */
.platforms-splide .splide__arrow{
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.15);
    backdrop-filter: blur(10px);
}
.platforms-splide .splide__arrow:hover{ background: rgba(255,255,255,0.18); }






/* ===========================
   DEV SECTION (background only)
   =========================== */

.dev-section-wrapper{
    width:100%;
    height: auto;
    background-size:100% auto;
    padding-top:55%;
    margin-top:-40%;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 0; /* let content define height */
    background: url('https://a3x.co/wp-content/uploads/2025/09/dev-section-bg.svg') no-repeat center/cover;
    z-index:0;
}



.dev-section-carousel-wrapper{position:relative;overflow:hidden}

@keyframes fogUpBR{to{transform:translateY(-8%)}}





/* ===========================
   PILL MARQUEE
   =========================== */


.pill-marquee{
    position: relative;
    overflow: hidden;
    display: grid;
    gap: var(--row-gap);
    --fade: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
    mask-image: var(--fade);
    -webkit-mask-image: var(--fade);
}

.marquee-row{
    display: flex;
    gap: var(--pill-gap);
    white-space: nowrap;
    align-items: center;
}

.marquee__track{
    display: inline-flex;
    gap: var(--pill-gap);
    animation: marquee var(--speed-top) linear infinite;
}
.marquee-row--reverse .marquee__track{
    animation: marquee var(--speed-bottom) linear infinite reverse;
}

.pill-marquee:hover .marquee__track{ animation-play-state: paused; }

.pill{
    display: inline-flex;
    align-items: center;
    height: var(--pill-height);
    padding: 0 var(--pill-padding-x);
    border-radius: 9999px;
    background: var(--pill-bg);
    border: 1px solid var(--pill-border);
    color: var(--pill-text);
    font-size: var(--text-size-desc);
    font-weight: 600;
    line-height: 1;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 10px 28px rgba(0,0,0,.35);
    position: relative;
}

.pill::after{
    content: "";
    width: var(--pill-dot); height: var(--pill-dot);
    border-radius: 50%;
    margin-left: 14px;
    background:  #b9ff76;
    box-shadow: 0 0 20px rgba(120,245,226,.65), 0 0 0 3px rgba(120,245,226,.22);
}

/* marquee animation */
@keyframes marquee {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}

.web-callout-grid{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    row-gap: 8%;
    column-gap: 4%;
    /* margin-bottom: 8%; */
    box-sizing: border-box;
    height: fit-content;
    width: auto;
}
.web-callout-grid > div{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    background: #00000087;
    border-radius: 48px;
    box-sizing:border-box;
    align-content: center;
    padding: 4% 4%;
    flex-wrap: wrap;
    border: 4px solid #8176ff;
}
.web-callout-icon-wrap{
    width: 5rem;
    margin-right: 7%;
    background: #171717;
    aspect-ratio: 1/1;
    padding: 1%;
    height: 5rem;
    border-radius: 30px;
    border: 3px solid #363636;
}
.web-callout-title{
    font-size: 2.4rem;
    font-weight: 500;
}

.web-seo-offer-wrap{
    display: none;
}
.web-seo-offer-icon{
    width: 10rem;
    margin-right: 6%;
    height: 8rem;
    border: 4px solid #472e8e;
    border-radius: 40px 20px 40px 40px;
    padding: 2%;
    background: #171717;
    align-content: center;
}
.web-seo-offer:nth-child(1){
    border-radius: 80px 80px 40px 40px
}
.web-seo-offer:nth-child(2){
    border-radius: 40px
}
.web-seo-offer:nth-child(3){
    border-radius: 40px 40px 80px 80px
}
.web-seo-offer{display: flex;flex-direction: row;align-content: flex-start;align-items: flex-start;padding: 6%;background: #1c113b94;border: 4px solid #8b64f9bd;margin: 3.5% 0%;}
.web-seo-offer-title{
    font-size:var(--text-size-desc);
    font-weight: 500;
    width: fit-content;
}
.web-seo-offer-desc{
    display: flex;
    font-size: var(--text-size-desc);
    font-weight: var(--font-weight-desc);
    color: #d1c1ff;
    line-height: var(--line-height-desc);
    margin-top: 5%;
}

/* Let Splide control slide width; make card fill it */
.animation-splide .splide__slide{
    display: flex;
    justify-content: center;
}

/* BIG card that still shows side peek via Splide padding */
.anim-card{
    width: 640px;                 /* fill the slide */            /* cap on wide screens */
    min-height: 350px;           /* make it tall/bold */
    border-radius: 40px;
    display: flex; align-items: flex-end;
    padding: 8%;
    margin-bottom:-8%
}

/* keep your gradient variants (example for lime) */
.anim-card--lime {
    border: 3px solid transparent;
    background:
            linear-gradient(to top, rgba(0,0,0,1) 20%, transparent 80%) padding-box,
            linear-gradient(180deg, #B7FF6D, #1A2410) padding-box,
            rgba(183,255,109,1) border-box;
    color: #B7FF6D;
}

.anim-card--red {
    border: 3px solid transparent;
    background:
            linear-gradient(to top, rgba(0,0,0,1) 20%, transparent 80%) padding-box,
            linear-gradient(180deg, #FF4D4D, #2A1111) padding-box,
            rgba(255,77,77,1) border-box;
    color: #FF4D4D;
}

.anim-card--violet {
    border: 3px solid transparent;
    background:
            linear-gradient(to top, rgba(0,0,0,1) 20%, transparent 80%) padding-box,
            linear-gradient(180deg, #9D6DFF, #1A122A) padding-box,
            rgba(157,109,255,1) border-box;
    color: #9D6DFF;
}


/* hover polish */
.anim-card:hover{ transform: translateY(-6px); box-shadow: 0 28px 64px rgba(0,0,0,.6); }

/* text */
.anim-card{ font-weight: 700;font-size:var(--text-size-subtitle); line-height: 1.25; }

/* pills centered */
.animation-splide .splide__pagination{
    margin-top: 14px; display:flex; justify-content:center; gap:10px;
}
.animation-splide .splide__pagination__page{
    width: 36px; height: 6px; border-radius: 999px; background:#78F5E2;
    opacity:.35; transition: opacity .25s ease, transform .25s ease;
}
.animation-splide .splide__pagination__page.is-active{ opacity:1; transform:scale(1.08); }

/* arrows hidden (optional) */
.animation-splide .splide__arrow{ display:none !important; }

.animation-header-wrapper{
    position:relative;
    z-index: 2;
    color:white;
    background: #0000005e;
    padding: 7%;
    border: 4px solid #b9ff76;
    border-radius: 20px 80px 243px 80px;
    margin: 11% 7% 87% 7%;
}

.animation-section-gradient-wrapper {
    margin-top:13%;
    position: relative; /* needed for pseudo-element positioning */
    background: black;
    background: linear-gradient(90deg,
    rgba(255, 0, 55, 1) 0%,
    rgba(240, 83, 31, 1) 11%,
    rgba(255, 160, 36, 1) 19%,
    rgba(125, 186, 58, 1) 27%,
    rgba(39, 250, 127, 1) 36%,
    rgba(17, 212, 157, 1) 44%,
    rgba(0, 194, 187, 1) 53%,
    rgba(13, 159, 168, 1) 60%,
    rgba(30, 138, 168, 1) 67%,
    rgba(65, 124, 235, 1) 74%,
    rgba(69, 64, 255, 1) 80%,
    rgba(106, 0, 255, 1) 85%,
    rgba(136, 0, 199, 1) 92%,
    rgba(255, 0, 55, 1) 100%
    );
    border-radius: 0px 0px 300px 0px ;
    background-size: 300% 100%;
    animation: gradientLoop 10s linear infinite;
    overflow: hidden; /* ensures gradient overlay stays inside rounded corners */
    z-index: 0;
    /* box-shadow:inset 0px -30px 240px 0px rgb(43 0 255), inset 0 0 20px 0px rgb(255 255 255);*/
}

.animation-section-gradient-wrapper::before {
    content: "";
    position: absolute;
    top: 20px;
    left: 0;
    right: 0;
    height: 1000px; /* adjust as needed */
    background: linear-gradient(180deg,rgba(0, 0, 0, 1) 17%, rgba(0, 0, 0, 0.62) 45%, rgba(0, 0, 0, 0) 82%);
    pointer-events: none; /* ensures overlay doesn't block clicks */
    z-index: 1; /* overlay sits above the background */
}

@keyframes gradientLoop {
    0% {
        background-position: 0% 50%;
    }
    100% {
        background-position: -300% 50%;
    }
}

/* subtle inner ring */
.fog-card::after{
    content:"";
    position:absolute; inset:0;
    border-radius: inherit;
    box-shadow: inset 0 0 0 1px var(--fog-border);
    pointer-events:none;
    mix-blend-mode: screen;
}

.fog-canvas{
    position:absolute; inset:0;
    width:100%; height:100%;
    display:block;
}

.a3-section__inner{
    box-sizing: border-box;
    /* more space on the left */
    /* smaller on the right */
    margin-top:-30%;
    position:relative;
    z-index:3;
}

.png-svg-wrapper {
    position: relative;
}

.png-bg {
    width: 100%;
    height: auto;
    position: relative;
    z-index: 1;
    mask-image: linear-gradient(to bottom, black 70%, transparent 100%);
    mask-size: 100% 100%;
    mask-repeat: no-repeat;

    /* For WebKit browsers (Safari, Chrome) */
    -webkit-mask-image: linear-gradient(to bottom, black 70%, transparent 100%);
    -webkit-mask-size: 100% 100%;
    -webkit-mask-repeat: no-repeat;
}

.svg-overlay {
    position: absolute;
    top: 30%;
    left: 12%;
    width:76%;
    height: auto;
    z-index: 2;
    pointer-events: none;
}
.web-dev-gradient-bg{
    background: linear-gradient(360deg, black 0%, rgb(54 12 98) 20%, rgb(82 49 172) 40%, rgb(111 58 255) 46%, rgb(101 61 211) 48%, transparent 62%);
}

.black-gradient {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 60%;
    background: linear-gradient(
            to bottom,
            rgba(0, 0, 0, 0) 10%,
            rgba(0, 0, 0, 1) 100%
    );
    z-index: 3;            /* topmost layer */
    pointer-events: none;
}

/* Dot: fixed size, only shift it left with margin */
.mobile-first-dot {
    width: 22px;
    height: 22px;
    border-radius: 99px;
    background: #fff;
    box-shadow: 0 0 20px 8px rgb(136 0 255), inset 0 0 7px 1px rgba(216, 96, 255, 1);
    margin: 18% 0 12% 6%;
    display: block;
}
.mobile-first-title {
    font-weight: 700;
    font-size: 7rem;
    line-height: 1.2;
    display: flex;
    align-items: baseline;
    gap: 0.35em; /* space between numbers and 'to' */
    color: #e6efdd; /* light greenish-white like your ref */
}

.mobile-first-title span:nth-child(2) {
    font-weight: 600;
    color: #ffffff66;
    font-size: 5rem;
}

.mobile-first-description {
    font-size:var(--text-size-desc);
    font-weight: 500;
    line-height: 1.4;
    color: #ffffff8a;
    margin-top: 1rem;
}

.mobile-first-description span {
    text-shadow: 1px -1px 12px rgb(0 29 209);
    color: #8c65fb;
    font-weight: 500;
}
.mobile-first-header-wrapper{
    position:relative;
}

.mobile-first-title,
.mobile-first-description {


    max-width: 100%;
}

.mobile-first-text-wrap{
    color:white;
    padding: 7%;
    background: linear-gradient(180deg, #8b64f91c, #8b64f90f, #34255e);
    border-radius: 80px 80px 80px 80px;
    border: 4px solid #8b64f9;
}

.mobile-first-to{
    color:green;
}
.platforms-section-wrapper{
    display:none;
}
.desktop-dev-section-carousel-wrapper {
    margin-left: 7%;
    margin-right: 7%;
    flex-direction: column;
    flex-wrap: nowrap;
    margin-top: 7%;
}

.dev-frameworks-section-wrapper {
    border: 4px solid #6e7b63;
    padding: 7%;
    border-radius: 80px;
    font-size: 3rem;
    font-weight: 500;
    margin-bottom: 7%;
}

.dev-frameworks-title {
    font-size: var(--text-size-subtitle);
}

.dev-frameworks-list {

}

.dev-framework-item {
    margin-bottom: 5%;
}

.framework-desc {
    font-size: 2rem;
    color: #6e7b63;
}
@media(min-width:1024px){
    .webdev-page-wrapper{
        background-color:black;
        color:#e3f0d7;
        overflow:hidden;
        z-index:1;

    }
    .platforms-section-wrapper{
        display:block;
        margin-left:auto;
        margin-right:auto;
        width: fit-content;
    }
    .web-section-wrapper{margin-bottom: 5%;width: fit-content;margin-left: auto;margin-right: auto;}
    .mobile-first-section-wrapper{
        margin-bottom:7%;
        width: 100%;
        margin-left: 0;
        margin-right: 0;
    }
    .webdev-guidelines-img-wrapper{
        margin-bottom:var(--block-margin-b);
    }
    .web-section-carousel-title{
        margin-top: 0;
        font-size: 3rem;
        font-weight:var(--font-weight-subtitle);
        margin-bottom: 3rem;
    }
    .web-callout-wrapper{
        position:relative;
        z-index:1;
        box-sizing: border-box;
        margin-bottom: 11%;
        margin-top: 5%;
    }
    .callout-wrapper{
        position:relative;
        background-color:var(--main-text-color1);
        padding:10%;
        height:70vw;
        display:flex;
        justify-content: space-between;
        flex-direction:column;
    }
    .callout-top-shape-divider{
        display: flex;
        align-items: flex-end;
        margin-bottom:-2px;
        height:fit-content;
    }
    .callout-bottom-shape-divider{
        align-items: start;
        margin-top:-2px;
    }
    .callout-top-text{
        color:black;
        font-weight:var(--font-weight-title);
        font-size:60px;
        line-height:var(--line-height-title);
    }
    .callout-img{
        position:absolute;
        left:auto;
        right:-20%;
        bottom: 20%;
        width:63%;
        height:63%;
    }
    .callout-bottom-text{
        color:#ff0000;
        font-weight:var(--font-weight-title);
        font-size:60px;
        line-height:var(--line-height-title);
    }


    /* Section wrapper ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã…â€œ full bleed */
    .platforms-section{
        background: transparent;
        color: var(--text);
        margin-top: 0;
        display: flex;
        align-items: center;
        position:relative;
        z-index:1;
        justify-content: center;
        margin-bottom: 4rem;
    }

    /* Splide layout */
    .platforms-splide .splide__track{ overflow: hidden; }
    .platforms-splide .splide__list{
        display: flex;
    }
    .platforms-splide .splide__slide{
        flex: 0 0 auto;
        box-sizing:border-box;
        height: 729px;
        display: flex;
        align-items: stretch;
    }

    /* Card */
    .platform-card{
        flex: 1;
        display: flex;
    }

    .card-inner{
        position: relative;
        width: 40rem;
        border-radius: 40px;
        background: #050504;
    }
    .platform-wp {
        /* border: 4px solid #d80f0f; */
        background: linear-gradient(347deg, rgb(0 124 145) 0%, rgb(0 33 49) 66%, rgb(11 75 87) 83%, rgb(8 96 110) 87%, rgb(14 131 147) 91%, rgb(0 247 255) 100%);
    }

    .platform-shopify {
        background: linear-gradient(347deg, rgb(73 110 32) 0%, rgba(11, 20, 1, 1) 69%, rgba(70, 102, 38, 1) 85%, rgba(101, 145, 57, 1) 92%, rgba(185, 255, 118, 1) 100%);
    }


    /* Inner vignette */
    .card-inner::after{
        content:"";
        position:absolute;
        inset:0;
        border-radius: 40px;
        box-shadow: inset 0 -22px 50px #b9ff7640;
        pointer-events:none;
    }

    /* Header */
    .card-header{
        display:flex;
        align-items:center;
        gap:16px;
        margin:var(--text-margin);
        font-weight:var(--font-weight-subtitle);
        color: var(--text);
    }
    .platform-title{
        font-size: 3rem;
    }

    .platform-icon-shopify{
        width: 5rem;
        height: 5rem;
        object-fit:cover;
        filter: drop-shadow(0 0 14px rgba(185, 255, 118,0.65));
    }
    .platform-icon-wp{
        width: 5rem;
        height: 5rem;
        object-fit:cover;
        filter: drop-shadow(0 0 14px rgba(120,245,226,0.65));
    }

    /* Divider */
    .card-divider-wp{
        height: 5px;
        background-color: var(--card-border);
        background: linear-gradient(270deg, rgb(0 135 222 / 0%) 0%, rgb(2 74 114) , rgb(57 202 255) 72%, rgb(10 112 139) 87%, rgb(0 0 0 / 0%) 100%);
        border: none;
    }
    .card-divider-shopify{
        height: 5px;
        background-color: var(--card-border);
        background: linear-gradient(270deg, rgba(22, 41, 5, 1) 1%, rgb(163 233 94) 52%, rgba(185, 255, 118, 1), rgb(185 255 118 / 0%) 100%);
        border: none;
    }

    /* ---------- Features list ---------- */
    .card-features-wp, .card-features-shopify{
        list-style: none;
        margin: 0;
        padding: 8%;
        display: grid;
        gap: 7%;  /* adjustable spacing between list items */

        /* Adjustable knobs */ /* font size */
        --dot-size: 0.5em;                      /* bullet size relative to font */
        --dot-gap: 5%;                      /* space between dot and text */
    }

    .card-features-wp li{
        position: relative;
        font-size: 2rem;
        font-weight: var(--font-weight-desc);
        line-height: 1.3;
        color: var(--muted);
        margin-left: 0;
        padding: 4% 4% 4% 18%;
        background: #000000cc;
        border-radius: 40px;
        border: 4px solid #2aa6d769;
    }
    .card-features-shopify li{
        position: relative;
        font-size: 2rem;
        font-weight: var(--font-weight-desc);
        line-height: 1.3;
        color: #e1ffc3;
        margin-left: 0;
        padding: 4% 4% 4% 18%;
        background: #000000cc;
        border-radius: 40px;
        border: 4px solid #90c95963;
    }

    .card-features-wp li::before{
        content: "";
        position: absolute;
        left: 7%;
        top: 50%;
        transform: translateY(-50%);   /* perfectly centers with text line */
        width: 1rem;
        height: 1rem;
        border-radius: 99px;
        background: rgb(156 246 255);
    }

    .card-features-shopify li::before{
        content: "";
        position: absolute;
        left: 7%;
        top: 50%;
        transform: translateY(-50%);   /* perfectly centers with text line */
        width: 1rem;
        height: 1rem;
        border-radius: 99px;
        background: #ceffa0;
    }

    /* Arrows */
    .platforms-splide .splide__arrow{
        background: rgba(255,255,255,0.08);
        border: 1px solid rgba(255,255,255,0.15);
        backdrop-filter: blur(10px);
    }
    .platforms-splide .splide__arrow:hover{ background: rgba(255,255,255,0.18); }






    /* ===========================
       DEV SECTION (background only)
       =========================== */

    .dev-section-wrapper{
        width: fit-content;
        height: auto;
        background-size:100% auto;
        margin-top: 5%;
        position: relative;
        isolation: isolate;
        overflow: hidden;
        min-height: 0; /* let content define height */
        background: transparent;
        z-index:0;
        padding-top: 3rem;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 2%;
    }



    .dev-section-carousel-wrapper{position:relative;overflow:hidden}

    @keyframes fogUpBR{to{transform:translateY(-8%)}}





    /* ===========================
       PILL MARQUEE
       =========================== */


    .pill-marquee{
        position: relative;
        overflow: hidden;
        display: grid;
        gap: var(--row-gap);
        --fade: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
        mask-image: var(--fade);
        -webkit-mask-image: var(--fade);
    }

    .marquee-row{
        display: flex;
        gap: var(--pill-gap);
        white-space: nowrap;
        align-items: center;
    }

    .marquee__track{
        display: inline-flex;
        gap: var(--pill-gap);
        animation: marquee var(--speed-top) linear infinite;
    }
    .marquee-row--reverse .marquee__track{
        animation: marquee var(--speed-bottom) linear infinite reverse;
    }

    .pill-marquee:hover .marquee__track{ animation-play-state: paused; }

    .pill{
        display: inline-flex;
        align-items: center;
        height: var(--pill-height);
        padding: 0 2%;
        border-radius: 9999px;
        background: var(--pill-bg);
        border: 1px solid var(--pill-border);
        color: var(--pill-text);
        font-size: 2rem;
        font-weight: 600;
        line-height: 1;
        position: relative;
    }

    .pill::after{
        content: "";
        width: var(--pill-dot); height: var(--pill-dot);
        border-radius: 50%;
        margin-left: 14px;
        background:  #b9ff76;
        box-shadow: 0 0 20px rgba(120,245,226,.65), 0 0 0 3px rgba(120,245,226,.22);
    }

    /* marquee animation */
    @keyframes marquee {
        from { transform: translateX(0); }
        to   { transform: translateX(-50%); }
    }

    .web-callout-grid{
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        row-gap: 8%;
        column-gap: 4%;
        /* margin-bottom: 8%; */
        box-sizing: border-box;
        height: fit-content;
        width: auto;
    }
    .web-callout-grid > div{
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        background: #00000087;
        border-radius: 48px;
        box-sizing:border-box;
        align-content: center;
        padding: 4% 4%;
        flex-wrap: wrap;
        border: 4px solid #8176ff;
    }
    .web-callout-icon-wrap{
        width: 5rem;
        margin-right: 7%;
        background: #171717;
        aspect-ratio: 1/1;
        padding: 1%;
        height: 5rem;
        border-radius: 30px;
        border: 3px solid #363636;
    }
    .web-callout-title{
        font-size: 2.4rem;
        font-weight: 500;
    }

    .web-seo-offer-wrap{
        display: flex;
        flex-direction: row;
        /* width: 40%; */
    }
    .web-seo-offer-icon{
        width: 5rem;
        margin-right: 6%;
        height: 5rem;
        border: 4px solid #472e8e;
        border-radius: 40px 20px 40px 40px;
        padding: 1rem;
        background: #171717;
        align-content: center;
        margin-bottom: 2rem;
    }
    .web-seo-offer:nth-child(1){
        border-radius: 80px 40px 40px 80px;
    }
    .web-seo-offer:nth-child(2){
        border-radius: 40px;
        margin-left: 3%;
        margin-right: 3%;
    }
    .web-seo-offer:nth-child(3){
        border-radius: 40px 80px 80px 40px;
    }
    .web-seo-offer{display: flex;flex-direction: row;align-content: flex-start;align-items: flex-start;padding: 3rem;background: #1c113b94;border: 4px solid #8b64f9bd;margin: 0;}
    .web-seo-offer-title{
        font-size:var(--text-size-desc);
        font-weight: 500;
        width: fit-content;
    }
    .web-seo-offer-desc{
        display: flex;
        font-size: 2rem;
        font-weight: var(--font-weight-desc);
        color: #d1c1ff;
        line-height: var(--line-height-desc);
        margin-top: 2rem;
    }

    /* Let Splide control slide width; make card fill it */
    .animation-splide .splide__slide{
        display: flex;
        justify-content: center;
    }

    /* BIG card that still shows side peek via Splide padding */
    .anim-card{
        width: 640px;                 /* fill the slide */            /* cap on wide screens */
        min-height: 350px;           /* make it tall/bold */
        border-radius: 40px;
        display: flex; align-items: flex-end;
        padding: 8%;
        margin-bottom:-8%
    }

    /* keep your gradient variants (example for lime) */
    .anim-card--lime {
        border: 3px solid transparent;
        background:
                linear-gradient(to top, rgba(0,0,0,1) 20%, transparent 80%) padding-box,
                linear-gradient(180deg, #B7FF6D, #1A2410) padding-box,
                rgba(183,255,109,1) border-box;
        color: #B7FF6D;
    }

    .anim-card--red {
        border: 3px solid transparent;
        background:
                linear-gradient(to top, rgba(0,0,0,1) 20%, transparent 80%) padding-box,
                linear-gradient(180deg, #FF4D4D, #2A1111) padding-box,
                rgba(255,77,77,1) border-box;
        color: #FF4D4D;
    }

    .anim-card--violet {
        border: 3px solid transparent;
        background:
                linear-gradient(to top, rgba(0,0,0,1) 20%, transparent 80%) padding-box,
                linear-gradient(180deg, #9D6DFF, #1A122A) padding-box,
                rgba(157,109,255,1) border-box;
        color: #9D6DFF;
    }


    /* hover polish */
    .anim-card:hover{ transform: translateY(-6px); box-shadow: 0 28px 64px rgba(0,0,0,.6); }

    /* text */
    .anim-card{ font-weight: 700;font-size:var(--text-size-subtitle); line-height: 1.25; }

    /* pills centered */
    .animation-splide .splide__pagination{
        margin-top: 14px; display:flex; justify-content:center; gap:10px;
    }
    .animation-splide .splide__pagination__page{
        width: 36px; height: 6px; border-radius: 999px; background:#78F5E2;
        opacity:.35; transition: opacity .25s ease, transform .25s ease;
    }
    .animation-splide .splide__pagination__page.is-active{ opacity:1; transform:scale(1.08); }

    /* arrows hidden (optional) */
    .animation-splide .splide__arrow{ display:none !important; }

    .animation-header-wrapper{
        position:relative;
        z-index: 2;
        color:white;
        background: #0000005e;
        padding: 7%;
        border: 4px solid #b9ff76;
        border-radius: 240px;
        margin: 6%;
    }

    .animation-section-gradient-wrapper {
        margin-top: 5%;
        position: relative; /* needed for pseudo-element positioning */
        background: black;
        background: linear-gradient(90deg,
        rgba(255, 0, 55, 1) 0%,
        rgba(240, 83, 31, 1) 11%,
        rgba(255, 160, 36, 1) 19%,
        rgba(125, 186, 58, 1) 27%,
        rgba(39, 250, 127, 1) 36%,
        rgba(17, 212, 157, 1) 44%,
        rgba(0, 194, 187, 1) 53%,
        rgba(13, 159, 168, 1) 60%,
        rgba(30, 138, 168, 1) 67%,
        rgba(65, 124, 235, 1) 74%,
        rgba(69, 64, 255, 1) 80%,
        rgba(106, 0, 255, 1) 85%,
        rgba(136, 0, 199, 1) 92%,
        rgba(255, 0, 55, 1) 100%
        );
        border-radius: 361px;
        background-size: 300% 100%;
        animation: gradientLoop 10s linear infinite;
        overflow: hidden; /* ensures gradient overlay stays inside rounded corners */
        z-index: 0;
        /* box-shadow:inset 0px -30px 240px 0px rgb(43 0 255), inset 0 0 20px 0px rgb(255 255 255);*/
        width: 80%;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 3%;
    }

    .animation-section-gradient-wrapper::before {
        content: "";
        position: absolute;
        top: 20px;
        left: 0;
        right: 0;
        height: 1000px; /* adjust as needed */
        background: transparent;
        pointer-events: none; /* ensures overlay doesn't block clicks */
        z-index: 1; /* overlay sits above the background */
    }

    @keyframes gradientLoop {
        0% {
            background-position: 0% 50%;
        }
        100% {
            background-position: -300% 50%;
        }
    }

    /* subtle inner ring */
    .fog-card::after{
        content:"";
        position:absolute; inset:0;
        border-radius: inherit;
        box-shadow: inset 0 0 0 1px var(--fog-border);
        pointer-events:none;
        mix-blend-mode: screen;
    }

    .fog-canvas{
        position:absolute; inset:0;
        width:100%; height:100%;
        display:block;
    }

    .a3-section__inner{
        box-sizing: border-box;
        /* more space on the left */
        /* smaller on the right */
        margin-top: 1.7rem;
        position:relative;
        z-index:3;
    }

    .png-svg-wrapper {
        position: relative;
        width: 45rem;
        margin-top: -4%;
    }

    .png-bg {
        width: 100%;
        height: auto;
        position: relative;
        z-index: 1;
        mask-image: linear-gradient(to bottom, black 70%, transparent 100%);
        mask-size: 100% 100%;
        mask-repeat: no-repeat;

        /* For WebKit browsers (Safari, Chrome) */
        -webkit-mask-image: linear-gradient(to bottom, black 70%, transparent 100%);
        -webkit-mask-size: 100% 100%;
        -webkit-mask-repeat: no-repeat;
    }

    .svg-overlay {
        position: absolute;
        top: 30%;
        left: 12%;
        width:76%;
        height: auto;
        z-index: 2;
        pointer-events: none;
    }
    .web-dev-gradient-bg{
        background: linear-gradient(360deg, black 0%, rgb(54 12 98) 20%, rgb(82 49 172) 40%, rgb(111 58 255) 46%, rgb(101 61 211) 48%, transparent 62%);
    }

    .black-gradient {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 60%;
        background: linear-gradient(
                to bottom,
                rgba(0, 0, 0, 0) 10%,
                rgba(0, 0, 0, 1) 100%
        );
        z-index: 3;            /* topmost layer */
        pointer-events: none;
    }

    /* Dot: fixed size, only shift it left with margin */
    .mobile-first-dot {
        display: none;
    }
    .mobile-first-title {
        font-weight: 700;
        font-size: 5rem;
        line-height: 1.2;
        display: flex;
        align-items: baseline;
        gap: 0.35em; /* space between numbers and 'to' */
        color: #e6efdd; /* light greenish-white like your ref */
    }

    .mobile-first-title span:nth-child(2) {
        font-weight: 600;
        color: #ffffff66;
        font-size: 4rem;
    }

    .mobile-first-description {
        font-size: 2rem;
        font-weight: 500;
        line-height: 1.4;
        color: #dacdffde;
        margin-top: 1rem;
    }

    .mobile-first-description span {
        text-shadow: 1px -1px 12px rgb(0 29 209);
        color: #8c65fb;
        font-weight: 500;
    }
    .mobile-first-header-wrapper{
        position:relative;
    }

    .mobile-first-title,
    .mobile-first-description {


        max-width: 100%;
    }

    .mobile-first-text-wrap{
        color:white;
        padding: 3rem;
        background: linear-gradient(180deg, #8b64f91c, #8b64f90f, #34255e);
        border-radius: 80px;
        border: 4px solid #8b64f9;
        width: 26rem;
    }

    .mobile-first-to{
        color:green;
    }
    .desktop-dev-section-carousel-wrapper {
        display: flex;
        flex-direction: row;
        gap: 3%;
        margin-top: 0;
        justify-content: center;
        margin-left: auto;
        margin-right: auto;
        width: 75vw;
    }

    .dev-frameworks-section-wrapper {
        background: black;
        border: 4px solid #738167;
        border-radius: 80px;
        padding: 3rem;
        width: 100%;
        margin: 0;
    }

    .dev-frameworks-title {
        font-size: 3rem;
        font-weight: 500;
    }

    .dev-frameworks-list {
        font-size: 3rem;
        margin-top: 2rem;
    }

    .dev-framework-item {
        margin-bottom: 2rem;
        font-weight: 500;
        padding: 2rem;
        background: #191b18;
        border-radius: 40px;
        color: #d5f3ac;
    }

    .framework-desc {
        font-size: 2rem;
        color: #728066;
    }
    .desktop-mobile-first{
        height: 35rem;
    }
}
