:root {
    --navy: #071d3d;
    --navy2: #0a284b;
    --teal: #12b7b5;
    --teal2: #079fa8;
    --cyan: #42d4d2;
    --soft: #f4fbfd;
    --muted: #667085;
    --line: #e6edf2;
    --white: #fff;
    --shadow: 0 18px 55px rgba(8,36,67,.09);
    --radius: 24px
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth
}

body {
    font-family: 'Poppins',sans-serif;
    color: var(--navy);
    background: #fff;
    overflow-x: hidden
}

a {
    text-decoration: none;
    color: inherit
}

img {
    max-width: 100%
}

.text-teal {
    color: var(--teal)!important
}

.bg-soft {
    background: var(--soft)
}

.section {
    padding: 90px 0
}

.section-sm {
    padding: 65px 0
}

.eyebrow {
    font-size: .82rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--teal2);
    font-weight: 700;
    margin-bottom: 12px
}

.section-title {
    font-size: clamp(2rem,4vw,3.35rem);
    font-weight: 700;
    letter-spacing: -.035em;
    line-height: 1.12
}

.section-copy {
    color: var(--muted);
    line-height: 1.9
}

.tiny-line {
    width: 42px;
    height: 3px;
    background: var(--teal);
    border-radius: 9px;
    margin: 18px 0
}

.nav-shell {
    height: 92px;
    background: rgba(255,255,255,.96);
    border-bottom: 1px solid #edf1f4;
    position: sticky;
    top: 0;
    z-index: 1020;
    backdrop-filter: blur(14px)
}

.navbar-brand {
    font-size: 1.55rem;
    font-weight: 700;
    color: var(--navy)
}

.navbar-brand span {
    color: var(--teal)
}

.brand-cube {
    width: 34px;
    height: 34px;
    display: inline-grid;
    place-items: center;
    transform: rotate(30deg);
    background: linear-gradient(135deg,#cceff2 0 33%,#4e98a8 33% 66%,#07556e 66%);
    border-radius: 5px;
    margin-left: 10px
}

.navbar-nav .nav-link {
    font-size: .88rem;
    font-weight: 500;
    color: #111827!important;
    padding: 34px 18px!important;
    position: relative
}

.navbar-nav .nav-link.active,.navbar-nav .nav-link:hover {
    color: var(--teal2)!important
}

.navbar-nav .nav-link.active:after {
    content: '';
    position: absolute;
    bottom: 16px;
    left: 18px;
    right: 18px;
    height: 2px;
    background: var(--teal)
}

.contact-chip {
    border: 1px solid #dfe9ee;
    border-radius: 11px;
    padding: 12px 15px;
    font-size: .79rem;
    display: flex;
    gap: 9px;
    align-items: center;
    white-space: nowrap;
    background: #fff
}

.contact-chip i {
    color: var(--teal)
}

.menu-btn {
    width: 45px;
    height: 45px;
    border: 0;
    background: transparent;
    color: var(--teal);
    font-size: 1.65rem
}

.hero {
    min-height: 655px;
    display: flex;
    align-items: center;
    position: relative;
    background: radial-gradient(circle at 84% 24%,rgba(18,183,181,.13),transparent 26%),linear-gradient(125deg,#fff 0%,#f7fbfd 60%,#eefafd 100%);
    overflow: hidden
}

.hero:before {
    content: '';
    position: absolute;
    width: 460px;
    height: 460px;
    border-radius: 50%;
    background: linear-gradient(145deg,rgba(18,183,181,.12),rgba(255,255,255,0));
    right: -180px;
    bottom: -170px
}

.hero h1 {
    font-size: clamp(2.7rem,5vw,5rem);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -.05em
}

.hero p {
    font-size: 1.06rem;
    color: #526071;
    max-width: 600px;
    line-height: 1.8
}

.btn-gradient {
    border: 0;
    color: #fff!important;
    background: linear-gradient(90deg,var(--teal2),var(--teal));
    padding: 14px 24px;
    border-radius: 999px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 14px;
    box-shadow: 0 10px 24px rgba(18,183,181,.24);
    transition: .25s
}

.btn-gradient:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 32px rgba(18,183,181,.3)
}

.arrow-bubble {
    width: 33px;
    height: 33px;
    background: #fff;
    color: var(--teal2);
    border-radius: 50%;
    display: grid;
    place-items: center
}

.dashboard-art {
    position: relative;
    min-height: 470px
}

.phone-card {
    position: absolute;
    left: 15%;
    top: 45px;
    width: 240px;
    height: 410px;
    border: 12px solid white;
    border-radius: 38px;
    background: linear-gradient(165deg,#0b2748,#0cabb0);
    box-shadow: 0 35px 70px rgba(1,31,62,.25);
    transform: rotate(8deg);
    overflow: hidden
}

.phone-card:before {
    content: '';
    position: absolute;
    width: 105px;
    height: 20px;
    background: #fff;
    top: -2px;
    left: 55px;
    border-radius: 0 0 14px 14px
}

.phone-screen {
    margin: 30px 12px;
    padding: 18px;
    border-radius: 20px;
    background: #fff;
    height: 330px
}

.story {
    height: 85px;
    border-radius: 16px;
    background: linear-gradient(135deg,#ffe5a4,#f5a650);
    margin-bottom: 14px
}

.post-line {
    height: 7px;
    background: #e6edf2;
    border-radius: 6px;
    margin: 9px 0
}

.post-line.short {
    width: 60%
}

.chart-card {
    position: absolute;
    right: 0;
    top: 160px;
    width: 320px;
    background: #fff;
    border-radius: 22px;
    padding: 22px;
    box-shadow: var(--shadow)
}

.chart-grid {
    height: 130px;
    margin-top: 16px;
    background: linear-gradient(#eff5f7 1px,transparent 1px),linear-gradient(90deg,#eff5f7 1px,transparent 1px);
    background-size: 32px 32px;
    position: relative;
    overflow: hidden
}

.chart-grid:after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 24px;
    height: 70px;
    background: linear-gradient(160deg,transparent 0 20%,rgba(18,183,181,.2) 21% 100%);
    clip-path: polygon(0 75%,18% 47%,35% 66%,53% 31%,68% 53%,84% 18%,100% 0,100% 100%,0 100%)
}

.social-dot {
    position: absolute;
    width: 62px;
    height: 62px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: white;
    box-shadow: var(--shadow);
    font-size: 1.7rem;
    font-weight: 700
}

.d1 {
    left: 1%;
    top: 110px;
    color: #1977f3
}

.d2 {
    left: 2%;
    top: 210px;
    color: #000
}

.d3 {
    right: 10%;
    top: 58px;
    color: #ff2448
}

.stats-bar {
    margin-top: -35px;
    position: relative;
    z-index: 3;
    background: #fff;
    border-radius: 20px;
    padding: 26px 18px;
    box-shadow: var(--shadow)
}

.stat-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 0 24px;
    border-right: 1px solid var(--line)
}

.stat-item:last-child {
    border-right: 0
}

.stat-icon {
    width: 58px;
    height: 58px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #e8fbfb;
    color: var(--teal2);
    font-size: 1.45rem
}

.stat-num {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1
}

.stat-label {
    font-size: .78rem;
    color: var(--muted);
    margin-top: 6px
}

.service-card,.info-card,.blog-card,.portfolio-card {
    background: #fff;
    border: 1px solid #e9eff2;
    border-radius: 18px;
    box-shadow: 0 10px 32px rgba(9,39,72,.045);
    height: 100%;
    transition: .25s
}

.service-card {
    padding: 28px
}

.service-card:hover,.portfolio-card:hover,.blog-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow)
}

.service-icon {
    width: 58px;
    height: 58px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg,var(--teal2),var(--cyan));
    color: #fff;
    font-size: 1.4rem
}

.service-card h3 {
    font-size: 1rem;
    font-weight: 700;
    margin: 0
}

.service-card p {
    font-size: .85rem;
    color: var(--muted);
    line-height: 1.75
}

.learn-link {
    font-size: .84rem;
    color: var(--teal2);
    font-weight: 600
}

.cta-band {
    border-radius: 18px;
    padding: 26px 38px;
    background: linear-gradient(100deg,#089eaa,#13bbb7,#1c69d6);
    color: #fff
}

.cta-band .circle {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: #fff;
    color: var(--teal2);
    display: grid;
    place-items: center;
    font-size: 2rem
}

.footer {
    background: #061c35;
    color: #d4e0e8;
    padding: 70px 0 28px;
    position: relative;
    overflow: hidden
}

.footer:before {
    content: '';
    position: absolute;
    width: 520px;
    height: 520px;
    border: 1px dashed rgba(18,183,181,.15);
    border-radius: 50%;
    right: 10%;
    top: -220px
}

.footer h5 {
    color: #fff;
    font-size: 1rem;
    font-weight: 600
}

.footer-link {
    display: block;
    color: #aebdca;
    font-size: .86rem;
    margin: 13px 0
}

.footer-link:hover {
    color: var(--cyan)
}

.footer .icon-row i {
    width: 42px;
    height: 42px;
    background: #102d49;
    border-radius: 50%;
    display: inline-grid;
    place-items: center;
    margin-right: 8px
}

.page-hero {
    padding: 95px 0 85px;
    background: radial-gradient(circle at 80% 20%,rgba(18,183,181,.16),transparent 30%),linear-gradient(120deg,#fff,#effbfc)
}

.page-hero h1 {
    font-size: clamp(2.5rem,5vw,4.7rem);
    font-weight: 700;
    letter-spacing: -.05em
}

.visual-card {
    min-height: 380px;
    border-radius: 28px;
    background: linear-gradient(145deg,#0b2948,#12b7b5);
    position: relative;
    overflow: hidden;
    box-shadow: var(--shadow)
}

.visual-card:before {
    content: '';
    position: absolute;
    width: 270px;
    height: 270px;
    border: 50px solid rgba(255,255,255,.12);
    border-radius: 50%;
    right: -30px;
    top: -40px
}

.visual-card .float-panel {
    position: absolute;
    background: #fff;
    border-radius: 18px;
    padding: 20px;
    box-shadow: var(--shadow)
}

.panel-a {
    left: 35px;
    top: 60px;
    width: 55%
}

.panel-b {
    right: 28px;
    bottom: 35px;
    width: 50%
}

.region-wrap {
    min-height: calc(100vh - 92px);
    padding: 90px 0;
    background: radial-gradient(circle at 0 0,rgba(18,183,181,.12),transparent 22%),radial-gradient(circle at 100% 38%,rgba(18,183,181,.10),transparent 25%),#f8fbfd
}

.region-card {
    background: #fff;
    border-radius: 24px;
    padding: 42px;
    box-shadow: var(--shadow);
    height: 100%;
    position: relative
}

.region-badge {
    position: absolute;
    right: 22px;
    top: 20px;
    background: var(--teal);
    color: #fff;
    border-radius: 999px;
    font-size: .73rem;
    padding: 6px 20px
}

.flag-circle {
    width: 76px;
    height: 76px;
    border-radius: 50%;
    margin: auto;
    display: grid;
    place-items: center;
    font-size: 2.4rem;
    background: #f2f7f8
}

.contact-box {
    background: #fff;
    border-radius: 18px;
    border: 1px solid var(--line);
    padding: 24px;
    height: 100%
}

.form-control,.form-select {
    border-color: #e3ebef;
    border-radius: 11px;
    padding: 14px 15px
}

.form-control:focus,.form-select:focus {
    border-color: var(--teal);
    box-shadow: 0 0 0 .2rem rgba(18,183,181,.12)
}

.portfolio-thumb {
    height: 250px;
    border-radius: 18px 18px 0 0;
    background: linear-gradient(135deg,#dff8f8,#b8e1ef);
    display: grid;
    place-items: center;
    overflow: hidden
}

.mini-browser {
    width: 78%;
    background: white;
    border-radius: 12px;
    box-shadow: 0 20px 45px rgba(5,38,70,.18);
    padding: 10px
}

.mini-browser .top {
    height: 12px;
    border-bottom: 1px solid #eaeff2
}

.mini-browser .screen {
    height: 135px;
    background: linear-gradient(135deg,#0b2948,#12b7b5);
    margin-top: 10px;
    border-radius: 7px
}

.blog-card img {
    height: 220px;
    object-fit: cover;
    border-radius: 18px 18px 0 0
}

.blog-body {
    padding: 24px
}

.blog-meta {
    font-size: .76rem;
    color: var(--teal2);
    font-weight: 600
}

.offcanvas {
    width: min(100%,440px)!important
}

.offcanvas-body .nav-link {
    padding: 17px 4px;
    border-bottom: 1px solid #edf0f2;
    font-weight: 500
}

.offcanvas-brand {
    font-size: 1.4rem;
    font-weight: 700
}

.service-detail-icon {
    width: 80px;
    height: 80px;
    border-radius: 24px;
    background: linear-gradient(135deg,var(--teal2),var(--cyan));
    color: white;
    display: grid;
    place-items: center;
    font-size: 2rem
}

.process-step {
    padding: 28px;
    border-left: 3px solid var(--teal);
    background: #fff;
    border-radius: 0 18px 18px 0;
    box-shadow: 0 10px 30px rgba(9,39,72,.05);
    height: 100%
}

.process-num {
    font-size: .75rem;
    color: var(--teal2);
    font-weight: 700
}

.faq .accordion-item {
    border: 1px solid var(--line);
    border-radius: 14px!important;
    margin-bottom: 12px;
    overflow: hidden
}

.accordion-button:not(.collapsed) {
    color: var(--navy);
    background: #effbfb;
    box-shadow: none
}

.accordion-button:focus {
    box-shadow: none
}

.active-service {
    color: var(--teal)!important
}

@media(max-width: 1199.98px) {
    .navbar-nav .nav-link {
        padding-left:10px!important;
        padding-right: 10px!important
    }

    .contact-chip.email-chip {
        display: none
    }

    .dashboard-art {
        transform: scale(.9);
        transform-origin: center
    }

    .stat-item {
        padding: 0 12px
    }
}

@media(max-width: 991.98px) {
    .nav-shell {
        height:78px
    }

    .hero {
        padding: 70px 0
    }

    .dashboard-art {
        margin-top: 35px;
        transform: none
    }

    .stats-bar {
        margin-top: 20px
    }

    .stat-item {
        border-right: 0;
        border-bottom: 1px solid var(--line);
        padding: 17px
    }

    .stat-item:nth-last-child(-n+2) {
        border-bottom: 0
    }

    .section {
        padding: 70px 0
    }

    .page-hero {
        padding: 75px 0
    }

    .chart-card {
        right: 5%
    }
}

@media(max-width: 767.98px) {
    .hero h1 {
        font-size:2.75rem
    }

    .dashboard-art {
        min-height: 430px
    }

    .phone-card {
        left: 5%;
        width: 210px;
        height: 370px
    }

    .chart-card {
        width: 250px;
        top: 180px
    }

    .social-dot {
        display: none
    }

    .stats-bar {
        padding: 10px
    }

    .stat-item {
        justify-content: flex-start
    }

    .section-title {
        font-size: 2.2rem
    }

    .cta-band {
        padding: 25px
    }

    .region-card {
        padding: 34px 22px
    }

    .contact-chip {
        display: none
    }

    .page-hero {
        text-align: center
    }

    .visual-card {
        margin-top: 30px
    }

    .footer {
        text-align: center
    }

    .tiny-line {
        margin-left: auto;
        margin-right: auto
    }
}

@media(max-width: 575.98px) {
    .dashboard-art {
        min-height:390px
    }

    .phone-card {
        left: 0;
        width: 180px;
        height: 335px
    }

    .phone-screen {
        height: 270px
    }

    .chart-card {
        width: 220px;
        right: 0;
        padding: 15px
    }

    .hero {
        min-height: auto
    }

    .hero h1 {
        font-size: 2.35rem
    }

    .btn-gradient {
        padding: 12px 18px
    }

    .stat-item {
        border-bottom: 1px solid var(--line)!important
    }

    .stat-item:last-child {
        border-bottom: 0!important
    }

    .section {
        padding: 58px 0
    }

    .service-card {
        padding: 22px
    }

    .cta-band {
        text-align: center
    }

    .cta-band .circle {
        margin: auto auto 14px
    }

    .page-hero h1 {
        font-size: 2.45rem
    }
}

/* 2026 extended homepage & motion system */
html {
    scroll-behavior: smooth
}

.nav-shell {
    transition: height .3s ease,box-shadow .3s ease,background .3s ease
}

.nav-shell.scrolled {
    height: 76px;
    box-shadow: 0 10px 35px rgba(7,35,65,.09);
    background: rgba(255,255,255,.94);
    backdrop-filter: blur(18px)
}

.reveal-up,.reveal-left,.reveal-right {
    opacity: 0;
    transition: opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1)
}

.reveal-up {
    transform: translateY(42px)
}

.reveal-left {
    transform: translateX(-42px)
}

.reveal-right {
    transform: translateX(42px)
}

.revealed {
    opacity: 1;
    transform: none
}

.reveal-up:nth-child(2) {
    transition-delay: .08s
}

.reveal-up:nth-child(3) {
    transition-delay: .16s
}

.reveal-up:nth-child(4) {
    transition-delay: .24s
}

.hero .eyebrow,.hero h1,.hero p,.hero .btn-gradient {
    animation: heroRise .9s both
}

.hero h1 {
    animation-delay: .08s
}

.hero p {
    animation-delay: .16s
}

.hero .btn-gradient {
    animation-delay: .24s
}

.dashboard-art {
    animation: heroFloat 5s ease-in-out infinite
}

.chart-card {
    animation: cardFloat 4.4s ease-in-out infinite
}

.social-dot {
    animation: dotFloat 3.8s ease-in-out infinite
}

.d2 {
    animation-delay: .8s
}

.d3 {
    animation-delay: 1.4s
}

@keyframes heroRise {
    from {
        opacity: 0;
        transform: translateY(25px)
    }

    to {
        opacity: 1;
        transform: none
    }
}

@keyframes heroFloat {
    50% {
        transform: translateY(-10px)
    }
}

@keyframes cardFloat {
    50% {
        transform: translateY(-9px) rotate(.5deg)
    }
}

@keyframes dotFloat {
    50% {
        transform: translateY(-12px) scale(1.04)
    }
}

.brand-strip {
    background: var(--navy);
    padding: 19px 0;
    color: #fff
}

.brand-track {
    width: max-content;
    display: flex;
    align-items: center;
    gap: 34px;
    animation: marquee 26s linear infinite;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .12em;
    font-size: .82rem
}

.brand-track i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--teal);
    box-shadow: 0 0 0 6px rgba(18,183,181,.12)
}

@keyframes marquee {
    to {
        transform: translateX(-50%)
    }
}

.about-home {
    overflow: hidden;
    background: linear-gradient(180deg,#fff,#f7fbfd)
}

.orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(1px);
    pointer-events: none
}

.orb-one {
    width: 330px;
    height: 330px;
    background: rgba(18,183,181,.08);
    left: -180px;
    top: 80px
}

.orb-two {
    width: 260px;
    height: 260px;
    border: 55px solid rgba(26,109,210,.055);
    right: -120px;
    bottom: 20px
}

.creative-canvas {
    height: 540px;
    border-radius: 34px;
    position: relative;
    overflow: hidden;
    background: linear-gradient(145deg,#071f3b 0%,#0a3f5f 50%,#0ab2b2 120%);
    box-shadow: 0 35px 80px rgba(4,38,70,.2)
}

.canvas-grid {
    position: absolute;
    inset: 0;
    background-image: linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
    background-size: 38px 38px;
    mask-image: linear-gradient(to bottom,#000,transparent)
}

.main-dashboard {
    position: absolute;
    width: 72%;
    left: 14%;
    top: 18%;
    background: rgba(255,255,255,.96);
    border-radius: 22px;
    padding: 22px;
    box-shadow: 0 28px 60px rgba(0,0,0,.25);
    transform: perspective(800px) rotateY(-7deg) rotateX(3deg);
    transition: .4s
}

.creative-canvas:hover .main-dashboard {
    transform: perspective(800px) rotateY(0) rotateX(0) translateY(-8px)
}

.dash-head {
    display: flex;
    align-items: center;
    gap: 6px;
    border-bottom: 1px solid #e8eff2;
    padding-bottom: 14px
}

.dash-head span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #d5e0e5
}

.dash-head b {
    font-size: .76rem;
    margin-left: 8px
}

.dash-bars {
    height: 180px;
    display: flex;
    gap: 12px;
    align-items: end;
    padding: 25px 10px 10px
}

.dash-bars i {
    flex: 1;
    border-radius: 7px 7px 2px 2px;
    background: linear-gradient(180deg,var(--cyan),var(--teal2));
    transform-origin: bottom;
    animation: barGrow 1.2s ease both
}

@keyframes barGrow {
    from {
        transform: scaleY(0)
    }
}

.dash-row {
    display: flex;
    gap: 12px
}

.dash-row>div {
    flex: 1;
    background: #f3f8fa;
    border-radius: 12px;
    padding: 12px
}

.dash-row small,.dash-row strong {
    display: block
}

.dash-row small {
    font-size: .65rem;
    color: var(--muted)
}

.dash-row strong {
    font-size: 1rem;
    color: var(--navy)
}

.metric-card {
    position: absolute;
    background: #fff;
    border-radius: 17px;
    padding: 15px 18px;
    box-shadow: 0 20px 45px rgba(0,0,0,.2);
    z-index: 2;
    animation: cardFloat 4s ease-in-out infinite
}

.metric-card small,.metric-card strong {
    display: block
}

.metric-card small {
    font-size: .66rem;
    color: var(--muted)
}

.metric-card strong {
    font-size: 1.35rem;
    color: var(--navy)
}

.metric-one {
    left: 4%;
    top: 10%
}

.metric-two {
    right: 3%;
    bottom: 12%;
    animation-delay: 1s
}

.metric-two i {
    color: var(--teal)
}

.pulse-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #23c77a;
    margin-right: 4px;
    box-shadow: 0 0 0 0 rgba(35,199,122,.5);
    animation: pulse 1.8s infinite
}

@keyframes pulse {
    70% {
        box-shadow: 0 0 0 10px rgba(35,199,122,0)
    }
}

.floating-chip {
    position: absolute;
    color: #fff;
    background: rgba(255,255,255,.13);
    border: 1px solid rgba(255,255,255,.18);
    backdrop-filter: blur(10px);
    border-radius: 999px;
    padding: 9px 15px;
    font-size: .72rem
}

.chip-a {
    left: 9%;
    bottom: 10%
}

.chip-b {
    right: 8%;
    top: 11%
}

.feature-list>div {
    display: flex;
    gap: 14px;
    margin-bottom: 18px
}

.feature-list>div>span {
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    border-radius: 50%;
    background: #e5fbfa;
    color: var(--teal2);
    display: grid;
    place-items: center
}

.feature-list p,.feature-list b,.feature-list small {
    display: block;
    margin: 0
}

.feature-list b {
    font-size: .95rem;
    color: var(--navy)
}

.feature-list small {
    color: var(--muted);
    line-height: 1.65;
    margin-top: 3px
}

.process-section {
    background: #f5fafc
}

.process-line {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    position: relative;
    gap: 20px
}

.process-line:before {
    content: '';
    position: absolute;
    left: 9%;
    right: 9%;
    top: 46px;
    height: 1px;
    background: linear-gradient(90deg,transparent,var(--teal),var(--teal),transparent)
}

.modern-step {
    position: relative;
    padding: 0 18px 24px;
    text-align: center
}

.step-index {
    position: absolute;
    right: 18px;
    top: 0;
    color: #cbd9df;
    font-size: .74rem;
    font-weight: 700
}

.step-icon {
    width: 92px;
    height: 92px;
    margin: 0 auto 24px;
    border-radius: 26px;
    display: grid;
    place-items: center;
    background: #fff;
    border: 1px solid #e4eef1;
    color: var(--teal2);
    font-size: 1.8rem;
    box-shadow: 0 16px 36px rgba(8,47,78,.08);
    position: relative;
    z-index: 2;
    transition: .35s
}

.modern-step:hover .step-icon {
    color: #fff;
    background: linear-gradient(135deg,var(--teal2),var(--cyan));
    transform: translateY(-8px) rotate(-4deg);
    box-shadow: 0 22px 45px rgba(18,183,181,.25)
}

.modern-step h3 {
    font-size: 1.05rem;
    font-weight: 700
}

.modern-step p {
    font-size: .83rem;
    color: var(--muted);
    line-height: 1.7
}

.work-showcase {
    background: #fff
}

.showcase-grid {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    grid-template-rows: repeat(2,330px);
    gap: 22px
}

.project-tile {
    border-radius: 24px;
    overflow: hidden;
    position: relative;
    background: #eaf7f8;
    display: block
}

.project-large {
    grid-row: 1/3
}

.project-tile:after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top,rgba(5,27,52,.88),transparent 55%);
    pointer-events: none
}

.project-caption {
    position: absolute;
    left: 28px;
    right: 28px;
    bottom: 24px;
    color: #fff;
    display: flex;
    align-items: end;
    justify-content: space-between;
    z-index: 3
}

.project-caption small {
    opacity: .75
}

.project-caption h3 {
    font-size: 1.2rem;
    margin: 4px 0 0
}

.project-caption>span {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #fff;
    color: var(--navy);
    display: grid;
    place-items: center;
    transition: .35s
}

.project-tile:hover .project-caption>span {
    transform: rotate(45deg);
    background: var(--teal);
    color: #fff
}

.project-browser {
    position: absolute;
    width: 82%;
    left: 9%;
    top: 10%;
    background: #fff;
    border-radius: 17px;
    padding: 10px;
    box-shadow: 0 30px 55px rgba(6,36,65,.2);
    transition: .45s
}

.project-tile:hover .project-browser {
    transform: translateY(-12px) rotate(-1deg)
}

.browser-top {
    display: flex;
    gap: 5px;
    height: 20px
}

.browser-top i {
    width: 7px;
    height: 7px;
    background: #d4e0e4;
    border-radius: 50%
}

.website-mock {
    height: 450px;
    border-radius: 11px;
    position: relative;
    overflow: hidden;
    background: linear-gradient(145deg,#e9fbfb,#bde8ef)
}

.mock-nav {
    height: 48px;
    background: rgba(255,255,255,.82)
}

.mock-copy {
    position: absolute;
    left: 9%;
    top: 27%;
    width: 45%
}

.mock-copy b {
    font-size: 2rem;
    color: var(--navy);
    display: block
}

.mock-copy span {
    display: block;
    width: 100%;
    height: 7px;
    background: #b7cfd8;
    margin: 12px 0;
    border-radius: 5px
}

.mock-copy span:nth-child(3) {
    width: 68%
}

.mock-copy button {
    width: 100px;
    height: 32px;
    border: 0;
    border-radius: 20px;
    background: var(--teal)
}

.mock-shape {
    position: absolute;
    width: 260px;
    height: 260px;
    border-radius: 45% 55% 52% 48%;
    right: -30px;
    top: 105px;
    background: linear-gradient(145deg,var(--teal),#1c6ed2);
    transform: rotate(20deg)
}

.ad-creative,.brand-creative {
    position: absolute;
    inset: 0;
    transition: .45s
}

.ad-creative {
    background: linear-gradient(145deg,#0b2948,#11b6b4)
}

.ad-phone {
    position: absolute;
    width: 145px;
    height: 240px;
    border: 7px solid #fff;
    border-radius: 26px;
    left: 18%;
    top: 18%;
    background: #f6fbfc;
    transform: rotate(-10deg);
    padding: 55px 15px 15px;
    box-shadow: 0 20px 40px rgba(0,0,0,.25)
}

.ad-phone span {
    position: absolute;
    width: 55px;
    height: 8px;
    background: #dfe9ec;
    border-radius: 8px;
    top: 18px;
    left: 39px
}

.ad-phone b,.ad-phone small {
    display: block
}

.ad-phone b {
    font-size: 2rem;
    color: var(--teal2)
}

.ad-phone small {
    color: var(--muted)
}

.ad-rings {
    position: absolute;
    width: 220px;
    height: 220px;
    border: 40px solid rgba(255,255,255,.12);
    border-radius: 50%;
    right: -35px;
    top: -30px
}

.brand-creative {
    background: linear-gradient(145deg,#eefbfb,#d2e9f3)
}

.brand-mark {
    position: absolute;
    left: 17%;
    top: 18%;
    width: 100px;
    height: 100px;
    background: linear-gradient(135deg,var(--navy),var(--teal));
    color: #fff;
    border-radius: 28px;
    display: grid;
    place-items: center;
    font-size: 3rem;
    font-weight: 700;
    transform: rotate(-8deg)
}

.brand-cards {
    position: absolute;
    right: 12%;
    top: 15%;
    display: flex;
    gap: 10px;
    transform: rotate(8deg)
}

.brand-cards i {
    display: block;
    width: 62px;
    height: 180px;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 18px 35px rgba(4,39,72,.13)
}

.brand-cards i:nth-child(2) {
    background: var(--teal)
}

.project-tile:hover .ad-creative,.project-tile:hover .brand-creative {
    transform: scale(1.04)
}

.outline-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 14px 22px;
    border: 1px solid #cce0e5;
    border-radius: 999px;
    color: var(--navy);
    font-weight: 600;
    transition: .3s
}

.outline-btn:hover {
    background: var(--navy);
    border-color: var(--navy);
    color: #fff;
    transform: translateY(-3px)
}

.why-section {
    background: linear-gradient(135deg,#061d36,#0a3450);
    color: #fff;
    position: relative;
    overflow: hidden
}

.why-section:after {
    content: '';
    position: absolute;
    width: 520px;
    height: 520px;
    border: 1px dashed rgba(255,255,255,.12);
    border-radius: 50%;
    right: -180px;
    top: -160px
}

.why-section .section-title {
    color: #fff
}

.why-section .section-copy {
    color: #afc2cf
}

.experience-box {
    border-top: 1px solid rgba(255,255,255,.15);
    margin-top: 30px;
    padding-top: 25px;
    display: flex;
    align-items: center;
    gap: 22px
}

.experience-box strong {
    font-size: 3.6rem;
    color: var(--cyan);
    line-height: 1
}

.experience-box p {
    font-size: .82rem;
    color: #afc2cf;
    max-width: 260px;
    margin: 0
}

.benefit-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    position: relative;
    z-index: 2
}

.benefit-card {
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 20px;
    padding: 26px;
    backdrop-filter: blur(12px);
    transition: .35s
}

.benefit-card:hover {
    background: rgba(18,183,181,.14);
    transform: translateY(-7px);
    border-color: rgba(18,183,181,.4)
}

.benefit-card span {
    float: right;
    font-size: .7rem;
    color: #7792a5
}

.benefit-card i {
    font-size: 1.7rem;
    color: var(--cyan)
}

.benefit-card h3 {
    font-size: 1rem;
    margin: 19px 0 8px
}

.benefit-card p {
    font-size: .8rem;
    color: #afc2cf;
    line-height: 1.7;
    margin: 0
}

.testimonial-section {
    background: #f5fafc
}

.rating-line {
    display: inline-grid;
    grid-template-columns: auto auto;
    gap: 2px 12px;
    text-align: left
}

.rating-line b {
    font-size: 1.4rem
}

.rating-line span {
    color: #f6b91d;
    letter-spacing: 2px
}

.rating-line small {
    grid-column: 1/3;
    color: var(--muted)
}

.quote-card {
    height: 100%;
    background: #fff;
    border: 1px solid #e7eef1;
    border-radius: 24px;
    padding: 42px;
    box-shadow: 0 18px 45px rgba(7,39,70,.06);
    position: relative
}

.quote-card>i {
    font-size: 3.4rem;
    color: #d5f4f3;
    position: absolute;
    right: 32px;
    top: 20px
}

.quote-card>p {
    font-size: 1.35rem;
    line-height: 1.65;
    color: var(--navy);
    max-width: 760px
}

.quote-card footer {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-top: 28px
}

.avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: linear-gradient(135deg,var(--navy),var(--teal));
    color: #fff;
    display: grid;
    place-items: center;
    font-weight: 700
}

.quote-card footer b,.quote-card footer small {
    display: block
}

.quote-card footer small {
    color: var(--muted)
}

.result-card {
    height: 100%;
    border-radius: 24px;
    padding: 36px;
    color: #fff;
    background: linear-gradient(145deg,var(--teal2),#1379bc);
    display: flex;
    flex-direction: column;
    justify-content: center
}

.result-card small {
    opacity: .8
}

.result-card strong {
    font-size: 3.5rem;
    line-height: 1.2;
    margin: 8px 0
}

.result-card p {
    font-size: .85rem;
    line-height: 1.7
}

.mini-progress {
    height: 5px;
    background: rgba(255,255,255,.25);
    border-radius: 5px;
    margin-top: 15px
}

.mini-progress i {
    display: block;
    width: 76%;
    height: 100%;
    background: #fff;
    border-radius: 5px
}

.carousel-controls {
    display: flex;
    gap: 10px;
    margin-top: 24px
}

.carousel-controls button {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    border: 1px solid #d4e2e7;
    background: #fff;
    color: var(--navy);
    transition: .25s
}

.carousel-controls button:hover {
    background: var(--teal);
    color: #fff;
    border-color: var(--teal)
}

.insight-card {
    height: 100%;
    background: #fff;
    border: 1px solid #e5edf0;
    border-radius: 22px;
    overflow: hidden;
    transition: .35s
}

.insight-card:hover {
    transform: translateY(-7px);
    box-shadow: var(--shadow)
}

.insight-visual {
    height: 220px;
    position: relative;
    display: grid;
    place-items: center;
    overflow: hidden
}

.featured-insight .insight-visual {
    height: 290px
}

.visual-seo {
    background: linear-gradient(135deg,#071f3b,#0ca9ab);
    color: #fff
}

.visual-seo i {
    font-size: 5rem
}

.visual-seo span {
    position: absolute;
    font-size: 8rem;
    font-weight: 700;
    opacity: .06
}

.visual-ads {
    background: linear-gradient(145deg,#e5fbfa,#c7e9f5);
    color: var(--teal2)
}

.visual-web {
    background: linear-gradient(145deg,#e8eefb,#d8fbfa);
    color: #1768c5
}

.visual-ads i,.visual-web i {
    font-size: 4.2rem
}

.insight-body {
    padding: 25px
}

.insight-body small {
    color: var(--teal2);
    font-weight: 600
}

.insight-body h3 {
    font-size: 1.15rem;
    line-height: 1.45;
    margin: 10px 0;
    color: var(--navy)
}

.featured-insight .insight-body h3 {
    font-size: 1.5rem
}

.insight-body p {
    color: var(--muted);
    font-size: .84rem
}

.insight-body a {
    font-size: .82rem;
    font-weight: 600;
    color: var(--teal2)
}

.faq-home {
    background: #fff;
    overflow: hidden;
}

.faq-home .accordion-button {
    font-weight: 600;
    padding: 21px
}

.faq-home .accordion-body {
    color: var(--muted);
    line-height: 1.75;
    font-size: .88rem
}

.final-cta-section {
    padding: 20px 0 90px;
    background: #fff
}

.final-cta {
    position: relative;
    overflow: hidden;
    border-radius: 30px;
    background: linear-gradient(110deg,#05213f,#087c91 55%,#0dbab5);
    padding: 60px;
    color: #fff;
    box-shadow: 0 30px 70px rgba(5,50,78,.22)
}

.final-cta span {
    text-transform: uppercase;
    font-size: .75rem;
    letter-spacing: .12em;
    color: #98f1ee;
    font-weight: 600
}

.final-cta h2 {
    font-size: clamp(2rem,4vw,3.35rem);
    max-width: 800px;
    line-height: 1.14;
    margin: 12px 0
}

.final-cta p {
    color: #c5dce3;
    max-width: 700px;
    margin: 0
}

.cta-white-btn {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    background: #fff;
    color: var(--navy);
    border-radius: 999px;
    padding: 17px 24px;
    font-weight: 700;
    transition: .3s
}

.cta-white-btn:hover {
    transform: translateY(-4px);
    color: var(--teal2)
}

.cta-orbit {
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.15)
}

.orbit-a {
    width: 320px;
    height: 320px;
    right: -100px;
    top: -180px
}

.orbit-b {
    width: 180px;
    height: 180px;
    right: 90px;
    bottom: -130px
}

.tilt-card {
    transform-style: preserve-3d;
    will-change: transform
}

@media(max-width: 991.98px) {
    .process-line {
        grid-template-columns:1fr 1fr
    }

    .process-line:before {
        display: none
    }

    .showcase-grid {
        grid-template-columns: 1fr;
        grid-template-rows: 500px 330px 330px
    }

    .project-large {
        grid-row: auto
    }

    .benefit-grid {
        margin-top: 20px
    }

    .final-cta {
        padding: 45px 35px
    }

    .creative-canvas {
        height: 500px
    }
}

@media(max-width: 767.98px) {
    .process-line {
        grid-template-columns:1fr
    }

    .modern-step {
        text-align: left;
        padding-left: 112px;
        min-height: 100px
    }

    .step-icon {
        position: absolute;
        left: 0;
        top: 0;
        width: 78px;
        height: 78px
    }

    .step-index {
        right: auto;
        left: 62px;
        top: -8px
    }

    .showcase-grid {
        grid-template-rows: 420px 300px 300px
    }

    .benefit-grid {
        grid-template-columns: 1fr
    }

    .quote-card {
        padding: 30px
    }

    .quote-card>p {
        font-size: 1.08rem
    }

    .final-cta {
        text-align: center;
        padding: 38px 24px
    }

    .creative-canvas {
        height: 430px
    }

    .main-dashboard {
        width: 82%;
        left: 9%
    }

    .metric-card {
        padding: 11px 13px
    }

    .featured-insight .insight-visual {
        height: 230px
    }
}

@media(max-width: 575.98px) {
    .creative-canvas {
        height:370px
    }

    .main-dashboard {
        top: 17%;
        padding: 14px
    }

    .dash-bars {
        height: 135px
    }

    .metric-two {
        bottom: 6%
    }

    .floating-chip {
        display: none
    }

    .showcase-grid {
        grid-template-rows: 360px 270px 270px
    }

    .website-mock {
        height: 330px
    }

    .mock-copy b {
        font-size: 1.35rem
    }

    .project-caption {
        left: 20px;
        right: 20px
    }

    .project-caption h3 {
        font-size: 1rem
    }

    .brand-track {
        gap: 24px
    }

    .final-cta h2 {
        font-size: 1.9rem
    }
}

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

    .reveal-up,.reveal-left,.reveal-right {
        opacity: 1;
        transform: none
    }
}

/* ===== Enhanced motion system and modern footer ===== */
.scroll-progress {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    z-index: 2000;
    pointer-events: none
}

.scroll-progress span {
    display: block;
    width: 0;
    height: 100%;
    background: linear-gradient(90deg,var(--teal),#4dd7ff);
    box-shadow: 0 0 14px rgba(18,183,181,.8)
}

.reveal-up,.reveal-left,.reveal-right {
    opacity: 0;
    transition: opacity .85s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1)
}

.reveal-up {
    transform: translateY(44px)
}

.reveal-left {
    transform: translateX(-50px)
}

.reveal-right {
    transform: translateX(50px)
}

.revealed {
    opacity: 1!important;
    transform: none!important
}

.reveal-up:nth-child(2) {
    transition-delay: .08s
}

.reveal-up:nth-child(3) {
    transition-delay: .16s
}

.reveal-up:nth-child(4) {
    transition-delay: .24s
}

.nav-shell.scrolled {
    height: 76px;
    box-shadow: 0 12px 35px rgba(5,35,64,.09);
    background: rgba(255,255,255,.88)
}

.nav-shell,.nav-shell .nav-link {
    transition: .35s
}

.nav-shell.scrolled .nav-link {
    padding-top: 26px!important;
    padding-bottom: 26px!important
}

.magnetic-btn {
    will-change: transform
}

.cursor-dot,.cursor-ring {
    position: fixed;
    left: 0;
    top: 0;
    border-radius: 50%;
    pointer-events: none;
    z-index: 9999;
    opacity: 0;
    transform: translate(-50%,-50%)
}

.cursor-dot {
    width: 7px;
    height: 7px;
    background: var(--teal)
}

.cursor-ring {
    width: 38px;
    height: 38px;
    border: 1px solid rgba(18,183,181,.7);
    transition: width .25s,height .25s,background .25s,border .25s
}

.cursor-ring.active {
    width: 62px;
    height: 62px;
    background: rgba(18,183,181,.1);
    border-color: rgba(18,183,181,.25)
}

.modern-footer {
    position: relative;
    overflow: hidden;
    background: #04172d;
    color: #d7e4eb;
    padding: 0 0 22px;
    margin-top: 0
}

.modern-footer:before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(rgba(255,255,255,.055) 1px,transparent 1px);
    background-size: 30px 30px;
    mask-image: linear-gradient(to bottom,black,transparent 85%)
}

section#contact-form {
    overflow: hidden;
}
.modern-footer:after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 1px;
    background: linear-gradient(90deg,transparent,var(--teal),transparent)
}

.footer-glow {
    position: absolute;
    border-radius: 50%;
    filter: blur(5px);
    opacity: .45;
    pointer-events: none
}

.footer-glow-one {
    width: 520px;
    height: 520px;
    right: -200px;
    top: 80px;
    background: radial-gradient(circle,rgba(18,183,181,.24),transparent 68%)
}

.footer-glow-two {
    width: 420px;
    height: 420px;
    left: -200px;
    bottom: -220px;
    background: radial-gradient(circle,rgba(38,112,210,.18),transparent 70%)
}

.footer-newsletter {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: auto 1.2fr 1fr;
    align-items: center;
    gap: 26px;
    margin: 0 0 75px;
    padding: 34px 38px;
    border-radius: 0 0 28px 28px;
    background: linear-gradient(110deg,rgba(18,183,181,.98),rgba(15,135,176,.98));
    box-shadow: 0 25px 65px rgba(0,0,0,.2)
}

.footer-newsletter:after {
    content: '';
    position: absolute;
    width: 180px;
    height: 180px;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 50%;
    right: 34%;
    top: -100px
}

.footer-newsletter-icon {
    width: 68px;
    height: 68px;
    border-radius: 20px;
    display: grid;
    place-items: center;
    background: rgba(255,255,255,.16);
    border: 1px solid rgba(255,255,255,.24);
    font-size: 1.7rem;
    transform: rotate(-8deg)
}

.footer-newsletter-copy span {
    text-transform: uppercase;
    font-size: .7rem;
    letter-spacing: .14em;
    font-weight: 700;
    color: #d7ffff
}

.footer-newsletter-copy h2 {
    font-size: clamp(1.3rem,2.4vw,2rem);
    margin: 5px 0 0;
    color: #fff;
    line-height: 1.25
}

.footer-subscribe {
    display: flex;
    padding: 6px;
    background: #fff;
    border-radius: 999px;
    position: relative;
    z-index: 2
}

.footer-subscribe input {
    min-width: 0;
    flex: 1;
    border: 0;
    outline: 0;
    padding: 0 15px;
    background: transparent;
    font-size: .82rem
}

.footer-subscribe button {
    border: 0;
    border-radius: 999px;
    background: var(--navy);
    color: #fff;
    padding: 14px 20px;
    font-weight: 600;
    white-space: nowrap;
    transition: .3s
}

.footer-subscribe button:hover {
    background: #092b52
}

.footer-main {
    position: relative;
    z-index: 2;
    padding-bottom: 62px
}

.footer-brand {
    display: inline-flex;
    align-items: center;
    font-size: 1.8rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 20px
}

.footer-brand span {
    color: var(--teal)
}

.footer-brand-cube {
    width: 30px;
    height: 30px;
    margin-left: 12px;
    border-radius: 5px;
    transform: rotate(30deg);
    background: linear-gradient(135deg,#cef5f6 0 33%,#51a7b8 33% 66%,#08708c 66%)
}

.footer-intro {
    max-width: 390px;
    color: #91a7b5;
    line-height: 1.9;
    font-size: .88rem
}

.modern-footer h5 {
    color: #fff;
    font-size: .93rem;
    margin-bottom: 23px;
    position: relative
}

.modern-footer h5:after {
    content: '';
    display: block;
    width: 28px;
    height: 2px;
    background: var(--teal);
    margin-top: 10px
}

.modern-footer .col-6>a,.modern-footer .col-lg-3>a:not(.footer-contact) {
    display: block;
    color: #91a7b5;
    font-size: .82rem;
    margin: 0 0 13px;
    transition: .25s
}

.modern-footer .col-6>a:hover,.modern-footer .col-lg-3>a:not(.footer-contact):hover {
    color: #fff;
    transform: translateX(6px)
}

.footer-socials {
    display: flex;
    gap: 10px;
    margin-top: 28px
}

.footer-socials a {
    width: 43px;
    height: 43px;
    border-radius: 13px;
    display: grid;
    place-items: center;
    color: #c4d3dc;
    border: 1px solid rgba(255,255,255,.1);
    background: rgba(255,255,255,.04);
    transition: .3s
}

.footer-socials a:hover {
    background: var(--teal);
    color: #fff;
    border-color: var(--teal);
    transform: translateY(-5px) rotate(4deg)
}

.footer-contact {
    display: flex!important;
    align-items: center;
    gap: 13px;
    margin-bottom: 16px;
    color: #fff!important
}

.footer-contact>i,.footer-location>i {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    background: rgba(18,183,181,.11);
    color: var(--teal);
    border: 1px solid rgba(18,183,181,.16)
}

.footer-contact span,.footer-contact small {
    display: block
}

.footer-contact span {
    font-size: .81rem
}

.footer-contact small {
    color: #728d9e;
    font-size: .67rem;
    margin-bottom: 3px
}

.footer-location {
    display: flex;
    gap: 13px;
    color: #91a7b5;
    font-size: .78rem;
    line-height: 1.65
}

.footer-bottom {
    position: relative;
    z-index: 2;
    border-top: 1px solid rgba(255,255,255,.09);
    padding: 22px 60px 0 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #718a9b;
    font-size: .75rem
}

.footer-bottom p {
    margin: 0
}

.footer-bottom>div {
    display: flex;
    gap: 20px
}

.footer-bottom a:hover {
    color: #fff
}

.back-to-top {
    position: absolute;
    right: 0;
    bottom: -6px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(255,255,255,.06);
    color: #fff;
    transition: .3s
}

.back-to-top:hover {
    background: var(--teal);
    border-color: var(--teal);
    transform: translateY(-5px)
}

@media(max-width: 991.98px) {
    .footer-newsletter {
        grid-template-columns:auto 1fr
    }

    .footer-subscribe {
        grid-column: 1/3
    }

    .cursor-dot,.cursor-ring {
        display: none
    }
}

@media(max-width: 767.98px) {
    .footer-newsletter {
        display:block;
        padding: 30px 24px;
        text-align: center;
        margin-bottom: 55px
    }

    .footer-newsletter-icon {
        margin: 0 auto 18px
    }

    .footer-subscribe {
        margin-top: 22px
    }

    .footer-main {
        padding-bottom: 40px
    }

    .footer-bottom {
        display: block;
        text-align: center;
        padding-right: 0
    }

    .footer-bottom>div {
        justify-content: center;
        margin-top: 12px
    }

    .back-to-top {
        right: 0;
        bottom: 0
    }

    .modern-footer {
        padding-bottom: 28px
    }
}

@media(max-width: 480px) {
    .footer-subscribe {
        display:block;
        border-radius: 18px;
        padding: 7px
    }

    .footer-subscribe input {
        width: 100%;
        height: 48px;
        text-align: center
    }

    .footer-subscribe button {
        width: 100%;
        border-radius: 13px
    }

    .footer-bottom>div {
        padding-right: 48px
    }
}
