/* =========================================



   HEXNIVO HOME PAGE



========================================= */



/* ---------- Hero ---------- */



.hero-section {

    min-height: 690px;

    padding: 58px 0 30px;

    overflow: hidden;

    background: radial-gradient(ellipse at 85% 40%, rgba(96, 165, 250, 0.22) 0%, transparent 38%),



    linear-gradient(120deg, #EFF6FF, #DBEAFE 60%, #BFDBFE);

}



.hero-grid {

    position: relative;

    z-index: 2;

    display: grid;

    grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);

    align-items: center;

    gap: 45px;

}



.hero-content {

    position: relative;

    z-index: 2;

    min-width: 0;

    animation: heroContentIn 0.8s ease both;

}



@keyframes heroContentIn {

    from {

        opacity: 0;

        transform: translateY(22px);

    }



    to {

        opacity: 1;

        transform: translateY(0);

    }

}



.hero-badge {

    width: fit-content;

    max-width: 100%;

    display: flex;

    align-items: center;

    gap: 10px;

    padding: 9px 14px;

    border: 1px solid #E4D7FB;

    border-radius: 50px;

    color: #2563EB;

    background: rgba(255, 255, 255, 0.8);

    font-size: 0.73rem;

    font-weight: 800;

    letter-spacing: 1.4px;

}



.status-dot {

    flex-shrink: 0;

    width: 8px;

    height: 8px;

    border-radius: 50%;

    background: #2563EB;

    box-shadow: 0 0 0 4px #EDE4FF;

    animation: dotPulse 2s infinite;

}



@keyframes dotPulse {

    50% {

        box-shadow: 0 0 0 8px rgba(139, 92, 246, 0.05);

    }

}



.hero-content h1 {

    max-width: 650px;

    margin: 25px 0 22px;

    color: var(--purple-dark);

    font-size: clamp(2.8rem, 5.2vw, 4.7rem);

    font-weight: 800;

    letter-spacing: -2.8px;

    line-height: 1.08;

    overflow-wrap: break-word;

}



.typing-line {

    display: block;

    min-height: 1.2em;

}



.typing-cursor {

    display: inline-block;

    margin-left: 3px;

    color: var(--violet);

    -webkit-text-fill-color: var(--violet);

    animation: cursorBlink 0.8s steps(2, start) infinite;

}



@keyframes cursorBlink {

    to {

        visibility: hidden;

    }

}



.hero-description {

    max-width: 535px;

    color: var(--text-muted);

    font-size: 1.02rem;

    line-height: 1.9;

}



.hero-actions {

    display: flex;

    flex-wrap: wrap;

    gap: 14px;

    margin-top: 30px;

}



.hero-primary-btn {

    position: relative;

    overflow: hidden;

}



.hero-primary-btn::before {

    content: "";

    position: absolute;

    top: -50%;

    left: -80%;

    width: 45%;

    height: 200%;

    background: rgba(255, 255, 255, 0.2);

    transform: rotate(25deg);

    transition: left 0.6s ease;

}



.hero-primary-btn:hover::before {

    left: 130%;

}



.hero-primary-btn .btn-arrow {

    transition: transform var(--transition);

}



.hero-primary-btn:hover .btn-arrow {

    transform: translate(3px, -3px);

}



.hero-trust {

    display: flex;

    align-items: center;

    gap: 14px;

    margin-top: 36px;

}



.trust-avatars {

    display: flex;

    flex-shrink: 0;

    padding-left: 3px;

}



.trust-avatars span {

    width: 35px;

    height: 35px;

    display: grid;

    place-items: center;

    margin-left: -4px;

    border: 2px solid var(--white);

    border-radius: 50%;

    color: var(--white);

    background: #2563EB;

    font-size: 0.75rem;

    font-weight: 800;

}



.trust-avatars span:nth-child(2) {

    background: #93C5FD;

    color: var(--purple-dark);

}



.trust-avatars span:nth-child(3) {

    background: #DBEAFE;

    color: var(--purple-dark);

}



.hero-trust strong {

    display: block;

    color: var(--purple-dark);

    font-size: 0.83rem;

}



.hero-trust p {

    color: var(--text-muted);

    font-size: 0.75rem;

}



.hero-section h1 {

    font-size: clamp(40px, 4.5vw, 56px);

    line-height: 1.2;

    letter-spacing: -1.8px;

}



.hero-section h1 .gradient-text {

    display: inline-block;

}



@media (max-width: 768px) {

    .hero-section h1 {

        font-size: clamp(34px, 6vw, 42px);

        line-height: 1.25;

    }

}



/* ---------- Hero Visual ---------- */



.hero-visual {

    position: relative;

    min-width: 0;

    padding: 40px 5px;

    perspective: 1100px;

    animation: visualIn 1s 0.1s ease both;

}



@keyframes visualIn {

    from {

        opacity: 0;

        transform: translateY(28px) scale(0.97);

    }



    to {

        opacity: 1;

        transform: translateY(0) scale(1);

    }

}



.browser-card {

    position: relative;

    z-index: 2;

    width: 100%;

    max-width: 520px;

    margin: auto;

    overflow: hidden;

    border: 1px solid #BFDBFE;

    border-radius: 20px;

    background: var(--white);

    box-shadow: 0 35px 90px rgba(37, 99, 235, 0.14);

    transform: rotateY(-5deg) rotateX(2deg);

    transition: transform 0.5s ease, box-shadow 0.5s ease;

}



.hero-visual:hover .browser-card {

    transform: rotateY(0) rotateX(0) translateY(-5px);

    box-shadow: 0 42px 100px rgba(37, 99, 235, 0.2);

}



.browser-top {

    height: 46px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 12px;

    padding: 0 15px;

    border-bottom: 1px solid #DBEAFE;

    background: #FFFFFF;

}



.browser-dots {

    display: flex;

    flex-shrink: 0;

    gap: 5px;

}



.browser-dots span {

    width: 8px;

    height: 8px;

    border-radius: 50%;

    background: #93C5FD;

}



.browser-address {

    min-width: 0;

    padding: 4px 15px;

    overflow: hidden;

    border-radius: 6px;

    color: #475569;

    background: #EFF6FF;

    font-size: 0.64rem;

    text-overflow: ellipsis;

    white-space: nowrap;

}



.browser-menu {

    flex-shrink: 0;

    color: #9B8CB1;

    letter-spacing: 2px;

}



.preview-page {

    padding: 23px 24px 25px;

    background: linear-gradient(145deg, #FFFFFF, #F5F9FF);

}



.preview-navbar {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 10px;

}



.preview-logo {

    display: flex;

    align-items: center;

    gap: 6px;

    color: var(--purple-dark);

    font-family: "Outfit", sans-serif;

    font-size: 0.9rem;

    font-weight: 800;

}



.preview-logo span {

    width: 23px;

    height: 23px;

    display: grid;

    place-items: center;

    border-radius: 6px;

    color: var(--white);

    background: #3B82F6;

    font-size: 0.75rem;

}



.preview-nav-lines {

    display: flex;

    gap: 10px;

}



.preview-nav-lines span {

    width: 30px;

    height: 4px;

    border-radius: 10px;

    background: #DBEAFE;

}



.preview-mini-button {

    width: 67px;

    height: 21px;

    flex-shrink: 0;

    border-radius: 6px;

    background: #3B82F6;

}



.preview-hero {

    position: relative;

    min-height: 255px;

    margin-top: 25px;

    padding: 30px 25px;

    overflow: hidden;

    border-radius: 14px;

    background: radial-gradient(circle at 88% 28%, #60A5FA 0, transparent 30%),



        linear-gradient(130deg, #172554, #2563EB);

}



.preview-label {

    color: #DBEAFE;

    font-size: 0.55rem;

    font-weight: 800;

    letter-spacing: 1.5px;

}



.preview-hero h2 {

    position: relative;

    z-index: 1;

    margin-top: 13px;

    color: var(--white);

    font-size: clamp(2rem, 3.8vw, 3rem);

    line-height: 1.02;

    letter-spacing: -1.3px;

}



.preview-hero h2 span {

    color: #93C5FD;

}



.preview-hero p {

    max-width: 220px;

    margin-top: 12px;

    color: #DBEAFE;

    font-size: 0.65rem;

}



.think-text {

    color: #ffffff !important;

}



.preview-button {

    width: fit-content;

    margin-top: 16px;

    padding: 7px 11px;

    border-radius: 6px;

    color: var(--purple-dark);

    background: var(--white);

    font-size: 0.6rem;

    font-weight: 800;

}



.preview-button span {

    margin-left: 6px;

}



.preview-cards {

    display: grid;

    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 10px;

    margin-top: 15px;

}



.preview-mini-card {

    min-width: 0;

    padding: 12px 9px;

    border: 1px solid #DBEAFE;

    border-radius: 10px;

    background: var(--white);

    transition: transform var(--transition), box-shadow var(--transition);

}



.preview-mini-card:hover {

    transform: translateY(-4px);

    box-shadow: var(--shadow-sm);

}



.active-mini-card {

    border-color: #93C5FD;

    background: #EFF6FF;

}



.mini-card-icon {

    display: grid;

    width: 27px;

    height: 27px;

    place-items: center;

    margin-bottom: 10px;

    border-radius: 7px;

    color: #2563EB;

    background: #DBEAFE;

}



.mini-line {

    width: 70%;

    height: 4px;

    margin-top: 6px;

    border-radius: 10px;

    background: #DBEAFE;

}



.mini-line.long {

    width: 95%;

}



@keyframes floatTag {

    0%, 100% {

        transform: translateY(0);

    }



    50% {

        transform: translateY(-9px);

    }

}



.tag-icon,



.code-icon {

    color: #2563EB;

}



.tag-bottom strong,



.tag-bottom small {

    display: block;

}



.hero-glow {

    position: absolute;

    border-radius: 50%;

    filter: blur(2px);

    pointer-events: none;

}



.hero-glow-one {

    width: 270px;

    height: 270px;

    top: 5%;

    right: -100px;

    background: rgba(196, 181, 253, 0.22);

}



.hero-glow-two {

    width: 180px;

    height: 180px;

    bottom: 10%;

    left: -100px;

    background: rgba(221, 214, 254, 0.3);

}



.hero-bottom {

    position: relative;

    z-index: 2;

    display: flex;

    align-items: center;

    gap: 13px;

    margin-top: 52px;

    color: #897B9D;

    font-size: 0.67rem;

    font-weight: 700;

    letter-spacing: 1.2px;

}



.scroll-line {

    width: 50px;

    height: 1px;

    flex-shrink: 0;

    background: #C6B5E0;

}



/* ---------- Services Preview ---------- */



.service-preview-grid {

    display: grid;

    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 24px;

}



.home-service-card {

    position: relative;

    min-width: 0;

    padding: 30px 27px;

    overflow: hidden;

    border: 1px solid var(--border-color);

    border-radius: 20px;

    background: var(--white);

    box-shadow: 0 5px 25px rgba(49, 16, 82, 0.025);

    transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;

}



.home-service-card::after {

    content: "";

    position: absolute;

    right: -45px;

    bottom: -55px;

    width: 125px;

    height: 125px;

    border-radius: 50%;

    background: #DBEAFE;

    opacity: 0;

    transition: opacity .35s ease;

}



.home-service-card:hover {

    transform: translateY(-9px);

    border-color: #93C5FD;

    box-shadow: var(--shadow-md);

}



.home-service-card:hover::after {

    opacity: 1;

}



.home-service-icon {

    position: relative;

    z-index: 1;

    width: 58px;

    height: 58px;

    display: grid;

    place-items: center;

    margin-bottom: 22px;

    border-radius: 16px;

    font-size: 1.4rem;

    font-weight: 800;

    transition: transform .35s ease;

}



.home-service-card:hover .home-service-icon {

    transform: rotate(-8deg) scale(1.08);

}



.icon-purple,



.icon-violet,



.icon-lavender {

    color: #1D4ED8;

    background: #DBEAFE;

}



.service-number,



.process-number {

    position: absolute;

    top: 32px;

    right: 26px;

    color: #93C5FD;

    font-family: "Outfit", sans-serif;

    font-size: 1.5rem;

    font-weight: 800;

}



.home-service-card h3 {

    margin-bottom: 13px;

    color: var(--purple-dark);

    font-size: 1.28rem;

}



.home-service-card > p {

    min-height: 82px;

    margin-bottom: 22px;

    color: var(--text-muted);

    font-size: .9rem;

    line-height: 1.8;

}



.text-link {

    position: relative;

    z-index: 1;

    display: inline-flex;

    align-items: center;

    gap: 9px;

    color: #2563EB;

    font-size: .86rem;

    font-weight: 800;

}



.text-link span {

    transition: transform var(--transition);

}



.text-link:hover span {

    transform: translate(4px, -3px);

}



.section-bottom-link {

    display: flex;

    justify-content: center;

    margin-top: 38px;

}



/* ---------- Industries ---------- */



.industries-preview {

    overflow: hidden;

    background: radial-gradient(ellipse at 95% 5%, #DBEAFE, transparent 35%),



        #FFFFFF;

}



.industries-layout {

    display: grid;

    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);

    align-items: center;

    gap: 65px;

}



.industries-content {

    min-width: 0;

}



.industries-content h2 {

    margin: 18px 0;

    color: var(--purple-dark);

    font-size: clamp(2.3rem, 4vw, 3.4rem);

    letter-spacing: -1.8px;

}



.industries-content > p {

    margin-bottom: 28px;

    color: var(--text-muted);

    line-height: 1.9;

}



.industry-grid {

    display: grid;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 16px;

}



.industry-card {

    position: relative;

    min-width: 0;

    min-height: 170px;

    display: flex;

    flex-direction: column;

    justify-content: flex-end;

    align-items: flex-start;

    gap: 13px;

    padding: 24px;

    overflow: hidden;

    border: 1px solid var(--border-color);

    border-radius: 18px;

    background: linear-gradient(145deg, #FFFFFF, #F5F9FF);

    transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;

}



.industry-card::before {

    content: "";

    position: absolute;

    top: -40px;

    right: -40px;

    width: 110px;

    height: 110px;

    border-radius: 50%;

    background: #DBEAFE;

    transition: transform .45s ease;

}



.industry-card:hover {

    transform: translateY(-6px);

    border-color: #93C5FD;

    box-shadow: var(--shadow-md);

}



.industry-card:hover::before {

    transform: scale(1.5);

}



.industry-icon,



.industry-card-title,



.industry-card-arrow {

    position: relative;

    z-index: 1;

}



.industry-icon {

    color: #2563EB;

    font-size: 1.8rem;

    transition: transform .3s ease;

}



.industry-card:hover .industry-icon {

    transform: scale(1.13) rotate(-5deg);

}



.industry-card-title {

    color: var(--purple-dark);

    font-family: "Outfit", sans-serif;

    font-size: 1.08rem;

    font-weight: 700;

}



.industry-card-arrow {

    position: absolute;

    top: 18px;

    right: 19px;

    color: #2563EB;

    font-size: 1.1rem;

    transition: transform var(--transition);

}



.industry-card:hover .industry-card-arrow {

    transform: translate(3px, -3px);

}



/* ---------- Portfolio Preview ---------- */



.portfolio-preview-grid {

    display: grid;

    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 28px;

}



.home-project-card {

    min-width: 0;

    overflow: hidden;

    border: 1px solid var(--border-color);

    border-radius: 22px;

    background: var(--white);

    transition: transform .35s ease, box-shadow .35s ease;

}



.home-project-card:hover {

    transform: translateY(-7px);

    box-shadow: var(--shadow-md);

}



.project-art {

    min-height: 290px;

    display: grid;

    place-items: center;

    padding: 30px;

    overflow: hidden;

    background: #EFF6FF;

}



.project-education .project-art {

    background: radial-gradient(circle at 75% 25%, #BFDBFE, transparent 32%),



        #EFF6FF;

}



.project-fashion .project-art {

    background: radial-gradient(circle at 25% 70%, #F1D5EA, transparent 35%),



        #F9EDF6;

}



.project-window {

    width: min(100%, 340px);

    min-height: 225px;

    overflow: hidden;

    border: 5px solid #FFFFFF;

    border-radius: 13px;

    background: #FFFFFF;

    box-shadow: 0 20px 45px rgba(37, 99, 235, .14);

    transition: transform .4s ease;

}



.home-project-card:hover .project-window {

    transform: scale(1.035) rotate(-1deg);

}



.project-window-top {

    display: flex;

    gap: 4px;

    padding: 9px 10px;

    border-bottom: 1px solid #DBEAFE;

}



.project-window-top span {

    width: 6px;

    height: 6px;

    border-radius: 50%;

    background: #93C5FD;

}



.education-mockup {

    position: relative;

    min-height: 185px;

    padding: 22px 20px;

    overflow: hidden;

    color: var(--white);

    background: linear-gradient(135deg, #172554, #2563EB);

}



.mockup-label {

    color: #DBEAFE;

    font-size: .48rem;

    font-weight: 800;

    letter-spacing: 1px;

}



.mockup-heading {

    position: relative;

    z-index: 1;

    margin-top: 13px;

    font-family: "Outfit", sans-serif;

    font-size: 1.8rem;

    font-weight: 800;

    line-height: 1.05;

}



.mockup-line {

    width: 120px;

    height: 4px;

    margin-top: 10px;

    border-radius: 5px;

    background: #93C5FD;

}



.mockup-action {

    width: fit-content;

    margin-top: 13px;

    padding: 7px 9px;

    border-radius: 4px;

    color: #172554;

    background: #FFFFFF;

    font-size: .55rem;

    font-weight: 800;

}



.mockup-shape {

    position: absolute;

    right: -15px;

    bottom: -35px;

    width: 135px;

    height: 135px;

    border: 18px solid rgba(219, 234, 254, .23);

    border-radius: 50%;

}



.fashion-window {

    background: #FBF3F8;

}



.fashion-mockup {

    position: relative;

    min-height: 220px;

    padding: 16px;

    overflow: hidden;

    background: linear-gradient(135deg, #FAF0F8, #E9D6E8);

}



.fashion-brand {

    position: relative;

    z-index: 2;

    color: #54284C;

    font-family: "Outfit", sans-serif;

    font-size: 1rem;

    font-weight: 800;

    letter-spacing: 3px;

}



.fashion-caption {

    position: absolute;

    top: 63px;

    left: 16px;

    z-index: 2;

    color: #633D60;

    font-size: .52rem;

    font-weight: 800;

    letter-spacing: 1.5px;

}



.fashion-circle {

    position: absolute;

    top: 34px;

    right: 28px;

    width: 130px;

    height: 130px;

    border-radius: 50%;

    background: #D4A7C8;

}



.fashion-product {

    position: absolute;

    top: 52px;

    right: 65px;

    width: 58px;

    height: 110px;

    border: 2px solid rgba(255, 255, 255, .6);

    border-radius: 30px 30px 12px 12px;

    background: linear-gradient(90deg, #8C527E, #C38AB5, #8C527E);

    transform: rotate(-8deg);

    box-shadow: 10px 10px 25px rgba(77, 34, 68, .14);

}



.fashion-shop {

    position: absolute;

    bottom: 18px;

    left: 16px;

    z-index: 2;

    color: #54284C;

    font-size: .54rem;

    font-weight: 800;

    letter-spacing: .5px;

}



.project-info {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 18px;

    padding: 23px 25px;

}



.project-category {

    color: #2563EB;

    font-size: .68rem;

    font-weight: 800;

    letter-spacing: 1.4px;

}



.project-info h3 {

    margin-top: 7px;

    color: var(--purple-dark);

    font-size: 1.2rem;

}



.project-info > a {

    width: 43px;

    height: 43px;

    flex-shrink: 0;

    display: grid;

    place-items: center;

    border: 1px solid #DBEAFE;

    border-radius: 13px;

    color: #2563EB;

    font-size: 1.2rem;

    transition: color var(--transition), background var(--transition), transform var(--transition);

}



.project-info > a:hover {

    color: #FFFFFF;

    background: #2563EB;

    transform: rotate(8deg);

}



/* ---------- Stats ---------- */



.stats-section {

    position: relative;

    overflow: hidden;

    color: var(--white);

    background: linear-gradient(125deg, #172554, #1D4ED8 55%, #2563EB);

}



.stats-glow {

    position: absolute;

    top: -200px;

    right: -100px;

    width: 450px;

    height: 450px;

    border-radius: 50%;

    background: rgba(147, 197, 253, .2);

    filter: blur(40px);

}



.stats-container {

    position: relative;

    z-index: 1;

}



.stats-heading {

    max-width: 630px;

    margin-bottom: 50px;

}



.stats-heading h2 {

    margin: 16px 0;

    font-size: clamp(2.2rem, 4vw, 3.5rem);

    letter-spacing: -1.5px;

}



.stats-gradient {

    color: #93C5FD;

}



.stats-heading > p {

    max-width: 500px;

    color: #DBEAFE;

    line-height: 1.9;

}



.stats-grid {

    display: grid;

    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 18px;

}



.stat-item {

    position: relative;

    min-width: 0;

    display: flex;

    flex-direction: column;

    align-items: flex-start;

    padding: 27px 23px;

    border: 1px solid rgba(219, 234, 254, .18);

    border-radius: 18px;

    background: rgba(255, 255, 255, .055);

    backdrop-filter: blur(8px);

    transition: background var(--transition), transform var(--transition);

}



.stat-item:hover {

    transform: translateY(-6px);

    background: rgba(255, 255, 255, .1);

}



.stat-icon {

    width: 42px;

    height: 42px;

    display: grid;

    place-items: center;

    margin-bottom: 22px;

    border-radius: 12px;

    color: #DBEAFE;

    background: rgba(219, 234, 254, .15);

    font-size: 1.2rem;

}



.stat-number {

    color: #FFFFFF;

    font-family: "Outfit", sans-serif;

    font-size: clamp(2rem, 3.3vw, 2.7rem);

    font-weight: 800;

    line-height: 1.1;

}



.stat-label {

    margin-top: 10px;

    color: #DBEAFE;

    font-size: .82rem;

}



.stats-note {

    margin-top: 25px;

    color: #DBEAFE;

    font-size: .75rem;

    line-height: 1.7;

}



/* ---------- Process ---------- */



.process-grid {

    display: grid;

    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 18px;

}



.process-card {

    position: relative;

    min-width: 0;

    padding: 27px 22px;

    border: 1px solid var(--border-color);

    border-radius: 18px;

    background: #FFFFFF;

    transition: transform .35s ease, box-shadow .35s ease;

}



.process-card:hover {

    transform: translateY(-7px);

    box-shadow: var(--shadow-md);

}



.process-number {

    position: absolute;

    top: 18px;

    right: 18px;

    color: #93C5FD;

    font-family: "Outfit", sans-serif;

    font-size: 1.3rem;

    font-weight: 800;

}



.process-icon {

    width: 50px;

    height: 50px;

    display: grid;

    place-items: center;

    margin-bottom: 25px;

    border-radius: 14px;

    color: #2563EB;

    background: #EFF6FF;

    font-size: 1.25rem;

    font-weight: 800;

    transition: transform var(--transition);

}



.process-card:hover .process-icon {

    transform: rotate(-8deg) scale(1.06);

}



.process-card h3 {

    margin-bottom: 12px;

    color: var(--purple-dark);

    font-size: 1.2rem;

}



.process-card p {

    color: var(--text-muted);

    font-size: .87rem;

    line-height: 1.8;

}



/* ---------- CTA ---------- */



.home-cta-section {

    padding: 90px 0;

    background: #F3F7FF;

}



.home-cta-card {

    position: relative;

    overflow: hidden;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 40px;

    padding: 65px 70px;

    border: 1px solid rgba(91, 171, 255, .3);

    border-radius: 25px;

    background: radial-gradient(circle at 90% 10%, rgba(147, 197, 253, 0.25), transparent 35%),



    linear-gradient(120deg, #172554, #1E40AF 65%, #2563EB);

    box-shadow: 0 20px 55px rgba(5, 35, 85, .15);

}



.cta-decoration {

    position: absolute;

    pointer-events: none;

    border-radius: 50%;

}



.cta-decoration-one {

    width: 250px;

    height: 250px;

    right: 24%;

    top: -180px;

    border: 1px solid rgba(93, 179, 255, .3);

}



.cta-decoration-two {

    width: 170px;

    height: 170px;

    right: 7%;

    bottom: -125px;

    border: 1px solid rgba(93, 179, 255, .25);

    box-shadow: 0 0 45px rgba(0, 132, 255, .12);

}



.cta-content {

    position: relative;

    z-index: 2;

    flex: 1;

    min-width: 0;

}



.cta-eyebrow {

    display: inline-block;

    margin-bottom: 18px;

    color: #DBEAFE;

    font-size: 12px;

    font-weight: 750;

    letter-spacing: 2.5px;

}



.cta-content h2 {

    margin: 0 0 18px;

    color: #FFFFFF;

    font-size: clamp(32px, 3.5vw, 47px);

    line-height: 1.2;

    letter-spacing: -1.5px;

    font-weight: 750;

}



.cta-content h2 span {

    color: #DBEAFE;

}



.cta-content p {

    max-width: 550px;

    margin: 0;

    color: #EFF6FF;

    font-size: 15px;

    line-height: 1.8;

}



.cta-action {

    position: relative;

    z-index: 2;

    flex: 0 0 auto;

    display: flex;

    flex-direction: column;

    align-items: center;

    gap: 13px;

}



.cta-modern-btn {

    min-height: 58px;

    padding: 0 25px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 20px;

    border: 1px solid #FFFFFF;

    border-radius: 9px;

    color: #071A3D !important;

    background: #FFFFFF !important;

    box-shadow: 0 10px 30px rgba(0, 0, 0, .12);

    font-size: 14px;

    font-weight: 700;

    text-decoration: none;

    white-space: nowrap;

    transition: transform .3s ease, box-shadow .3s ease;

}



.cta-modern-btn:hover {

    color: #071A3D !important;

    background: #FFFFFF !important;

    transform: translateY(-4px);

    box-shadow: 0 15px 35px rgba(0, 0, 0, .18);

}



.cta-btn-arrow {

    width: 28px;

    height: 28px;

    display: grid;

    place-items: center;

    border-radius: 50%;

    color: #071A3D !important;

    background: #EAF3FF;

    font-size: 19px;

    transition: transform .3s ease;

}



.cta-modern-btn:hover .cta-btn-arrow {

    color: #071A3D !important;

    transform: translate(3px, -3px);

}



.cta-action-note {

    color: #A9C9ED;

    font-size: 11px;

    letter-spacing: .4px;

}



/* Keep CTA link text navy in every link state */



a.cta-modern-btn,



a.cta-modern-btn:link,



a.cta-modern-btn:visited,



a.cta-modern-btn:hover,



a.cta-modern-btn:focus,



a.cta-modern-btn:active {

    color: #071A3D !important;

    -webkit-text-fill-color: #071A3D !important;

    background: #FFFFFF !important;

    border: 1px solid #FFFFFF !important;

}



a.cta-modern-btn span:not(.cta-btn-arrow),



a.cta-modern-btn .cta-btn-arrow {

    color: #071A3D !important;

    -webkit-text-fill-color: #071A3D !important;

}



a.cta-modern-btn .cta-btn-arrow {

    background: #EAF3FF !important;

}



/* ---------- Buttons ---------- */



.btn-primary,



.primary-btn,



button[type="submit"] {

    color: #FFFFFF;

    background: #3B82F6;

    border: 1px solid #3B82F6;

    transition: all .3s ease;

}



.btn-primary:hover,



.primary-btn:hover,



button[type="submit"]:hover {

    color: #FFFFFF;

    background: #172554;

    border-color: #172554;

    transform: translateY(-2px);

    box-shadow: 0 8px 20px rgba(59, 130, 246, .25);

}



.btn-secondary,



.btn-outline,



.secondary-btn {

    color: #172554;

    background: #EFF6FF;

    border: 1px solid #3B82F6;

    transition: all .3s ease;

}



.btn-secondary:hover,



.btn-outline:hover,



.secondary-btn:hover {

    color: #FFFFFF;

    background: #3B82F6;

    border-color: #3B82F6;

    transform: translateY(-2px);

}



a.btn,



a.button {

    text-decoration: none;

}



button:focus-visible,



.btn:focus-visible,



a.btn:focus-visible {

    outline: 3px solid rgba(59, 130, 246, .35);

    outline-offset: 3px;

}



button:disabled,



.btn:disabled {

    cursor: not-allowed;

    opacity: .6;

}



/* ---------- Shared Theme ---------- */



:root {

    --purple-dark: #172554;

    --violet: #3B82F6;

    --lavender: #EFF6FF;

    --text-muted: #475569;

    --border-color: #DBEAFE;

}



.home-service-card::after,



.industry-card::before {

    background: #DBEAFE;

}



.home-service-card:hover,



.industry-card:hover {

    border-color: #93C5FD;

}



.text-link,



.industry-card-arrow,



.project-category,



.project-info > a {

    color: #2563EB;

}



.home-service-icon,



.industry-icon,



.process-icon,



.stat-icon,



.tag-icon,



.code-icon,



.mini-card-icon {

    transition: color .25s ease, background-color .25s ease, transform .3s ease;

}



/* ---------- Typography ---------- */



.home-page h1,



.home-page h2,



.home-page h3,



.home-page h4 {

    overflow-wrap: break-word;

}



.home-page p {

    overflow-wrap: break-word;

}



.home-page img,



.home-page video,



.home-page iframe {

    max-width: 100%;

}



/* Main headings */



.section-heading h2,



.stats-heading h2,



.industries-content h2 {

    color: var(--purple-dark);

}



/* Paragraphs and descriptions */



.section-heading p,



.home-service-card p,



.industry-card p,



.project-info p,



.process-card p {

    color: var(--text-muted);

}



/* Text that previously used a gradient */



/* Navigation */



.home-page a {

    -webkit-tap-highlight-color: transparent;

}



/* Buttons */



.home-page button,



.home-page .btn,



.home-page a {

    touch-action: manipulation;

}



/* Preserve white text on dark sections */



.stats-section,



.stats-section h2,



.stats-section h3,



.stats-section p,



.home-cta-card,



.home-cta-card h2 {

    color: #FFFFFF;

}



.stats-section .stats-gradient,



.home-cta-card h2 span {

    color: #DBEAFE;

}



/* ---------- Restaurant Project ---------- */



.project-restaurant .project-art {

    background: radial-gradient(circle at 75% 25%, #F3D8C4, transparent 35%),



        #F8EDE3;

}



.restaurant-window {

    width: min(100%, 340px);

    min-height: 225px;

    overflow: hidden;

    border: 5px solid #FFFFFF;

    border-radius: 13px;

    background: #FFF9F2;

    box-shadow: 0 20px 45px rgba(80, 48, 25, .15);

}



.restaurant-mockup {

    position: relative;

    min-height: 220px;

    padding: 15px;

    overflow: hidden;

    background: linear-gradient(135deg, #FFF8EF, #F4E5D4);

}



.restaurant-top {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 8px;

}



.restaurant-brand {

    color: #633B28;

    font-family: "Outfit", sans-serif;

    font-size: .85rem;

    font-weight: 800;

    letter-spacing: 1px;

}



.restaurant-brand span {

    color: #BD693D;

}



.restaurant-menu {

    display: flex;

    gap: 7px;

}



.restaurant-menu span {

    width: 20px;

    height: 3px;

    border-radius: 5px;

    background: #D7BBA3;

}



.restaurant-copy {

    position: relative;

    z-index: 3;

    max-width: 65%;

    margin-top: 28px;

}



.restaurant-label {

    color: #BD693D;

    font-size: .45rem;

    font-weight: 800;

    letter-spacing: 1.3px;

}



.restaurant-copy h3 {

    margin-top: 8px;

    color: #633B28;

    font-family: "Outfit", sans-serif;

    font-size: 1.8rem;

    line-height: 1.05;

}



.restaurant-copy h3 span {

    color: #BD693D;

}



.restaurant-copy p {

    margin-top: 8px;

    color: #98725E;

    font-size: .5rem;

    line-height: 1.5;

}



.restaurant-button {

    width: fit-content;

    margin-top: 10px;

    padding: 6px 9px;

    border-radius: 4px;

    color: #FFFFFF;

    background: #A6532E;

    font-size: .48rem;

    font-weight: 800;

}



.restaurant-dish {

    position: absolute;

    top: 48px;

    right: 12px;

    z-index: 2;

    width: 115px;

    height: 115px;

}



.dish-plate {

    position: absolute;

    inset: 0;

    border: 8px solid #FFFFFF;

    border-radius: 50%;

    background: #E9D5C0;

    box-shadow: 0 8px 18px rgba(80, 48, 25, .15);

}



.dish-pasta {

    position: absolute;

    top: 22px;

    left: 22px;

    width: 72px;

    height: 72px;

    border-radius: 50%;

    background: #E9B45E;

    box-shadow: inset 0 0 0 5px #F4D18D;

}



.dish-pasta i {

    position: absolute;

    width: 35px;

    height: 5px;

    border-radius: 10px;

    background: #C77B36;

}



.dish-pasta i:nth-child(1) {

    top: 18px;

    left: 12px;

    transform: rotate(25deg);

}



.dish-pasta i:nth-child(2) {

    top: 31px;

    left: 18px;

    transform: rotate(-20deg);

}



.dish-pasta i:nth-child(3) {

    top: 43px;

    left: 10px;

    transform: rotate(15deg);

}



.dish-pasta i:nth-child(4) {

    top: 8px;

    left: 23px;

    transform: rotate(-35deg);

}



.dish-pasta b {

    position: absolute;

    width: 8px;

    height: 8px;

    border-radius: 50%;

    background: #A84E2C;

}



.dish-pasta b:nth-of-type(1) {

    top: 22px;

    left: 20px;

}



.dish-pasta b:nth-of-type(2) {

    right: 20px;

    bottom: 16px;

}



.dish-leaf {

    position: absolute;

    z-index: 2;

    width: 13px;

    height: 23px;

    border-radius: 100% 0 100% 0;

    background: #71844D;

}



.leaf-a {

    top: -2px;

    right: 10px;

    transform: rotate(35deg);

}



.leaf-b {

    bottom: 2px;

    left: 0;

    transform: rotate(-35deg);

}



.dish-spark {

    position: absolute;

    top: 0;

    left: 0;

    color: #BD693D;

    font-size: 18px;

}



.restaurant-bottom {

    position: absolute;

    right: 14px;

    bottom: 10px;

    left: 14px;

    display: flex;

    justify-content: space-between;

    gap: 5px;

    padding-top: 8px;

    border-top: 1px solid #E8D6C4;

    color: #98725E;

    font-size: .4rem;

    font-weight: 800;

    letter-spacing: .4px;

}



/* ---------- Responsive Layout ---------- */



/* Laptop */



@media (max-width: 1100px) {

    .hero-grid {

        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);

        gap: 28px;

    }



    .hero-content h1 {

        font-size: clamp(2.6rem, 5vw, 4rem);

    }



    .service-preview-grid,



    .portfolio-preview-grid {

        grid-template-columns: repeat(2, minmax(0, 1fr));

    }



    .industries-layout {

        gap: 35px;

    }



    .home-cta-card {

        padding: 55px 45px;

        gap: 30px;

    }

}



/* Tablet */



@media (max-width: 900px) {

    .hero-section {

        min-height: auto;

        padding: 55px 0 30px;

    }



    .hero-grid {

        grid-template-columns: 1fr;

        gap: 30px;

    }



    .hero-content {

        max-width: 720px;

        margin: 0 auto;

        text-align: center;

    }



    .hero-badge,



    .hero-content h1,



    .hero-description {

        margin-left: auto;

        margin-right: auto;

    }



    .hero-actions,



    .hero-trust {

        justify-content: center;

    }



    .hero-visual {

        width: 100%;

        max-width: 620px;

        margin: 0 auto;

    }



    .browser-card {

        transform: none;

    }



    .hero-visual:hover .browser-card {

        transform: translateY(-4px);

    }



    .hero-bottom {

        justify-content: center;

        margin-top: 25px;

    }



    .industries-layout {

        grid-template-columns: 1fr;

    }



    .industries-content {

        max-width: 700px;

    }



    .stats-grid {

        grid-template-columns: repeat(2, minmax(0, 1fr));

    }



    .process-grid {

        grid-template-columns: repeat(2, minmax(0, 1fr));

    }



    .home-cta-card {

        align-items: flex-start;

    }

}



/* Mobile */



@media (max-width: 600px) {

    .hero-section {

        padding: 42px 0 25px;

    }



    .hero-grid {

        gap: 20px;

    }



    .hero-content h1 {

        margin: 20px 0 15px;

        font-size: clamp(2.15rem, 9vw, 3.2rem);

        letter-spacing: -1.5px;

    }



    .hero-description {

        font-size: .92rem;

        line-height: 1.75;

    }



    .hero-actions {

        gap: 10px;

        margin-top: 22px;

    }



    .hero-trust {

        margin-top: 25px;

    }



    .hero-visual {

        padding: 28px 5px;

    }



    .browser-card {

        border-radius: 14px;

    }



    .browser-top {

        height: 38px;

        padding: 0 10px;

    }



    .browser-address {

        padding: 4px 8px;

        font-size: .58rem;

    }



    .preview-page {

        padding: 14px;

    }



    .preview-hero {

        min-height: 195px;

        margin-top: 18px;

        padding: 22px 17px;

    }



    .preview-hero h2 {

        font-size: clamp(1.8rem, 8vw, 2.5rem);

    }



    .preview-cards {

        gap: 7px;

    }



    .preview-mini-card {

        padding: 9px 7px;

    }



    .floating-tag {

        gap: 7px;

        padding: 9px 11px;

    }



    .tag-top {

        top: 0;

        right: 0;

        font-size: .65rem;

    }



    .tag-bottom {

        bottom: 0;

        left: 0;

    }



    .code-icon {

        width: 29px;

        height: 29px;

        font-size: .75rem;

    }



    .tag-bottom strong {

        font-size: .68rem;

    }



    .tag-bottom small {

        font-size: .58rem;

    }



    .orbit-one,



    .orbit-two {

        display: none;

    }



    .hero-glow-one {

        right: -140px;

    }



    .hero-glow-two {

        left: -130px;

    }



    .hero-bottom {

        margin-top: 20px;

        font-size: .6rem;

    }



    .service-preview-grid,



    .portfolio-preview-grid,



    .industry-grid,



    .process-grid {

        grid-template-columns: 1fr;

    }



    .home-service-card,



    .home-project-card,



    .industry-card,



    .process-card {

        min-width: 0;

    }



    .home-service-card > p {

        min-height: auto;

    }



    .industries-preview {

        overflow: hidden;

    }



    .stats-grid {

        grid-template-columns: repeat(2, minmax(0, 1fr));

        gap: 20px 12px;

    }



    .stat-item {

        padding: 20px 15px;

    }



    .home-cta-section {

        padding: 50px 0;

    }



    .home-cta-card {

        flex-direction: column;

        align-items: flex-start;

        gap: 25px;

        padding: 35px 24px;

        border-radius: 20px;

    }



    .cta-content h2 {

        font-size: clamp(28px, 8vw, 37px);

        letter-spacing: -1px;

    }



    .cta-content p {

        font-size: 13px;

    }



    .cta-action {

        align-items: flex-start;

        width: 100%;

    }



    .cta-modern-btn {

        max-width: 100%;

        min-height: 52px;

        padding: 0 20px;

        font-size: 13px;

        white-space: normal;

    }



    .restaurant-mockup {

        min-height: 220px;

        padding: 13px;

    }



    .restaurant-copy h3 {

        font-size: 1.55rem;

    }



    .restaurant-dish {

        right: -12px;

        transform: scale(.82);

        transform-origin: center right;

    }

}



/* Small mobile */



@media (max-width: 380px) {

    .hero-section {

        padding-top: 35px;

    }



    .hero-content h1 {

        font-size: 2.05rem;

        letter-spacing: -1px;

    }



    .hero-description {

        font-size: .86rem;

    }



    .hero-actions {

        flex-direction: column;

        align-items: stretch;

    }



    .hero-actions a,



    .hero-actions button {

        justify-content: center;

        width: 100%;

    }



    .hero-visual {

        padding: 25px 0;

    }



    .preview-page {

        padding: 10px;

    }



    .preview-hero {

        min-height: 175px;

        padding: 18px 13px;

    }



    .preview-nav-lines {

        gap: 5px;

    }



    .preview-nav-lines span {

        width: 20px;

    }



    .preview-cards {

        gap: 5px;

    }



    .preview-mini-card {

        padding: 8px 5px;

    }



    .stats-grid {

        grid-template-columns: 1fr;

    }



    .home-cta-card {

        padding: 30px 19px;

    }



    .cta-content h2 {

        font-size: 28px;

    }



    .restaurant-mockup {

        min-height: 210px;

    }

}



/* Accessibility */



@media (prefers-reduced-motion: reduce) {

    .hero-content,



    .hero-visual,



    .status-dot,



    .typing-cursor,



    .floating-tag {

        animation: none !important;

    }



    *,



    *::before



    *::after {

        scroll-behavior: auto !important;

        transition-duration: .01ms !important;

    }

}



/* ==========================================



   HEXNIVO — 3D ORBIT RING HERO VISUAL



   Royal Blue + Ice + Navy



========================================== */



.hero-visual {

    width: 100%;

    min-height: 560px;

    display: flex;

    align-items: center;

    justify-content: center;

    isolation: isolate;

    overflow: visible;

}



.ring-stage {

    position: relative;

    width: min(510px, 100%);

    aspect-ratio: 1;

    display: flex;

    align-items: center;

    justify-content: center;

    perspective: 1000px;

    top: -30px;

}



/* Main Rings */



.ring-track {

    position: absolute;

    width: 78%;

    height: 78%;

    border-radius: 50%;

    border: 2px solid transparent;

    pointer-events: none;

}



.ring-one {

    border-top-color: #2563eb;

    border-right-color: #93c5fd;

    border-bottom-color: rgba(37, 99, 235, 0.2);

    border-left-color: #bfdbfe;

    transform: rotateX(65deg) rotateZ(-25deg);

    box-shadow: 0 0 15px rgba(37, 99, 235, 0.12);

    animation: ringRotateOne 12s linear infinite;

}



.ring-two {

    width: 90%;

    height: 90%;

    border-width: 3px;

    border-top-color: #93c5fd;

    border-right-color: rgba(37, 99, 235, 0.15);

    border-bottom-color: #2563eb;

    border-left-color: rgba(147, 197, 253, 0.3);

    transform: rotateX(65deg) rotateZ(35deg);

    animation: ringRotateTwo 16s linear infinite;

}



.ring-three {

    width: 65%;

    height: 65%;

    border-width: 1px;

    border-top-color: #2563eb;

    border-right-color: #bfdbfe;

    border-bottom-color: #93c5fd;

    border-left-color: transparent;

    transform: rotateX(65deg) rotateZ(80deg);

    animation: ringRotateOne 9s linear infinite reverse;

}



/* Ring Animations */



@keyframes ringRotateOne {

    from {

        transform: rotateX(65deg) rotateZ(0deg);

    }



    to {

        transform: rotateX(65deg) rotateZ(360deg);

    }

}



@keyframes ringRotateTwo {

    from {

        transform: rotateX(65deg) rotateZ(0deg);

    }



    to {

        transform: rotateX(65deg) rotateZ(-360deg);

    }

}



/* Glowing Ring Points */



.ring-point {

    position: absolute;

    width: 13px;

    height: 13px;

    border-radius: 50%;

    background: #ffffff;

    border: 3px solid #2563eb;

    box-shadow: 0 0 15px #60a5fa;

}



.point-one {

    top: 8%;

    left: 15%;

}



.point-two {

    right: 5%;

    top: 30%;

}



.point-three {

    bottom: 7%;

    left: 30%;

}



/* Center Logo */



.ring-core {

    position: relative;

    z-index: 5;

    width: 165px;

    height: 165px;

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    flex-direction: column;

    background: linear-gradient(145deg, #ffffff, #eff6ff);

    border: 1px solid #bfdbfe;

    box-shadow: 0 0 0 10px rgba(219, 234, 254, 0.45),



        0 0 0 22px rgba(219, 234, 254, 0.2),



        0 20px 55px rgba(37, 99, 235, 0.17);

}



.core-glow {

    position: absolute;

    inset: 10px;

    border-radius: 50%;

    background: radial-gradient(



        circle,



        rgba(147, 197, 253, 0.35),



        transparent 70%



    );

}



.core-logo {

    position: relative;

    z-index: 2;

    width: 60px;

    height: 60px;

    display: grid;

    place-items: center;

    border-radius: 19px;

    background: linear-gradient(135deg, #172554, #2563eb);

    color: #ffffff;

    font-family: "Outfit", sans-serif;

    font-size: 36px;

    font-weight: 800;

    box-shadow: 0 8px 25px rgba(37, 99, 235, 0.3);

}



.ring-core > span {

    position: relative;

    margin-top: 9px;

    color: #172554;

    font-size: 12px;

    font-weight: 900;

    letter-spacing: 2px;

}



.ring-core small {

    position: relative;

    margin-top: 4px;

    font-size: 7px;

    font-weight: 700;

    letter-spacing: 1px;

    color: #64748b;

}



/* Floating Labels */



.ring-label {

    position: absolute;

    z-index: 6;

    display: flex;

    align-items: center;

    gap: 8px;

    padding: 10px 14px;

    border-radius: 30px;

    background: #ffffff;

    border: 1px solid #dbeafe;

    color: #172554;

    font-size: 9px;

    font-weight: 800;

    letter-spacing: 0.5px;

    box-shadow: 0 8px 25px rgba(23, 37, 84, 0.1);

    white-space: nowrap;

}



.ring-label span {

    color: #2563eb;

    font-size: 15px;

}



.label-one {

    top: 17%;

    left: -2%;

    animation: labelFloat 4s ease-in-out infinite;

}



.label-two {

    top: 40%;

    right: -10%;

    animation: labelFloat 4s ease-in-out infinite 1s;

}



.label-three {

    bottom: 13%;

    left: 5%;

    animation: labelFloat 4s ease-in-out infinite 2s;

}



@keyframes labelFloat {

    0%, 100% {

        translate: 0 0;

    }



    50% {

        translate: 0 -8px;

    }

}



/* Outer Orbits */



.visual-orbit {

    position: absolute;

    z-index: -1;

    border: 1px solid rgba(59, 130, 246, 0.12);

    border-radius: 50%;

    pointer-events: none;

}



.orbit-one {

    width: 500px;

    height: 500px;

    top: 50%;

    left: 50%;

    transform: translate(-50%, -50%) rotate(-25deg);

}



.orbit-two {

    width: 570px;

    height: 570px;

    top: 50%;

    left: 50%;

    transform: translate(-50%, -50%) rotate(32deg);

    border-style: dashed;

}



/* Floating Tags */



.floating-tag {

    position: absolute;

    z-index: 8;

    display: flex;

    align-items: center;

    gap: 9px;

    padding: 11px 15px;

    border: 1px solid #dbeafe;

    border-radius: 13px;

    background: #ffffff;

    box-shadow: 0 10px 30px rgba(23, 37, 84, 0.12);

    animation: floatTag 4s ease-in-out infinite;

    color: #172554;

    font-size: 11px;

    font-weight: 800;

}



.tag-top {

    top: 30px;

    right: 0;

    color: var(--purple-dark);

    font-size: 0.75rem;

    font-weight: 700;

}



.tag-icon {

    font-size: 18px;

    color: #2563eb;

}



.tag-bottom {

    bottom: 25px;

    left: 0;

    animation-delay: -2s;

}



.code-icon {

    width: 34px;

    height: 34px;

    display: grid;

    place-items: center;

    border-radius: 10px;

    background: #172554;

    font-size: 0.9rem;

    font-weight: 800;

    color: #ffffff;

}



.tag-bottom > span:last-child {

    display: flex;

    flex-direction: column;

    gap: 3px;

}



.tag-bottom strong {

    color: var(--purple-dark);

    font-size: 11px;

}



.tag-bottom small {

    color: #64748b;

    font-size: 9px;

}



/* Responsive */



@media (max-width: 1100px) {

    .hero-visual {

        min-height: 480px;

    }



    .ring-stage {

        width: min(440px, 100%);

    }

}



@media (max-width: 768px) {

    .hero-visual {

        min-height: 430px;

    }



    .ring-stage {

        width: min(390px, 95%);

    }



    .ring-core {

        width: 145px;

        height: 145px;

    }



    .core-logo {

        width: 53px;

        height: 53px;

        font-size: 32px;

    }



    .label-two {

        right: -3%;

    }



    .tag-top {

        top: 5px;

    }



    .tag-bottom {

        bottom: 5px;

    }

}



@media (max-width: 480px) {

    .hero-visual {

        min-height: 390px;

        padding: 10px 5px;

    }



    .ring-stage {

        width: 100%;

    }



    .ring-core {

        width: 125px;

        height: 125px;

    }



    .core-logo {

        width: 46px;

        height: 46px;

        font-size: 28px;

        border-radius: 15px;

    }



    .ring-core > span {

        font-size: 10px;

    }



    .ring-core small {

        font-size: 6px;

    }



    .ring-label {

        padding: 8px 10px;

        font-size: 8px;

    }



    .label-one {

        left: 0;

    }



    .label-two {

        right: -2px;

    }



    .label-three {

        left: 0;

    }



    .floating-tag {

        padding: 8px 10px;

        font-size: 9px;

    }



    .tag-top {

        top: 0;

        right: 0;

    }



    .tag-bottom {

        bottom: 0;

        left: 0;

    }



    .orbit-one {

        width: 320px;

        height: 320px;

    }



    .orbit-two {

        width: 360px;

        height: 360px;

    }

}



@media (prefers-reduced-motion: reduce) {

    .ring-track,



    .ring-label {

        animation: none !important;

    }

}
