﻿/* ============================================================
   Sabi Logistics â€” Base & Shared Components
   ============================================================ */

:root {
    --color-primary: #3F43A5;
    --color-primary-light: #6b6fd4;
    --color-dark: #0B1020;
    --color-dark-secondary: #12182B;
    --color-accent: #FF6B00;
    --color-accent-hover: #ff8129;
    --color-white: #FFFFFF;
    --color-text: rgba(255, 255, 255, 0.9);
    --color-text-muted: rgba(255, 255, 255, 0.58);
    --color-border: rgba(255, 255, 255, 0.09);
    --color-glass: rgba(11, 16, 32, 0.72);

    --font-heading: 'Montserrat', sans-serif;
    --font-body: 'Inter', sans-serif;
    --font-ui: 'Poppins', sans-serif;

    --header-h: 96px;
    --header-h-sm: 72px;
    --header-pad-y: 22px;
    --header-pad-y-scrolled: 12px;
    --logo-width: 160px;
    --logo-width-scrolled: 150px;
    --logo-h: 58px;
    --logo-h-sm: 54px;

    --radius-sm: 10px;
    --radius-md: 16px;
    --radius-lg: 24px;
    --radius-pill: 999px;

    --ease-expo: cubic-bezier(0.16, 1, 0.3, 1);
    --ease-smooth: cubic-bezier(0.4, 0, 0.2, 1);

    /* Foundation aliases (see foundation.css) */
    --container: min(94%, 1440px);
    --container-large: min(96%, 1600px);
    --container-narrow: min(94%, 900px);
    --section-space: clamp(80px, 10vw, 140px);
    --sabi-container-wide: var(--container);
}

*, *::before, *::after { box-sizing: border-box; }

html {
    scroll-behavior: smooth;
    overflow-x: clip;
}

body {
    margin: 0;
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.6;
    background: var(--color-dark);
    color: var(--color-text);
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }

.container {
    width: var(--container);
    max-width: 100%;
    margin-inline: auto;
}

/* Shared buttons (legacy sections) */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-family: var(--font-ui);
    font-weight: 600;
    font-size: 0.9375rem;
    border-radius: var(--radius-pill);
    border: none;
    cursor: pointer;
    transition: transform 0.4s var(--ease-expo), box-shadow 0.4s ease;
}

.btn--primary {
    background: linear-gradient(135deg, var(--color-accent), #e05a00);
    color: var(--color-white);
    padding: 14px 28px;
    box-shadow: 0 4px 28px rgba(255, 107, 0, 0.3);
}

.btn--primary:hover { transform: translateY(-3px); box-shadow: 0 10px 40px rgba(255, 107, 0, 0.45); }

.btn--ghost {
    background: rgba(255, 255, 255, 0.04);
    color: var(--color-white);
    padding: 14px 28px;
    border: 1px solid var(--color-border);
    backdrop-filter: blur(12px);
}

.btn--ghost:hover { background: rgba(255, 255, 255, 0.09); transform: translateY(-3px); }

.btn--lg { padding: 17px 34px; font-size: 1rem; }
.btn--full { width: 100%; }

.primary-btn, a.primary-btn {
    display: inline-flex; align-items: center;
    background: linear-gradient(135deg, var(--color-accent), #e05a00);
    color: #fff; padding: 17px 34px; border-radius: var(--radius-pill);
    font-family: var(--font-ui); font-weight: 600;
}

.secondary-btn, a.secondary-btn {
    display: inline-flex; align-items: center;
    border: 1px solid var(--color-border); color: #fff;
    padding: 17px 34px; border-radius: var(--radius-pill);
    font-family: var(--font-ui); font-weight: 600;
    backdrop-filter: blur(12px);
}
/* ========================================
   GLOBAL
======================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:'Inter',sans-serif;
    background:#0B1020;
    color:#fff;
    overflow-x:hidden;
}

/* ========================================
   HEADER
======================================== */

.site-header{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:99999;
    padding:var(--header-pad-y) 0;
    transition:padding 0.45s var(--ease-expo);
}

.site-header__glass{
    position:absolute;
    inset:0;
    background:transparent;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    border-bottom:1px solid transparent;
    opacity:0;
    box-shadow:none;
    pointer-events:none;
    z-index:-1;
    transition:
        opacity 0.45s var(--ease-expo),
        background 0.45s var(--ease-expo),
        backdrop-filter 0.45s ease,
        border-color 0.45s var(--ease-expo),
        box-shadow 0.45s var(--ease-expo);
}

.site-header.scrolled,
.site-header.is-scrolled{
    padding:var(--header-pad-y-scrolled) 0;
}

.site-header.scrolled .site-header__glass,
.site-header.is-scrolled .site-header__glass{
    opacity:1;
    background:rgba(11,16,32,0.32);
    backdrop-filter:blur(12px) saturate(1.2);
    -webkit-backdrop-filter:blur(12px) saturate(1.2);
    border-bottom-color:rgba(255,255,255,0.06);
    box-shadow:0 4px 20px rgba(0,0,0,0.06);
}

.header-container{
    width:var(--container);
    max-width:100%;
    margin:auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    position:relative;
    z-index:2;
}

/* ========================================
   LOGO
======================================== */

.site-logo{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
}

.logo-glow{
    position:absolute;
    width:130px;
    height:52px;
    background:rgba(255,255,255,.1);
    filter:blur(22px);
    border-radius:100px;
    opacity:0.6;
    transition:opacity 0.45s var(--ease-expo);
}

.site-header.scrolled .logo-glow,
.site-header.is-scrolled .logo-glow{
    opacity:0.45;
}

.site-logo img{
    position:relative;
    width:var(--logo-width);
    z-index:2;
    transition:width 0.45s var(--ease-expo), filter 0.4s ease;
    filter:brightness(1.12) contrast(1.06);
}

.site-header.scrolled .site-logo img,
.site-header.is-scrolled .site-logo img{
    width:var(--logo-width-scrolled);
}

/* ========================================
   MENU
======================================== */

.main-menu{
    display:flex;
    gap:40px;
    list-style:none;
}

.main-menu li{
    position:relative;
}

.main-menu a{
    color:#fff;
    text-decoration:none;
    font-size:16px;
    font-weight:500;
    position:relative;
    padding-bottom:6px;
}

.main-menu a::after{
    content:'';
    position:absolute;
    left:0;
    bottom:0;
    width:0;
    height:2px;
    background:#FF6B00;
    transition:.4s ease;
}

.main-menu a:hover::after{
    width:100%;
}

/* ========================================
   HEADER RIGHT
======================================== */

.header-right{
    display:flex;
    align-items:center;
    gap:18px;
}

.hotline-btn{
    position: relative;
    display:flex;
    align-items:center;
    gap:12px;

    padding:12px 18px;
    border-radius:999px;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,0.08),
            rgba(255,255,255,0.03)
        );

    border:1px solid rgba(255,255,255,0.08);

    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);

    color:#fff;
    text-decoration:none;

    overflow:hidden;

    transition:
        transform .35s ease,
        border-color .35s ease,
        background .35s ease,
        box-shadow .35s ease;
}

/* animated glow */
.hotline-btn::before{
    content:'';
    position:absolute;
    inset:-1px;

    background:
        linear-gradient(
            120deg,
            transparent,
            rgba(255,107,0,.4),
            transparent
        );

    transform:translateX(-120%);
    transition:transform .7s ease;
}

.hotline-btn:hover::before{
    transform:translateX(120%);
}

.hotline-btn:hover{
    transform:translateY(-2px);
    border-color:rgba(255,107,0,.5);

    box-shadow:
        0 10px 30px rgba(255,107,0,.18);
}

.phone-icon{
    width:40px;
    height:40px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:
        linear-gradient(
            135deg,
            #FF6B00,
            #ff8f3a
        );

    font-size:15px;

    box-shadow:
        0 6px 20px rgba(255,107,0,.35);

    flex-shrink:0;
}

.hotline-btn span:last-child{
    font-size:14px;
    font-weight:600;
    letter-spacing:.3px;
    font-family:var(--font-ui);
}

.site-header.scrolled .hotline-btn,
.site-header.is-scrolled .hotline-btn{
    padding:10px 18px;
    background:rgba(255,255,255,0.04);
    backdrop-filter:blur(8px);
}

.hotline-btn:hover{
    border-color:#FF6B00;
}

.quote-btn{
    background:linear-gradient(135deg,#FF6B00,#ff8533);
    color:#fff;
    padding:14px 28px;
    border-radius:60px;
    text-decoration:none;
    font-weight:600;
    transition:padding 0.45s var(--ease-expo), transform 0.35s ease, box-shadow 0.35s ease;
}

.site-header.scrolled .quote-btn,
.site-header.is-scrolled .quote-btn{
    padding:12px 24px;
}

.quote-btn:hover{
    transform:translateY(-3px);
    box-shadow:0 10px 30px rgba(255,107,0,.35);
}

/* ========================================
   MOBILE TOGGLE
======================================== */

.mobile-toggle{
    display:none;
    flex-direction:column;
    gap:6px;
    cursor:pointer;
}

.mobile-toggle span{
    width:28px;
    height:3px;
    background:#fff;
    border-radius:20px;
}

/* ========================================
   MOBILE MENU
======================================== */

.mobile-menu{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100vh;
    background:rgba(11,16,32,.96);
    backdrop-filter:blur(20px);
    z-index:9998;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    opacity:0;
    visibility:hidden;
    pointer-events:none;

    transition:all .45s ease;
}

.mobile-menu.active{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}

.mobile-nav{
    list-style:none;
    text-align:center;
}

.mobile-nav li{
    margin:28px 0;
}

.mobile-nav a{
    color:#fff;
    text-decoration:none;
    font-size:34px;
    font-weight:700;
    transition:.3s ease;
}

.mobile-nav a:hover{
    color:#FF6B00;
}

/* MOBILE QUOTE BUTTON */

.mobile-quote-btn{
    margin-top:40px;
    background:linear-gradient(135deg,#FF6B00,#ff8533);
    padding:18px 40px;
    border-radius:60px;
    color:#fff;
    text-decoration:none;
    font-weight:600;
    position:relative;
    z-index:2;
}

/* FIX HEADER STACKING — drawer uses separate z-index layer (mobile-menu.css) */

.header-center{
    position:relative;
    z-index:2;
}

.mobile-toggle{
    position:relative;
    z-index:3;
}

/* Hero styles â†’ assets/css/hero.css */

body.menu-open {
    overflow: hidden;
}

.mobile-toggle.is-active span:nth-child(1) {
    transform: translateY(9px) rotate(45deg);
}

.mobile-toggle.is-active span:nth-child(2) {
    opacity: 0;
}

.mobile-toggle.is-active span:nth-child(3) {
    transform: translateY(-9px) rotate(-45deg);
}

.mobile-toggle span {
    transition: transform 0.35s ease, opacity 0.35s ease;
}

/* ========================================
   RESPONSIVE
======================================== */

@media(max-width:991px){

    .header-left,
    .header-right{
        display:none;
    }

    .mobile-toggle{
        display:flex;
    }

    .header-container{
        justify-content:space-between;
    }

}

@media(max-width:768px){

    :root {
        --header-pad-y: 18px;
        --header-pad-y-scrolled: 10px;
        --logo-width: 140px;
        --logo-width-scrolled: 132px;
    }

    .site-logo img{
        width:var(--logo-width);
    }

    .site-header.scrolled .site-logo img,
    .site-header.is-scrolled .site-logo img{
        width:var(--logo-width-scrolled);
    }

}

/* =====================================================
   ABOUT SECTION
===================================================== */

.about-section{

    position:relative;

    padding:0 0 60px;


    overflow-x:clip;

    background:
        linear-gradient(
            180deg,
            transparent 0%,
            #0B1020 12%,
            #12182B 100%
        );

}

/* =========================================
   BACKGROUND GRID
========================================= */

.about-bg-lines{

    position:absolute;

    inset:0;

    background-image:
        linear-gradient(
            rgba(255,255,255,.03) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.03) 1px,
            transparent 1px
        );

    background-size:80px 80px;

    mask-image:
        linear-gradient(
            to bottom,
            transparent,
            black 20%,
            black 80%,
            transparent
        );

    pointer-events:none;

}

/* =========================================
   GLOWS
========================================= */

.about-glow{

    position:absolute;

    border-radius:50%;

    filter:blur(100px);

    opacity:.5;

}

.glow-1{

    width:500px;

    height:500px;

    background:rgba(63,67,165,.22);

    top:10%;

    left:-10%;

}

.glow-2{

    width:400px;

    height:400px;

    background:rgba(255,107,0,.12);

    bottom:10%;

    right:-5%;

}

/* =========================================
   LAYOUT
========================================= */

.about-container{

    width:var(--container);

    margin:auto;

    display:grid;

    grid-template-columns:48% 52%;

    gap: clamp(48px, 6vw, 80px);

    position:relative;

    z-index:2;

}

/* =========================================
   LEFT VISUAL
========================================= */

.about-visual-side{

    position:relative;

    min-height:1200px;

}

/* =========================================
   CHAINS
========================================= */

.forklift-chain{

    position:absolute;

    width:3px;

    height:320px;

    background:
        repeating-linear-gradient(
            to bottom,
            rgba(255,255,255,.25),
            rgba(255,255,255,.25) 12px,
            transparent 12px,
            transparent 24px
        );

    left:35%;

    top:0;

    z-index:1;

    animation:chainMove 4s linear infinite;

}

.chain-right{

    left:65%;

}

/* =========================================
   FLOATING CONTAINER
========================================= */

.about-floating-visual{

    position:sticky;

    top:140px;

    display:flex;

    align-items:center;

    justify-content:center;

    min-height:100vh;

    z-index:2;

}

/* IMAGE */

.about-floating-visual img{

    width:100%;

    max-width:720px;

    position:relative;

    z-index:2;

    animation:floatingContainer 7s ease-in-out infinite;

    will-change:transform;

    filter:
        drop-shadow(0 50px 100px rgba(0,0,0,.45));

}

/* =========================================
   RIGHT CONTENT SIDE
========================================= */

.about-content-side{

    position:relative;

    display:flex;

    align-items:center;

    min-height:1200px;

}

/* =========================================
   CONTENT CARD
========================================= */

.about-content-card{

    position:relative;

    margin-top:120px;

    padding:60px;

    border-radius:36px;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.05),
            rgba(255,255,255,.02)
        );

    border:1px solid rgba(255,255,255,.08);

    backdrop-filter:blur(18px);

    overflow:hidden;

    animation:
        contentFloat 8s ease-in-out infinite;

    transform-style:preserve-3d;

}

/* TOP LIGHT */

.about-content-card::before{

    content:'';

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,107,0,.7),
            transparent
        );

}

/* ROTATING LIGHT */

.about-content-card::after{

    content:'';

    position:absolute;

    inset:-200%;

    background:
        conic-gradient(
            from 180deg,
            transparent,
            rgba(255,107,0,.08),
            transparent 30%
        );

    animation:rotateLight 12s linear infinite;

    pointer-events:none;

}

/* =========================================
   INNER GLASS
========================================= */

.inner-glass{

    position:absolute;

    inset:1px;

    border-radius:36px;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.04),
            rgba(255,255,255,.015)
        );

    z-index:0;

}

/* CONTENT POSITION */

.about-content-card > *{

    position:relative;

    z-index:2;

}

/* =========================================
   LABEL
========================================= */

.about-label{

    display:inline-block;

    color:#FF6B00;

    text-transform:uppercase;

    letter-spacing:2px;

    font-size:14px;

    font-weight:700;

    margin-bottom:26px;

}

/* =========================================
   HEADING
========================================= */

.about-content-card h2{

    font-size:72px;

    line-height:1.05;

    font-weight:800;

    letter-spacing:-2px;

    color:#fff;

    margin-bottom:28px;

}

.about-content-card h2 span{

    color:#FF6B00;

}

/* =========================================
   DIVIDER
========================================= */

.about-divider{

    position:relative;

    width:120px;

    height:2px;

    background:
        linear-gradient(
            90deg,
            #FF6B00,
            transparent
        );

    margin-bottom:40px;

    overflow:hidden;

}

.about-divider::after{

    content:'';

    position:absolute;

    top:0;

    left:-100%;

    width:100%;

    height:100%;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.9),
            transparent
        );

    animation:dividerMove 4s linear infinite;

}

/* =========================================
   TEXT
========================================= */

.about-content-card p{

    font-size:18px;

    line-height:1.95;

    color:rgba(255,255,255,.74);

    margin-bottom:24px;

}

/* =========================================
   FEATURES
========================================= */

.about-features{

    display:flex;

    flex-direction:column;

    gap:18px;

    margin-top:40px;

    margin-bottom:40px;

}

.about-feature{

    display:flex;

    align-items:center;

    gap:14px;

    color:#fff;

    font-weight:500;

    transition:
        transform .4s ease,
        color .4s ease;

}

.about-feature:hover{

    transform:translateX(8px);

    color:#FF6B00;

}

.about-feature span{

    width:10px;

    height:10px;

    border-radius:50%;

    background:#FF6B00;

    box-shadow:0 0 18px rgba(255,107,0,.7);

}

.about-btn{

    position:relative;

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:14px;

    padding:18px 34px;

    border-radius:999px;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.08),
            rgba(255,255,255,.03)
        );

    border:1px solid rgba(255,255,255,.08);

    backdrop-filter:blur(14px);

    -webkit-backdrop-filter:blur(14px);

    color:#fff;

    font-weight:600;

    overflow:hidden;

    isolation:isolate;

    cursor:pointer;

    transition:
        transform .45s cubic-bezier(.19,1,.22,1),
        border-color .45s ease,
        background .45s ease,
        box-shadow .45s ease;

}

/* =========================================
   BUTTON LIGHT
========================================= */

.about-btn::before{

    content:'';

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            135deg,
            rgba(255,107,0,.25),
            transparent
        );

    opacity:0;

    transition:.45s ease;

    z-index:0;

}

/* LIGHT SWEEP */

.about-btn::after{

    content:'';

    position:absolute;

    top:0;

    left:-120%;

    width:80%;

    height:100%;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.18),
            transparent
        );

    transform:skewX(-20deg);

    transition:1s ease;

    z-index:1;

}

/* =========================================
   CONTENT
========================================= */

.about-btn span,
.about-btn svg{

    position:relative;

    z-index:2;

}

/* ICON */

.about-btn svg{

    width:18px;

    height:18px;

    transition:transform .4s ease;

}

/* =========================================
   HOVER
========================================= */

.about-btn:hover{

    transform:translateY(-6px);

    border-color:rgba(255,107,0,.4);

    background:rgba(255,255,255,.06);

    box-shadow:
        0 15px 40px rgba(255,107,0,.18),
        inset 0 0 0 1px rgba(255,255,255,.04);

}

.about-btn:hover::before{

    opacity:1;

}

.about-btn:hover::after{

    left:140%;

}

.about-btn:hover svg{

    transform:translateX(4px);

}

/* =========================================
   ACTIVE
========================================= */

.about-btn:active{

    transform:scale(.98);

}

/* =====================================================
   PREMIUM SERVICES SECTION
===================================================== */

.services-section{

    position:relative;

    padding:40px 0 140px;

    margin-top:-70px;

    overflow:hidden;

    background:
        radial-gradient(
            circle at top left,
            rgba(63,67,165,.16),
            transparent 30%
        ),
        radial-gradient(
            circle at bottom right,
            rgba(255,107,0,.12),
            transparent 30%
        ),
        linear-gradient(
            180deg,
            #12182B 0%,
            #0A0F1C 100%
        );

}

/* =========================================
   ANIMATED GRID
========================================= */

.services-bg-grid{

    position:absolute;

    inset:0;

    background-image:
        linear-gradient(
            rgba(255,255,255,.025) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.025) 1px,
            transparent 1px
        );

    background-size:70px 70px;

    animation:gridMove 24s linear infinite;

    opacity:.5;

}

/* =========================================
   ROUTE LINES
========================================= */

.services-section::before{

    content:'';

    position:absolute;

    width:140%;

    height:2px;

    top:25%;

    left:-20%;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,107,0,.25),
            transparent
        );

    animation:routeMove 8s linear infinite;

    opacity:.7;

}

.services-section::after{

    content:'';

    position:absolute;

    width:120%;

    height:1px;

    bottom:20%;

    left:-10%;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(63,67,165,.35),
            transparent
        );

    animation:routeMoveReverse 10s linear infinite;

    opacity:.5;

}

/* =========================================
   TOP AREA
========================================= */

.services-top{

    width:var(--container);

    max-width:100%;

    margin:0 auto 90px;

    text-align:center;

    position:relative;

    z-index:2;

}

.services-label{

    display:inline-block;

    color:#FF6B00;

    text-transform:uppercase;

    letter-spacing:2px;

    font-size:14px;

    font-weight:700;

    margin-bottom:24px;

}

.services-top h2{

    font-size:76px;

    line-height:1.02;

    font-weight:800;

    letter-spacing:-3px;

    color:#fff;

    margin-bottom:28px;

}

.services-top p{

    font-size:19px;

    line-height:1.9;

    color:rgba(255,255,255,.72);

    max-width:760px;

    margin:auto;

}

/* =========================================
   GRID
========================================= */

.services-grid{

    width:var(--container);

    max-width:100%;

    margin:auto;

    display:grid;

    grid-template-columns:repeat(3,minmax(0,1fr));

    gap:34px;

    position:relative;

    z-index:2;

}

/* =========================================
   CARD
========================================= */

.service-card{

    position:relative;

    min-height:480px;

    border-radius:34px;

    overflow:hidden;

    isolation:isolate;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.08),
            rgba(255,255,255,.02)
        );

    border:1px solid rgba(255,255,255,.08);

    backdrop-filter:blur(20px);

    transition:
        transform .7s cubic-bezier(.19,1,.22,1),
        border-color .5s ease,
        box-shadow .5s ease;

}

/* STAGGER DEPTH */

.service-card:nth-child(2),
.service-card:nth-child(5){

    transform:translateY(40px);

}

/* =========================================
   IMAGE
========================================= */

.service-image{

    position:absolute;

    inset:0;

}

.service-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:
        transform 1.5s ease,
        filter 1s ease;

    filter:brightness(.72);

}

/* =========================================
   OVERLAY
========================================= */

.service-overlay{

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            180deg,
            rgba(10,15,28,.08) 0%,
            rgba(10,15,28,.4) 40%,
            rgba(10,15,28,.94) 100%
        );

}

/* =========================================
   GLOW LIGHT
========================================= */

.service-card::before{

    content:'';

    position:absolute;

    inset:-2px;

    border-radius:34px;

    background:
        linear-gradient(
            135deg,
            rgba(255,107,0,.5),
            transparent,
            rgba(63,67,165,.45)
        );

    opacity:0;

    transition:.6s ease;

    z-index:0;

}

/* =========================================
   ROTATING LIGHT
========================================= */

.service-card::after{

    content:'';

    position:absolute;

    inset:-200%;

    background:
        conic-gradient(
            from 180deg,
            transparent,
            rgba(255,255,255,.08),
            transparent 25%
        );

    animation:rotateLight 12s linear infinite;

    opacity:0;

    transition:.6s ease;

}

/* =========================================
   CONTENT
========================================= */

.service-content{

    position:relative;

    z-index:3;

    height:100%;

    display:flex;

    flex-direction:column;

    justify-content:flex-end;

    padding:42px;

}

/* NUMBER */

.service-number{

    font-size:13px;

    font-weight:700;

    letter-spacing:3px;

    color:#FF6B00;

    margin-bottom:18px;

}

/* TITLE */

.service-content h3{

    font-size:32px;

    line-height:1.1;

    font-weight:700;

    color:#fff;

    margin-bottom:20px;

}

/* TEXT */

.service-content p{

    color:rgba(255,255,255,.72);

    line-height:1.85;

    margin-bottom:34px;

}

/* =========================================
   BUTTON
========================================= */

.service-arrow{

    width:60px;

    height:60px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:rgba(255,255,255,.08);

    border:1px solid rgba(255,255,255,.08);

    transition:.45s ease;

}

.service-arrow svg{

    width:20px;

    color:#fff;

    transition:.45s ease;

}

/* =========================================
   HOVER
========================================= */

.service-card:hover{

    transform:
        translateY(-14px)
        scale(1.015);

    border-color:rgba(255,107,0,.28);

    box-shadow:
        0 30px 80px rgba(0,0,0,.45),
        0 0 60px rgba(255,107,0,.08);

}

.service-card:nth-child(2):hover,
.service-card:nth-child(5):hover{

    transform:
        translateY(24px)
        scale(1.015);

}

.service-card:hover::before,
.service-card:hover::after{

    opacity:1;

}

.service-card:hover .service-image img{

    transform:
        scale(1.08)
        rotate(1deg);

    filter:brightness(.95);

}

.service-card:hover .service-arrow{

    background:#FF6B00;

    border-color:#FF6B00;

}

.service-card:hover .service-arrow svg{

    transform:translateX(5px);

}

/* =========================================
   FLOATING PARTICLES
========================================= */

.services-grid::before{

    content:'';

    position:absolute;

    width:12px;

    height:12px;

    border-radius:50%;

    background:#FF6B00;

    top:10%;

    left:8%;

    box-shadow:
        0 0 24px rgba(255,107,0,.9);

    animation:particleFloat 8s ease-in-out infinite;

}

.services-grid::after{

    content:'';

    position:absolute;

    width:8px;

    height:8px;

    border-radius:50%;

    background:#3F43A5;

    bottom:12%;

    right:8%;

    box-shadow:
        0 0 20px rgba(63,67,165,.8);

    animation:particleFloatReverse 10s ease-in-out infinite;

}

/* =========================================
   ANIMATIONS
========================================= */

@keyframes chainMove{

    0%{
        transform:translateY(0);
    }

    100%{
        transform:translateY(24px);
    }

}

@keyframes floatingContainer{

    0%,
    100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-28px);
    }

}

@keyframes contentFloat{

    0%,
    100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-10px);
    }

}

@keyframes rotateLight{

    0%{
        transform:rotate(0deg);
    }

    100%{
        transform:rotate(360deg);
    }

}

@keyframes routeMove{

    0%{
        transform:translateX(-10%);
    }

    100%{
        transform:translateX(10%);
    }

}

@keyframes routeMoveReverse{

    0%{
        transform:translateX(10%);
    }

    100%{
        transform:translateX(-10%);
    }

}

@keyframes gridMove{

    0%{
        transform:translateY(0);
    }

    100%{
        transform:translateY(70px);
    }

}

@keyframes particleFloat{

    0%{
        transform:translate(0,0);
    }

    50%{
        transform:translate(20px,-30px);
    }

    100%{
        transform:translate(0,0);
    }

}

@keyframes particleFloatReverse{

    0%{
        transform:translate(0,0);
    }

    50%{
        transform:translate(-20px,20px);
    }

    100%{
        transform:translate(0,0);
    }

}

/* =========================================
   RESPONSIVE
========================================= */

@media(max-width:991px){

    .services-grid{

        grid-template-columns:1fr 1fr;

    }

    .service-card:nth-child(2),
    .service-card:nth-child(5){

        transform:none;

    }

}

@media(max-width:768px){

    .services-section{

        padding:40px 0 90px;

    }

    .services-top h2{

        font-size:42px;

        line-height:1.12;

    }

    .services-top p{

        font-size:16px;

        line-height:1.8;

    }

    .services-grid{

        grid-template-columns:1fr;

    }

    .service-card{

        min-height:400px;

    }

    .service-content{

        padding:30px;

    }

    .service-content h3{

        font-size:28px;

    }

}
/* Why Choose Us → assets/css/why-us.css */

/* =====================================================
   PROCESS SECTION
===================================================== */

.process-section{

    position:relative;

    padding:120px 0;

    overflow:hidden;

    background:
        linear-gradient(
            180deg,
            #12182B 0%,
            #0B1020 100%
        );

}

/* =========================================
   GRID
========================================= */

.process-grid{

    position:absolute;

    inset:0;

    background-image:
        linear-gradient(
            rgba(255,255,255,.03) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.03) 1px,
            transparent 1px
        );

    background-size:70px 70px;

    opacity:.35;

}

/* =========================================
   GLOW
========================================= */

.process-glow{

    position:absolute;

    width:500px;

    height:500px;

    border-radius:50%;

    background:rgba(255,107,0,.08);

    filter:blur(120px);

    top:0;

    left:-10%;

}

/* =========================================
   CONTAINER
========================================= */

.process-container{

    width:var(--container);

    margin:auto;

    position:relative;

    z-index:2;

}

/* =========================================
   TOP
========================================= */

.process-top{

    text-align:center;

    max-width:760px;

    margin:0 auto 90px;

}

.process-label{

    display:inline-block;

    color:#FF6B00;

    font-size:14px;

    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;

    margin-bottom:22px;

}

.process-top h2{

    font-size:72px;

    line-height:1;

    letter-spacing:-3px;

    color:#fff;

    margin-bottom:24px;

    font-weight:800;

}

.process-top p{

    font-size:18px;

    line-height:1.9;

    color:rgba(255,255,255,.72);

}

/* =========================================
   WRAP
========================================= */

.process-wrap{

    position:relative;

    display:grid;

    grid-template-columns:repeat(4,minmax(0,1fr));

    gap:28px;

    align-items:start;

}

/* =========================================
   ROUTE LINE
========================================= */

.process-line{

    position:absolute;

    top:80px;

    left:5%;

    width:90%;

    height:1px;

    background:
        linear-gradient(
            90deg,
            rgba(255,107,0,.15),
            rgba(255,107,0,.4),
            rgba(255,107,0,.15)
        );

    z-index:1;

}

/* MOVING GLOW */

.line-glow{

    position:absolute;

    top:-2px;

    left:0;

    width:120px;

    height:5px;

    border-radius:999px;

    background:#FF6B00;

    filter:blur(10px);

    animation:lineMove 6s linear infinite;

}

/* =========================================
   CARD
========================================= */

.process-card{

    position:relative;

    padding:36px;

    border-radius:30px;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.07),
            rgba(255,255,255,.03)
        );

    border:1px solid rgba(255,255,255,.06);

    backdrop-filter:blur(18px);

    overflow:hidden;

    transition:
        transform .45s ease,
        border-color .45s ease,
        background .45s ease,
        box-shadow .45s ease;

    z-index:2;

}

/* STAGGER */

.process-card:nth-child(2){

    margin-top:60px;

}

.process-card:nth-child(3){

    margin-top:120px;

}

.process-card:nth-child(4){

    margin-top:60px;

}

/* TOP LIGHT */

.process-card::before{

    content:'';

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,107,0,.8),
            transparent
        );

    opacity:0;

    transition:.45s ease;

}

/* NUMBER */

.process-number{

    width:70px;

    height:70px;

    border-radius:20px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:
        linear-gradient(
            180deg,
            rgba(255,107,0,.18),
            rgba(255,107,0,.08)
        );

    border:1px solid rgba(255,107,0,.18);

    color:#FF6B00;

    font-size:24px;

    font-weight:700;

    margin-bottom:28px;

    box-shadow:
        0 0 30px rgba(255,107,0,.12);

}

/* TITLE */

.process-card h3{

    font-size:28px;

    line-height:1.2;

    color:#fff;

    margin-bottom:18px;

    font-weight:700;

    letter-spacing:-1px;

}

/* TEXT */

.process-card p{

    color:rgba(255,255,255,.72);

    line-height:1.9;

    font-size:16px;

}

/* =========================================
   HOVER
========================================= */

.process-card:hover{

    transform:translateY(-10px);

    border-color:rgba(255,107,0,.25);

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.10),
            rgba(255,255,255,.04)
        );

    box-shadow:
        0 25px 60px rgba(0,0,0,.28);

}

.process-card:hover::before{

    opacity:1;

}

/* =========================================
   ANIMATION
========================================= */

@keyframes lineMove{

    0%{
        left:0;
    }

    100%{
        left:calc(100% - 120px);
    }

}

/* =========================================
   RESPONSIVE
========================================= */

@media(max-width:1100px){

    .process-wrap{

        grid-template-columns:repeat(2,minmax(0,1fr));

    }

    .process-line{

        display:none;

    }

    .process-card:nth-child(2),
    .process-card:nth-child(3),
    .process-card:nth-child(4){

        margin-top:0;

    }

}

@media(max-width:768px){

    .process-section{

        padding:90px 0;

    }

    .process-top h2{

        font-size:44px;

        line-height:1.1;

    }

    .process-top p{

        font-size:16px;

        line-height:1.8;

    }

    .process-wrap{

        grid-template-columns:1fr;

    }

    .process-card{

        padding:30px;

    }

}

/* =====================================================
   INDUSTRIES SECTION
===================================================== */

.industries-section{

    position:relative;

    padding:120px 0;

    overflow:hidden;

    background:
        linear-gradient(
            180deg,
            #0B1020 0%,
            #12182B 100%
        );

}

/* =========================================
   GRID BACKGROUND
========================================= */

.industries-grid{

    position:absolute;

    inset:0;

    background-image:
        linear-gradient(
            rgba(255,255,255,.03) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.03) 1px,
            transparent 1px
        );

    background-size:70px 70px;

    opacity:.35;

}

/* =========================================
   GLOW
========================================= */

.industries-glow{

    position:absolute;

    width:500px;

    height:500px;

    border-radius:50%;

    background:rgba(255,107,0,.08);

    filter:blur(120px);

    bottom:-10%;

    right:-10%;

}

/* =========================================
   CONTAINER
========================================= */

.industries-container{

    width:var(--container);

    margin:auto;

    position:relative;

    z-index:2;

}

/* =========================================
   TOP
========================================= */

.industries-top{

    text-align:center;

    max-width:760px;

    margin:0 auto 80px;

}

.industries-label{

    display:inline-block;

    color:#FF6B00;

    font-size:14px;

    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;

    margin-bottom:22px;

}

.industries-top h2{

    font-size:72px;

    line-height:1;

    letter-spacing:-3px;

    color:#fff;

    margin-bottom:24px;

    font-weight:800;

}

.industries-top p{

    font-size:18px;

    line-height:1.9;

    color:rgba(255,255,255,.72);

}

/* =========================================
   GRID
========================================= */

.industries-grid-wrap{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

    gap:24px;

}

/* =========================================
   CARD
========================================= */

.industry-card{

    position:relative;

    min-height:320px;

    border-radius:32px;

    overflow:hidden;

    isolation:isolate;

    border:1px solid rgba(255,255,255,.06);

    transition:
        transform .45s ease,
        border-color .45s ease,
        box-shadow .45s ease;

}

/* LARGE */

.industry-card.large{

    grid-column:span 2;

    min-height:420px;

}

/* WIDE */

.industry-card.wide{

    grid-column:span 2;

    min-height:380px;

}

/* =========================================
   IMAGE
========================================= */

.industry-image{

    position:absolute;

    inset:0;

}

.industry-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:
        transform 1s ease,
        filter 1s ease;

}

/* =========================================
   OVERLAY
========================================= */

.industry-overlay{

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            180deg,
            rgba(0,0,0,.08) 0%,
            rgba(0,0,0,.35) 45%,
            rgba(0,0,0,.88) 100%
        );

}

/* =========================================
   CONTENT
========================================= */

.industry-content{

    position:relative;

    z-index:2;

    height:100%;

    display:flex;

    flex-direction:column;

    justify-content:flex-end;

    padding:34px;

}

/* NUMBER */

.industry-content span{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    width:54px;

    height:54px;

    border-radius:18px;

    margin-bottom:24px;

    background:
        linear-gradient(
            180deg,
            rgba(255,107,0,.20),
            rgba(255,107,0,.08)
        );

    border:1px solid rgba(255,107,0,.18);

    color:#FF6B00;

    font-weight:700;

    box-shadow:
        0 0 30px rgba(255,107,0,.12);

}

/* TITLE */

.industry-content h3{

    font-size:34px;

    line-height:1.1;

    color:#fff;

    margin-bottom:16px;

    font-weight:700;

    letter-spacing:-1px;

}

/* TEXT */

.industry-content p{

    color:rgba(255,255,255,.72);

    line-height:1.9;

    font-size:16px;

    max-width:520px;

}

/* =========================================
   HOVER
========================================= */

.industry-card::before{

    content:'';

    position:absolute;

    top:0;

    left:-120%;

    width:80%;

    height:100%;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.12),
            transparent
        );

    transform:skewX(-20deg);

    transition:1s ease;

    z-index:3;

}

.industry-card:hover{

    transform:translateY(-10px);

    border-color:rgba(255,107,0,.25);

    box-shadow:
        0 25px 60px rgba(0,0,0,.35);

}

.industry-card:hover::before{

    left:140%;

}

.industry-card:hover .industry-image img{

    transform:scale(1.08);

    filter:brightness(1.05);

}

/* =========================================
   RESPONSIVE
========================================= */

@media(max-width:991px){

    .industry-card.large,
    .industry-card.wide{

        grid-column:auto;

    }

}

@media(max-width:768px){

    .industries-section{

        padding:90px 0;

    }

    .industries-top h2{

        font-size:44px;

        line-height:1.1;

    }

    .industries-top p{

        font-size:16px;

        line-height:1.8;

    }

    .industry-card{

        min-height:320px;

    }

    .industry-card.large,
    .industry-card.wide{

        min-height:360px;

    }

    .industry-content{

        padding:28px;

    }

    .industry-content h3{

        font-size:28px;

    }

}

/* =====================================================
   CTA SECTION
===================================================== */

.cta-section{

    position:relative;

    padding:100px 0;

    overflow:hidden;

    background:#0B1020;

}

/* =========================================
   BACKGROUND
========================================= */

.cta-bg{

    position:absolute;

    inset:0;

}

.cta-bg img{

    width:100%;

    height:100%;

    object-fit:cover;

    animation:ctaZoom 18s ease-in-out infinite alternate;

}

/* =========================================
   OVERLAY
========================================= */

.cta-overlay{

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            90deg,
            rgba(8,12,24,.92) 0%,
            rgba(8,12,24,.82) 45%,
            rgba(8,12,24,.88) 100%
        );

}

/* =========================================
   GLOW
========================================= */

.cta-glow{

    position:absolute;

    width:420px;

    height:420px;

    border-radius:50%;

    background:rgba(255,107,0,.14);

    filter:blur(120px);

    top:-10%;

    right:-5%;

}

/* =========================================
   MOVING LIGHT
========================================= */

.cta-light{

    position:absolute;

    top:0;

    left:0;

    width:45%;

    height:100%;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.06),
            transparent
        );

    transform:skewX(-20deg) translateX(-150%);

    animation:ctaLightMove 10s linear infinite;

}

/* =========================================
   CONTAINER
========================================= */

.cta-container{

    width:var(--container);

    margin:auto;

    position:relative;

    z-index:2;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:60px;

    padding:80px;

    border-radius:40px;

    overflow:hidden;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.06),
            rgba(255,255,255,.02)
        );

    border:1px solid rgba(255,255,255,.06);

    backdrop-filter:blur(14px);

}

/* =========================================
   CONTENT
========================================= */

.cta-content{

    max-width:760px;

}

.cta-label{

    display:inline-block;

    color:#FF6B00;

    font-size:14px;

    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;

    margin-bottom:24px;

}

.cta-content h2{

    font-size:72px;

    line-height:1;

    letter-spacing:-3px;

    color:#fff;

    margin-bottom:28px;

    font-weight:800;

}

.cta-content p{

    font-size:20px;

    line-height:1.9;

    color:rgba(255,255,255,.72);

}

/* =========================================
   BUTTON
========================================= */

.cta-btn{

    position:relative;

    display:inline-flex;

    align-items:center;

    gap:14px;

    padding:22px 36px;

    border-radius:999px;

    background:#FF6B00;

    color:#fff;

    font-weight:600;

    overflow:hidden;

    transition:
        transform .4s ease,
        box-shadow .4s ease,
        background .4s ease;

}

/* LIGHT SWEEP */

.cta-btn::after{

    content:'';

    position:absolute;

    top:0;

    left:-120%;

    width:80%;

    height:100%;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.25),
            transparent
        );

    transform:skewX(-20deg);

    transition:1s ease;

}

.cta-btn svg{

    width:18px;

    transition:.4s ease;

}

/* HOVER */

.cta-btn:hover{

    transform:translateY(-5px);

    box-shadow:
        0 18px 40px rgba(255,107,0,.28);

}

.cta-btn:hover::after{

    left:140%;

}

.cta-btn:hover svg{

    transform:translateX(4px);

}

/* =========================================
   ANIMATIONS
========================================= */

@keyframes ctaZoom{

    0%{
        transform:scale(1);
    }

    100%{
        transform:scale(1.08);
    }

}

@keyframes ctaLightMove{

    0%{
        transform:skewX(-20deg) translateX(-150%);
    }

    100%{
        transform:skewX(-20deg) translateX(350%);
    }

}

/* =========================================
   RESPONSIVE
========================================= */

@media(max-width:991px){

    .cta-container{

        flex-direction:column;

        align-items:flex-start;

        padding:60px;

    }

}

@media(max-width:768px){

    .cta-section{

        padding:90px 0;

    }

    .cta-container{

        padding:40px 28px;

        border-radius:30px;

    }

    .cta-content h2{

        font-size:44px;

        line-height:1.1;

    }

    .cta-content p{

        font-size:16px;

        line-height:1.8;

    }

    .cta-btn{

        width:100%;

        justify-content:center;

    }

}

/* =====================================================
   TESTIMONIALS SECTION
===================================================== */

.testimonials-section{

    position:relative;

    padding:120px 0;

    overflow:hidden;

    background:
        linear-gradient(
            180deg,
            #12182B 0%,
            #0B1020 100%
        );

}

/* =========================================
   GRID
========================================= */

.testimonials-grid{

    position:absolute;

    inset:0;

    background-image:
        linear-gradient(
            rgba(255,255,255,.03) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.03) 1px,
            transparent 1px
        );

    background-size:70px 70px;

    opacity:.35;

}

/* =========================================
   GLOW
========================================= */

.testimonials-glow{

    position:absolute;

    width:500px;

    height:500px;

    border-radius:50%;

    background:rgba(255,107,0,.08);

    filter:blur(120px);

    top:-10%;

    left:-10%;

}

/* =========================================
   CONTAINER
========================================= */

.testimonials-container{

    width:var(--container);

    margin:auto;

    position:relative;

    z-index:2;

}

/* =========================================
   TOP
========================================= */

.testimonials-top{

    text-align:center;

    max-width:760px;

    margin:0 auto 80px;

}

.testimonials-label{

    display:inline-block;

    color:#FF6B00;

    font-size:14px;

    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;

    margin-bottom:22px;

}

.testimonials-top h2{

    font-size:72px;

    line-height:1;

    letter-spacing:-3px;

    color:#fff;

    margin-bottom:24px;

    font-weight:800;

}

.testimonials-top p{

    font-size:18px;

    line-height:1.9;

    color:rgba(255,255,255,.72);

}

/* =========================================
   SLIDER
========================================= */

.testimonials-slider{

    position:relative;

    overflow:hidden;

    width:100%;

    mask-image:linear-gradient(
        to right,
        transparent,
        black 10%,
        black 90%,
        transparent
    );

}

/* =========================================
   TRACK
========================================= */

.testimonial-track{

    display:flex;

    gap:24px;

    width:max-content;

    animation:testimonialScroll 28s linear infinite;

}

/* PAUSE */

.testimonials-slider:hover .testimonial-track{

    animation-play-state:paused;

}

/* =========================================
   CARD
========================================= */

.testimonial-card{

    position:relative;

    width:520px;

    min-height:360px;

    padding:42px;

    flex-shrink:0;

    border-radius:32px;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.07),
            rgba(255,255,255,.03)
        );

    border:1px solid rgba(255,255,255,.06);

    backdrop-filter:blur(18px);

    overflow:hidden;

    transition:
        transform .45s ease,
        border-color .45s ease,
        box-shadow .45s ease;

}

/* BORDER EFFECT */

.testimonial-card::before{

    content:'';

    position:absolute;

    inset:0;

    padding:1px;

    border-radius:32px;

    background:
        linear-gradient(
            120deg,
            transparent,
            rgba(255,107,0,.45),
            transparent
        );

    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);

    -webkit-mask-composite:xor;

    opacity:0;

    transition:.5s ease;

}

/* HOVER */

.testimonial-card:hover{

    transform:translateY(-10px);

    border-color:rgba(255,107,0,.2);

    box-shadow:
        0 25px 60px rgba(0,0,0,.28);

}

.testimonial-card:hover::before{

    opacity:1;

}

/* =========================================
   STARS
========================================= */

.testimonial-stars{

    color:#FF6B00;

    font-size:20px;

    letter-spacing:3px;

    margin-bottom:28px;

}

/* =========================================
   QUOTE
========================================= */

.quote-icon{

    font-size:90px;

    line-height:1;

    color:rgba(255,107,0,.12);

    font-weight:700;

    margin-bottom:10px;

}

/* =========================================
   TEXT
========================================= */

.testimonial-text{

    font-size:20px;

    line-height:1.9;

    color:#fff;

    margin-bottom:40px;

}

/* =========================================
   USER
========================================= */

.testimonial-user{

    display:flex;

    align-items:center;

    gap:18px;

}

.testimonial-avatar{

    width:62px;

    height:62px;

    border-radius:20px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:
        linear-gradient(
            180deg,
            rgba(255,107,0,.20),
            rgba(255,107,0,.08)
        );

    border:1px solid rgba(255,107,0,.18);

    color:#FF6B00;

    font-weight:700;

}

.testimonial-info h4{

    color:#fff;

    font-size:20px;

    margin-bottom:6px;

}

.testimonial-info span{

    color:rgba(255,255,255,.62);

    font-size:15px;

}

/* =========================================
   AUTO SCROLL
========================================= */

@keyframes testimonialScroll{

    0%{
        transform:translateX(0);
    }

    100%{
        transform:translateX(calc(-544px * 2));
    }

}

/* =========================================
   RESPONSIVE
========================================= */

@media(max-width:768px){

    .testimonials-section{

        padding:90px 0;

    }

    .testimonials-top h2{

        font-size:44px;

        line-height:1.1;

    }

    .testimonials-top p{

        font-size:16px;

        line-height:1.8;

    }

    .testimonial-card{

        width:320px;

        min-height:auto;

        padding:30px;

    }

    .testimonial-text{

        font-size:16px;

        line-height:1.8;

    }

}

/* =====================================================
   FOOTER
===================================================== */

.site-footer{

    position:relative;

    overflow:hidden;

    background:
        linear-gradient(
            180deg,
            #0B1020 0%,
            #070B16 100%
        );

    padding-top:120px;

}

/* =========================================
   GRID
========================================= */

.footer-grid{

    position:absolute;

    inset:0;

    background-image:
        linear-gradient(
            rgba(255,255,255,.03) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.03) 1px,
            transparent 1px
        );

    background-size:70px 70px;

    opacity:.35;

}

/* =========================================
   GLOW
========================================= */

.footer-glow{

    position:absolute;

    width:500px;

    height:500px;

    border-radius:50%;

    background:rgba(255,107,0,.08);

    filter:blur(120px);

    bottom:-20%;

    right:-10%;

}

/* =========================================
   TOP LINE
========================================= */

.footer-top-line{

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,107,0,.7),
            transparent
        );

}

/* =========================================
   CONTAINER
========================================= */

.footer-container{

    width:var(--container);

    margin:auto;

    position:relative;

    z-index:2;

}

/* =========================================
   TOP
========================================= */

.footer-top{

    display:flex;

    justify-content:space-between;

    gap:60px;

    padding-bottom:80px;

    border-bottom:1px solid rgba(255,255,255,.06);

}

/* BRAND */

.footer-brand{

    max-width:360px;

}

.footer-logo{

    display:inline-block;

    margin-bottom:24px;

}

.footer-logo img{

    max-width:190px;

}

.footer-brand p{

    color:rgba(255,255,255,.68);

    line-height:1.9;

    font-size:17px;

}

/* HEADING */

.footer-heading{

    max-width:700px;

}

.footer-heading h2{

    font-size:72px;

    line-height:1;

    letter-spacing:-3px;

    color:#fff;

    font-weight:800;

}

/* =========================================
   MAIN
========================================= */

.footer-main{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:50px;

    padding:80px 0;

}

/* COLUMN */

.footer-column h3{

    color:#fff;

    font-size:22px;

    margin-bottom:28px;

    font-weight:700;

}

.footer-column ul{

    display:flex;

    flex-direction:column;

    gap:18px;

}

.footer-column ul li{

    color:rgba(255,255,255,.68);

    line-height:1.8;

    transition:.3s ease;

}

.footer-column ul li a{

    color:rgba(255,255,255,.68);

    transition:.3s ease;

}

.footer-column ul li a:hover{

    color:#FF6B00;

}

/* =========================================
   SOCIALS
========================================= */

.footer-socials{

    display:flex;

    gap:14px;

}

.footer-socials a{

    width:52px;

    height:52px;

    border-radius:18px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.07),
            rgba(255,255,255,.03)
        );

    border:1px solid rgba(255,255,255,.06);

    color:#fff;

    transition:
        transform .4s ease,
        border-color .4s ease,
        box-shadow .4s ease;

}

.footer-socials a svg{

    width:20px;

    height:20px;

}

.footer-socials a:hover{

    transform:translateY(-6px);

    border-color:rgba(255,107,0,.3);

    box-shadow:
        0 15px 40px rgba(255,107,0,.15);

    color:#FF6B00;

}

/* =========================================
   BOTTOM
========================================= */

.footer-bottom{

    padding:30px 0 40px;

    border-top:1px solid rgba(255,255,255,.06);

    text-align:center;

}

.footer-bottom p{

    color:rgba(255,255,255,.55);

    font-size:15px;

    letter-spacing:.3px;

}

/* =========================================
   RESPONSIVE
========================================= */

@media(max-width:1100px){

    .footer-top{

        flex-direction:column;

    }

    .footer-main{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:768px){

    .site-footer{

        padding-top:90px;

    }

    .footer-heading h2{

        font-size:42px;

        line-height:1.1;

    }

    .footer-main{

        grid-template-columns:1fr;

        gap:40px;

        padding:60px 0;

    }

    .footer-top{

        padding-bottom:60px;

    }

    .footer-socials{

        flex-wrap:wrap;

    }

}

/* =====================================================
   ABOUT PAGE
===================================================== */

.about-page-hero{

    position:relative;

    padding:220px 0 140px;

    overflow:hidden;

    background:
        linear-gradient(
            180deg,
            #0B1020 0%,
            #12182B 100%
        );

}

/* GRID */

.about-page-grid{

    position:absolute;

    inset:0;

    background-image:
        linear-gradient(
            rgba(255,255,255,.03) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.03) 1px,
            transparent 1px
        );

    background-size:70px 70px;

    opacity:.35;

}

/* GLOW */

.about-page-glow{

    position:absolute;

    width:600px;

    height:600px;

    border-radius:50%;

    background:rgba(255,107,0,.10);

    filter:blur(140px);

    top:-20%;

    right:-10%;

}

/* CONTAINER */

.about-page-container{

    width:var(--container);

    margin:auto;

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:100px;

    align-items:center;

    position:relative;

    z-index:2;

}

/* CONTENT */

.about-page-label,
.section-label{

    display:inline-block;

    color:#FF6B00;

    font-size:14px;

    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;

    margin-bottom:24px;

}

.about-page-content h1{

    font-size:clamp(52px, 7vw, 96px);

    line-height:.95;

    letter-spacing:-4px;

    color:#fff;

    margin-bottom:30px;

    font-weight:800;

}

.about-page-content p{

    font-size:20px;

    line-height:1.9;

    color:rgba(255,255,255,.72);

    margin-bottom:40px;

    max-width:620px;

}

/* BUTTONS */

.about-page-actions{

    display:flex;

    gap:18px;

    flex-wrap:wrap;

}

.about-page-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:18px 32px;

    border-radius:999px;

    font-weight:600;

    transition:.4s ease;

}

.about-page-btn.primary{

    background:#FF6B00;

    color:#fff;

}

.about-page-btn.secondary{

    border:1px solid rgba(255,255,255,.12);

    color:#fff;

    background:rgba(255,255,255,.04);

}

.about-page-btn:hover{

    transform:translateY(-5px);

}

/* VISUAL */

.about-page-visual{

    position:relative;

}

.about-visual-wrap{

    position:relative;

    border-radius:40px;

    overflow:hidden;

    height:720px;

}

.about-visual-wrap img{

    width:100%;

    height:100%;

    object-fit:cover;

    animation:aboutZoom 12s ease-in-out infinite alternate;

}

/* FLOATING CARDS */

.about-floating-card{

    position:absolute;

    padding:24px 28px;

    border-radius:24px;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.08),
            rgba(255,255,255,.03)
        );

    border:1px solid rgba(255,255,255,.08);

    backdrop-filter:blur(14px);

    color:#fff;

    animation:floatCard 6s ease-in-out infinite;

}

.about-floating-card span{

    display:block;

    color:#FF6B00;

    font-size:30px;

    font-weight:700;

    margin-bottom:10px;

}

.about-floating-card p{

    color:rgba(255,255,255,.72);

    line-height:1.7;

}

.card-1{

    left:-40px;

    bottom:80px;

}

.card-2{

    right:-40px;

    top:80px;

    animation-delay:2s;

}

/* STORY */

.about-story-section{

    padding:120px 0;

    background:#0F1527;

}

.about-story-container{

    width:var(--container);

    margin:auto;

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:100px;

    align-items:center;

}

.about-story-content h2{

    font-size:64px;

    line-height:1;

    letter-spacing:-3px;

    color:#fff;

    margin-bottom:30px;

}

.about-story-content p{

    color:rgba(255,255,255,.72);

    line-height:1.9;

    margin-bottom:24px;

    font-size:18px;

}

.about-story-image{

    border-radius:40px;

    overflow:hidden;

    height:640px;

}

.about-story-image img{

    width:100%;

    height:100%;

    object-fit:cover;

}

/* MISSION */

.mission-vision-section{

    padding:120px 0;

    background:#0B1020;

}

.mission-vision-container{

    width:var(--container);

    margin:auto;

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:30px;

}

.mission-card{

    padding:60px;

    border-radius:36px;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.06),
            rgba(255,255,255,.02)
        );

    border:1px solid rgba(255,255,255,.06);

    transition:.4s ease;

}

.mission-card:hover{

    transform:translateY(-10px);

    border-color:rgba(255,107,0,.22);

}

.mission-icon{

    width:70px;

    height:70px;

    border-radius:22px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:rgba(255,107,0,.12);

    color:#FF6B00;

    font-size:28px;

    font-weight:700;

    margin-bottom:30px;

}

.mission-card h3{

    color:#fff;

    font-size:38px;

    margin-bottom:20px;

}

.mission-card p{

    color:rgba(255,255,255,.72);

    line-height:1.9;

    font-size:17px;

}

/* WHY */

.about-why-section{

    padding:120px 0;

    background:#12182B;

}

.about-why-container{

    width:var(--container);

    margin:auto;

}

.about-why-top{

    text-align:center;

    margin-bottom:70px;

}

.about-why-top h2{

    font-size:72px;

    line-height:1;

    letter-spacing:-3px;

    color:#fff;

}

.about-why-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:24px;

}

.about-why-card{

    padding:34px;

    border-radius:28px;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.06),
            rgba(255,255,255,.02)
        );

    border:1px solid rgba(255,255,255,.06);

    color:#fff;

    line-height:1.8;

    font-size:18px;

    transition:.4s ease;

}

.about-why-card span{

    display:block;

    width:12px;

    height:12px;

    border-radius:50%;

    background:#FF6B00;

    margin-bottom:20px;

}

.about-why-card:hover{

    transform:translateY(-8px);

    border-color:rgba(255,107,0,.22);

}

/* CTA */

.about-bottom-cta{

    position:relative;

    padding:140px 0;

    overflow:hidden;

    background:url('../images/about/about-cta.webp') center/cover;

}

.about-bottom-overlay{

    position:absolute;

    inset:0;

    background:rgba(8,12,24,.82);

}

.about-bottom-container{

    width:var(--container-narrow);

    margin:auto;

    text-align:center;

    position:relative;

    z-index:2;

}

.about-bottom-container h2{

    font-size:72px;

    line-height:1;

    letter-spacing:-3px;

    color:#fff;

    margin-bottom:28px;

}

.about-bottom-container p{

    color:rgba(255,255,255,.72);

    line-height:1.9;

    font-size:18px;

    margin-bottom:40px;

}

.about-bottom-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:20px 38px;

    border-radius:999px;

    background:#FF6B00;

    color:#fff;

    font-weight:600;

    transition:.4s ease;

}

.about-bottom-btn:hover{

    transform:translateY(-5px);

}

/* ANIMATION */

@keyframes floatCard{

    0%{
        transform:translateY(0px);
    }

    50%{
        transform:translateY(-12px);
    }

    100%{
        transform:translateY(0px);
    }

}

@keyframes aboutZoom{

    0%{
        transform:scale(1);
    }

    100%{
        transform:scale(1.08);
    }

}

/* RESPONSIVE */

@media(max-width:1100px){

    .about-page-container,
    .about-story-container,
    .mission-vision-container{

        grid-template-columns:1fr;

    }

    .about-why-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:768px){

    .about-page-hero{

        padding:180px 0 100px;

    }

    .about-page-content h1,
    .about-story-content h2,
    .about-why-top h2,
    .about-bottom-container h2{

        font-size:44px;

        line-height:1.1;

    }

    .about-page-content p,
    .about-story-content p,
    .about-bottom-container p{

        font-size:16px;

        line-height:1.8;

    }

    .about-visual-wrap,
    .about-story-image{

        height:420px;

    }

    .about-floating-card{

        position:relative;

        inset:auto !important;

        margin-top:20px;

    }

    .about-why-grid{

        grid-template-columns:1fr;

    }

    .mission-card{

        padding:40px 30px;

    }

}


/* =====================================================
   SERVICES PAGE
===================================================== */

.services-page-hero{

    position:relative;

    padding:220px 0 140px;

    overflow:hidden;

    background:
        linear-gradient(
            180deg,
            #0B1020 0%,
            #12182B 100%
        );

}

/* =========================================
   GRID
========================================= */

.services-page-grid{

    position:absolute;

    inset:0;

    background-image:
        linear-gradient(
            rgba(255,255,255,.03) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.03) 1px,
            transparent 1px
        );

    background-size:70px 70px;

    opacity:.35;

}

/* =========================================
   GLOW
========================================= */

.services-page-glow{

    position:absolute;

    width:600px;

    height:600px;

    border-radius:50%;

    background:rgba(255,107,0,.10);

    filter:blur(140px);

    top:-20%;

    right:-10%;

}

/* =========================================
   CONTAINER
========================================= */

.services-page-container{

    width:var(--container);

    margin:auto;

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:100px;

    align-items:center;

    position:relative;

    z-index:2;

}

/* =========================================
   LABEL
========================================= */

.services-page-label,
.section-label{

    display:inline-block;

    color:#FF6B00;

    font-size:14px;

    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;

    margin-bottom:24px;

}

/* =========================================
   HERO CONTENT
========================================= */

.services-page-content h1{

    font-size:clamp(52px, 7vw, 92px);

    line-height:.95;

    letter-spacing:-4px;

    color:#fff;

    margin-bottom:30px;

    font-weight:800;

}

.services-page-content p{

    font-size:20px;

    line-height:1.9;

    color:rgba(255,255,255,.72);

    margin-bottom:42px;

    max-width:640px;

}

/* =========================================
   BUTTONS
========================================= */

.services-page-actions{

    display:flex;

    gap:18px;

    flex-wrap:wrap;

}

.services-page-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:18px 34px;

    border-radius:999px;

    font-weight:600;

    transition:.4s ease;

}

.services-page-btn.primary{

    background:#FF6B00;

    color:#fff;

}

.services-page-btn.secondary{

    background:rgba(255,255,255,.04);

    border:1px solid rgba(255,255,255,.08);

    color:#fff;

}

.services-page-btn:hover{

    transform:translateY(-5px);

}

/* =========================================
   VISUAL
========================================= */

.services-page-visual{

    position:relative;

}

.services-visual-wrap{

    position:relative;

    height:760px;

    border-radius:40px;

    overflow:hidden;

}

.services-visual-wrap img{

    width:100%;

    height:100%;

    object-fit:cover;

    animation:servicesZoom 12s ease-in-out infinite alternate;

}

/* =========================================
   FLOATING CARDS
========================================= */

.services-floating-card{

    position:absolute;

    padding:24px 28px;

    border-radius:24px;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.08),
            rgba(255,255,255,.03)
        );

    border:1px solid rgba(255,255,255,.08);

    backdrop-filter:blur(14px);

    color:#fff;

    animation:floatService 6s ease-in-out infinite;

}

.services-floating-card span{

    display:block;

    color:#FF6B00;

    font-size:30px;

    font-weight:700;

    margin-bottom:10px;

}

.services-floating-card p{

    color:rgba(255,255,255,.72);

    line-height:1.7;

}

.card-1{

    left:-40px;

    bottom:80px;

}

.card-2{

    right:-40px;

    top:80px;

    animation-delay:2s;

}

/* =====================================================
   SERVICES GRID SECTION
===================================================== */

.services-grid-section{

    position:relative;

    padding:120px 0;

    background:#0F1527;

}

.services-grid-container{

    width:var(--container);

    margin:auto;

}

/* TOP */

.services-grid-top{

    text-align:center;

    margin-bottom:80px;

}

.services-grid-top h2{

    font-size:72px;

    line-height:1;

    letter-spacing:-3px;

    color:#fff;

    font-weight:800;

}

/* GRID */

.services-grid-wrap{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:26px;

}

/* CARD */

.service-detail-card{

    position:relative;

    padding:40px;

    border-radius:32px;

    overflow:hidden;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.06),
            rgba(255,255,255,.02)
        );

    border:1px solid rgba(255,255,255,.06);

    transition:
        transform .45s ease,
        border-color .45s ease,
        box-shadow .45s ease;

}

/* TOP LIGHT */

.service-detail-card::before{

    content:'';

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,107,0,.8),
            transparent
        );

    opacity:0;

    transition:.45s ease;

}

/* HOVER */

.service-detail-card:hover{

    transform:translateY(-10px);

    border-color:rgba(255,107,0,.22);

    box-shadow:
        0 25px 60px rgba(0,0,0,.28);

}

.service-detail-card:hover::before{

    opacity:1;

}

/* ICON */

.service-icon{

    width:72px;

    height:72px;

    border-radius:22px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:
        linear-gradient(
            180deg,
            rgba(255,107,0,.20),
            rgba(255,107,0,.08)
        );

    border:1px solid rgba(255,107,0,.18);

    color:#FF6B00;

    font-size:24px;

    font-weight:700;

    margin-bottom:30px;

}

/* TITLE */

.service-detail-card h3{

    font-size:34px;

    line-height:1.2;

    color:#fff;

    margin-bottom:20px;

    letter-spacing:-1px;

}

/* TEXT */

.service-detail-card p{

    color:rgba(255,255,255,.72);

    line-height:1.9;

    font-size:17px;

}

/* =====================================================
   SUPPORT SECTION
===================================================== */

.services-support-section{

    padding:120px 0;

    background:#0B1020;

}

.services-support-container{

    width:var(--container);

    margin:auto;

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:100px;

    align-items:center;

}

/* IMAGE */

.services-support-image{

    border-radius:40px;

    overflow:hidden;

    height:700px;

}

.services-support-image img{

    width:100%;

    height:100%;

    object-fit:cover;

}

/* CONTENT */

.services-support-content h2{

    font-size:72px;

    line-height:1;

    letter-spacing:-3px;

    color:#fff;

    margin-bottom:30px;

    font-weight:800;

}

.services-support-content p{

    color:rgba(255,255,255,.72);

    line-height:1.9;

    font-size:18px;

    margin-bottom:24px;

}

/* =====================================================
   CTA
===================================================== */

.services-bottom-cta{

    position:relative;

    padding:140px 0;

    overflow:hidden;

    background:url('../images/services/services-cta.webp') center/cover;

}

.services-bottom-overlay{

    position:absolute;

    inset:0;

    background:rgba(8,12,24,.82);

}

.services-bottom-container{

    width:var(--container-narrow);

    margin:auto;

    position:relative;

    z-index:2;

    text-align:center;

}

.services-bottom-container h2{

    font-size:72px;

    line-height:1;

    letter-spacing:-3px;

    color:#fff;

    margin-bottom:28px;

    font-weight:800;

}

.services-bottom-container p{

    color:rgba(255,255,255,.72);

    line-height:1.9;

    font-size:18px;

    margin-bottom:40px;

}

/* BUTTON */

.services-bottom-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:20px 38px;

    border-radius:999px;

    background:#FF6B00;

    color:#fff;

    font-weight:600;

    transition:.4s ease;

}

.services-bottom-btn:hover{

    transform:translateY(-5px);

}

/* =====================================================
   ANIMATIONS
===================================================== */

@keyframes servicesZoom{

    0%{
        transform:scale(1);
    }

    100%{
        transform:scale(1.08);
    }

}

@keyframes floatService{

    0%{
        transform:translateY(0px);
    }

    50%{
        transform:translateY(-12px);
    }

    100%{
        transform:translateY(0px);
    }

}

/* =====================================================
   RESPONSIVE
===================================================== */

@media(max-width:1100px){

    .services-page-container,
    .services-support-container{

        grid-template-columns:1fr;

    }

    .services-grid-wrap{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:768px){

    .services-page-hero{

        padding:180px 0 100px;

    }

    .services-page-content h1,
    .services-grid-top h2,
    .services-support-content h2,
    .services-bottom-container h2{

        font-size:44px;

        line-height:1.1;

    }

    .services-page-content p,
    .services-support-content p,
    .services-bottom-container p{

        font-size:16px;

        line-height:1.8;

    }

    .services-grid-wrap{

        grid-template-columns:1fr;

    }

    .services-visual-wrap,
    .services-support-image{

        height:420px;

    }

    .services-floating-card{

        position:relative;

        inset:auto !important;

        margin-top:20px;

    }

    .service-detail-card{

        padding:32px 28px;

    }

}

/* =====================================================
   CONTACT PAGE
===================================================== */

.contact-page-hero{

    position:relative;

    padding:220px 0 140px;

    overflow:hidden;

    background:
        linear-gradient(
            180deg,
            #0B1020 0%,
            #12182B 100%
        );

}

/* GRID */

.contact-page-grid{

    position:absolute;

    inset:0;

    background-image:
        linear-gradient(
            rgba(255,255,255,.03) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.03) 1px,
            transparent 1px
        );

    background-size:70px 70px;

    opacity:.35;

}

/* GLOW */

.contact-page-glow{

    position:absolute;

    width:600px;

    height:600px;

    border-radius:50%;

    background:rgba(255,107,0,.10);

    filter:blur(140px);

    top:-20%;

    right:-10%;

}

/* CONTAINER */

.contact-page-container{

    width:var(--container);

    margin:auto;

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:100px;

    align-items:center;

    position:relative;

    z-index:2;

}

/* LABEL */

.contact-page-label,
.section-label,
.form-label{

    display:inline-block;

    color:#FF6B00;

    font-size:14px;

    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;

    margin-bottom:24px;

}

/* HERO CONTENT */

.contact-page-content h1{

    font-size:clamp(52px, 7vw, 92px);

    line-height:.95;

    letter-spacing:-4px;

    color:#fff;

    margin-bottom:30px;

    font-weight:800;

}

.contact-page-content p{

    font-size:20px;

    line-height:1.9;

    color:rgba(255,255,255,.72);

    max-width:620px;

}

/* VISUAL */

.contact-page-visual{

    position:relative;

}

.contact-visual-wrap{

    height:760px;

    border-radius:40px;

    overflow:hidden;

}

.contact-visual-wrap img{

    width:100%;

    height:100%;

    object-fit:cover;

    animation:contactZoom 12s ease-in-out infinite alternate;

}

/* FLOATING */

.contact-floating-card{

    position:absolute;

    padding:24px 28px;

    border-radius:24px;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.08),
            rgba(255,255,255,.03)
        );

    border:1px solid rgba(255,255,255,.08);

    backdrop-filter:blur(14px);

    color:#fff;

    animation:floatContact 6s ease-in-out infinite;

}

.contact-floating-card span{

    display:block;

    color:#FF6B00;

    font-size:30px;

    font-weight:700;

    margin-bottom:10px;

}

.contact-floating-card p{

    color:rgba(255,255,255,.72);

}

.card-1{

    left:-40px;

    bottom:80px;

}

.card-2{

    right:-40px;

    top:80px;

    animation-delay:2s;

}

/* =====================================================
   MAIN SECTION
===================================================== */

.contact-main-section{

    padding:120px 0;

    background:#0F1527;

}

.contact-main-container{

    width:var(--container);

    margin:auto;

    display:grid;

    grid-template-columns:.9fr 1.1fr;

    gap:60px;

}

/* LEFT */

.contact-info-side h2{

    font-size:72px;

    line-height:1;

    letter-spacing:-3px;

    color:#fff;

    margin-bottom:30px;

}

.contact-info-side p{

    color:rgba(255,255,255,.72);

    line-height:1.9;

    font-size:18px;

}

/* INFO LIST */

.contact-info-list{

    margin-top:50px;

    display:flex;

    flex-direction:column;

    gap:24px;

}

/* ITEM */

.contact-info-item{

    display:flex;

    gap:20px;

    align-items:flex-start;

    padding:28px;

    border-radius:28px;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.06),
            rgba(255,255,255,.02)
        );

    border:1px solid rgba(255,255,255,.06);

}

.contact-info-icon{

    width:64px;

    height:64px;

    border-radius:20px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:rgba(255,107,0,.12);

    color:#FF6B00;

    font-weight:700;

    font-size:24px;

}

.contact-info-item h3{

    color:#fff;

    margin-bottom:10px;

    font-size:22px;

}

.contact-info-item a,
.contact-info-item p{

    color:rgba(255,255,255,.68);

    line-height:1.8;

}

/* =====================================================
   FORM
===================================================== */

.contact-form-wrap{

    padding:50px;

    border-radius:36px;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.06),
            rgba(255,255,255,.02)
        );

    border:1px solid rgba(255,255,255,.06);

}

.contact-form-wrap h2{

    font-size:52px;

    line-height:1;

    letter-spacing:-2px;

    color:#fff;

    margin-bottom:40px;

}

/* FORM */

.contact-form{

    display:flex;

    flex-direction:column;

    gap:24px;

}

.form-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:24px;

}

/* GROUP */

.form-group input,
.form-group textarea{

    width:100%;

    padding:20px 24px;

    border-radius:18px;

    border:1px solid rgba(255,255,255,.08);

    background:rgba(255,255,255,.03);

    color:#fff;

    font-size:16px;

    outline:none;

    transition:.3s ease;

}

.form-group textarea{

    resize:none;

}

.form-group input:focus,
.form-group textarea:focus{

    border-color:rgba(255,107,0,.35);

}

/* BUTTON */

.contact-submit-btn{

    height:62px;

    border:none;

    border-radius:999px;

    background:#FF6B00;

    color:#fff;

    font-weight:600;

    font-size:16px;

    cursor:pointer;

    transition:.4s ease;

}

.contact-submit-btn:hover{

    transform:translateY(-5px);

}

/* =====================================================
   MAP
===================================================== */

.contact-map-section{

    background:#0B1020;

    padding:0 0 120px;

}

.contact-map-container{

    width:var(--container);

    margin:auto;

    border-radius:40px;

    overflow:hidden;

    border:1px solid rgba(255,255,255,.06);

}

.contact-map-container iframe{

    width:100%;

    height:600px;

    border:none;

}

/* =====================================================
   ANIMATION
===================================================== */

@keyframes contactZoom{

    0%{
        transform:scale(1);
    }

    100%{
        transform:scale(1.08);
    }

}

@keyframes floatContact{

    0%{
        transform:translateY(0px);
    }

    50%{
        transform:translateY(-12px);
    }

    100%{
        transform:translateY(0px);
    }

}

/* =====================================================
   RESPONSIVE
===================================================== */

@media(max-width:1100px){

    .contact-page-container,
    .contact-main-container{

        grid-template-columns:1fr;

    }

}

@media(max-width:768px){

    .contact-page-hero{

        padding:180px 0 100px;

    }

    .contact-page-content h1,
    .contact-info-side h2,
    .contact-form-wrap h2{

        font-size:44px;

        line-height:1.1;

    }

    .contact-page-content p,
    .contact-info-side p{

        font-size:16px;

        line-height:1.8;

    }

    .contact-visual-wrap{

        height:420px;

    }

    .contact-floating-card{

        position:relative;

        inset:auto !important;

        margin-top:20px;

    }

    .contact-form-wrap{

        padding:36px 24px;

    }

    .form-grid{

        grid-template-columns:1fr;

    }

    .contact-map-container iframe{

        height:420px;

    }

}

/* =====================================================
   QUOTE PAGE
===================================================== */

.quote-page-hero{

    position:relative;

    padding:220px 0 140px;

    overflow:hidden;

    background:
        linear-gradient(
            180deg,
            #0B1020 0%,
            #12182B 100%
        );

}

/* GRID */

.quote-page-grid{

    position:absolute;

    inset:0;

    background-image:
        linear-gradient(
            rgba(255,255,255,.03) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.03) 1px,
            transparent 1px
        );

    background-size:70px 70px;

    opacity:.35;

}

/* GLOW */

.quote-page-glow{

    position:absolute;

    width:600px;

    height:600px;

    border-radius:50%;

    background:rgba(255,107,0,.10);

    filter:blur(140px);

    top:-20%;

    right:-10%;

}

/* CONTAINER */

.quote-page-container{

    width:var(--container);

    margin:auto;

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:100px;

    align-items:center;

    position:relative;

    z-index:2;

}

/* LABEL */

.quote-page-label,
.section-label,
.form-label{

    display:inline-block;

    color:#FF6B00;

    font-size:14px;

    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;

    margin-bottom:24px;

}

/* CONTENT */

.quote-page-content h1{

    font-size:clamp(52px, 7vw, 92px);

    line-height:.95;

    letter-spacing:-4px;

    color:#fff;

    margin-bottom:30px;

    font-weight:800;

}

.quote-page-content p{

    font-size:20px;

    line-height:1.9;

    color:rgba(255,255,255,.72);

    margin-bottom:40px;

}

/* FEATURES */

.quote-features{

    display:flex;

    flex-direction:column;

    gap:18px;

}

.quote-feature-item{

    display:flex;

    align-items:center;

    gap:14px;

    color:#fff;

    font-size:17px;

}

.quote-feature-item span{

    width:10px;

    height:10px;

    border-radius:50%;

    background:#FF6B00;

}

/* VISUAL */

.quote-page-visual{

    position:relative;

}

.quote-visual-wrap{

    height:760px;

    border-radius:40px;

    overflow:hidden;

}

.quote-visual-wrap img{

    width:100%;

    height:100%;

    object-fit:cover;

    animation:quoteZoom 12s ease-in-out infinite alternate;

}

/* FLOATING */

.quote-floating-card{

    position:absolute;

    padding:24px 28px;

    border-radius:24px;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.08),
            rgba(255,255,255,.03)
        );

    border:1px solid rgba(255,255,255,.08);

    backdrop-filter:blur(14px);

    color:#fff;

    animation:floatQuote 6s ease-in-out infinite;

}

.quote-floating-card span{

    display:block;

    color:#FF6B00;

    font-size:30px;

    font-weight:700;

    margin-bottom:10px;

}

.card-1{

    left:-40px;

    bottom:80px;

}

.card-2{

    right:-40px;

    top:80px;

    animation-delay:2s;

}

/* =====================================================
   FORM SECTION
===================================================== */

.quote-form-section{

    padding:120px 0;

    background:#0F1527;

}

.quote-form-container{

    width:var(--container);

    margin:auto;

    display:grid;

    grid-template-columns:.9fr 1.1fr;

    gap:60px;

}

/* LEFT */

.quote-info-side h2{

    font-size:72px;

    line-height:1;

    letter-spacing:-3px;

    color:#fff;

    margin-bottom:30px;

}

.quote-info-side p{

    color:rgba(255,255,255,.72);

    line-height:1.9;

    font-size:18px;

}

/* INFO LIST */

.quote-info-list{

    margin-top:50px;

    display:flex;

    flex-direction:column;

    gap:24px;

}

/* CARD */

.quote-info-card{

    display:flex;

    gap:20px;

    padding:28px;

    border-radius:28px;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.06),
            rgba(255,255,255,.02)
        );

    border:1px solid rgba(255,255,255,.06);

}

.quote-info-icon{

    width:64px;

    height:64px;

    border-radius:20px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:rgba(255,107,0,.12);

    color:#FF6B00;

    font-size:24px;

    font-weight:700;

}

.quote-info-card h3{

    color:#fff;

    font-size:22px;

    margin-bottom:10px;

}

.quote-info-card p{

    color:rgba(255,255,255,.68);

}

/* =====================================================
   FORM
===================================================== */

.quote-form-wrap{

    padding:50px;

    border-radius:36px;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.06),
            rgba(255,255,255,.02)
        );

    border:1px solid rgba(255,255,255,.06);

}

.quote-form-wrap h2{

    font-size:52px;

    line-height:1;

    letter-spacing:-2px;

    color:#fff;

    margin-bottom:40px;

}

/* FORM */

.quote-form{

    display:flex;

    flex-direction:column;

    gap:24px;

}

.quote-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:24px;

}

/* GROUP */

.quote-group input,
.quote-group textarea,
.quote-group select{

    width:100%;

    padding:20px 24px;

    border-radius:18px;

    border:1px solid rgba(255,255,255,.08);

    background:rgba(255,255,255,.03);

    color:#fff;

    font-size:16px;

    outline:none;

    transition:.3s ease;

}

.quote-group textarea{

    resize:none;

}

.quote-group select{

    appearance:none;
    color:#fff;
    background-color:#12182B;
    color-scheme:dark;

}

.quote-group select option,
#quote-service option{

    color:#fff;
    background-color:#12182B;

}

.quote-group select option:checked,
#quote-service option:checked{

    color:#fff;
    background-color:#1a2238;

}

.quote-group input:focus,
.quote-group textarea:focus,
.quote-group select:focus{

    border-color:rgba(255,107,0,.35);

}

/* BUTTON */

.quote-submit-btn{

    height:62px;

    border:none;

    border-radius:999px;

    background:#FF6B00;

    color:#fff;

    font-weight:600;

    font-size:16px;

    cursor:pointer;

    transition:.4s ease;

}

.quote-submit-btn:hover{

    transform:translateY(-5px);

}

/* =====================================================
   CTA
===================================================== */

.quote-bottom-cta{

    position:relative;

    padding:140px 0;

    overflow:hidden;

    background:url('../images/quote/quote-main.webp') center/cover;

}

.quote-bottom-overlay{

    position:absolute;

    inset:0;

    background:rgba(8,12,24,.82);

}

.quote-bottom-container{

    width:var(--container-narrow);

    margin:auto;

    position:relative;

    z-index:2;

    text-align:center;

}

.quote-bottom-container h2{

    font-size:72px;

    line-height:1;

    letter-spacing:-3px;

    color:#fff;

    margin-bottom:28px;

    font-weight:800;

}

.quote-bottom-container p{

    color:rgba(255,255,255,.72);

    line-height:1.9;

    font-size:18px;

}

/* =====================================================
   ANIMATION
===================================================== */

@keyframes quoteZoom{

    0%{
        transform:scale(1);
    }

    100%{
        transform:scale(1.08);
    }

}

@keyframes floatQuote{

    0%{
        transform:translateY(0px);
    }

    50%{
        transform:translateY(-12px);
    }

    100%{
        transform:translateY(0px);
    }

}

/* =====================================================
   RESPONSIVE
===================================================== */

@media(max-width:1100px){

    .quote-page-container,
    .quote-form-container{

        grid-template-columns:1fr;

    }

}

@media(max-width:768px){

    .quote-page-hero{

        padding:180px 0 100px;

    }

    .quote-page-content h1,
    .quote-info-side h2,
    .quote-form-wrap h2,
    .quote-bottom-container h2{

        font-size:44px;

        line-height:1.1;

    }

    .quote-page-content p,
    .quote-info-side p,
    .quote-bottom-container p{

        font-size:16px;

        line-height:1.8;

    }

    .quote-visual-wrap{

        height:420px;

    }

    .quote-floating-card{

        position:relative;

        inset:auto !important;

        margin-top:20px;

    }

    .quote-form-wrap{

        padding:36px 24px;

    }

    .quote-grid{

        grid-template-columns:1fr;

    }

}