@import url('https://fonts.googleapis.com/css2?family=Archivo:ital,wght@0,100..900;1,100..900&family=Lora:ital,wght@0,400..700;1,400..700&family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Righteous&family=Sen:wght@400..800&family=TASA+Orbiter:wght@400..800&display=swap');

:root{
    --font-primary: 'Archivo', sans-serif;
    --font-secondary: 'Righteous', sans-serif;
    --font-third: 'Poppins', sans-serif;
    --font-fourth: 'TASA-Orbiter', sans-serif;
    --filter1: drop-shadow(0px 4px 4px #00000040);
    --filter2: drop-shadow(8px 8px 12px #00000040);
    --text-shadow1: 0px 4px 4px #00000040;
    --color1: #FF6F00;
    --color2: #C03E18;
    --color3: #F4DFCA;
    --color4: #BC6625;
    --color5: #FFFFFF;
    --color6-gradient: linear-gradient(to right, #D9D9D900 0%, #000000 72%, #FFFFFF 100%);
    --color7: #000000;
    --color8: #D9D9D9;
    --color9-light: #D9D9D900;
    --color10-light: #FFFFFF4d;
    --color11-light: #FFFFFF14;
    --color12-light: #FFFFFF66;
    --color13: #121212;
    --color14-light: #F8E6D41a;
    --color15-light: #FFFFFFcc;
    --color16-gradient: linear-gradient(to bottom, #2c71ad33 0%, #1d3c6833 100%);
    --color17: #C1441A;
    --color18-light: #FFFFFFb3;
    --color19-gradient: linear-gradient(to bottom, #2c71ad 0%, #1d3c68 100%);
    --color20: #FFFFFF50;
    --color21: #FFFFFF1a;
    --color22: #100F0F;
    --color23: #FFFFFF08;
    --color24: #073944;
    --color25: #6EBFF438;
    --color26: #B7C5C5;
    --color27: #042A33;
    --color28: #FF6F00CC;
    --color29: #FF6F0066;
    --color30: #FF6F0033;
}

::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: var(--color7);
    border: none;
    border-radius: 0 0 5px 5px;
}

::-webkit-scrollbar-thumb {
    background: var(--color2);
    border: none;
    border-radius: 0 0 5px 5px;
    transition: all .4s ease-in-out;
    will-change: background, cursor;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--color1);
    cursor: pointer;
}
@font-face {
  font-family: fi-b; 
  src: url('../font/Fontspring-DEMO-filsonsoft-bold-iF66bb1f7227185.otf') format('opentype');
  font-display: swap;  
}
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
html, body{
    margin: 0;
    padding: 0;
    scroll-behavior: smooth;
    background: var(--color7) !important;
    color: var(--color5);
    overflow-x: hidden;
}
html.loading, 
body.loading {
    overflow: hidden !important; 
    height: 100vh;               
}
.navbar {
    position: fixed;
    top: 0;
    z-index: 1000;
    padding: 10px 20px;
    transition: all 0.3s ease-in-out;
    will-change: background, backdrop-filter, margin-top;
    background: transparent;
    height: 75px;
    margin: 0 auto auto auto;
    width: 100%;
    border-bottom: 1pt solid var(--color12-light);
}
.navbar.scrolled{
    background: rgba(0, 0, 0, 0.2); /* Light translucent background */
    backdrop-filter: blur(20px) saturate(180%);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
}
.brand img {
    width: 75%;
    height: auto;
}
.flex-nav,.btn-nav{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
}
.btn-nav p{
    color: var(--color5);
    margin: 0;
}
.call{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}
.line{
    background-color: var(--color12-light);
    height: 50px;
    width: 1px;
}
.call a{
    text-decoration: none;
    color: var(--color5);
}
.call a img {
    transform-origin: 50% 20%;
    transform: rotate(0deg) scale(1);
    will-change: transform;
    animation: phone-ring 1s infinite cubic-bezier(.36,.07,.19,.97);
    animation-play-state: paused;
}

.call:hover a img {
    animation-play-state: running;
}

@keyframes phone-ring {
    0% {
        transform: rotate(0deg) scale(1);
    }
    5% {
        transform: rotate(18deg) scale(1.05);
    }
    10% {
        transform: rotate(-18deg) scale(1.05);
    }
    15% {
        transform: rotate(16deg) scale(1.07);
    }
    20% {
        transform: rotate(-16deg) scale(1.07);
    }
    25% {
        transform: rotate(12deg) scale(1.08);
    }
    30% {
        transform: rotate(-12deg) scale(1.08);
    }
    35% {
        transform: rotate(8deg) scale(1.05);
    }
    40% {
        transform: rotate(-8deg) scale(1.05);
    }
    45% {
        transform: rotate(0deg) scale(1);
    }
    100% {
        transform: rotate(0deg) scale(1);
    }
}

.navbar-nav .nav-item .nav-link:hover,.navbar-nav .nav-item .nav-link.active {
    background: var(--color1);
    color: var(--color7);
    border-radius: 5px;
}
.custom-toggler {
    background: var(--color2);
    color: var(--color7);
    border: none;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
    z-index: 1050;
    transition: all .4s ease-in-out;
    will-change: background;
}
.custom-toggler:hover {
    background: var(--color1);
}
.toggler-icon {
    height: 2px;
    margin: 0 auto 0 6px;
    border-radius: 1px;
    background-color: var(--color7);
    transition: all 0.3s ease-in-out;
    will-change: width, transform;
}
.custom-toggler.collapsed .toggler-icon:nth-child(1) {
    transform: rotate(0);
    width: 15px;
}

.custom-toggler.collapsed .toggler-icon:nth-child(2) {
    transform: rotate(0);
    width: 25px;
}

.custom-toggler:not(.collapsed) .toggler-icon:nth-child(1) {
    transform: rotate(45deg);
    width: 25px;
}

.custom-toggler:not(.collapsed) .toggler-icon:nth-child(2) {
    transform: rotate(-45deg);
    width: 25px;
}
.navbar-nav .nav-item {
    opacity: 0;
    transform: translateY(30px);
}
.navbar-collapse.show .navbar-nav .nav-item {
    animation: navItemReveal 0.7s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
.navbar-collapse.show .navbar-nav .nav-item:nth-child(1) { animation-delay: 0.1s; }
.navbar-collapse.show .navbar-nav .nav-item:nth-child(2) { animation-delay: 0.18s; }
.navbar-collapse.show .navbar-nav .nav-item:nth-child(3) { animation-delay: 0.26s; }
.navbar-collapse.show .navbar-nav .nav-item:nth-child(4) { animation-delay: 0.34s; }
.navbar-collapse.show .navbar-nav .nav-item:nth-child(5) { animation-delay: 0.42s; }
@keyframes navItemReveal {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.navbar-nav .nav-item .nav-link {
    width: fit-content;
    margin: auto;
    font-family: fi-b;
    color: var(--color5);
    font-size: 2rem;
    padding: 0.4em 1.6em;
    text-align: center;
    transition: all .2s ease-in-out !important;
    will-change: background, color, border-radius;
}
.navbar-collapse.collapsing .nav-item {
    opacity: 0;
    transform: translateY(20px);
    transition: all .2s ease-out;
}
.brand {
    position: relative;
    z-index: 1001;
}
.navbar-collapse {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.45);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    transform: translateX(100%);
    transition: transform .55s cubic-bezier(0.22, 1, 0.36, 1);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    will-change: transform;
    height: 100vh !important;
    max-height: 100vh !important;
    overflow: hidden;
}
.navbar-collapse,
.navbar-collapse * {
    transition-property: transform !important;
}
.navbar-collapse.show {
    transform: translateX(0);
}
.navbar-collapse:not(.show) {
    transform: translateX(100%);
}

.navbar-collapse.collapsing {
    height: 100vh !important;
    transition: transform .55s cubic-bezier(0.22, 1, 0.36, 1) !important;
}
.navbar-nav {
    flex-direction: column;
    gap: 20px;
    position: relative;
}

/* --------------------------------- */
#home-1, #home-foot, #home-services, #home-contact{
    background: url('../images/bg-main.webp') no-repeat center center/cover;
    position: relative;     
    display: flex;
    align-items: center;
    isolation: isolate;
    z-index: 1;     
}
#home-1, #home-foot{
    justify-content: center;
    padding: 15% 14.7% 25% 14.7%;
}
#home-services{
    justify-content: left;
    padding: 15% 10% 25% 10%;
}
#home-contact{
    justify-content: left;
    padding: 15% 10% 15% 10%;
}
#home-7{
    padding: 10%;
}
.scroll-now{
    position: absolute;
    right: 3%;
    top: 48%;
    transform: rotate(90deg);
    z-index: 8;
}
.scroll-now a{
    text-decoration: none;
    text-transform: uppercase;
    font-size: 1.3rem;
    color: var(--color15-light);
    font-family: var(--font-secondary);
    font-weight: 400;
}
.scroll-now a i{
    transition: all .4s ease-in-out;
    will-change: margin-right, color;
}
.scroll-now a:hover > i{
    margin-left: 5px;
    color: var(--color5);
}

.s-links{
    position: absolute;
    left: 2%;
    top: 50%;
    display: flex;
    flex-direction: column;
    gap: 10px;
    z-index: 8;
}
.s-links p{
    font-family: fi-b;
    text-transform: uppercase;
    color: var(--color5);
    transform: rotate(-90deg);
    display: inline;
}
.s-links p span{
    color: var(--color15-light);
}
.para{
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--color20);
    width: 25px;
    height: 25px;
    margin: auto;
    padding: 15px;
    text-decoration: none;
    color: var(--color5);
    transform: skew(-10deg);
    border-radius: 5px;
    transition: all .4s ease-in-out;
    will-change: transform, border, background;
}
.para:hover{
    transform: scale(.95) skew(0);
    border: 1px solid var(--color5);
    background: var(--color5);
}
.para:hover > i{
    transform: skew(0) scale(.8);
    color: var(--color1);
}
.para i{
    color: var(--color5);
    transform: skew(10deg) scale(.8);
    transition: all .4s ease-in-out;
    will-change: transform, color;
}
#home-2{
    z-index: 0;
    margin-top: -10%;
    padding: 10% 14% 5% 14%;
}
#home-2 p{
    color: var(--color5);
    text-align: left;
    font-family: var(--font-primary);
    font-size: 2.4rem;
    font-weight: 640;
    line-height: 50px;
    text-shadow: var(--text-shadow1);
    text-stroke: 1px var(--color7);
    -webkit-text-stroke: 1px var(--color7);
}
#home-2 p span{
    background: var(--color2);
}

.home-text,.home-text-services,.home-text-contact {
    position: relative;
    z-index: 8;              
    pointer-events: auto;
}
.home-text{
    text-align: center;
}
.home-text-services,.home-text-contact{
    text-align: left;
}
.black-layer {
    position: absolute;
    inset: 0;
    background: var(--color7);
    z-index: 2;
    pointer-events: none;
    opacity: 1;
    mix-blend-mode: darken;
}
.cutout {
    position: absolute;
    border-radius: 50%;
    z-index: 3;
    pointer-events: none;
    mix-blend-mode: destination-out;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    will-change: transform;
}
#cut1 {
    width: 60vw;
    height: 60vw;
    top: 0;
    left: -10%;
    background-image: url('../images/circle-1.webp');
    animation: movec1 10s infinite ease-in-out;
}
#cut2 {
    width: 60vw;
    height: 60vw;
    top: 5%;
    left: 10%;
    background-image: url('../images/circle-2.webp');
    animation: movec2 10s infinite ease-in-out;
}
#cut3 {
    width: 60vw;
    height: 60vw;
    top: 10%;
    left: 30%;
    background-image: url('../images/circle-3.webp');
    animation: movec3 10s infinite ease-in-out;
}
#cut4 {
    width: 50vw;
    height: 50vw;
    top: 12%;
    left: 50%;
    background-image: url('../images/circle-4.webp');
    animation: movec4 10s infinite ease-in-out;
}
#cut5 {
    width: 40vw;
    height: 40vw;
    top: 14%;
    right: -10%;
    background-image: url('../images/circle-5.webp');
    animation: movec5 10s infinite ease-in-out;
}

@keyframes movec1 {
    0%,100%{
        top: 0;
        left: -10%;
    }
    25%{
        top: -10%;
        left: 25%;
    }
    50%{
        top: -10%;
        left: 55%;
    }
    75%{
        top: 10%;
        left: 55%;
    }
}
@keyframes movec2 {
    0%,100%{
        top: 5%;
        left: 10%;
    }
    25%{
        top: 13%;
        left: -5%;
    }
    50%{
        top: -10%;
        left: 15%;
    }
    75%{
        top: -10%;
        left: 25%;
    }
}
@keyframes movec3 {
    0%,100%{
        top: 10%;
        left: 30%;
    }  
    25%{
        top: 5%;
        left: 30%;
    }
    50%{
        top: 13%;
        left: 70%;
    }
    75%{
        top: 13%;
        left: 20%;
    }  
}
@keyframes movec4 {
    0%,100%{
        top: 12%;
        left: 50%;
    } 
    25%{
        top: 10%;
        left: 30%;
    }
    50%{
        top: 20%;
        left: 50%;
    }
    75%{
        top: 20%;
        left: 10%;
    }  
}
@keyframes movec5 {
    0%,100%{
        top: 14%;
        right: -10%;
    }
    25%{
        top: 30%;
        right: 10%;
    }
    50%{
        top: 30%;
        right: 20%;
    }
    75%{
        top: 30%;
        right: 10%;
    }
}

#home-1 h1,#home-foot h1,#home-services h1,#home-contact h1,#home-7 h1{
    line-height: 1;
    text-transform: uppercase;
    color: var(--color5);
    font-family: fi-b;
    text-stroke: 1px var(--color7);
    -webkit-text-stroke: 1px var(--color7);
    filter: var(--filter1);
}
#home-1 h1,#home-foot h1{
    text-align: center;
}
#home-services h1,#home-contact h1,#home-7 h1{
    text-align: left;
}
#home-1 h1{
    font-size: 6.2rem;
}
#home-contact h1{
    font-size: 10rem;
}
#home-services h1,#home-7 h1{
    font-size: 5rem;
}
#home-foot h1{
    font-size: 4rem;
}
.home-text p,.home-text-services p,.home-text-contact-p,#home-7-p{
    font-family: var(--font-primary);
    font-weight: 600;
    color: var(--color5);
    font-size: 1.4rem;
    text-stroke: 1px var(--color7);
    -webkit-text-stroke: 1px var(--color7);
    filter: var(--filter1);
    text-transform: capitalize;
}
.home-text p{
    text-align: center;
}
.home-text-services p,.home-text-contact-p,#home-7-p{
    text-align: left;
}
.home-text a:nth-child(1),.home-text-services a:nth-child(1){
    text-decoration: none;
    border: 1px solid var(--color5);
    padding: 1% 2%;
    border-radius: 10px;
    background: var(--color16-gradient);
    filter: var(--filter2);
    transition: all .6s ease-in-out;
    will-change: background, padding;
}
.home-text a:nth-child(2),.home-text-services a:nth-child(2){
    text-decoration: none;
    border: none;
    padding: 1% 2%;
    border-radius: 10px;
    background: none;
    transition: all .6s ease-in-out;
    will-change: border, background;
}
.home-text a:nth-child(1) span,.home-text a:nth-child(2) span,.home-text-services a:nth-child(1) span,.home-text-services a:nth-child(2) span{
    color: var(--color5);
    font-size: 1.2rem;
    text-transform: capitalize;
    text-stroke: 1px var(--color7);
    -webkit-text-stroke: 1px var(--color7);
    letter-spacing: 0;
    text-shadow: var(--text-shadow1);
}
.home-text a:nth-child(1) span,.home-text-services a:nth-child(1) span{   
    font-family: var(--font-primary);
    font-weight: 600;
}
.home-text a:nth-child(2) span,.home-text-services a:nth-child(2) span{
    font-family: var(--font-secondary);
    font-weight: 400;
}
.home-text a:nth-child(1) img,.home-text a:nth-child(2) img,.home-text-services a:nth-child(1) img,.home-text-services a:nth-child(2) img{
    height: auto;
    margin: -.3% 2% 0 0;
    transition: all .6s ease-in-out;
    will-change: margin;
    
}
.home-text a:nth-child(1) img,.home-text-services a:nth-child(1) img{
    width: 20px;
}
.home-text a:nth-child(2) img,.home-text-services a:nth-child(2) img{
    width: 75px;
}
.home-text a:nth-child(1):hover,.home-text-services a:nth-child(1):hover{
    background: var(--color19-gradient);
    padding: 1% 3%;
}
.home-text a:nth-child(2):hover,.home-text-services a:nth-child(2):hover{
    border: 1px solid var(--color5);
    background: var(--color16-gradient);
}
.home-text a:nth-child(1):hover > img,.home-text a:nth-child(2):hover > img,.home-text-services a:nth-child(1):hover > img,.home-text-services a:nth-child(2):hover > img{
    margin: -.3% 3% 0 0;
}
    

/* --------------------------------- */
#home-3-head,#home-5-head,#home-5-head-about{
    padding: 10% 14.7% 5% 14.7%;
    text-align: center;
}
#home-3-head h1,#home-5-head h1,#home-5-head-about h1{
    text-transform: uppercase;
    font-family: fi-b;
    text-stroke: 1px var(--color7);
    -webkit-text-stroke: 1px var(--color7);
    filter: var(--filter1);
    font-size: 4rem;
}
#home-3-head h1{
    color: var(--color5);
}
#home-5-head h1{
    color: var(--color2);
}
#home-5-head-about h1{
    color: var(--color1);
}
#home-3-head p,#home-5-head p,#home-5-head-about p{
    font-family: var(--font-primary);
    font-weight: 400;
    text-shadow: var(--text-shadow1);
    color: var(--color15-light);
    font-size: 1.2rem;
    text-transform: capitalize;
}
#home-3-head p{
    color: var(--color15-light);
}
#home-5-head p,#home-5-head-about p{
    margin-top: 20px;
}
#home-5-head p{
    color: var(--color2);
}
#home-5-head-about p{
    color: var(--color1);
}

#home-3{
    display: flex;
    justify-content: center;
    align-items: end;
    position: relative;
    overflow: hidden;
}
.carousel-container {
    position: relative;
    width: 100vw;
    height: 800px;
}
.slide-content-box {
    will-change: transform, opacity;
    opacity: 1;
    position: absolute;
    top: 55%;
    left: 50%;
    transform: translateX(-50%) translateY(0);
    width: 50%;
    text-align: center;
    color: var(--color5);
    z-index: 50;
}

.slide-content-box.anim-out {
  animation: contentOut .3s cubic-bezier(.22,.9,.3,1) forwards;
}
.slide-content-box.anim-in {
  animation: contentIn .3s cubic-bezier(.22,.9,.3,1) forwards;
}

@keyframes contentOut {
  from { opacity: 1; transform: translateX(-50%) translateY(0); }
  to   { opacity: 0; transform: translateX(-50%) translateY(12px); }
}
@keyframes contentIn {
  from { opacity: 0; transform: translateX(-50%) translateY(12px); }
  to   { opacity: 1; transform: translateX(-50%) translateY(0); }
}

#slide-title {
    font-size: 1.4rem;
    font-weight: 700;
    margin-bottom: 20px;
    text-transform: uppercase;
    font-family: fi-b;
}

#slide-desc {
    font-family: var(--font-primary);
    font-size: 1.2rem;
    font-weight: 400;
}
#slide-tag{
    position: absolute;
    right: 0;
    top: 110%;
    border-radius: 10px;
    font-size: 1rem;
    padding: 7px 18px;
    text-decoration: none;
    color: var(--color7);
    background: var(--color2);
    font-family: var(--font-primary);
    font-weight: 400;
    transition: all .4s ease-in-out;
    will-change: padding, color, background;
}
#slide-badge{
    white-space: normal;
    width: 175px;
    font-size: 1rem;
    line-height: 1.3rem;
    max-height: 2.6rem;
    overflow: hidden;
    position: absolute;
    text-align: left;
    left: 0;
    top: 110%;
    color: var(--color5);
    font-family: var(--font-primary);
    font-weight: 300;
}
#slide-tag:hover{
    padding: 5px 23px;
    color: var(--color2);
    background: var(--color5);
}
#slide-tag i{
    transition: all .4s ease-in-out;
    will-change: transform;
}
#slide-tag:hover > i{
    transform: translateX(50%);
}

.carousel {
    position: relative;
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
    display: flex;
    justify-content: center;
    align-items: flex-end;
}

.slide {
    position: absolute;
    width: 260px;
    height: 360px;
    background: var(--color5);
    border: none;
    border-radius: 12px;
    overflow: hidden;
    will-change: transform, opacity;
    transition: transform 1s ease, opacity 1s ease;
}

.slide video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    cursor: pointer;
}

.slide.active {
    transform: scale(1.25);
    z-index: 10;
    box-shadow: 0 15px 40px rgba(0,0,0,0.35);
}

.nav-btn {
    position: absolute;
    top: 50%;
    background: var(--color14-light);
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--color5);
    border-radius: 50%;
    width: 60px;
    height: 60px;
    cursor: pointer;
    transition: background 0.3s, transform 0.3s;
    will-change: background, transform;
    filter: var(--filter1);
    z-index: 20;
}

.nav-btn:hover {
    background: var(--color1);
    transform: scale(.9);
}

.prev { left: 60px; }
.next { right: 60px; }


.black-circle{
    position: absolute;
    top: 54%;
    width: 120vw;
    height: 120vw;
    background: var(--color7);
    border-radius: 50%;
    z-index: 1;
    filter: drop-shadow(0px -100px 20px #000000);
}

.video-focus-overlay {
  position: fixed;
  inset: 0;
  z-index: 999;
}

.video-focus-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.45);
  backdrop-filter: blur(18px);
  opacity: 0;
}

.video-focus-center {
  position: absolute;
  top: 50%;
  left: 50%;
  display: grid;
  grid-template-columns: auto 420px;
  align-items: center;
  gap: 64px;
  transform: translate(-50%, -50%);
}

.video-focus-video video {
  width: 520px;
  height: 300px;
  border-radius: 14px;
  box-shadow: 0 30px 80px rgba(0,0,0,.45);
  object-fit: cover;
  overflow: hidden;
  background: var(--color7);
}

.video-focus-content {
  opacity: 0;
  transform: translateX(30px);
}

.video-focus-content.show {
  opacity: 1;
  transform: translateX(0);
}

.video-focus-content h2{
    font-family: fi-b;
}
.video-focus-content p, 
.video-focus-content a {
    font-family: var(--font-primary);
}
.video-focus-content h2, 
.video-focus-content p, 
.video-focus-content a {
    color: var(--color5);
    margin-bottom: 16px;
}

.video-focus-content a {
    text-decoration: none;
    color: var(--color7);
    background: var(--color2);
    padding: 7px 18px;
    border-radius: 10px;
    transition: all .4s ease-in-out;
    display: inline-block;
}

.video-focus-content a:hover {
    color: var(--color2);
    background: var(--color5);
}

.video-focus-close,.overlay-close {
    position: absolute;
    top: 85px;
    right: 15px;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;   
    line-height: 0;     
    padding: 0;
    border: none;
    background: transparent;
    color: var(--color1);
    cursor: pointer;
    border-radius: 50%;
    transition: all .2s ease-in-out;
    will-change: background, color;
}
.video-focus-close i,.overlay-close i{
    font-size: 18px;  
    transform: scaleY(.95);
}
.video-focus-close:hover,.overlay-close:hover{
    background: var(--color1);
    color: var(--color5);
}

/* --------------------------------- */

#home-4{
    padding: 15% 14% 5% 14%;
}
#home-4-p{
    color: var(--color15-light);
    font-family: var(--font-primary);
    font-weight: 400;
    text-shadow: var(--text-shadow1);
    font-size: 1.2rem;
    text-transform: capitalize;
    text-align: left;
}

.slot-title {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0;
    overflow: hidden;           
    height: 14vw;               
    position: relative;
}

#letter-col {
    width: max-content;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
    height: 14vw;               
    position: relative;
}

#letter-col div {
    font-family: var(--font-secondary);
    font-weight: 900;
    font-size: 15.5vw;
    text-transform: uppercase;
    line-height: .8;
    margin: 0;
}
/* #letter-col div:nth-child(even) {
    color: var(--color5);
}
#letter-col div:nth-child(odd) {
    color: var(--color2);
} */
#letter-col:nth-child(odd) {
    justify-content: flex-start;
    color: var(--color5);
    animation: slotUp 9s cubic-bezier(.15,.65,.30,1) infinite;
}

#letter-col:nth-child(even) {
    justify-content: flex-end;
    color: var(--color2);
    animation: slotDown 9s cubic-bezier(.15,.65,.30,1) infinite;
}


@keyframes slotUp {
    0%   { transform: translateY(0); }      
    60%  { transform: translateY(-135.65vw); } 
    80%  { transform: translateY(-135.65vw); } 
    100% { transform: translateY(0); }      
}

@keyframes slotDown {
    0%   { transform: translateY(0); }       
    60%  { transform: translateY(135.65vw); }   
    80%  { transform: translateY(135.65vw); }   
    100% { transform: translateY(0); }       
}



.service-row{
    background-color: var(--color7);
    border-radius: 20px 20px 0 0;
    padding: 5%;
    text-align: left;
    position: relative;
    border-bottom: 1px solid var(--color10-light);
    margin-bottom: 5%;
    transition: all .4s ease-in-out;
    will-change: background, border-radius, border;
}
.service-row:hover{
    background: var(--color1);
    border-radius: 20px 20px 20px 20px;
    border: unset;
}

.service-row:hover > .service-row-img-1,.service-row:hover > .service-row-img-2{
    opacity: 1;
}    
.service-row:hover > .bullets{
    column-gap: 0px;
    padding-right: 25%;
}
.service-row:hover > .bullets p{
    color: var(--color7);
    border-color: var(--color7);
    padding: 0 1%;
}
.service-row:hover > h1{
    color: var(--color7);
    font-size: 2rem;
}
.service-row:hover > #num{
    color: var(--color7);
    left: 15px;
}
.service-row h1{
    padding-right: 0;
    color: var(--color5);
    font-weight: 700;
    font-family: fi-b;
    font-size: 2.7rem;
    text-transform: uppercase;
    transition: all .4s ease-in-out;
    will-change: color, font-size;
}
.service-row h1 span{
    font-weight: 700;
    font-family: var(--font-primary);
}
#num{
    position: absolute;
    top: 40px;
    left: 10px;
    color: var(--color5);
    font-family: var(--font-third);
    font-weight: 300;
    font-size: 1.4rem;
    transition: all .4s ease-in-out;
    will-change: color, left;
}
.bullets{
    display: flex;
    align-items: center;
    justify-content: left;
    column-gap: 5px;
    transition: all .4s ease-in-out;
    will-change: column-gap, padding-right;
}

.bullets p{
    color: var(--color5);
    font-family: var(--font-primary);
    font-weight: 400;
    font-size: 1rem;
    text-transform: capitalize;
    padding: 0 2%;
    border-right: 1px solid var(--color5);
    transition: all .4s ease-in-out;
    will-change: color, border-color, padding;
}
.service-row-img-1{
    background: var(--color7);
    position: absolute;
    height: 250px;
    width: 250px;
    opacity: 0;
    top: 0;
    right: 0;
    pointer-events: none;
    transition: all .1s ease-in-out;
    will-change: opacity;
    z-index: 2;
    transform: scale(1.1);
    border-radius: 20px;
    filter: drop-shadow(15px 15px 15px #000000cc);
}
.service-row-img-2{
    position: absolute;
    height: 250px;
    width: 250px;
    opacity: 0;
    top: 0;
    right: 0;
    pointer-events: none;
    transition: all .1s ease-in-out;
    will-change: opacity;
}

.service-row-img-1 img{ 
    width: 100%;
    height: 100%;
    object-fit: contain;
    z-index: 3;
    transform: scale(.8);
}
.service-row-img-2{
    z-index: 1;
    transform: scale(3);
    mix-blend-mode: lighten;
}

#home-5{
    padding: 0 2% 15% 2%;
}
.test-flex{
    display: flex;
    align-items: stretch;
    justify-content: center;
    column-gap: 20px;
}
.test-1,.test-1-about{
    padding: 3%;
    border-radius: 20px;
    color: var(--color7);
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-shadow: 70px 0px 100px 37px rgba(0,0,0,1);
    -webkit-box-shadow: 70px 0px 100px 37px rgba(0,0,0,1);
    -moz-box-shadow: 70px 0px 100px 37px rgba(0,0,0,1);
    z-index: 3;
}
.test-1{
    background: var(--color2);
}
.test-1-about{
    background: var(--color1);
}
.test-1 h1,.test-1-about h1{
    font-family: var(--font-primary);
    font-weight: 500;
    font-size: 6rem;
}
.test-1 img,.test-1-about img{
    width: 100px;
    height: auto;
    margin: auto;
}
#tp-1,#tp-2{
    font-family: var(--font-primary);
    font-weight: 300;
    margin: 4% 0;
}
#tp-1{
    font-size: 1.4rem;
}
#tp-2{
    font-size: 1rem;
    padding: 0 10%;
}
.test-2 {
    position: relative;
    flex: 1;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.slider-wrapper {
    flex: 1;
    height: 100%;
    position: relative;
    overflow-x: auto;
    scroll-behavior: auto;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
    user-select: none;
    cursor: grab; 
    transition: all .4s ease-in-out;
    will-change: cursor;
}
.slider-wrapper::-webkit-scrollbar{
    display: none;
}

.slider {
    display: flex;
    align-items: center;
    height: 100%;
    gap: 20px;
    user-select: none;
}

.slider-wrapper.dragging {
    cursor: grabbing;
}

.slidee,.slidee-about {
    flex: 0 0 600px;
    background: var(--color11-light); 
    border-radius: 20px;
    padding: 6% 6% 1% 2%;
    height: 95%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    position: relative;
}
.slidee{
    border: 2px solid var(--color2);   
}
.slidee-about{
    border: 2px solid var(--color1);   
}
.slidee p,.slidee-about p{
    color: var(--color5);
}
.flex-t img{
    user-select: none;
    user-drag: none;
    -webkit-user-drag: none;
}
.flex-t{
    display: flex;
    align-items: center;
    justify-content: left;
    column-gap: 20px;
}
#flex-t-content{
    display: flex;
    flex-direction: column;
    align-items: start;
    text-align: left;
}
.flex-t h1{
    color: var(--color5);
    font-family: fi-b;
    text-transform: uppercase;
    font-size: 1.5rem;
}
.flex-t p{
    color: #FFFFFF99;
    padding-left: 3%;
    text-transform: uppercase;
}
#quotes{
    position: absolute;
    top: 25%;
    right: 13%;
    width: 75px;
    height: auto;
    user-select: none;
    user-drag: none;
    -webkit-user-drag: none;
}
/* ------------------------------------------ */
#home-6{
    padding: 5% 14% 10% 14%;
}
#home-6 h1{
    color: var(--color5);
    font-size: 2.7rem;
    text-align: center;
    margin-bottom: 7%;
    font-family: fi-b;
    text-transform: uppercase;
}
.i-boxes {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    position: relative;
    overflow: visible;
}

.cursor-glow {
    position: absolute;
    width: 300px;
    height: 300px;
    border-radius: 50%;
    background: radial-gradient(
        circle at center,
        var(--color28) 0%,
        var(--color29) 40%,
        var(--color30) 60%,
        transparent 80%
    );
    pointer-events: none;
    z-index: 1;
    opacity: 0;
    transition: opacity 0.3s ease;
    mix-blend-mode: screen;
    filter: blur(30px);
    transform: translate(0, 0); 
    will-change: transform;
    left: 0;
    top: 0;
    margin-left: -150px; 
    margin-top: -150px; 
}

.i-box {
    border: 3px solid var(--color7);
    position: relative;
    z-index: 2;
    background: var(--color21);
    gap: 20px;
    padding: 40px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 15px;
    transition-property: background;
    transition-duration: .4s;
    transition-timing-function: ease-in-out;
    transition-delay: .2s; /* delay when leaving */
}

.i-box:hover {
    background: rgba(0, 0, 0, .8);
    transition-delay: 0s; /* no delay when entering */
}
.i-box:hover > i{
    /* color: transparent; */
}

.i-box i {
    text-align: center;
    margin: 0 auto 0 auto;
    font-size: 5rem;
    color: var(--color1);
}
.i-box img {
    margin: auto;
}

.i-box p {
    color: var(--color1);
    text-align: center;
    font-size: 1.3rem;
    text-transform: uppercase;
    font-family: var(--font-third);
    font-weight: 400;
    margin: 0;
    padding: 0;
}
/* --------------------------------- */
#p-grid-1,
#p-grid-2 {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 50px;
}

#p-grid-2{
    padding-top: 20%;
}

.p-grid-item {
    text-decoration: none;
    width: 100%;
    aspect-ratio: 16/10;
    position: relative;
    overflow: hidden;
    border-radius: 12px; 
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transition: all .4s ease-in-out;
    will-change: cursor, transform, border;
    border: 2px solid var(--color7);
    background-size: 100% 100%;
}
.p-grid-item:hover{
    cursor: pointer;
    transform: scale(.99);
    border: 2px solid var(--color1);
    background-size: 125% 125%;
}
.p-grid-item:hover > p{
    bottom: 50%;
    left: 50%;
    transform: translate(-50%,50%);
}
.p-grid-item:hover > label{
    right: 50%;
    transform: translateX(50%);
}
.p-grid-item:hover > .p-img{
    background: var(--color1);
    width: 100%;
    border-radius: unset;
    right: 0;
    border: unset;
    filter: var(--filter1);
}
.p-grid-item:hover > .p-img img{
    transform: rotate(0deg);
}
.p-img:hover{
    border-top: 1px solid var(--color5);
    border-bottom: 1px solid var(--color5);
}
.p-img:hover > img{
    transform: rotate(-45deg);
}
.p-grid-item label {
    position: absolute;
    z-index: 2;
    background: var(--color1);
    padding: 1% 2%;
    top: 20px;
    right: 20px;
    color: var(--color5);
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 1rem;
    border-radius: 20px;
    text-align: center;
    text-transform: capitalize;
    transition: all .4s ease-in-out;
    will-change: right, transform;
    filter: var(--filter1);
    white-space: nowrap;
    text-overflow: ellipsis;
}

.p-grid-item p {
    position: absolute;
    z-index: 2;
    bottom: 10px;
    left: 20px;
    font-family: fi-b;
    font-size: 1.6rem;
    text-transform: uppercase;
    color: var(--color5);
    white-space: nowrap;
    text-overflow: ellipsis;
    transition: all .4s ease-in-out;
    will-change: bottom, left, transform;
}

.p-img {
    position: absolute;
    z-index: 2;
    bottom: 20px;
    right: 20px;
    border: 1px solid var(--color5);
    border-radius: 50%;
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .4s ease-in-out;
    will-change: background, width, border-radius, right, border, filter;
}

.p-img img {
    width: 18px;
    transform: rotate(-45deg);
    transition: all .4s ease-in-out;
    will-change: transform;
}

.project-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.45);
    backdrop-filter: blur(18px);
    opacity: 0;
    pointer-events: none;
    transition: opacity .35s ease;
    z-index: 999;
}

.project-overlay.active {
    opacity: 1;
    pointer-events: all;
}

.overlay-content {
    position: absolute;
    inset: 80px 60px 10px 60px;
    border-radius: 20px;
    padding: 70px 40px 40px 40px;
    overflow-y: auto;
    scrollbar-width: none;
}
.overlay-content h2{
    color: var(--color5);
    font-family: fi-b;
    text-transform: capitalize;
    font-size: 2.5rem;
}
.overlay-content p{
    color: var(--color5);
    font-family: var(--font-primary);
}
.overlay-content a{
    text-decoration: none;
}

.overlay-content a {
    position: relative;
    display: inline-block;
}

.overlay-content a img {
    transition: all .4s ease-in-out;
    border: 5px solid var(--color5);
    border-radius: 12px;
    will-change: border-color;
}

.overlay-content a:hover img {
    border-color: var(--color1);
}

.overlay-content a::after {
    content: "↗  Visit Website";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    color: var(--color5);
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 1rem;
    letter-spacing: 0.5px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 12px;
    opacity: 0;
    transform: scale(0.95);
    transition: opacity .35s ease, transform .35s ease;

    pointer-events: none;
    backdrop-filter: blur(2px);
}

.overlay-content a:hover::after {
    opacity: 1;
    transform: scale(1);
}

.overlay-content img, video{
    width:100%;
    height:auto;
    border-radius: 12px;
}

.overlay-content::-webkit-scrollbar {
    display: none;
}

.overlay-content .row > .col-lg-6:first-child .text-block,
.overlay-content .row > .col-lg-6:last-child .text-block {
    position: sticky;
    top: -55px;
    z-index: 2;
}

.overlay-content .text-block {
    display: flex;
    flex-direction: column;
    gap: .2rem;
}


/* ===============================
   Skeleton & Animated Asset Styles
   =============================== */

/* Blurred placeholder */
.skeleton {
    filter: blur(18px);
    transform: scale(1.05);
    background-size: cover;
    background-position: center;
    border-radius: 12px;
}

/* Reserve space for media */
.skeleton-media {
    aspect-ratio: 16/9;
}

/* Hide actual asset initially */
.asset-hidden {
    opacity: 0;
    transform: translateY(12px) scale(0.98);
    pointer-events: none;
}

/* Animated reveal */
.asset-ready {
    animation: assetReveal 0.55s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@keyframes assetReveal {
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* ---------------------------------- */
#page-loader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;   
    height: 100vh;  
    background: var(--color7);
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0;
    z-index: 9999;    
    overflow: hidden; 
    transition: opacity 0.5s ease, visibility 0.5s ease;
    will-change: opacity, visibility;
}
#page-loader.hidden {
    opacity: 0;
    visibility: hidden;
}
#other-st {
    transform: scaleY(-1);
    opacity: .2;
    mask-image: linear-gradient(
        to bottom,
        rgba(0,0,0,0.6),
        rgba(0,0,0,0)
    );
    -webkit-mask-image: linear-gradient(
        to bottom,
        rgba(0,0,0,0.6),
        rgba(0,0,0,0)
    );
}

/* ---------------------------------- */
#home-12{
    margin: 10% 0;
    padding: 0 12%;
}
#about-detail{
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 35px;
    text-align: left;
    padding-right: 10%;
}
#about-detail h1{
    font-family: fi-b;
    font-size: 3rem;
    color: var(--color5);
    text-transform: uppercase;
}
#about-detail p{
    color: var(--color5);
    font-size: 1.2rem;
    font-family: var(--font-primary);
    font-weight: 400;    
}
.mail-btn-2{
    background: var(--color1);
    filter: drop-shadow(20px 20px 32px #00000040);
    width: fit-content;
    padding: 1% 4%;
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 50px;
    border-radius: 10px;
    transition: all .4s ease-in-out;
    will-change: padding;
}
.mail-btn-2:hover{
    padding: 2% 6%;
}
.mail-btn-2 a{
    text-decoration: none;
}
.mail-btn-2 a img{
    margin: 0 0 4% 0;
}
.mail-btn-2 a span{
    color: var(--color5);
    font-family: var(--font-primary);
    font-weight: 400;
    text-transform: capitalize;
    font-size: 1.2rem;
}
#about-overlap{
    position: relative;
}
.c-btn-placement{
    position: absolute;
    top: 32%;
    left: 0;
    transform: translate(-50%, -32%);
}
.circular-btn {
    width: 130px;
    height: 130px;
    border-radius: 50%;
    background: var(--color24);
    border: 10px solid var(--color7);
    position: relative;
    display: grid;
    place-items: center;
    text-decoration: none;
    overflow: hidden;
}

.circular-btn img {
    width: 28px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 3;
}
@keyframes rotateCircle {
    0%   { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.circle-text {
    position: absolute;
    width: 100%;
    height: 100%;
    font-size: 10px;
    font-family: var(--font-primary);
    font-weight: 400;
    color: var(--color18-light);
    text-transform: uppercase;
    pointer-events: none;

    animation: rotateCircle 10s linear infinite;
    will-change: transform; 
}

.circular-btn:hover .circle-text {
    animation-play-state: paused;
}

.circle-text span {
    position: absolute;
    left: 50%;
    top: 5px;
    transform: translateX(-50%);
    transform-origin: 0 50px;
}
.three-box{
    position: absolute;
    top: 75%;
    right: 0;
    transform: translate(50%, -75%);
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: center;
    gap: 20px;
}
.tb{
    display: inline-flex;
    border-radius: 16px;
    padding: 6%;
    background: var(--color24);
}
.tb p{
    text-transform: capitalize;
    text-align: left;
    color: var(--color1);
    font-size: 1.8rem;
    font-family: var(--font-primary);
    font-weight: 600;
}
.tb p span {
    display: block;        
    margin-top: 6px;       
    line-height: 1;        
    font-weight: 400;
    font-size: 1.1rem;
}
#about-overlap-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(5, 1fr);
    grid-column-gap: 10px;
    grid-row-gap: 10px;
}
#aog1,#aog2,#aog3,#aog4{
    border-radius: 20px;
}
#aog1 { 
    grid-area: 1 / 1 / 3 / 2; 
    background: var(--color1);
    display: flex;
    flex-direction: column;
    text-align: right;
    gap: 15px;
    color: var(--color5);
    padding: 5% 15% 5% 0;
    position: relative;
}
.line-about{
    width: 1px;
    height: 80%;
    position: absolute;
    left: 9%;
    top: 5%;
    background: var(--color5);
}
#aog1 img{
    width: 100px;
    height: auto;
    margin: auto 0 auto auto;
}
#aog1 h1{
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 2.7rem;
}
#aog1 p,#aog2 p{
    font-family: var(--font-primary);
    font-weight: 400;
    text-transform: uppercase;
    font-size: 1.2rem;
}
#aog2 p{
    margin-bottom: 10px;
}
#aog2 { 
    grid-area: 3 / 1 / 4 / 2; 
    background: var(--color1);
    display: flex;
    align-items: end;
    justify-content: center;
    text-align: left;
    column-gap: 15px;
    color: var(--color5);
    padding: 5% 5% 0 5%;
}
#aog2 img{
    margin-right: 10px;
}
#aog3 { 
    grid-area: 1 / 2 / 4 / 3; 
}
#aog4 { 
    grid-area: 4 / 1 / 6 / 3; 
}
#aog3 img,#aog4 img{
    width: 100%;
    height: 100%;
}

/* ----------------------------------- */
#home-13{
    width: 85vw;
    margin: 10vw auto;
    background: var(--color24);
    padding: 100px 25px 25px 25px;
    border-radius: 30px;
    position: relative;
    display: none;
}
.logo-2-copy{
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    padding: 2%;
    background: var(--color7);
    border-radius: 0 0 15px 15px;
    overflow: visible;
}
.logo-2-in-copy{
    background: var(--color24);
    border-radius: 50%;
    height: 75px;
    width: 75px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.logo-2-copy img{
    margin: auto;
    width: 70%;
    height: auto;
}
.headline-copy{
    text-align: center;
}
.headline-copy h1{
    color: var(--color5);
    font-size: 3rem;
    text-transform: uppercase;
    font-family: fi-b;
}
.floating-company-copy{
    top: 15%;
    left: 40%;
    transform: translateX(-50%);
}
.t-box-parent-copy{
    margin: 5% 0;
    border-radius: 25px;
}
.t-box-2-copy{
    padding: 5% 10%;
    width: 100%;
    height: auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.t-box-2-copy p{
    font-size: 1rem;
}
/* ----------------------------------- */
#home-11-wrapper{
    position: relative;
}
#home-11 {
    height: 46vw;
    width: 85vw;
    margin: 10vw auto;
    background: var(--color24);
    clip-path: url(#home11-clip);
    position: relative;
    z-index: 1;
}
.mail-btn,.mail-btn-copy{
    background: var(--color24);
    filter: drop-shadow(20px 20px 32px #00000040);
    width: fit-content;    
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    transition: all .4s ease-in-out;
    will-change: padding;
}
.mail-btn{
    padding: .5vw 1vw;
    margin: 2.5vw auto 0 auto;
}
.mail-btn-copy{
    padding: 2%;
    margin: 5% auto 0 auto;
}
.mail-btn a,.mail-btn-copy a{
    text-decoration: none;
}
.mail-btn a img,.mail-btn-copy a img{
    margin: -1.2% 0 0 0;
    transition: all .4s ease-in-out;
    will-change: transform;
    width: 20px;
    height: auto;
}
.mail-btn:hover{
    padding: 1vw 1.5vw;
}
.mail-btn-copy:hover{
    padding: 5px 10px;
}
.mail-btn:hover > a img,.mail-btn-copy:hover > a img{
    transform: scale(1.2);
}
.mail-btn a span,.mail-btn-copy a span{
    background-image: linear-gradient(to bottom, #DFEFEF 0%, #808989 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    font-family: var(--font-primary);
    font-weight: 400;
    text-transform: capitalize;
}
.mail-btn a span{
    font-size: 1.4vw;
}
.mail-btn-copy a span{
    font-size: 1rem;
}
.arrow-about{
    text-decoration: none;
    position: absolute;
    bottom: 9.2vw;
    right: 6.5%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1% 3.5%;
    border-radius: 4px;
    border: 1px solid var(--color5);
    transition: all .4s ease-in-out;
    will-change: border-color, background;
}
.arrow-about:hover{
    background: linear-gradient(to bottom, var(--color8) 0%, var(--color27) 100%);
    border-color: var(--color24);
}
.arrow-about i{
    transform: rotate(-90deg);
    color: var(--color5);
    transition: all .4s ease-in-out;
    will-change: transform, color;
}
.arrow-about:hover > i{
    transform: rotate(-135deg);
    color: var(--color24);
}
.only-line{
    position: absolute;
    top: 3.5vw;
    right: 11vw;
    text-align: center;
}
.only-line p{
    color: var(--color3);
    font-size: 1.6vw;
    letter-spacing: .1vw;
    text-transform: capitalize;
    line-height: 1.5;
    font-family: var(--font-primary);
    font-weight: 400;
}
.t-box-parent,.t-box-parent-copy{
    background: linear-gradient(to bottom, #DFEFEF 0%, #808989 100%);
}
.t-box-1,.t-box-2{
    position: absolute;
    background: inherit;
    border-radius: 33px;
}
.t-box-1{
    width: 30vw;
    height: 24vw;
    top: 9vw;
    right: 4vw;
}
.t-box-2{
    width: 40vw;
    height: 20vw;
    top: 17vw;
    right: 13vw;
    text-align: left;
    display: flex;
    align-items: center;
    justify-content: center;
}
.t-box-2 p,.t-box-2-copy p{
    color: var(--color7);
    line-height: 1.5;
    font-family: var(--font-primary);
    font-weight: 400;
}
.t-box-2 p{
    font-size: 1vw;
    padding: 0 5vw;
}
#home-11-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    pointer-events: none
}
.s2-links,.s2-links-copy {
    pointer-events: auto;
    display: flex;
    align-items: center;
    justify-content: center;
}
.s2-links{
    position: absolute;
    bottom: 3.5vw;
    right: 10vw;
    column-gap: 1.2vw;
}
.s2-links-copy{
    column-gap: 1.2rem;
}
.s2-links a,.s2-links-copy a{
    text-decoration: none;
    background: linear-gradient(to bottom, var(--color8) 0%, var(--color27) 100%);
    border: 7px solid var(--color24);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    padding: 2%;
    transition: all .4s ease-in-out;
    will-change: background;
}
.s2-links a{
    width: 5vw;
    height: 5vw;
}
.s2-links-copy a{
    width: 5rem;
    height: 5rem;
}
.s2-links a:hover,.s2-links-copy a:hover{
    background: linear-gradient(to bottom, var(--color27) 0%, var(--color8) 100%);
}
.s2-links a:hover > i{
    font-size: 1.7vw;
}
.s2-links-copy a:hover > i{
    font-size: 1.7rem;
}
.s2-links a i,.s2-links-copy a i{
    color: var(--color24);
    transition: all .4s ease-in-out;
    will-change: font-size;
}
.s2-links a i{
    font-size: 2vw;
}
.s2-links-copy a i{
    font-size: 2rem;
}
.floating-company,.floating-company-copy{
    position: absolute;
    z-index: 2;
    text-align: center;
    display: inline-flex;
    transform: rotate(-15deg);
    animation: movee 2s infinite ease-in-out;
}
.floating-company{
    top: 29vw;
    left: 10vw;
}
@keyframes movee {
    0%,100%{
        transform: rotate(-15deg); 
    }
    50%{
        transform: rotate(0);
    }
}
.floating-company p,.floating-company-copy p{
    background: var(--color24);
    filter: drop-shadow(12px 12px 20px #00000066);
    border-radius: 10px;
    padding: 1% 12%;
    font-family: fi-b;
    white-space: nowrap;
    text-transform: capitalize;
    color: var(--color5);
}
.floating-company p{
    font-size: 1.3vw;
}
.floating-company-copy p{
    font-size: 1rem;
}
.headline{
    position: absolute;
    text-align: left;
    top: 23vw;
    left: 4vw;
}
.headline h1{
    color: var(--color5);
    font-size: 3vw;
    text-transform: uppercase;
    padding-right: 50vw;
    font-family: fi-b;
}
.tagline-1,.tagline-2,.tagline-1-copy,.tagline-2-copy{
    padding: 1.4% 6% 0 6%;
    background: var(--color26);
}
.tagline-1,.tagline-2{
    position: absolute;
    bottom: 1.2vw;   
    border-radius: 20px;
}
.tagline-1-copy,.tagline-2-copy{
    text-align: center;
    border-radius: 15px;
}
.tagline-1{
    right: 19.5vw;
}
.tagline-2{
    left: 3.2vw;
}
.tagline-1 p,.tagline-2 p,.tagline-1-copy p,.tagline-2-copy p{
    font-family: var(--font-primary);
    font-weight: 600;
    text-transform: capitalize;
    color: var(--color24);
}
.tagline-1 p,.tagline-2 p{
    font-size: 1.35vw;
}
.tagline-1-copy p,.tagline-2-copy p{
    font-size: 1.35rem;
}
.long-line,.long-line-copy{
    border: 1px solid var(--color5);
    border-radius: 20px;
}
.long-line{
    position: absolute;
    top: 13.5vw;
    left: 13vw;
    z-index: 2;
    padding: 1.4% 8% 0 4%;
}
.long-line-copy{
    margin: 5% 0;
    padding: 3% 4% 0 4%;
}
.long-line p,.long-line-copy p{
    color: var(--color3);
    text-transform: capitalize;
    font-family: var(--font-primary);
    font-weight: 400;
}
.long-line p{
    font-size: 1.45vw;  
    text-align: left;  
}
.long-line-copy p{
    font-size: 1.45rem;
    text-align: center;
}
.logo-2{
    position: absolute;
    top: 9vw;
    left: 0;
    z-index: 2;
    padding: 1%;
    background: var(--color7);
    border-radius: 0 0 15px 0;
    overflow: visible;
}
/* .logo-2-extra{
    position: absolute;
    top: 1.3vw;
    left: 0;
    width: 0;
    height: 0;
}

.logo-2-extra::before{
    content: "";
    position: absolute;
    top: 5.25vw;
    left: 0;
    width: 7.5vw;
    height: 7.5vw;
    background: var(--color24);
    border-radius: 50% 0 0 0;
    z-index: 2;
}

.logo-2-extra::after{
    content: "";
    position: absolute;
    top: 5vw;
    left: 0;
    width: 5vw;
    height: 5vw;
    background: var(--color7);
    z-index: 1;
}

.logo-2::before {
    content: "";
    position: absolute;
    top: .1vw;         
    right: -4.9vw;      
    width: 75px;
    height: 75px;
    background: var(--color24);
    border-radius: 50% 0 0 0; 
    z-index: 2;
}
.logo-2::after {
    content: "";
    position: absolute;
    top: .1vw;        
    right: -3.2vw;       
    width: 4vw;
    height: 4vw;
    background: var(--color7);
    z-index: 1;
} */

.logo-2-in{
    background: var(--color24);
    border-radius: 50%;
    height: 4.85vw;
    width: 4.85vw;
    display: flex;
    align-items: center;
    justify-content: center;
}
.logo-2 img{
    margin: auto;
    width: 3.5vw;
    height: auto;
}
/* -------------------------------------- */

#home-9,#home-9-mini {
    overflow: hidden;
    background-image:
        radial-gradient(circle at center, var(--color7), var(--color7)),                
        radial-gradient(circle at left,  var(--color24) 0%, #ffffff00 70%),   
        radial-gradient(circle at right, var(--color5) 0%, var(--color1) 70%);     
    background-origin:
        content-box,
        border-box,
        border-box;
    background-clip:
        content-box,
        border-box,
        border-box;
    position: relative;
}
#home-9{
    border-radius: 30px;
    margin-bottom: 10%;
    padding: 2px;
    border: 2px solid transparent;
}
#home-9-mini{
    text-decoration: none;
    border-radius: 10px;
    padding: 1px;
    border: 1px solid transparent;
    width: 300px;
    height: auto;
    transition: all .4s ease-in-out;
    will-change: border-radius;
}
#home-9-mini:hover,#mini-2:hover{
    border-radius: 25px;
}
#home-9-mini:hover .in-link-1 i,#mini-2:hover .in-link-2 i{
    transform: rotate(-90deg);
}
#mini-2{
    text-decoration: none;
    border-radius: 10px;
    background: var(--color4);
    color: var(--color5);
    padding: 4% 6%;
    width: 300px;
    height: auto;
    position: relative;
    transition: all .4s ease-in-out;
    will-change: border-radius;
}
#h9-mini-in p,#mini-2 p{
    font-family: var(--font-primary);
    font-weight: 400;
    color: var(--color3);
    font-size: 1.2rem;
    text-transform: capitalize;
}
#h9-mini-in h2,#mini-2 h2{
    font-family: fi-b;
    color: var(--color3);
    font-size: 1rem;
    text-transform: uppercase;
    line-height: 2rem;
}
.in-link-1,.in-link-2{
    text-decoration: none;
    position: absolute;
    z-index: 4;
    right: 10px;
    bottom: 10px;
    background: var(--color3);
    border-radius: 50%;
    padding: 2%;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.in-link-1 i,.in-link-2 i{
    transform: rotate(-135deg);
    font-size: 1.5rem;
    transition: all .4s ease-in-out;
    will-change: transform;
}

.in-link-1 i{
    color: var(--color7);
}
.in-link-2 i{
    color: var(--color4);
}
#h9-mini-in p{
    color: var(--color3);
}
#h9-mini-in{
    z-index: 4;
    padding: 4% 6%;
    position: relative;
}
.title-left {
    position: absolute;
    top: 70%;
    left: 0;
    transform: translateY(-70%) rotate(-90deg);
    transform-origin: left top;
    white-space: nowrap;       
    z-index: 4;
    border-radius: 30px;
}

.title-left p {
    color: var(--color7);
    font-family: fi-b;
    text-transform: uppercase;
    font-size: 1.4rem;
    background: var(--color1);
    padding: 8px 12px;         
}
.layer-img,.layer-img-mini{
    position: absolute;
    top: 0;
    left: 0;
    width: 70%;
    height: 70%;
    z-index: 1;
}
.layer-img{
    border-radius: 30px 0 0 0;
}
.layer-img-mini{
    border-radius: 10px 0 0 0;
}
.layer-blur,.layer-blur-mini{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(40px);
    -webkit-backdrop-filter: blur(40px);
    z-index: 3;
}
.layer-blur{
    border-radius: 30px;
}
.layer-blur-mini{
    border-radius: 10px;
}
.layer-gradient,.layer-gradient-mini{
    z-index: 2;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at 25% 25%, var(--color1) 0%, var(--color25) 37%, transparent 100%);
    border-radius: 30px;
    opacity: .2;
    mix-blend-mode: lighten;
}
.layer-gradient{
    border-radius: 30px;   
}
.layer-gradient-mini{
    border-radius: 10px;
}
#w-flex{
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 35px;
    z-index: 4;
    position: relative;
    padding: 10%;
}
.w-flex-in{
    display: flex;
    flex-direction: column;
    gap: 30px;
    color: var(--color5);
    text-align: left;
}
.w-flex-in h1{
    font-family: fi-b;
    font-size: 3rem;
    text-transform: uppercase;
}
.w-flex-in-p,#point-p{
    font-family: var(--font-primary);
    font-weight: 400;
    text-transform: capitalize;
}
.w-flex-in-p{
    font-size: 1.2rem;
    padding-right: 25%;
}
#point-p{
    font-size: 1rem;
}
.point{
    border: 2px solid var(--color21);
    background: var(--color21);
    border-radius: 25px;
    width: 70%;
    text-align: left;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    justify-content: left;
    padding: 2% 6% 0 6%;
}
#point-p i{
    color: var(--color1);
    margin-right: 20px;
}
#outspan {
    display: inline-block;
    background: var(--color1);
    padding: 1% 2%;
    border-radius: 8px;
    transform: skew(-35deg);
}

#inspan {
    display: inline-block;   
    transform: skew(35deg);  
}

/* ----------------------------------- */
#home-10{
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    width: 90%;
    padding: 2% 1%;
    border-bottom: 2px solid var(--color3);
    margin: 10% auto;
}
#home-10 h1{
    font-family: fi-b;
    font-size: 4rem;
    color: var(--color3);
    text-transform: uppercase;
}
#home-10 img{
    width: 2rem;
    height: auto;
    margin: auto;
    animation: rotationImg 3s linear infinite;
}
@keyframes rotationImg {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}


/* -------------------------------- */
#home-8{
    background: var(--color13);
    border-radius: 40px;
    padding: 5% 8%;
}

.faq-wrapper {
    width: 80%;
    margin: 0 auto 0 0;
    padding: 40px 0;
}

.faq-title {
    font-size: 3.5rem;
    margin-bottom: 50px;
    text-align: left;
    color: var(--color5);
    font-family: var(--font-secondary);
    font-weight: 400;
}

.faq-item {
    background: var(--color23);
    border-radius: 10px;
    margin-bottom: 15px;
    overflow: hidden;
    transition: all .35s ease-in-out;
    will-change: background, mix-blend-mode;
    mix-blend-mode: normal;
}

.faq-item.active,.faq-item:hover {
    background: var(--color23);
    mix-blend-mode: unset;
}

.faq-question {
    width: 100%;
    padding: 18px 22px;
    text-align: left;
    background: none;
    border: none;
    outline: none;
    font-family: var(--font-secondary);
    font-weight: 400;
    font-size: 1.3rem;
    color: var(--color1);
    display: flex;
    justify-content: space-between;
    cursor: pointer;
}
.faq-icon{
    color: var(--color1);
    font-size: 1.4rem;
    transition: all .35s ease-in-out;
    will-change: content;
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: all .35s ease-in-out;
    will-change: max-height, padding-bottom, animation;
    padding: 0 22px;
    font-size: 1rem;
    color: var(--color5);
    font-family: var(--font-third);
    font-weight: 400;
}

.faq-item.active .faq-answer {
    max-height: 300px;
    padding-bottom: 18px;
    animation: slideDown .35s ease-in-out;
}

/* --------------------------------- */
#details-form{
    padding: 7% 0 0 0;
}
#details{
    text-align: left;
}
#details h4{
    color: var(--color5);
    font-size: 1.2rem;
    font-weight: 600;
    text-transform: uppercase;
    font-family: var(--font-fourth);
    margin-bottom: 20px;
}
#details h5{
    font-family: fi-b;
    color: var(--color5);
    font-size: 2rem;
    text-transform: uppercase;
}
#details p{
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 1.2rem;
    text-transform: uppercase;
    color: var(--color5);
    letter-spacing: 1px;
    margin-bottom: 20px;
}
#details p a{
    text-decoration: none;
    font-family: var(--font-primary);
    font-weight: 400;
    font-size: 1rem;
    color: var(--color5);
    border-radius: 3px;
    transition: all .4s ease-in-out;
    will-change: background, padding;
}
#details p a img{
    transition: all .4s ease-in-out;
    will-change: transform;
}
#details p a:hover{
    background: var(--color1);
    padding: 1% 1% 1.5% 1%;
}
#details p a:hover > img{
    transform: scale(.8);
}
#form{
    background: var(--color22);
    border-radius: 15px;
    padding: 3%;
    border: 1px solid var(--color1);
}
.c-flex{
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 20px;
}
#first-name,#last-name,#phone,#email,#message{
    width: 100%;
    border: 1px solid var(--color1);
    border-radius: 15px;
    padding: 2% 3%;
    color: var(--color5);
    font-family: var(--font-fourth);
    font-weight: 400;
    background: var(--color21);
    margin-bottom: 20px;
    letter-spacing: 1px;
    transition: all .4s ease-in-out;
    will-change: background;
}
#first-name,#last-name,#phone,#email{
    height: 40px;
}
#message{
    resize: none;
}
#first-name::placeholder,#last-name::placeholder,#phone::placeholder,#email::placeholder,#message::placeholder{
    font-weight: 400;
    font-family: var(--font-fourth);
    text-transform: capitalize;
    color: var(--color5);
    letter-spacing: 1px;
    font-size: 1rem;
}
#submit{
    font-weight: 400;
    font-family: var(--font-fourth);
    text-transform: capitalize;
    width: 100%;
    background: var(--color1);
    border-radius: 20px;
    color: var(--color5);
    padding: 1% 0;
    font-size: 1rem;
    border: none;
    border: 1px solid var(--color1);
    transition: all .4s ease-in-out;
    will-change: background, color, filter;
}
#first-name:hover,#last-name:hover,#phone:hover,#email:hover,#message:hover{
    background: var(--color20);
}
#submit:hover{
    background: var(--color5);
    color: var(--color1);
    filter: var(--filter1);
}
form p{
    color: var(--color5);
    text-transform: capitalize;
    font-size: 1.2rem;
    font-family: var(--font-primary);
    font-weight: 400;
    margin-bottom: 20px;
}
.check-grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px; 
    margin-bottom: 20px;
}
.container-c {
    display: block;
    position: relative;
    padding-left: 35px;
    margin-bottom: 12px;
    cursor: pointer;
    font-size: 1rem;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    color: var(--color5);
    text-transform: capitalize;
    font-family: var(--font-fourth);
    font-weight: 400;
}

.container-c input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

.checkmark {
    border: 1px solid var(--color1);  
    border-radius: 5px;  
    position: absolute;
    top: 0;
    left: 0;
    height: 25px;
    width: 25px;
    background: var(--color21);
    transition: all .4s ease-in-out;
    will-change: background;
}

.container-c:hover input ~ .checkmark {
    background: var(--color20);
}

.container-c input:checked ~ .checkmark {
    background: var(--color1);
}

.checkmark:after {
  content: "";
  position: absolute;
  display: none;
}

.container-c input:checked ~ .checkmark:after {
  display: block;
}

.container-c .checkmark:after {
  left: 9px;
  top: 5px;
  width: 5px;
  height: 10px;
  border: solid var(--color5);
  border-width: 0 3px 3px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

/* ------------------------------------ */




/* ------------------------------------- */
#home-foot h1 span{
    color: var(--color2);
    text-stroke: none;
    -webkit-text-stroke: none;
}
#foot-grid p{
    font-size: 1.2rem;
    letter-spacing: 4%;
    line-height: 20pt;
    text-align: center;
    color: var(--color8);
    text-transform: uppercase;
    font-weight: 400;
    font-family: var(--font-primary);
}
.link-flex-1,.link-flex-2,.link-flex-3{
    display: flex;
    align-items: center;
    margin: auto;
}
.link-flex-1,.link-flex-2{
    justify-content: center;
}
.link-flex-3{
    justify-content: left;
}
.link-flex-1{
    column-gap: 150px;
}
.link-flex-2{
    column-gap: 50px;
}
.link-flex-3{
    column-gap: 25px;
}
.link-flex-1 a,.link-flex-2 a,.link-flex-3 a,.contact-details a{
    text-decoration: none;
    font-family: var(--font-primary);
    font-weight: 400;
    text-align: center;
}
.link-flex-1 a,.link-flex-2 a,.contact-details a{
    color: var(--color5);
}
.link-flex-3 a{
    color: var(--color1);
}
.link-flex-1 a,.link-flex-2 a,.link-flex-3 a{
    text-transform: uppercase;
    font-size: 1.2rem;
}
.link-flex-1 a,.contact-details a{
    display: inline-block;
    position: relative;
    transition: all .4s ease-in-out;
}
.link-flex-1 a::after,.contact-details a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 100%;
    height: 2px;
    background-color: currentColor;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: transform;
}

.link-flex-1 a:hover::after,.contact-details a:hover::after {
    transform: scaleX(1);
}
.contact-details a{
    text-transform: lowercase;
    font-size: 1rem;
}
#foot-grid{
    display: grid;
    align-items: center;
    justify-content: center;
    row-gap: 75px;
    z-index: 8; 
}
.circle,.circle-2{
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2%;
    width: 50px;
    height: 50px;
    transition: all .4s ease-in-out;
}
.circle{
    border: 1px solid var(--color8);
    color: var(--color5);
    will-change: background, color, border;
}
.circle-2{
    border: 1px solid var(--color1);
    color: var(--color1);
    will-change: background, color;
}
.circle:hover{
    background: var(--color5);
    color: var(--color2);
    border: 1px solid var(--color5);
}
.circle-2:hover{
    background: var(--color1);
    color: var(--color5);
}
.arrow-up, .foot, .contact-details{
    position: absolute;
    z-index: 8;
}

.arrow-up{
    width: 75px;
    height: 75px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--color5);
    border-radius: 50%;
    bottom: 10%;
    transition: all .4s ease-in-out;
    will-change: width, height;
}
.arrow-up:hover{
    width: 50px;
    height: 50px;
}
.arrow-up img{
    margin: auto;
    transform: rotate(-90deg);
    width: 25%;
    height: auto;
}
.contact-details{
    bottom: 10%;
    right: 15%;
    text-align: right;
}
.foot{
    border-top: 1px solid var(--color5);
    width: 100%;
    bottom: 0;
    padding: 2% 2% 1% 2%;
}
.foot p{
    text-align: center;
    font-size: 1rem;
    color: var(--color5);
    font-family: var(--font-primary);
    font-weight: 300;
}
.g-recaptcha{
    z-index: 5;
    margin-bottom: 20px;
}

