:root {
    --default-text-color: #0D132A;
    --primary-dark: #243f94;
    --primary-light: #217cc1;
    --dark: #0d132a;
    --slate: #475569;
    --gray: #e5e7eb;
    --light: #f5f7fa;
    --blue: #243f94;
    --teal: #06b6d4;
    --green: #10b981;
    --sky: #217cc1;
    --cyan: var(--teal);
    --navy: var(--dark);
    --ink: var(--default-text-color);
    --muted: var(--slate);
    --ice: var(--light);
    --white: #fff;
    --white-soft: #f7f9fc;
    --border-soft: #dbe3ef;
    --border-cool: #d9e7fb;
    --deep-navy: #12276a;
    --panel-soft: #f4f8ff;
    --text-light: #96a3c7;
    --text-faint: #98a5bf;
    --text-soft: #a9b5d7;
    --text-weak: #bdc9e9;
    --text-contrast: #d8e9ff;
    --text-accent: #8bdefd;
    --feature-card-navy: #0f1e54;
    --feature-card-blue: #1f5aa7;
    --primary-gradient: linear-gradient(135deg, var(--primary-dark), var(--primary-light))
}

* {
    box-sizing: border-box
}

img,
svg {
    max-width: 100%
}

html {
    scroll-behavior: smooth
}

body {
    font-family: "Inter", sans-serif;
    font-size: 14px;
    line-height: 24px;
    color: var(--default-text-color);
    overflow-x: hidden
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Poppins", sans-serif;
    margin: 0 0 1rem
}

h1 {
    font-size: 48px;
    line-height: 60px;
    font-weight: 700
}

h2 {
    font-size: 36px;
    line-height: 44px;
    font-weight: 700
}

h3 {
    font-size: 28px;
    line-height: 36px;
    font-weight: 600
}

h4 {
    font-size: 22px;
    line-height: 30px;
    font-weight: 500
}

h5 {
    font-size: 18px;
    line-height: 28px;
    font-weight: 500
}

h6 {
    font-size: 16px;
    line-height: 24px;
    font-weight: 600
}

.skip {
    position: fixed;
    top: -5rem;
    left: 1rem;
    z-index: 9999;
    background: var(--white);
    padding: .8rem
}

.skip:focus {
    top: 1rem
}

.navbar {
    padding: 1rem 0;
    transition: .3s;
    z-index: 1030
}

.navbar.scrolled {
    padding: .55rem 0;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 8px 30px #101a3812;
    backdrop-filter: blur(12px)
}

.navbar-brand img {
    height: 50px;
    object-fit: contain
}

.navbar-toggler {
    border: 0;
    padding: .35rem .5rem
}

.navbar-toggler:focus {
    box-shadow: none
}

.navbar-collapse {
    justify-content: flex-end
}

.navbar-nav {
    gap: .25rem
}

.nav-link {
    color: var(--ink);
    font-weight: 600;
    margin: 0 .15rem;
    transition: color .2s ease, font-weight .2s ease
}

.navbar .navbar-nav .nav-link.active,
.navbar .navbar-nav .nav-link.show,
.navbar .navbar-nav .nav-link:hover {
    color: var(--primary-light) !important;
    font-weight: 800 !important
}

.nav-link.nav-cta,
.navbar .navbar-nav .nav-link.nav-cta.active,
.navbar .navbar-nav .nav-link.nav-cta.show,
.navbar .navbar-nav .nav-link.nav-cta:hover {
    background: var(--navy);
    color: #fff !important;
    padding: .7rem 1.2rem !important;
    border-radius: 3rem;
    white-space: nowrap
}

@media (max-width: 991px) {
    .navbar-nav {
        padding: 1rem 0 .5rem;
        gap: .35rem
    }

    .navbar .navbar-nav .nav-link {
        padding: .6rem 0
    }

    .nav-link.nav-cta {
        display: inline-block;
        margin-top: .25rem
    }
}

.hero {
    position: relative;
    background: linear-gradient(120deg, #fbfdff, #eaf4ff);
    overflow: hidden
}

.grid {
    position: absolute;
    inset: 0;
    background-image: linear-gradient(#243f9409 1px, transparent 1px), linear-gradient(90deg, #243f9409 1px, transparent 1px);
    background-size: 55px 55px
}

.orb {
    position: absolute;
    border-radius: 50%
}

.orb.a {
    width: 400px;
    height: 400px;
    background: #38c7e922;
    right: -140px;
    top: 8%
}

.orb.b {
    width: 250px;
    height: 250px;
    background: #243f9412;
    left: -170px;
    bottom: 2%
}

.eyebrow {
    text-transform: uppercase;
    letter-spacing: .18em;
    font-size: .72rem;
    font-weight: 800;
    color: var(--sky);
    margin-bottom: 1.2rem
}

.eyebrow:before {
    content: "";
    display: inline-block;
    width: 28px;
    height: 2px;
    background: var(--cyan);
    margin: 0 .6rem .2rem 0
}

.hero h1 {
    font-size: clamp(2.1rem, 6vw, 4rem);
    line-height: 1.1;
    letter-spacing: -.065em;
    font-weight: 800
}

.hero em,
h2 em {
    font-style: normal;
    color: var(--sky)
}

.hero .lead {
    max-width: 650px;
    margin: 1.5rem 0 2rem
}

.lead {
    font-size: 16px;
    line-height: 28px;
    color: var(--default-text-color)
}

small,
.small {
    font-size: 12px;
    line-height: 20px
}

.caption {
    font-size: 11px;
    line-height: 18px
}

.btn {
    border: 0;
    border-radius: 5rem;
    padding: .9rem 1.5rem;
    font-weight: 700
}

.btn-main {
    background: var(--primary-gradient);
    color: var(--white);
    box-shadow: 0 12px 30px #243f9435
}

.btn-ghost {
    border: 1px solid var(--border-cool)
}

.proof {
    display: flex;
    gap: 2.5rem;
    border-top: 1px solid #243f9422;
    margin-top: 3.5rem;
    padding-top: 1.4rem
}

.proof div {
    display: flex;
    flex-direction: column
}

.proof span {
    font-size: .78rem;
    color: var(--default-text-color)
}

.hero-art {
    height: 560px;
    position: relative
}

.ring {
    position: absolute;
    width: 440px;
    height: 440px;
    border: 1px solid #217cc133;
    border-radius: 50%;
    top: 70px
}

.idea {
    position: absolute;
    left: 70px;
    top: 125px;
    width: 290px;
    height: 330px;
    border-radius: 28px;
    background: linear-gradient(145deg, var(--blue), var(--deep-navy));
    color: var(--white);
    padding: 2.2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    transform: rotate(-5deg);
    box-shadow: 0 30px 60px #09163e2c
}

.idea small {
    letter-spacing: .2em
}

.idea b {
    font: 800 3rem/1.1 "Poppins"
}

.idea i {
    height: 60px;
    background: linear-gradient(160deg, transparent 45%, var(--cyan) 46%, var(--cyan) 49%, transparent 50%)
}

.chip {
    position: absolute;
    background: var(--white);
    padding: .7rem 1rem;
    border-radius: 3rem;
    font-size: .75rem;
    font-weight: 800;
    box-shadow: 0 12px 30px #09163e20
}

.c1 {
    top: 85px
}

.c2 {
    right: 0;
    top: 190px
}

.c3 {
    left: 25px;
    bottom: 60px
}

.capabilities {
    background: var(--navy);
    color: var(--white);
    padding: 1.3rem 0
}

.capabilities .container {
    display: flex;
    justify-content: space-between;
    align-items: center
}

.capabilities span {
    font-size: .72rem;
    color: var(--text-light);
    text-transform: uppercase;
    letter-spacing: .12em
}

.section {
    padding: clamp(5rem, 9vw, 8rem) 0
}

.heading {
    margin-bottom: 3.5rem
}

h2 {
    font-size: clamp(1.8rem, 4.3vw, 4.2rem);
    font-weight: 800;
    line-height: 1.04;
    letter-spacing: -.055em
}

p {
    color: var(--default-text-color);
    line-height: 1.7;
    font-size: .98rem
}

.text-default {
    color: var(--default-text-color)
}

.service-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 1rem
}

.service {
    grid-column: span 2;
    border: 1px solid var(--border-soft);
    border-radius: 20px;
    padding: 2rem;
    min-height: 300px;
    display: flex;
    flex-direction: column;
    transition: .3s
}

.service.feature {
    grid-column: span 4;
    background: linear-gradient(135deg, var(--navy), var(--blue));
    color: var(--white)
}

.service:hover {
    transform: translateY(-7px);
    box-shadow: 0 20px 50px #101a3818
}

.service small {
    color: var(--text-faint)
}

.service i {
    font-style: normal;
    font-size: 2.2rem;
    color: var(--sky);
    margin: 2rem 0 1rem
}

.service h3 {
    font-size: 1.35rem;
    font-weight: 800
}

.service p {
    font-size: .9rem
}

.service.feature p {
    color: var(--text-weak)
}

.service a {
    margin-top: auto;
    color: var(--sky);
    font-weight: 700;
    text-decoration: none
}

.feature a,
.feature i {
    color: var(--cyan)
}

.about {
    background: var(--ice)
}

.about-art {
    height: 460px;
    border-radius: 28px;
    background: linear-gradient(145deg, var(--border-cool), var(--white));
    position: relative;
    overflow: hidden
}

.about-art>strong {
    position: absolute;
    left: 0;
    bottom: -8px;
    font-size: clamp(8rem, 19vw, 17rem);
    line-height: .72;
    font-family: "Poppins";
    color: var(--blue);
    letter-spacing: -.12em;
    white-space: nowrap;
    z-index: 1
}

.about-art>strong span {
    color: var(--sky)
}

.about-art>div {
    position: absolute;
    right: 2rem;
    top: 2rem;
    background: var(--navy);
    color: #fff;
    width: 140px;
    height: 140px;
    border-radius: 50%;
    display: grid;
    place-content: center;
    text-align: center;
    transform: rotate(7deg);
    font-size: .8rem
}

.about-art>div b {
    color: var(--cyan)
}

.values {
    display: flex;
    gap: 1rem;
    margin-top: 2rem
}

.values div {
    flex: 1;
    border-top: 2px solid #d5deea;
    padding-top: 1rem;
    display: flex;
    flex-direction: column
}

.values b {
    font-size: .7rem;
    color: var(--sky)
}

.values span {
    font-weight: 700
}

.training {
    background: var(--navy);
    color: var(--white)
}

.training h2 em,
.corporate h2 em,
.contact h2 em {
    color: var(--cyan)
}

.training p {
    color: var(--text-soft)
}

.courses article {
    display: grid;
    grid-template-columns: 35px 1fr auto 25px;
    gap: 1rem;
    align-items: center;
    border-top: 1px solid #ffffff24;
    padding: 1.4rem 0
}

.courses h3 {
    font-size: 1.1rem;
    margin: 0
}

.courses p {
    font-size: .8rem;
    margin: 0
}

.courses small,
.courses b {
    color: var(--cyan)
}

.courses>article>span {
    font-size: .72rem;
    background: #ffffff12;
    padding: .4rem .7rem;
    border-radius: 2rem
}

.note {
    text-align: right;
    font-size: .72rem;
    margin-top: 1rem
}

.code-art {
    height: 440px;
    border-radius: 28px;
    background: linear-gradient(145deg, #e4f2ff, #b9daf2);
    display: grid;
    place-items: center;
    position: relative;
    overflow: hidden
}

.code-art:before {
    content: "";
    position: absolute;
    width: 360px;
    height: 360px;
    border: 70px solid #217cc11b;
    border-radius: 50%
}

.code {
    z-index: 1;
    width: 78%;
    background: var(--navy);
    border-radius: 16px;
    color: #fff;
    box-shadow: 0 25px 50px #09163e40;
    transform: rotate(-3deg)
}

.code>div {
    border-bottom: 1px solid #ffffff22;
    padding: .7rem 1rem;
    color: var(--cyan);
    letter-spacing: .3em
}

.code pre {
    padding: 1.5rem;
    color: #cbd5f2;
    line-height: 1.8
}

.code pre span {
    color: #da83f4
}

.code pre b {
    color: var(--cyan);
    font-weight: 400
}

.code-art>strong {
    position: absolute;
    z-index: 2;
    right: 5%;
    bottom: 5%;
    display: grid;
    place-content: center;
    width: 105px;
    height: 105px;
    background: var(--blue);
    border-radius: 50%;
    color: #fff;
    text-align: center;
    font-size: 1.4rem
}

.code-art>strong small {
    display: block;
    font-size: .55rem
}

.checks {
    list-style: none;
    padding: 0;
    margin: 2rem 0
}

.checks li {
    padding: .55rem 0 .55rem 2rem;
    font-weight: 600
}

.checks li:before {
    content: "✓";
    color: var(--sky);
    margin-left: -2rem;
    margin-right: 1rem
}

.corporate {
    padding-bottom: 7rem
}

.corp {
    background: linear-gradient(120deg, var(--primary-dark), var(--sky));
    border-radius: 30px;
    padding: clamp(2.5rem, 6vw, 5rem);
    color: var(--white)
}

.corp p {
    color: var(--text-contrast)
}

.pills {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .7rem
}

.pills span {
    border: 1px solid #ffffff44;
    border-radius: 10px;
    padding: .8rem;
    font-size: .82rem
}

.work {
    background: var(--white-soft)
}

.work-grid {
    display: grid;
    grid-template-columns: 1.3fr .7fr;
    gap: 1.5rem
}

.work-art {
    height: 390px;
    border-radius: 24px;
    display: grid;
    place-items: center
}

.dash {
    background: linear-gradient(145deg, #dceafb, #b9daf4)
}

.dash>div {
    width: 70%;
    height: 55%;
    background: #fff;
    padding: 1.3rem;
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 1rem;
    border-radius: 10px;
    box-shadow: 0 25px 45px #09163e22;
    transform: perspective(600px) rotateY(-7deg)
}

.dash i {
    background: #edf3fa;
    border-radius: 6px
}

.dash i:first-child {
    grid-row: span 2;
    background: var(--blue)
}

.mobile {
    background: linear-gradient(145deg, var(--navy), var(--sky))
}

.mobile>div {
    width: 175px;
    height: 310px;
    background: #eff8ff;
    border: 7px solid #fff;
    border-radius: 28px;
    padding: 2rem 1rem;
    transform: rotate(5deg);
    box-shadow: 0 25px 50px #0004
}

.mobile b {
    font: 800 1.5rem/1.25 "Poppins";
    display: block
}

.mobile i {
    display: block;
    width: 100%;
    height: 120px;
    margin-top: 2rem;
    background: linear-gradient(145deg, var(--blue), var(--cyan));
    border-radius: 60px 8px
}

.work article>small {
    display: block;
    color: var(--sky);
    font-weight: 700;
    letter-spacing: .12em;
    margin-top: 1.2rem
}

.work h3 {
    font-size: 1.3rem;
    font-weight: 800
}

.quote {
    text-align: center;
    padding: 6rem 0
}

.quote>div>b {
    font: 800 5rem Georgia;
    color: var(--cyan);
    height: 60px;
    display: block
}

.quote blockquote {
    max-width: 950px;
    margin: auto;
    font: 700 clamp(1.6rem, 3.5vw, 2.8rem)/1.35 "Poppins";
    letter-spacing: -.04em
}

.contact {
    background: var(--navy);
    color: #fff
}

.contact p {
    color: #aab5d5
}

.direct {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    margin-top: 2.5rem
}

.direct a {
    color: #fff;
    text-decoration: none;
    font-weight: 700
}

.direct small {
    display: block;
    color: var(--cyan);
    font-size: .6rem;
    letter-spacing: .15em
}

.service-page .contact .direct a {
    color: #fff
}

.service-page .contact .direct small {
    color: var(--cyan)
}

form {
    padding: clamp(1.5rem, 4vw, 3rem);
    background: #ffffff0b;
    border: 1px solid #ffffff1e;
    border-radius: 22px
}

.service-content form {
    padding: clamp(1.25rem, 3vw, 2.25rem);
    background: var(--white);
    border: 1px solid var(--border-cool);
    border-radius: 22px;
    box-shadow: 0 16px 40px #0f1e5411
}

label {
    display: block;
    color: #fff;
    font-size: .68rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-bottom: .4rem
}

.service-content label {
    color: var(--default-text-color);
    font-weight: 700;
}

input,
select,
textarea {
    width: 100%;
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--muted);
    color: var(--white);
    padding: .7rem 0;
    outline: 0
}

.service-content input,
.service-content select,
.service-content textarea {
    color: var(--ink);
    border-bottom-color: #c7d4ec
}

.service-content input::placeholder,
.service-content textarea::placeholder {
    color: #7c88a8
}

select option {
    color: var(--ink)
}

input:focus,
select:focus,
textarea:focus {
    border-color: var(--cyan)
}

#status {
    color: var(--cyan);
    margin-left: 1rem;
    font-size: .8rem
}

body.service-page {
    background: linear-gradient(180deg, var(--ice) 0%, var(--white) 100%);
    color: var(--ink)
}

.service-page .navbar {
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 8px 30px #101a3812;
    backdrop-filter: blur(12px)
}

.service-hero {
    padding: 7rem 0 3rem;
    background: linear-gradient(135deg, #0f1e54, #1f5aa7);
    color: #fff
}

.service-hero h1 {
    font-size: clamp(2.4rem, 4vw, 4rem);
    line-height: 1.1;
    letter-spacing: -.05em;
    margin-bottom: 1rem
}

.service-hero .lead,
.service-hero .eyebrow,
.service-hero p {
    color: #e9f7ff
}

.service-hero .eyebrow:before {
    background: #7de3ff
}

.service-content {
    padding: 3rem 0 5rem
}

.service-highlight {
    background: linear-gradient(135deg, var(--feature-card-navy), var(--feature-card-blue));
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 20px;
    padding: 1.5rem;
    box-shadow: 0 18px 45px rgba(15, 30, 84, .28);
    color: var(--white)
}

.service-highlight strong {
    display: block;
    font-size: 1.35rem;
    margin-bottom: .75rem;
    color: var(--white)
}

.service-highlight p {
    color: var(--text-contrast)
}

.service-highlight .direct a {
    color: var(--white)
}

.service-highlight .direct small {
    color: var(--text-accent)
}

@media (max-width: 991px) {
    .service-hero {
        padding-top: 6rem
    }
}

.service-shell .service-visual strong {
    display: block;
    font-size: clamp(2rem, 4vw, 3rem);
    font-family: "Poppins", sans-serif;
    letter-spacing: -.05em
}

.service-shell .service-visual span {
    display: inline-block;
    margin-top: .75rem;
    color: #dff4ff;
    font-weight: 600
}

.service-shell .card-body {
    padding: 2rem
}

.service-shell .checks {
    margin-top: 1.6rem
}

footer {
    background: var(--dark);
    color: var(--white);
    padding: 3rem 0 1.5rem
}

footer img {
    width: 180px;
    filter: brightness(0) invert(1)
}

footer .container>div {
    display: flex;
    justify-content: space-between;
    align-items: center
}

.wa-chat-widget {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    z-index: 1100;
    font-family: "Inter", sans-serif
}

.wa-chat-toggle {
    border: 0;
    border-radius: 999px;
    background: var(--primary-gradient);
    color: #fff;
    padding: .9rem 1.2rem;
    display: flex;
    align-items: center;
    gap: .7rem;
    font-weight: 700;
    box-shadow: 0 15px 35px rgba(36, 63, 148, .28);
    cursor: pointer
}

.wa-chat-panel {
    position: absolute;
    right: 0;
    bottom: calc(100% + 1rem);
    width: min(360px, calc(100vw - 2rem));
    max-height: 70vh;
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 25px 60px rgba(9, 22, 62, .2);
    border: 1px solid #e2ebf7;
    overflow: hidden;
    transform: translateY(10px);
    opacity: 0;
    pointer-events: none;
    transition: .25s ease
}

.wa-chat-panel.open {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
    overflow-y: auto;
}

.wa-chat-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1rem .7rem;
    background: linear-gradient(135deg, var(--navy), var(--blue));
    color: #fff
}

.wa-chat-header strong {
    display: block;
    font-size: 1rem
}

.wa-chat-header p {
    margin: .2rem 0 0;
    color: #d8e9ff;
    font-size: .8rem
}

.wa-chat-close {
    border: 0;
    background: transparent;
    color: #fff;
    font-size: 1rem;
    cursor: pointer
}

.wa-chat-messages {
    flex: 1 1 auto;
    /* min-height: 0;
    max-height: 220px;
    overflow-y: auto; */
    padding: 1rem;
    display: flex;
    flex-direction: column;
    gap: .7rem;
    background: linear-gradient(180deg, #f7fbff 0%, #eef6ff 100%)
}

.wa-chat-bubble {
    max-width: 85%;
    padding: .75rem .9rem;
    border-radius: 16px;
    font-size: .92rem;
    line-height: 1.5;
    box-shadow: 0 10px 24px rgba(9, 22, 62, .08)
}

.wa-chat-bubble.bot {
    align-self: flex-start;
    background: #fff;
    color: var(--ink)
}

.wa-chat-bubble.user {
    align-self: flex-end;
    background: linear-gradient(135deg, var(--sky), var(--blue));
    color: #fff
}

.wa-chat-form {
    padding: 1rem;    
}

.wa-chat-form label {
    display: block;
    color: #4f5d78;
    font-size: .72rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-bottom: .4rem
}

textarea.wa-chat-input {
    min-height: 120px;
    resize: vertical
}

.wa-chat-input {
    width: 100%;
    border: 1px solid #d8e3f1;
    border-radius: 12px;
    padding: .75rem .9rem;
    margin-bottom: .8rem;
    color: var(--ink);
    background: #f8fbff
}

.wa-chat-input:focus {
    outline: 0;
    border-color: var(--sky)
}

.wa-chat-submit {
    width: 100%;
    border: 0;
    border-radius: 999px;
    background: var(--sky);
    color: #fff;
    padding: .85rem 1rem;
    font-weight: 700;
    cursor: pointer
}

.wa-chat-feedback {
    min-height: 1.05rem;
    margin: -.25rem 0 .65rem;
    font-size: .8rem;
    font-weight: 600
}

.wa-chat-feedback.text-danger {
    color: #dc3545
}

.wa-chat-feedback.text-warning {
    color: #fd7e14
}

.wa-chat-status {
    min-height: 1.2rem;
    margin-top: .7rem;
    font-size: .85rem;
    color: var(--sky)
}

.wa-chat-status.text-danger {
    color: #dc3545;
    font-weight: 600
}

.wa-chat-status.text-warning {
    color: #fd7e14;
    font-weight: 600
}

.wa-chat-status.text-success {
    color: #198754;
    font-weight: 600
}

.wa-chat-input.is-invalid {
    border-color: #dc3545;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, .15)
}

.wa-chat-input.is-valid {
    border-color: #198754;
    box-shadow: 0 0 0 0.2rem rgba(25, 135, 84, .15)
}


footer p {
    margin: 0
}

footer hr {
    border-color: #2b3453
}

footer nav {
    display: flex;
    gap: 1.3rem
}

footer a {
    color: #aeb9d5;
    text-decoration: none
}

.wa {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 20;
    background: #25d366;
    color: #fff;
    text-decoration: none;
    border-radius: 3rem;
    padding: .8rem 1.1rem;
    box-shadow: 0 10px 25px #0003;
    font-weight: 700
}

.wa>span {
    margin-left: .4rem
}

@media(max-width:991px) {
    .navbar-collapse {
        background: #fff;
        padding: 1rem;
        border-radius: 15px;
        box-shadow: 0 15px 40px #0002
    }

    .hero .min-vh-100 {
        min-height: 760px !important
    }

    .capabilities span {
        display: none
    }

    .service,
    .service.feature {
        grid-column: span 3
    }

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

    .about-art {
        height: 380px
    }

    .contact .col-lg-5 {
        margin-bottom: 1rem
    }
}

@media(max-width:767px) {
    .row {
        margin-left: 0;
        margin-right: 0;
        width: 100%
    }

    .row > * {
        max-width: 100%
    }

    h2 {
        font-size: 2rem;
        line-height: 1.18
    }

    .hero-art {
        height: 360px
    }

    .ring {
        width: 270px;
        height: 270px;
        top: 42px;
        left: 8px
    }

    .idea {
        left: 24px;
        top: 80px;
        width: 228px;
        height: auto;
        padding: 1.5rem
    }

    .idea b {
        font-size: 2.2rem
    }

    .chip {
        font-size: .66rem;
        padding: .55rem .75rem
    }

    .c1 {
        top: 56px;
        left: 10px
    }

    .c2 {
        right: 8px;
        top: 160px
    }

    .c3 {
        left: 10px;
        bottom: 38px
    }

    .about-art>strong {
        font-size: clamp(6rem, 30vw, 9rem);
        left: -6px;
        bottom: -2px
    }

    .hero h1 {
        font-size: 2.4rem;
        line-height: 1.15
    }

    .proof {
        gap: .8rem;
        margin-top: 2.4rem
    }

    .proof div:last-child {
        display: none
    }

    .capabilities b {
        font-size: .7rem
    }

    .service-grid {
        display: block
    }

    .service {
        margin-bottom: 1rem;
        min-height: 270px
    }

    .values {
        display: block
    }

    .values div {
        margin-bottom: 1rem
    }

    .courses article {
        grid-template-columns: 28px 1fr 20px
    }

    .courses article>span {
        display: none
    }

    .code-art {
        height: 340px
    }

    .code-art:before {
        width: 270px;
        height: 270px;
        border-width: 48px
    }

    .code {
        width: 84%
    }

    .code pre {
        padding: 1rem;
        font-size: .8rem;
        line-height: 1.6
    }

    .code-art>strong {
        width: 88px;
        height: 88px;
        font-size: 1.1rem
    }

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

    .work-art {
        height: 300px
    }

    .dash>div {
        width: 80%
    }

    .mobile>div {
        width: 154px;
        height: 290px;
        padding: 1.4rem .75rem
    }

    .about-art {
        height: 330px
    }

    .navbar-brand img {
        width: 145px
    }

    .wa span {
        display: none
    }

    footer .container>div {
        align-items: flex-start;
        flex-direction: column;
        gap: 1.2rem
    }

    footer nav {
        flex-wrap: wrap
    }
}
@media (max-width: 576px) {
    footer nav {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: .55rem
    }

    footer nav a {
        display: block
    }

    .wa-chat-widget {
        right: .75rem;
        bottom: 1rem;
    }
    .checks li{
        padding: .55rem 0 .55rem 0;
    }
    .checks li:before {    
        margin-left: 0;
        margin-right: 1rem
    }
    .about-art>strong {
        font-size: clamp(6rem, 30vw, 9rem);
        left: 5px;
        bottom: 5px;
    }
    .wa-chat-toggle {
        padding: .8rem 1rem
    }

    .wa-chat-panel {
        width: min(320px, calc(100vw - 1.5rem))
    }

    .hero h1 {
        font-size: 1.75rem;
        line-height: 1.15
    }

    .hero .lead {
        font-size: .92rem;
        margin: 1rem 0 1.4rem
    }

    .proof {
        gap: .75rem;
        margin-top: 2.2rem;
        flex-wrap: wrap
    }

    .section {
        padding: 3.5rem 0
    }

    h2 {
        font-size: 1.5rem;
        line-height: 1.2
    }

    p {
        font-size: .9rem;
        line-height: 1.6
    }
}

@media(prefers-reduced-motion:reduce) {
    * {
        scroll-behavior: auto !important;
        transition: none !important
    }
}