/*==================================================
    Preloader
==================================================*/

#preloader{
    position:fixed;
    inset:0;
    z-index:100000;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fff;
    transition:opacity .5s ease, visibility .5s ease;
}

#preloader.is-hidden{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
}

body.is-loading{
    overflow:hidden;
}

.preloader-inner{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:26px;
}

.preloader-logo{
    width:150px;
    height:auto;
    animation:preloaderPulse 1.5s ease-in-out infinite;
}

.preloader-spinner{
    width:34px;
    height:34px;
    border-radius:50%;
    border:3px solid rgba(255,122,0,.15);
    border-top-color:var(--color-accent);
    animation:preloaderSpin .8s linear infinite;
}

@keyframes preloaderSpin{
    to{ transform:rotate(360deg); }
}

@keyframes preloaderPulse{
    0%,100%{ opacity:1; }
    50%{ opacity:.5; }
}

/*==================================================
    Announcement Bar
==================================================*/

.announcement-bar{
    background: var(--color-primary);
    color: var(--color-white);
    padding: 10px 0;
    position: relative;
    z-index: 999;
}

.announcement-content{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
}

.announcement-left,
.announcement-center,
.announcement-right{
    display:flex;
    align-items:center;
}

.announcement-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:.875rem;
    font-weight:600;
}

.announcement-badge i{
    color:var(--color-accent);
}

.announcement-center p{
    margin:0;
    font-size:.92rem;
    color:rgba(255,255,255,.85);
}

.announcement-right a{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:var(--color-white);
    text-decoration:none;
    font-weight:600;
    transition:var(--transition-fast);
}

.announcement-right a:hover{
    color:var(--color-accent);
}

.announcement-right i{
    transition:var(--transition-fast);
}

.announcement-right a:hover i{
    transform:translateX(5px);
}

.announcement-social{

    display:flex;

    align-items:center;

    gap:10px;

}

.announcement-social a{

    display:flex;

    align-items:center;

    justify-content:center;

    width:28px;

    height:28px;

    border-radius:50%;

    background:rgba(255,255,255,.1);

    color:#fff;

    font-size:12px;

    text-decoration:none;

    transition:.3s;

}

.announcement-social a:hover{

    background:var(--color-accent);

    transform:translateY(-2px);

}

/*==================================================
    BUTTONS
==================================================*/

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:16px 34px;
    font-family:var(--font-heading);
    font-size:16px;
    font-weight:700;
    line-height:1;
    border-radius:var(--radius-pill);
    border:2px solid transparent;
    cursor:pointer;
    position:relative;
    overflow:hidden;
    transition:all .35s ease;
    white-space:nowrap;
}

.btn i{
    transition:.35s ease;
}

/*==============================
Primary Button
==============================*/

.btn-primary{

    background:var(--color-accent);
    color:#fff;

    box-shadow:
    0 10px 30px rgba(255,122,0,.25);

}

.btn-primary:hover{

    background:var(--color-accent-hover);

    transform:translateY(-4px);

    box-shadow:
    0 20px 40px rgba(255,122,0,.35);

}

.btn-primary:hover i{

    transform:translateX(6px);

}

/*==============================
Secondary
==============================*/

.btn-secondary{

    background:#fff;

    color:var(--color-primary);

    border-color:var(--color-border);

}

.btn-secondary:hover{

    background:var(--color-primary);

    color:#fff;

}

/*==============================
Outline
==============================*/

.btn-outline{

    background:transparent;

    border:2px solid var(--color-accent);

    color:var(--color-accent);

}

.btn-outline:hover{

    background:var(--color-accent);

    color:#fff;

}

/*==============================
Ghost
==============================*/

.btn-ghost{

    background:transparent;

    color:var(--color-primary);

}

.btn-ghost:hover{

    color:var(--color-accent);

}

/*==============================
Gradient
==============================*/

.btn-gradient{

    background:
    linear-gradient(
    135deg,
    #ff7a00,
    #ff9b2f);

    color:#fff;

    box-shadow:
    0 15px 40px rgba(255,122,0,.25);

}

.btn-gradient:hover{

    transform:translateY(-5px);

}

/*==============================
Large
==============================*/

.btn-lg{

    padding:20px 42px;

    font-size:17px;

}

/*==============================
Small
==============================*/

.btn-sm{

    padding:12px 22px;

    font-size:14px;

}

/*==============================
Icon Button
==============================*/

.btn-icon{

    width:56px;

    height:56px;

    border-radius:50%;

    padding:0;

}

/*==============================
Full Width
==============================*/

.btn-block{

    width:100%;

}

/*==================================================
    SECTION TITLE
==================================================*/

.section-title{

    margin-bottom:70px;

}

.section-subtitle{

    display:inline-flex;

    align-items:center;

    gap:10px;

    background:var(--color-accent-light);

    color:var(--color-accent);

    padding:10px 18px;

    border-radius:999px;

    font-size:14px;

    font-weight:700;

    margin-bottom:20px;

}

.section-title h2{

    max-width:700px;

    margin-bottom:24px;

}

.section-title p{

    max-width:650px;

    font-size:18px;

    color:var(--text-body);

    line-height:1.8;

}

/*==================================================
    BADGES
==================================================*/

.badge{

    display:inline-flex;

    align-items:center;

    gap:8px;

    padding:8px 16px;

    background:var(--color-accent-light);

    color:var(--color-accent);

    border-radius:999px;

    font-size:14px;

    font-weight:700;

}

/*==================================================
    HEADER
==================================================*/

/*====================================
--header-top / --header-top-sticky are set by
syncHeaderOffset() in main.js, measuring the REAL
rendered height of the announcement bar (which can
wrap to 2-3 lines on narrow phones, or disappear
entirely once it scrolls away) plus the WP admin bar
if one is present (32px desktop / 46px mobile — also
measured live rather than assumed). This replaces a
set of hardcoded pixel guesses that got out of sync
on mobile whenever the announcement bar's real height
didn't match the assumed 40px, leaving a visible gap
above the header while scrolling. The literal px
fallback values are only used for the first paint
before JS runs.
====================================*/

.site-header{
    position:fixed;
    top:var(--header-top, 40px);
    left:0;
    width:100%;
    z-index:1000;
    transition:all .4s ease;
}

.site-header.sticky{
    top:var(--header-top-sticky, 0px);
    background:rgba(255,255,255,.88);
    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);
    border-bottom:1px solid rgba(0,0,0,.05);
    box-shadow:0 10px 40px rgba(0,0,0,.06);
}

.navbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:104px;
    padding:0;
    transition:min-height .4s ease;
}

.site-header.sticky .navbar{
    min-height:88px;
}

/*====================================
Logo
====================================*/

.navbar-brand{
    display:flex;
    align-items:center;
    flex-shrink:0;
}

.navbar-brand img{
    width:135px;
    transition:.35s ease;
}

.site-header.sticky .navbar-brand img{
    width:115px;
}

/*==================================================
    DARK HERO PAGES — HEADER CONTRAST FIX
    (inner pages open on a dark .page-header-section;
    before the header goes .sticky it needs light text
    and the light logo variant to stay readable)
==================================================*/

.navbar-brand .logo-light{
    display:none;
}

body.dark-hero-page .site-header:not(.sticky) .navbar-brand .logo-default{
    display:none;
}

body.dark-hero-page .site-header:not(.sticky) .navbar-brand .logo-light{
    display:block;
}

body.dark-hero-page .site-header:not(.sticky) .nav-link{
    color:rgba(255,255,255,.92);
}

body.dark-hero-page .site-header:not(.sticky) .nav-link:hover,
body.dark-hero-page .site-header:not(.sticky) .nav-link.active{
    color:var(--color-accent);
}

body.dark-hero-page .site-header:not(.sticky) .menu-toggle{
    background:rgba(255,255,255,.14);
}

body.dark-hero-page .site-header:not(.sticky) .menu-toggle span{
    background:#fff;
}

/*====================================
Navbar Right
====================================*/

.navbar-right{
    display:flex;
    align-items:center;
    gap:20px;
}

/*====================================
Menu Toggle
====================================*/

.menu-toggle{
    width:50px;
    height:50px;
    display:none;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:6px;
    border-radius:50%;
    background:#fff;
    box-shadow:var(--shadow-sm);
    transition:.3s;
}

.menu-toggle span{
    width:22px;
    height:2px;
    background:var(--color-primary);
    transition:.3s;
}

/*==================================================
    DESKTOP NAVIGATION
==================================================*/

.navbar-menu{
    flex:1;
    display:flex;
    justify-content:center;
}

.navbar-nav{
    display:flex;
    align-items:center;
    gap:38px;
}

.nav-item{
    position:relative;
}

.nav-link{
    position:relative;
    display:flex;
    align-items:center;
    gap:8px;
    font-family:var(--font-heading);
    font-size:15px;
    font-weight:700;
    color:var(--color-primary);
    transition:.35s;
}

.nav-link:hover{
    color:var(--color-accent);
}

.nav-link.active{
    color:var(--color-accent);
}

/* Underline */

.nav-link::after{

    content:"";

    position:absolute;

    bottom:-8px;

    left:0;

    width:0;

    height:2px;

    background:var(--color-accent);

    transition:.35s;

}

.nav-link:hover::after,
.nav-link.active::after{

    width:100%;

}

.nav-link i{

    font-size:12px;

}

/*==================================================
    MEGA MENU
==================================================*/

.nav-item.dropdown{
    position:relative;
}

.mega-menu{

    position:absolute;

    top:120%;

    left:50%;

    transform:translateX(-50%);

    width:780px;

    background:#fff;

    border-radius:24px;

    padding:35px;

    box-shadow:0 30px 80px rgba(0,0,0,.08);

    opacity:0;

    visibility:hidden;

    transition:.35s;

    border:1px solid #eee;

}

.nav-item.dropdown:hover .mega-menu{

    opacity:1;

    visibility:visible;

    top:100%;

}

.mega-menu-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:20px;

}

.mega-menu-grid a{

    padding:22px;

    border-radius:18px;

    transition:.35s;

    border:1px solid transparent;

}

.mega-menu-grid a:hover{

    background:var(--color-surface);

    border-color:var(--color-border);

    transform:translateY(-5px);

}

.mega-menu-grid h6{

    margin-bottom:8px;

}

.mega-menu-grid p{

    font-size:14px;

    color:var(--text-light);

}

/*==================================================
    HEADER BUTTON
==================================================*/

.navbar-right .btn{

    padding:15px 28px;

}
/*==================================================
    MOBILE MENU
==================================================*/

.mobile-menu-overlay{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.55);

    opacity:0;

    visibility:hidden;

    transition:.4s ease;

    z-index:9998;

    backdrop-filter:blur(3px);

}

.mobile-menu-overlay.active{

    opacity:1;

    visibility:visible;

}

.mobile-menu{

    position:fixed;

    top:0;

    right:-420px;

    width:400px;

    max-width:100%;

    height:100vh;

    background:#fff;

    z-index:9999;

    transition:.45s ease;

    overflow-y:auto;

    display:flex;

    flex-direction:column;

    box-shadow:-15px 0 60px rgba(0,0,0,.12);

}

.mobile-menu.active{

    right:0;

}

/*==============================
Header
==============================*/

.mobile-menu-header{

    display:flex;

    align-items:center;

    justify-content:space-between;

    padding:30px;

    border-bottom:1px solid var(--color-border);

}

.mobile-logo img{

    width:170px;

}

.mobile-close{

    width:48px;

    height:48px;

    border-radius:50%;

    background:var(--color-surface);

    display:flex;

    align-items:center;

    justify-content:center;

    transition:.3s;

}

.mobile-close:hover{

    background:var(--color-accent);

    color:#fff;

}

/*==================================================
    SEARCH
==================================================*/

.search-toggle{

    width:46px;

    height:46px;

    border-radius:50%;

    background:var(--color-surface);

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:16px;

    color:var(--color-primary);

    flex-shrink:0;

    transition:.3s;

}

.search-toggle:hover{

    background:var(--color-accent);

    color:#fff;

}

.search-popup{

    position:fixed;

    inset:0;

    background:rgba(17,17,17,.72);

    -webkit-backdrop-filter:blur(6px);

    backdrop-filter:blur(6px);

    opacity:0;

    visibility:hidden;

    transition:.35s ease;

    z-index:10000;

    display:flex;

    align-items:flex-start;

    justify-content:center;

    padding:130px 20px 20px;

    overflow-y:auto;

}

.search-popup.active{

    opacity:1;

    visibility:visible;

}

.search-popup-inner{

    position:relative;

    width:100%;

    max-width:640px;

    background:#fff;

    border-radius:24px;

    padding:40px;

    box-shadow:0 40px 100px rgba(0,0,0,.3);

    transform:translateY(-16px);

    transition:.35s ease;

}

.search-popup.active .search-popup-inner{

    transform:translateY(0);

}

.search-close{

    position:absolute;

    top:-58px;

    right:0;

    width:44px;

    height:44px;

    border-radius:50%;

    background:rgba(255,255,255,.14);

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    transition:.3s;

    font-size:16px;

    border:1px solid rgba(255,255,255,.2);

}

.search-close:hover{

    background:var(--color-accent);

    border-color:var(--color-accent);

}

.search-form{

    display:flex;

    align-items:center;

    gap:16px;

    border-bottom:2px solid var(--color-border);

    padding-bottom:22px;

}

.search-form > i{

    font-size:20px;

    color:var(--color-accent);

    flex-shrink:0;

}

.search-input{

    flex:1;

    min-width:0;

    border:none;

    outline:none;

    font-family:var(--font-heading);

    font-size:22px;

    font-weight:700;

    color:var(--text-heading);

    background:transparent;

}

.search-input::placeholder{

    color:var(--text-light);

    font-weight:600;

}

.search-submit{

    flex-shrink:0;

}

.search-suggestions{

    display:flex;

    align-items:center;

    flex-wrap:wrap;

    gap:10px;

    margin-top:24px;

}

.search-suggestions span{

    font-size:13px;

    color:var(--text-light);

    font-weight:600;

    margin-right:2px;

}

.search-suggestions a{

    padding:7px 16px;

    border-radius:100px;

    background:var(--color-surface);

    font-size:13px;

    font-weight:600;

    color:var(--text-heading);

    transition:.3s;

}

.search-suggestions a:hover{

    background:var(--color-accent);

    color:#fff;

}

@media(max-width:576px){

    .search-popup{

        padding:110px 16px 16px;

    }

    .search-popup-inner{

        padding:26px;

    }

    .search-close{

        top:-54px;

    }

    .search-input{

        font-size:18px;

    }

    .search-form{

        gap:12px;

    }

    .search-submit{

        padding-left:16px;

        padding-right:16px;

        font-size:13px;

    }

}

/*==================================================
    MOBILE NAVIGATION
==================================================*/

.mobile-navigation{

    padding:30px;

}

.mobile-navigation ul{

    display:flex;

    flex-direction:column;

}

.mobile-navigation li{

    border-bottom:1px solid var(--color-border);

}

.mobile-navigation li:last-child{

    border:none;

}

.mobile-navigation a,

.mobile-dropdown button{

    width:100%;

    display:flex;

    align-items:center;

    justify-content:space-between;

    padding:18px 0;

    font-family:var(--font-heading);

    font-weight:700;

    color:var(--color-primary);

    background:none;

}

.mobile-navigation a:hover,

.mobile-dropdown button:hover{

    color:var(--color-accent);

}

/*==============================
Dropdown
==============================*/

.mobile-dropdown ul{

    display:none;

    padding-left:15px;

}

.mobile-dropdown.active ul{

    display:flex;

}

.mobile-dropdown ul a{

    font-size:15px;

    color:var(--text-body);

    padding:14px 0;

}
/*==================================================
    MOBILE CTA
==================================================*/

.mobile-cta{

    margin-top:auto;

    padding:30px;

}

.mobile-cta .btn{

    width:100%;

}
/*==================================================
    HERO SECTION
==================================================*/

.hero-section{
    position:relative;
    overflow:hidden;
    min-height:100vh;
    display:flex;
    align-items:center;
    padding:160px 0 100px;
    background:var(--color-white);
}

/*====================================
Background Shapes
====================================*/

.hero-bg-shape{
    position:absolute;
    border-radius:50%;
    filter:blur(100px);
    pointer-events:none;
}

.shape-1{
    width:450px;
    height:450px;
    background:rgba(255,122,0,.10);
    top:-150px;
    right:-120px;
}

.shape-2{
    width:350px;
    height:350px;
    background:rgba(255,122,0,.06);
    bottom:-120px;
    left:-120px;
}

/*====================================
Content
====================================*/

.hero-content{
    position:relative;
    z-index:2;
}

.hero-badge{

    display:inline-flex;
    align-items:center;
    gap:10px;

    padding:12px 22px;

    background:var(--color-accent-light);

    color:var(--color-accent);

    border:1px solid rgba(255,122,0,.18);

    border-radius:999px;

    font-weight:700;

    margin-bottom:28px;

    box-shadow:0 10px 25px rgba(255,122,0,.1);

}

.hero-badge i{
    color:var(--color-accent);
}

.hero-content h1{

    max-width:700px;

    margin-bottom:28px;

    font-size:clamp(3.5rem,6vw,5.5rem);

    line-height:1.08;

    letter-spacing:-2px;

}

.hero-content p{

    max-width:620px;

    font-size:20px;

    line-height:1.9;

    color:var(--text-body);

    margin-bottom:45px;

}

/*====================================
Buttons
====================================*/

.hero-buttons{

    display:flex;

    align-items:center;

    gap:18px;

    margin-bottom:70px;

}
/*====================================
Statistics
====================================*/

.hero-stats{

    display:flex;

    gap:60px;

    flex-wrap:wrap;

}

.hero-stat h3{

    font-size:42px;

    color:var(--color-primary);

    margin-bottom:8px;

}

.hero-stat p{

    font-size:15px;

    color:var(--text-light);

    margin:0;

}

/*====================================
Hero Image
====================================*/

.hero-image{

    position:relative;

    min-height:650px;

    display:flex;

    justify-content:center;

    align-items:center;

}

.hero-image::before{

    content:"";

    position:absolute;

    top:50%;

    left:50%;

    transform:translate(-50%,-50%);

    width:80%;

    height:80%;

    background:radial-gradient(circle,rgba(255,122,0,.18) 0%,rgba(255,122,0,0) 70%);

    filter:blur(40px);

    z-index:0;

    pointer-events:none;

}

.hero-image > *{

    position:relative;

    z-index:1;

}
/*==================================================
    HERO DASHBOARD
==================================================*/

.dashboard-card{

    position:relative;

    width:520px;

    background:rgba(255,255,255,.92);

    backdrop-filter:blur(25px);

    border:1px solid rgba(255,255,255,.4);

    border-radius:28px;

    overflow:hidden;

    box-shadow:0 30px 80px rgba(0,0,0,.08);

}

.dashboard-header{

    display:flex;

    align-items:center;

    gap:10px;

    padding:22px 28px;

    border-bottom:1px solid #f2f2f2;

}

.dot{

    width:12px;

    height:12px;

    border-radius:50%;

}

.red{

    background:#ff5f57;

}

.yellow{

    background:#febc2e;

}

.green{

    background:#28c840;

}

.dashboard-body{

    padding:35px;

}

.dashboard-top{

    display:flex;

    align-items:center;

    justify-content:space-between;

    margin-bottom:35px;

}

.dashboard-top h5{

    margin:0;

}

.status{

    display:flex;

    align-items:center;

    gap:8px;

    color:#22c55e;

    font-weight:700;

}

.status i{

    font-size:10px;

}
.progress-wrapper{

    margin-bottom:28px;

}

.progress-item{

    display:flex;

    justify-content:space-between;

    margin-bottom:10px;

    font-weight:600;

}

.progress{

    height:10px;

    background:#ececec;

    border-radius:20px;

    overflow:hidden;

}

.progress-bar{

    height:100%;

    border-radius:20px;

}

.progress-bar.seo{

    width:98%;

    background:#22c55e;

}

.progress-bar.performance{

    width:96%;

    background:var(--color-accent);

}

.progress-bar.accessibility{

    width:100%;

    background:#2563eb;

}
.floating-card{

    position:absolute;

    display:flex;

    align-items:center;

    gap:16px;

    background:#fff;

    padding:18px 22px;

    border-radius:18px;

    box-shadow:0 20px 40px rgba(0,0,0,.08);

}

.floating-card{

    transition:transform .35s ease,box-shadow .35s ease;

}

.floating-card:hover{

    transform:translateY(-4px);

    box-shadow:0 25px 50px rgba(0,0,0,.12);

}

.floating-card i{

    width:50px;

    height:50px;

    border-radius:50%;

    background:linear-gradient(135deg,var(--color-accent-light),rgba(255,122,0,.28));

    color:var(--color-accent);

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:20px;

    flex-shrink:0;

}

.floating-card strong{

    display:block;

    font-size:18px;

}

.floating-card span{

    font-size:14px;

    color:var(--text-light);

}

/* Positions */

.analytics-card{

    top:30px;

    right:-40px;

    animation:cardFloat 5s ease-in-out infinite;

}

.lead-card{

    top:265px;

    left:-55px;

    animation:cardFloat 5s ease-in-out infinite;

    animation-delay:1s;

}

.review-card{

    top:378px;

    right:-35px;

    animation:cardFloat 5s ease-in-out infinite;

    animation-delay:2s;

}

@keyframes cardFloat{

    0%,100%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-10px);

    }

}

@media(prefers-reduced-motion:reduce){

    .analytics-card,
    .lead-card,
    .review-card{

        animation:none;

    }

}
/*==================================================
Premium Browser Mockup
==================================================*/

.dashboard-window{

    width:540px;

    background:#fff;

    border-radius:26px;

    overflow:hidden;

    box-shadow:0 35px 90px rgba(0,0,0,.08);

    border:1px solid rgba(0,0,0,.05);

    backdrop-filter:blur(30px);

}

.browser-header{

    display:flex;

    align-items:center;

    justify-content:space-between;

    padding:18px 25px;

    background:#fafafa;

    border-bottom:1px solid #eee;

}

.browser-controls{

    display:flex;

    gap:8px;

}

.browser-controls span{

    width:12px;

    height:12px;

    border-radius:50%;

}

.red{

    background:#ff5f57;

}

.yellow{

    background:#febc2e;

}

.green{

    background:#28c840;

}

.browser-url{

    font-size:13px;

    color:#777;

    font-weight:600;

}

.browser-body{

    padding:30px;

}
.website-preview{

    background:#F8F9FB;

    border-radius:18px;

    padding:20px;

    margin-bottom:30px;

}

.preview-navbar{

    width:100%;

    height:18px;

    background:#E5E7EB;

    border-radius:8px;

    margin-bottom:22px;

}

.preview-hero{

    display:flex;

    flex-direction:column;

    gap:15px;

}

.hero-line{

    background:#D9D9D9;

    border-radius:8px;

}

.line-lg{

    width:90%;

    height:18px;

}

.line-md{

    width:60%;

    height:18px;

}

.hero-button{

    width:150px;

    height:45px;

    border-radius:50px;

    background:var(--color-accent);

}
.analytics-widget{

    margin-bottom:30px;

}

.widget-title{

    font-weight:700;

    margin-bottom:18px;

}

.chart{

    display:flex;

    align-items:flex-end;

    gap:14px;

    height:110px;

}

.chart span{

    flex:1;

    border-radius:12px 12px 0 0;

    background:linear-gradient(
        to top,
        var(--color-accent),
        #ffb266
    );

}

.chart span:nth-child(1){

    height:45%;

}

.chart span:nth-child(2){

    height:75%;

}

.chart span:nth-child(3){

    height:55%;

}

.chart span:nth-child(4){

    height:100%;

}

.chart span:nth-child(5){

    height:82%;

}
.kpi-row{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:15px;

}

.kpi-card{

    background:#fff;

    border:1px solid #eee;

    border-radius:18px;

    padding:20px;

    text-align:center;

    transition:.35s;

}

.kpi-card:hover{

    transform:translateY(-8px);

    box-shadow:0 20px 40px rgba(255,122,0,.12);

}

.kpi-card h4{

    margin-bottom:6px;

}

.kpi-card span{

    color:var(--text-light);

    font-size:14px;

}
/*==================================================
    HERO EFFECTS
==================================================*/

.hero-orb{

    position:absolute;

    border-radius:50%;

    filter:blur(100px);

    pointer-events:none;

    animation:floatOrb 12s ease-in-out infinite;

}

.orb-1{

    width:280px;

    height:280px;

    background:rgba(255,122,0,.08);

    top:12%;

    left:5%;

}

.orb-2{

    width:420px;

    height:420px;

    background:rgba(255,122,0,.05);

    bottom:0;

    right:8%;

    animation-delay:2s;

}

.orb-3{

    width:180px;

    height:180px;

    background:rgba(255,122,0,.12);

    top:55%;

    right:35%;

    animation-delay:4s;

}

/* Grid */

.hero-grid{

    position:absolute;

    inset:0;

    background-image:

    linear-gradient(rgba(0,0,0,.03) 1px, transparent 1px),

    linear-gradient(90deg, rgba(0,0,0,.03) 1px, transparent 1px);

    background-size:80px 80px;

    opacity:.45;

    pointer-events:none;

}
.scroll-indicator{

    position:absolute;

    left:50%;

    bottom:45px;

    transform:translateX(-50%);

    width:34px;

    height:58px;

    border:2px solid var(--color-accent);

    border-radius:50px;

}

.scroll-indicator span{

    position:absolute;

    left:50%;

    top:10px;

    transform:translateX(-50%);

    width:6px;

    height:12px;

    border-radius:20px;

    background:var(--color-accent);

    animation:scrollWheel 2s infinite;

}
/*==================================================
    TECHNOLOGY ECOSYSTEM
==================================================*/

.technology-section{
    position:relative;
    padding:85px 0;
    background:#fff;
    overflow:hidden;
}

.technology-section .container{
    position:relative;
    z-index:10;
}

/*==============================
Background Orbs
==============================*/

.tech-orb{

    position:absolute;

    border-radius:50%;

    filter:blur(120px);

    pointer-events:none;

}

.tech-orb-1{

    width:380px;

    height:380px;

    background:rgba(255,122,0,.08);

    top:-120px;

    left:-120px;

}

.tech-orb-2{

    width:320px;

    height:320px;

    background:rgba(255,122,0,.05);

    bottom:-100px;

    right:-100px;

}

/*==============================
Heading
==============================*/

.technology-section .section-heading{

    max-width:760px;

    margin:0 auto 70px;

}

.technology-section h2{

    margin-bottom:22px;

}

.technology-section p{

    max-width:620px;

    margin:auto;

}
/*==================================================
    MARQUEE
==================================================*/

.technology-marquee{

    position:relative;

    width:100%;

    overflow:hidden;

    white-space:nowrap;

    padding:20px 0;

}

/* Left Fade */

.technology-marquee::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:180px;

    height:100%;

    z-index:20;

    background:

    linear-gradient(

        to right,

        #fff,

        transparent

    );

}

/* Right Fade */

.technology-marquee::after{

    content:"";

    position:absolute;

    right:0;

    top:0;

    width:180px;

    height:100%;

    z-index:20;

    background:

    linear-gradient(

        to left,

        #fff,

        transparent

    );

}
.technology-track{

    display:flex;

    align-items:center;

    gap:90px;

    width:max-content;

    animation:technologyMarquee 38s linear infinite;

}

.technology-marquee:hover .technology-track{

    animation-play-state:paused;

}

.technology-item{

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    gap:18px;

    flex-shrink:0;

    transition:.45s;

    cursor:pointer;

}

.technology-item img{

    width:auto;

    height:46px;

    max-width:150px;

    object-fit:contain;

    filter:

    grayscale(100%)

    opacity(.75);

    transition:.45s;

}

.technology-item span{

    font-size:15px;

    font-weight:700;

    color:#999;

    transition:.35s;

}
.technology-item:hover{

    transform:

    translateY(-8px)

    scale(1.08);

}

.technology-item:hover img{

    filter:none;

    opacity:1;

}

.technology-item:hover span{

    color:var(--color-accent);

}
.technology-item{

    position:relative;

}

.technology-item::before{

    content:"";

    position:absolute;

    width:90px;

    height:90px;

    border-radius:50%;

    background:

    radial-gradient(

        rgba(255,122,0,.18),

        transparent 70%

    );

    opacity:0;

    transition:.4s;

    z-index:-1;

}

.technology-item:hover::before{

    opacity:1;

}
.technology-item:nth-child(odd){

    animation:floatingLogo 5s ease-in-out infinite;

}

.technology-item:nth-child(even){

    animation:floatingLogo 7s ease-in-out infinite;

}
/*==================================================
    WHY GETPRO DESIGN
==================================================*/

.why-us-section{

    position:relative;

    padding:130px 0;

    background:#fff;

    overflow:hidden;

}

.why-us-section .container{

    position:relative;

    z-index:5;

}

/*=====================================
Background Blobs
======================================*/

.why-blob{

    position:absolute;

    border-radius:50%;

    filter:blur(120px);

    pointer-events:none;

}

.why-blob-1{

    width:380px;

    height:380px;

    background:rgba(255,122,0,.08);

    top:-140px;

    left:-140px;

}

.why-blob-2{

    width:340px;

    height:340px;

    background:rgba(255,122,0,.05);

    right:-100px;

    bottom:-120px;

}
/*=====================================
Dashboard
======================================*/

.why-image-wrapper{

    position:relative;

    max-width:580px;

    margin:auto;

}

.dashboard-preview{

    position:relative;

    border-radius:30px;

    overflow:hidden;

    background:#fff;

    border:1px solid rgba(0,0,0,.06);

    box-shadow:

    0 35px 80px rgba(0,0,0,.08);

}

.dashboard-preview img{

    width:100%;

    display:block;

}
/*=====================================
Floating Cards
======================================*/

.floating-info{

    position:absolute;

    display:flex;

    align-items:center;

    gap:18px;

    padding:20px 24px;

    background:rgba(255,255,255,.95);

    backdrop-filter:blur(20px);

    border-radius:20px;

    box-shadow:

    0 20px 40px rgba(0,0,0,.08);

    border:1px solid rgba(255,255,255,.6);

    transition:.4s;

}

.floating-info:hover{

    transform:translateY(-10px);

}
.floating-info .icon{

    width:60px;

    height:60px;

    border-radius:18px;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:24px;

    color:#fff;

    background:linear-gradient(

        135deg,

        #ff7a00,

        #ff9d3f

    );

}
.floating-info .icon{

    width:60px;

    height:60px;

    border-radius:18px;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:24px;

    color:#fff;

    background:linear-gradient(

        135deg,

        #ff7a00,

        #ff9d3f

    );

}
.floating-info h5{

    margin:0;

    font-size:28px;

    font-weight:800;

}

.floating-info p{

    margin:0;

    color:#777;

    font-size:14px;

}
.floating-info h5{

    margin:0;

    font-size:28px;

    font-weight:800;

}

.floating-info p{

    margin:0;

    color:#777;

    font-size:14px;

}
.card-one{

    top:40px;

    left:-50px;

}

.card-two{

    bottom:90px;

    right:-40px;

}

.card-three{

    bottom:-30px;

    left:70px;

}
.card-one{

    animation:floatCard 6s ease-in-out infinite;

}

.card-two{

    animation:floatCard 7s ease-in-out infinite;

}

.card-three{

    animation:floatCard 8s ease-in-out infinite;

}
/*==================================================
    WHY CONTENT
==================================================*/

.why-content{

    padding-left:50px;

}

.why-content .section-tag{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:10px 22px;

    border-radius:50px;

    background:rgba(255,122,0,.08);

    color:var(--color-accent);

    font-size:14px;

    font-weight:700;

    letter-spacing:.08em;

    text-transform:uppercase;

    margin-bottom:28px;

}

.why-content h2{

    font-size:56px;

    font-weight:800;

    line-height:1.15;

    color:var(--color-primary);

    margin-bottom:28px;

    max-width:620px;

}

.why-content h2 .text-gradient{

    background:linear-gradient(
        135deg,
        #ff7a00,
        #ff9f43
    );

    -webkit-background-clip:text;

    -webkit-text-fill-color:transparent;

    background-clip:text;

}

.why-content p{

    font-size:17px;

    line-height:1.9;

    color:#666;

    margin-bottom:24px;

    max-width:620px;

}
/*==================================================
    FEATURES
==================================================*/

.why-features{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:18px 30px;

    margin:45px 0;

}

.feature-item{

    display:flex;

    align-items:center;

    gap:15px;

    transition:.35s;

}

.feature-item i{

    width:38px;

    height:38px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    background:rgba(255,122,0,.10);

    color:var(--color-accent);

    font-size:16px;

    transition:.35s;

}

.feature-item span{

    font-size:16px;

    font-weight:600;

    color:#222;

}

.feature-item:hover{

    transform:translateX(8px);

}

.feature-item:hover i{

    background:var(--color-accent);

    color:#fff;

}
/*==================================================
    BUTTONS
==================================================*/

.why-buttons{

    display:flex;

    align-items:center;

    gap:18px;

    margin-top:50px;

}

.why-buttons .btn{

    min-width:190px;

    height:58px;

    border-radius:50px;

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:12px;

    font-size:15px;

    font-weight:700;

    transition:.4s;

    text-decoration:none;

}

.why-buttons .btn-primary{

    background:linear-gradient(
        135deg,
        #ff7a00,
        #ff9f43
    );

    color:#fff;

    border:none;

    box-shadow:0 15px 35px rgba(255,122,0,.25);

}

.why-buttons .btn-primary:hover{

    transform:translateY(-6px);

    box-shadow:0 25px 45px rgba(255,122,0,.35);

}

.why-buttons .btn-outline{

    border:2px solid #e5e5e5;

    color:#222;

    background:#fff;

}

.why-buttons .btn-outline:hover{

    border-color:var(--color-accent);

    color:var(--color-accent);

    transform:translateY(-6px);

}
/*==================================================
    WHY BOTTOM STATS
==================================================*/

.why-bottom-stats{

    margin-top:100px;

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

}

.stat-box{

    background:#fff;

    border:1px solid rgba(0,0,0,.06);

    border-radius:24px;

    text-align:center;

    padding:45px 20px;

    transition:.45s;

    box-shadow:

        0 20px 50px rgba(0,0,0,.05);

}

.stat-box:hover{

    transform:translateY(-12px);

    border-color:rgba(255,122,0,.25);

    box-shadow:

        0 30px 60px rgba(255,122,0,.12);

}

.stat-box h3{

    font-size:52px;

    font-weight:800;

    margin-bottom:10px;

    color:var(--color-primary);

}

.stat-box p{

    margin:0;

    color:#777;

    font-size:16px;

    font-weight:500;

}
.stat-box{

    position:relative;

    overflow:hidden;

}

.stat-box::before{

    content:"";

    position:absolute;

    width:250px;

    height:250px;

    border-radius:50%;

    background:

    radial-gradient(

        rgba(255,122,0,.10),

        transparent 70%

    );

    top:-120px;

    right:-120px;

    opacity:0;

    transition:.45s;

}

.stat-box:hover::before{

    opacity:1;

}
/*==================================================
    SERVICES SECTION
==================================================*/

.services-section{

    position:relative;

    padding:130px 0;

    background:#fff;

    overflow:hidden;

}

.services-section .container{

    position:relative;

    z-index:5;

}

/*==============================
Background Blobs
==============================*/

.services-blob{

    position:absolute;

    border-radius:50%;

    filter:blur(140px);

    pointer-events:none;

}

.services-blob-1{

    width:420px;

    height:420px;

    background:rgba(255,122,0,.07);

    left:-180px;

    top:80px;

}

.services-blob-2{

    width:380px;

    height:380px;

    background:rgba(255,122,0,.05);

    right:-120px;

    bottom:0;

}
/*==================================================
Heading
==================================================*/

.services-heading{

    margin-bottom:80px;

}

.services-heading h2{

    font-size:64px;

    font-weight:800;

    line-height:1.1;

    margin:22px 0;

}

.services-heading p{

    max-width:620px;

    font-size:18px;

    color:#666;

    line-height:1.9;

}

.services-link{

    display:inline-flex;

    align-items:center;

    gap:12px;

    font-size:17px;

    font-weight:700;

    color:var(--color-primary);

    text-decoration:none;

    transition:.35s;

}

.services-link:hover{

    color:var(--color-accent);

}

.services-link i{

    transition:.35s;

}

.services-link:hover i{

    transform:translateX(8px);

}
/*==================================================
Service List
==================================================*/

.services-list{

    border-top:1px solid rgba(0,0,0,.08);

}

.service-row{

    position:relative;

    display:flex;

    align-items:center;

    justify-content:space-between;

    padding:42px 0;

    text-decoration:none;

    color:inherit;

    border-bottom:1px solid rgba(0,0,0,.08);

    transition:.4s;

}

.service-row::before{

    content:"";

    position:absolute;

    left:0;

    bottom:-1px;

    width:0;

    height:2px;

    background:var(--color-accent);

    transition:.45s;

}

.service-row:hover::before{

    width:100%;

}
.service-number{

    width:60px;

    font-size:18px;

    font-weight:700;

    color:#bbb;

    flex-shrink:0;

}

.service-icon{

    width:64px;

    height:64px;

    flex-shrink:0;

    border-radius:50%;

    background:var(--color-accent-light);

    color:var(--color-accent);

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:24px;

    transition:.4s;

}

.service-content{

    flex:1;

    padding-left:32px;

}

.service-content h3{

    font-size:42px;

    font-weight:700;

    margin-bottom:12px;

    transition:.35s;

}

.service-content p{

    color:#666;

    font-size:17px;

    transition:.35s;

}
.service-arrow {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    border: 1px solid rgba(0, 0, 0, .08);
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 20px;
    transition: .4s;
    margin: 0 10px 0 0;
}
.service-row:hover{

    padding-left:20px;

}

.service-row:hover .service-number{

    color:var(--color-accent);

}

.service-row:hover h3{

    color:var(--color-accent);

}

.service-row:hover .service-icon{

    background:var(--color-accent);

    color:#fff;

    transform:scale(1.08);

}

.service-row:hover .service-arrow{

    background:var(--color-accent);

    color:#fff;

    transform:rotate(-45deg);

    border-color:var(--color-accent);

}

/*==================================================
    PORTFOLIO SECTION
==================================================*/

.portfolio-section{

    position:relative;

    padding:130px 0;

    background:var(--color-surface);

    overflow:hidden;

}

.portfolio-section .container{

    position:relative;

    z-index:5;

}

/*==============================
Background Blobs
==============================*/

.portfolio-blob{

    position:absolute;

    border-radius:50%;

    filter:blur(140px);

    pointer-events:none;

}

.portfolio-blob-1{

    width:400px;

    height:400px;

    background:rgba(255,122,0,.07);

    right:-160px;

    top:60px;

}

.portfolio-blob-2{

    width:340px;

    height:340px;

    background:rgba(255,122,0,.05);

    left:-120px;

    bottom:-80px;

}
/*==================================================
Heading
==================================================*/

.portfolio-heading h2{

    font-size:52px;

    font-weight:800;

    line-height:1.15;

    margin:20px 0 22px;

}

.portfolio-heading p{

    max-width:560px;

    font-size:17px;

    color:#666;

    line-height:1.9;

}
/*==============================
Filters
==============================*/

.portfolio-filters{

    display:inline-flex;

    flex-wrap:wrap;

    gap:10px;

    justify-content:flex-end;

}

.filter-btn{

    padding:11px 22px;

    border-radius:999px;

    border:1px solid var(--color-border);

    background:#fff;

    font-family:var(--font-heading);

    font-size:14px;

    font-weight:700;

    color:var(--text-body);

    transition:.35s;

}

.filter-btn:hover{

    border-color:var(--color-accent);

    color:var(--color-accent);

}

.filter-btn.active{

    background:var(--color-primary);

    border-color:var(--color-primary);

    color:#fff;

}
/*==================================================
Grid
==================================================*/

.portfolio-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:34px;

    margin-top:70px;

}

.portfolio-card{

    display:block;

    border-radius:26px;

    overflow:hidden;

    background:#fff;

    border:1px solid rgba(0,0,0,.06);

    box-shadow:0 20px 50px rgba(0,0,0,.05);

    transition:.45s;

}

.portfolio-card:hover{

    transform:translateY(-10px);

    box-shadow:0 35px 70px rgba(0,0,0,.10);

}
/*==============================
Thumbnail
==============================*/

.portfolio-thumb{

    position:relative;

    height:260px;

    padding:32px;

    display:flex;

    flex-direction:column;

    justify-content:center;

    overflow:hidden;

}

.thumb-dark{

    background:var(--color-primary);

}

.thumb-orange{

    background:linear-gradient(135deg,#ff7a00,#ff9d3f);

}

.thumb-light{

    background:var(--color-surface-alt);

    border-bottom:1px solid var(--color-border);

}

.thumb-browser{

    display:flex;

    gap:6px;

    margin-bottom:26px;

}

.thumb-browser span{

    width:10px;

    height:10px;

    border-radius:50%;

    background:rgba(255,255,255,.35);

}

.thumb-light .thumb-browser span{

    background:rgba(0,0,0,.15);

}

.thumb-lines .line{

    height:14px;

    border-radius:6px;

    background:rgba(255,255,255,.25);

    margin-bottom:12px;

}

.thumb-light .thumb-lines .line{

    background:rgba(0,0,0,.08);

}

.thumb-lines .line:last-child{

    margin-bottom:0;

}

.w-70{

    width:70%;

}

.w-40{

    width:40%;

}

.portfolio-view{

    position:absolute;

    top:24px;

    right:24px;

    width:46px;

    height:46px;

    border-radius:50%;

    background:rgba(255,255,255,.16);

    backdrop-filter:blur(10px);

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:15px;

    opacity:0;

    transform:translateY(-10px);

    transition:.4s;

}

.thumb-light .portfolio-view{

    background:rgba(0,0,0,.06);

    color:var(--color-primary);

}

.portfolio-card:hover .portfolio-view{

    opacity:1;

    transform:translateY(0);

}
/*==============================
Info
==============================*/

.portfolio-info{

    padding:30px;

}

.portfolio-category{

    display:inline-block;

    font-size:13px;

    font-weight:700;

    letter-spacing:.06em;

    text-transform:uppercase;

    color:var(--color-accent);

    margin-bottom:12px;

}

.portfolio-info h3{

    font-size:24px;

    margin-bottom:10px;

    transition:.35s;

}

.portfolio-info p{

    color:#666;

    font-size:15px;

    line-height:1.7;

    margin:0;

}

.portfolio-card:hover .portfolio-info h3{

    color:var(--color-accent);

}
/*==============================
Bottom CTA
==============================*/

.portfolio-bottom{

    margin-top:70px;

}
/*==================================================
Responsive
==================================================*/

@media(max-width:992px){

.portfolio-grid{

grid-template-columns:repeat(2,1fr);

}

.portfolio-filters{

justify-content:flex-start;

margin-top:24px;

}

}

@media(max-width:576px){

.portfolio-grid{

grid-template-columns:1fr;

gap:24px;

}

.portfolio-heading h2{

font-size:38px;

}

}
/*==================================================
    BACK TO TOP
==================================================*/

#backToTop{

    position:fixed;

    right:30px;

    bottom:30px;

    width:52px;

    height:52px;

    border-radius:50%;

    background:var(--color-accent);

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:18px;

    box-shadow:0 15px 35px rgba(255,122,0,.3);

    opacity:0;

    visibility:hidden;

    transform:translateY(15px);

    transition:.4s ease;

    z-index:var(--z-fixed);

}

#backToTop.show{

    opacity:1;

    visibility:visible;

    transform:translateY(0);

}

#backToTop:hover{

    background:var(--color-accent-hover);

    transform:translateY(-4px);

}

@media(max-width:576px){

#backToTop{

right:18px;

bottom:18px;

width:46px;

height:46px;

font-size:16px;

}

}
/*==================================================
    CASE STUDIES SECTION
==================================================*/

.case-studies-section{

    position:relative;

    padding:130px 0;

    background:#fff;

    overflow:hidden;

}

.case-studies-section .container{

    position:relative;

    z-index:5;

}

/*==============================
Background Blobs
==============================*/

.case-studies-blob{

    position:absolute;

    border-radius:50%;

    filter:blur(140px);

    pointer-events:none;

}

.case-studies-blob-1{

    width:380px;

    height:380px;

    background:rgba(255,122,0,.06);

    left:-140px;

    top:-80px;

}

.case-studies-blob-2{

    width:340px;

    height:340px;

    background:rgba(255,122,0,.05);

    right:-120px;

    bottom:-100px;

}
/*==================================================
Heading
==================================================*/

.case-studies-heading{

    max-width:680px;

    margin:0 auto 70px;

}

.case-studies-heading h2{

    font-size:52px;

    font-weight:800;

    line-height:1.15;

    margin:20px 0 22px;

}

.case-studies-heading p{

    font-size:17px;

    color:#666;

    line-height:1.9;

}
/*==================================================
Slider
==================================================*/

.case-studies-slider-wrapper{

    position:relative;

}

.case-studies-slider{

    overflow:hidden;

    padding:6px 6px 10px;

}

.case-studies-slider .swiper-slide{

    height:auto;

}

.case-study-card{

    display:flex;

    flex-direction:column;

    height:100%;

    padding:38px;

    border-radius:26px;

    background:#fff;

    border:1px solid rgba(0,0,0,.06);

    box-shadow:0 20px 50px rgba(0,0,0,.05);

    transition:.45s;

}

.case-study-card:hover{

    transform:translateY(-10px);

    box-shadow:0 35px 70px rgba(0,0,0,.10);

    border-color:rgba(255,122,0,.2);

}
/*==============================
Tag + Heading
==============================*/

.case-study-tag{

    display:inline-block;

    align-self:flex-start;

    padding:8px 16px;

    border-radius:999px;

    background:var(--color-accent-light);

    color:var(--color-accent);

    font-size:13px;

    font-weight:700;

    margin-bottom:20px;

}

.case-study-card h3{

    font-size:26px;

    margin-bottom:14px;

    transition:.35s;

}

.case-study-card:hover h3{

    color:var(--color-accent);

}

.case-study-card p{

    color:#666;

    font-size:15px;

    line-height:1.8;

    margin-bottom:28px;

}
/*==============================
Metrics
==============================*/

.case-study-metrics{

    display:flex;

    align-items:center;

    gap:18px;

    padding:22px 0;

    margin-bottom:26px;

    border-top:1px solid rgba(0,0,0,.08);

    border-bottom:1px solid rgba(0,0,0,.08);

}

.metric{

    flex:1;

    text-align:center;

}

.metric:not(:last-child){

    border-right:1px solid rgba(0,0,0,.08);

}

.metric h4{

    font-size:22px;

    font-weight:800;

    color:var(--color-primary);

    margin-bottom:4px;

}

.metric span{

    font-size:12px;

    color:#888;

    font-weight:600;

    display:block;

}
/*==============================
Link
==============================*/

.case-study-link{

    display:inline-flex;

    align-items:center;

    gap:10px;

    font-size:15px;

    font-weight:700;

    color:var(--color-primary);

    margin-top:auto;

    transition:.35s;

}

.case-study-card:hover .case-study-link{

    color:var(--color-accent);

}

.case-study-link i{

    transition:.35s;

}

.case-study-card:hover .case-study-link i{

    transform:translateX(6px);

}
/*==============================
Nav Arrows
==============================*/

.case-studies-arrow{

    position:absolute;

    top:50%;

    transform:translateY(-50%);

    width:58px;

    height:58px;

    border-radius:50%;

    background:#fff;

    border:1px solid rgba(0,0,0,.08);

    box-shadow:0 15px 35px rgba(0,0,0,.08);

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:16px;

    color:var(--color-primary);

    z-index:10;

    transition:.35s;

}

.case-studies-arrow:hover{

    background:var(--color-accent);

    border-color:var(--color-accent);

    color:#fff;

}

.case-studies-prev{

    left:-26px;

}

.case-studies-next{

    right:-26px;

}

.case-studies-arrow.swiper-button-disabled{

    opacity:.35;

    pointer-events:none;

}
/*==============================
Pagination
==============================*/

.case-studies-pagination{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:8px;

    margin-top:36px;

}

.case-studies-pagination .swiper-pagination-bullet{

    width:8px;

    height:8px;

    border-radius:50%;

    background:#ddd;

    opacity:1;

    margin:0;

    cursor:pointer;

    transition:.35s;

}

.case-studies-pagination .swiper-pagination-bullet-active{

    width:26px;

    border-radius:4px;

    background:var(--color-accent);

}
/*==============================
Bottom CTA
==============================*/

.case-studies-bottom{

    margin-top:20px;

}
/*==================================================
Responsive
==================================================*/

@media(max-width:1200px){

.case-studies-arrow{

display:none;

}

}

@media(max-width:576px){

.case-studies-heading h2{

font-size:36px;

}

.case-study-metrics{

flex-wrap:wrap;

}

.metric{

min-width:40%;

}

.metric:nth-child(2){

border-right:none;

}

}
/*==================================================
    INDUSTRIES SECTION
==================================================*/

.industries-section{

    position:relative;

    padding:130px 0;

    background:var(--color-surface);

    overflow:hidden;

}

.industries-section .container{

    position:relative;

    z-index:5;

}

/*==============================
Background Blobs
==============================*/

.industries-blob{

    position:absolute;

    border-radius:50%;

    filter:blur(140px);

    pointer-events:none;

}

.industries-blob-1{

    width:380px;

    height:380px;

    background:rgba(255,122,0,.06);

    right:-140px;

    top:-60px;

}

.industries-blob-2{

    width:320px;

    height:320px;

    background:rgba(255,122,0,.05);

    left:-100px;

    bottom:-100px;

}
/*==================================================
Heading
==================================================*/

.industries-heading{

    max-width:680px;

    margin:0 auto 70px;

}

.industries-heading h2{

    font-size:52px;

    font-weight:800;

    line-height:1.15;

    margin:20px 0 22px;

}

.industries-heading p{

    font-size:17px;

    color:#666;

    line-height:1.9;

}
/*==================================================
Grid
==================================================*/

.industries-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:28px;

}

.industry-card{

    padding:40px 34px;

    border-radius:24px;

    background:#fff;

    border:1px solid rgba(0,0,0,.06);

    box-shadow:0 15px 40px rgba(0,0,0,.04);

    transition:.4s;

}

.industry-card:hover{

    transform:translateY(-8px);

    box-shadow:0 30px 60px rgba(255,122,0,.10);

    border-color:rgba(255,122,0,.2);

}

.industry-icon{

    display:flex;

    align-items:center;

    justify-content:center;

    width:60px;

    height:60px;

    border-radius:18px;

    background:var(--color-accent-light);

    color:var(--color-accent);

    font-size:24px;

    margin-bottom:24px;

    transition:.4s;

}

.industry-card:hover .industry-icon{

    background:var(--color-accent);

    color:#fff;

    transform:scale(1.08);

}

.industry-card h3{

    font-size:22px;

    margin-bottom:12px;

    transition:.35s;

}

.industry-card:hover h3{

    color:var(--color-accent);

}

.industry-card p{

    color:#666;

    font-size:15px;

    line-height:1.8;

    margin:0;

}
/*==================================================
Responsive
==================================================*/

@media(max-width:992px){

.industries-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:576px){

.industries-grid{

grid-template-columns:1fr;

}

.industries-heading h2{

font-size:36px;

}

.industry-card{

padding:32px 26px;

}

}
/*==================================================
    STATISTICS SECTION
==================================================*/

.statistics-section{

    position:relative;

    padding:130px 0;

    background:var(--color-primary);

    overflow:hidden;

}

.statistics-section .container{

    position:relative;

    z-index:5;

}

/*====================================
Background Glow
====================================*/

.statistics-glow{

    position:absolute;

    border-radius:50%;

    filter:blur(150px);

    pointer-events:none;

}

.statistics-glow-1{

    width:460px;

    height:460px;

    background:rgba(255,122,0,.16);

    top:-160px;

    left:-120px;

}

.statistics-glow-2{

    width:380px;

    height:380px;

    background:rgba(255,122,0,.13);

    bottom:-140px;

    right:-100px;

}

/*==================================================
Heading
==================================================*/

.statistics-heading{

    max-width:680px;

    margin:0 auto 80px;

}

.statistics-heading .section-tag-dark{

    background:rgba(255,255,255,.08);

    color:var(--color-accent);

}

.statistics-heading h2{

    font-size:52px;

    font-weight:800;

    line-height:1.15;

    color:#fff;

    margin:20px 0 22px;

}

.statistics-heading h2 .text-gradient{

    background:linear-gradient(135deg,#ff7a00,#ff9f43);

    -webkit-background-clip:text;

    -webkit-text-fill-color:transparent;

    background-clip:text;

}

.statistics-heading p{

    font-size:17px;

    color:rgba(255,255,255,.6);

    line-height:1.9;

}

/*==================================================
Stats Grid
==================================================*/

.statistics-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:20px;

}

.stat-block{

    position:relative;

    text-align:center;

    padding:0 20px;

}

.stat-block:not(:last-child)::after{

    content:"";

    position:absolute;

    right:0;

    top:6px;

    width:1px;

    height:calc(100% - 12px);

    background:rgba(255,255,255,.12);

}

.stat-block h3{

    font-size:56px;

    font-weight:800;

    color:#fff;

    line-height:1.1;

    margin-bottom:12px;

}

.stat-block p{

    font-size:15px;

    font-weight:500;

    color:rgba(255,255,255,.55);

    margin:0;

}

@media(max-width:991px){

.statistics-heading h2{

font-size:42px;

}

.statistics-grid{

grid-template-columns:repeat(2,1fr);

row-gap:50px;

}

.stat-block:nth-child(2)::after{

display:none;

}

}

@media(max-width:576px){

.statistics-section{

padding:72px 0;

}

.statistics-heading h2{

font-size:32px;

}

.statistics-grid{

grid-template-columns:1fr;

row-gap:40px;

}

.stat-block::after{

display:none;

}

.stat-block h3{

font-size:44px;

}

}

@media(max-width:767px){

.statistics-section{

display:none;

}

.hero-stats{

display:none;

}

}
/*==================================================
    TESTIMONIALS SECTION
==================================================*/

.testimonials-section{

    position:relative;

    padding:130px 0;

    background:var(--color-surface);

    overflow:hidden;

}

.testimonials-section .container{

    position:relative;

    z-index:5;

}

/*====================================
Background Blobs
====================================*/

.testimonials-blob{

    position:absolute;

    border-radius:50%;

    filter:blur(140px);

    pointer-events:none;

}

.testimonials-blob-1{

    width:400px;

    height:400px;

    background:rgba(255,122,0,.07);

    left:-160px;

    top:80px;

}

.testimonials-blob-2{

    width:340px;

    height:340px;

    background:rgba(255,122,0,.05);

    right:-140px;

    bottom:0;

}

/*==================================================
Heading
==================================================*/

.testimonials-heading{

    max-width:680px;

    margin:0 auto 70px;

}

.testimonials-heading h2{

    font-size:52px;

    font-weight:800;

    line-height:1.15;

    margin:20px 0 22px;

}

.testimonials-heading p{

    font-size:17px;

    color:#666;

    line-height:1.9;

}

/*==================================================
Slider
==================================================*/

.testimonials-slider-wrapper{

    position:relative;

}

.testimonials-slider{

    overflow:hidden;

    padding:6px 6px 10px;

}

.testimonials-slider .swiper-slide{

    height:auto;

}

/*==============================
Card
==============================*/

.testimonial-card{

    position:relative;

    display:flex;

    flex-direction:column;

    height:100%;

    padding:38px;

    border-radius:26px;

    background:#fff;

    border:1px solid rgba(0,0,0,.08);

    overflow:hidden;

    transition:.45s;

}

.testimonial-card:hover{

    transform:translateY(-10px);

    border-color:rgba(255,122,0,.3);

}

.testimonial-quote-icon{

    position:absolute;

    top:26px;

    right:30px;

    font-size:52px;

    color:rgba(255,122,0,.08);

}

.testimonial-rating{

    display:flex;

    gap:4px;

    margin-bottom:20px;

    color:var(--color-accent);

    font-size:14px;

}

.testimonial-quote{

    position:relative;

    color:#444;

    font-size:16px;

    line-height:1.85;

    margin-bottom:28px;

}

.testimonial-author{

    position:relative;

    display:flex;

    align-items:center;

    gap:16px;

    margin-top:auto;

    padding-top:24px;

    border-top:1px solid rgba(0,0,0,.08);

}

.testimonial-avatar{

    flex-shrink:0;

    width:52px;

    height:52px;

    border-radius:50%;

    background:var(--color-accent-light);

    color:var(--color-accent);

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:16px;

    font-weight:800;

}

.testimonial-author h4{

    font-size:16px;

    font-weight:700;

    margin-bottom:2px;

}

.testimonial-author span{

    font-size:13px;

    color:#888;

}

/*==============================
Nav Arrows
==============================*/

.testimonials-arrow{

    position:absolute;

    top:50%;

    transform:translateY(-50%);

    width:58px;

    height:58px;

    border-radius:50%;

    background:#fff;

    border:1px solid rgba(0,0,0,.12);

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:16px;

    color:var(--color-primary);

    z-index:10;

    transition:.35s;

}

.testimonials-arrow:hover{

    background:var(--color-accent);

    border-color:var(--color-accent);

    color:#fff;

}

.testimonials-prev{

    left:-26px;

}

.testimonials-next{

    right:-26px;

}

.testimonials-arrow.swiper-button-disabled{

    opacity:.35;

    pointer-events:none;

}

/*==============================
Pagination
==============================*/

.testimonials-pagination{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:8px;

    margin-top:36px;

}

.testimonials-pagination .swiper-pagination-bullet{

    width:8px;

    height:8px;

    border-radius:50%;

    background:#ddd;

    opacity:1;

    margin:0;

    cursor:pointer;

    transition:.35s;

}

.testimonials-pagination .swiper-pagination-bullet-active{

    width:26px;

    border-radius:4px;

    background:var(--color-accent);

}

@media(max-width:1200px){

.testimonials-arrow{

display:none;

}

}

@media(max-width:576px){

.testimonials-heading h2{

font-size:36px;

}

.testimonial-card{

padding:30px;

}

.testimonial-quote{

font-size:15px;

}

}
/*==================================================
    PRICING SECTION
==================================================*/

.pricing-section{

    position:relative;

    padding:130px 0;

    background:#fff;

    overflow:hidden;

}

.pricing-section .container{

    position:relative;

    z-index:5;

}

/*====================================
Background Blobs
====================================*/

.pricing-blob{

    position:absolute;

    border-radius:50%;

    filter:blur(140px);

    pointer-events:none;

}

.pricing-blob-1{

    width:400px;

    height:400px;

    background:rgba(255,122,0,.07);

    right:-160px;

    top:60px;

}

.pricing-blob-2{

    width:340px;

    height:340px;

    background:rgba(255,122,0,.05);

    left:-140px;

    bottom:0;

}

/*==================================================
Heading
==================================================*/

.pricing-heading{

    max-width:680px;

    margin:0 auto 70px;

}

.pricing-heading h2{

    font-size:52px;

    font-weight:800;

    line-height:1.15;

    margin:20px 0 22px;

}

.pricing-heading p{

    font-size:17px;

    color:#666;

    line-height:1.9;

}

/*==================================================
Grid
==================================================*/

.pricing-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

    align-items:start;

}

/*==============================
Card
==============================*/

.pricing-card{

    position:relative;

    display:flex;

    flex-direction:column;

    padding:44px 38px;

    border-radius:26px;

    background:var(--color-surface);

    border:1px solid rgba(0,0,0,.06);

    transition:.45s;

}

.pricing-card:hover{

    transform:translateY(-8px);

    box-shadow:0 30px 60px rgba(0,0,0,.08);

}

.pricing-featured{

    background:var(--color-primary);

    border-color:var(--color-primary);

    transform:scale(1.04);

    z-index:2;

    box-shadow:0 35px 70px rgba(0,0,0,.16);

}

.pricing-featured:hover{

    transform:scale(1.04) translateY(-8px);

}

.pricing-badge{

    position:absolute;

    top:-16px;

    left:50%;

    transform:translateX(-50%);

    padding:8px 22px;

    border-radius:999px;

    background:var(--color-accent);

    color:#fff;

    font-size:13px;

    font-weight:700;

    letter-spacing:.03em;

    white-space:nowrap;

    box-shadow:0 10px 25px rgba(255,122,0,.35);

}

/*==============================
Header
==============================*/

.pricing-card-header h3{

    font-size:26px;

    font-weight:800;

    margin-bottom:10px;

}

.pricing-featured .pricing-card-header h3{

    color:#fff;

}

.pricing-card-header p{

    color:#666;

    font-size:15px;

    line-height:1.7;

    min-height:52px;

}

.pricing-featured .pricing-card-header p{

    color:rgba(255,255,255,.65);

}

/*==============================
Price
==============================*/

.pricing-price{

    display:flex;

    align-items:flex-end;

    gap:4px;

    margin:24px 0 28px;

}

.pricing-currency{

    font-size:24px;

    font-weight:700;

    color:var(--color-primary);

    padding-bottom:8px;

}

.pricing-amount{

    font-size:48px;

    font-weight:800;

    color:var(--color-primary);

    line-height:1;

}

.pricing-amount-custom{

    font-size:38px;

}

.pricing-period{

    font-size:14px;

    color:#888;

    padding-bottom:10px;

}

.pricing-featured .pricing-currency,
.pricing-featured .pricing-amount{

    color:#fff;

}

.pricing-featured .pricing-period{

    color:rgba(255,255,255,.55);

}

/*==============================
Button
==============================*/

.pricing-card .btn{

    width:100%;

}

.pricing-featured .btn-primary{

    box-shadow:0 15px 35px rgba(255,122,0,.3);

}

/*==============================
Features
==============================*/

.pricing-features{

    display:flex;

    flex-direction:column;

    gap:16px;

    margin:32px 0 0;

    padding-top:28px;

    border-top:1px solid rgba(0,0,0,.08);

}

.pricing-featured .pricing-features{

    border-top-color:rgba(255,255,255,.12);

}

.pricing-features li{

    display:flex;

    align-items:flex-start;

    gap:12px;

    font-size:14px;

    font-weight:500;

    color:#444;

    line-height:1.5;

}

.pricing-featured .pricing-features li{

    color:rgba(255,255,255,.8);

}

.pricing-features li i{

    color:var(--color-accent);

    font-size:15px;

    margin-top:2px;

    flex-shrink:0;

}

.pricing-featured .pricing-features li i{

    color:var(--color-accent);

}

/*==============================
Bottom Note
==============================*/

.pricing-note{

    text-align:center;

    margin-top:44px;

    color:#666;

    font-size:15px;

}

.pricing-note a{

    color:var(--color-accent);

    font-weight:700;

    text-decoration:underline;

}

@media(max-width:992px){

.pricing-heading h2{

font-size:42px;

}

.pricing-grid{

grid-template-columns:1fr;

max-width:480px;

margin:0 auto;

gap:50px 0;

}

.pricing-featured{

transform:scale(1);

order:-1;

}

.pricing-featured:hover{

transform:translateY(-8px);

}

}

@media(max-width:576px){

.pricing-section{

padding:72px 0;

}

.pricing-heading h2{

font-size:32px;

}

.pricing-card{

padding:36px 26px;

}

.pricing-amount{

font-size:40px;

}

}
/*==================================================
    FAQ SECTION
==================================================*/

.faq-section{

    position:relative;

    padding:130px 0;

    background:var(--color-surface);

    overflow:hidden;

}

.faq-section .container{

    position:relative;

    z-index:5;

}

/*====================================
Background Blobs
====================================*/

.faq-blob{

    position:absolute;

    border-radius:50%;

    filter:blur(140px);

    pointer-events:none;

}

.faq-blob-1{

    width:380px;

    height:380px;

    background:rgba(255,122,0,.07);

    right:-140px;

    top:0;

}

.faq-blob-2{

    width:320px;

    height:320px;

    background:rgba(255,122,0,.05);

    left:-120px;

    bottom:0;

}

/*==================================================
Heading
==================================================*/

.faq-heading{

    max-width:680px;

    margin:0 auto 60px;

}

.faq-heading h2{

    font-size:52px;

    font-weight:800;

    line-height:1.15;

    margin:20px 0 22px;

}

.faq-heading p{

    font-size:17px;

    color:#666;

    line-height:1.9;

}

/*==================================================
List
==================================================*/

.faq-list{

    max-width:840px;

    margin:0 auto;

    display:flex;

    flex-direction:column;

    gap:18px;

}

.faq-item{

    border-radius:20px;

    background:#fff;

    border:1px solid rgba(0,0,0,.06);

    box-shadow:0 15px 40px rgba(0,0,0,.04);

    transition:.35s;

}

.faq-item.active{

    border-color:rgba(255,122,0,.25);

    box-shadow:0 20px 50px rgba(0,0,0,.07);

}

/*==============================
Question
==============================*/

.faq-question{

    width:100%;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:20px;

    padding:26px 30px;

    background:none;

    border:none;

    text-align:left;

    font-family:var(--font-heading);

    font-size:17px;

    font-weight:700;

    color:var(--color-primary);

    cursor:pointer;

}

.faq-item.active .faq-question{

    color:var(--color-accent);

}

.faq-question i{

    flex-shrink:0;

    width:34px;

    height:34px;

    border-radius:50%;

    background:var(--color-accent-light);

    color:var(--color-accent);

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:14px;

    transition:.4s;

}

.faq-item.active .faq-question i{

    background:var(--color-accent);

    color:#fff;

    transform:rotate(135deg);

}

/*==============================
Answer
==============================*/

.faq-answer{

    display:grid;

    grid-template-rows:0fr;

    opacity:0;

    overflow:hidden;

    transition:grid-template-rows .4s ease, opacity .3s ease;

}

.faq-item.active .faq-answer{

    grid-template-rows:1fr;

    opacity:1;

}

.faq-answer p{

    overflow:hidden;

    min-height:0;

    margin:0;

    padding:0 30px 26px;

    color:#666;

    font-size:15px;

    line-height:1.85;

}

@media(max-width:576px){

.faq-section{

padding:72px 0;

}

.faq-heading h2{

font-size:32px;

}

.faq-question{

padding:22px 22px;

font-size:15px;

gap:14px;

}

.faq-answer p{

padding:0 22px 22px;

font-size:14px;

}

}
/*==================================================
BLOG SECTION
==================================================*/

.blog-section{

    position:relative;

    padding:130px 0;

    overflow:hidden;

    background:var(--color-surface-alt);

}

.blog-blob{

    position:absolute;

    border-radius:50%;

    filter:blur(120px);

    z-index:0;

    pointer-events:none;

}

.blog-blob-1{

    width:420px;

    height:420px;

    background:var(--color-accent-light);

    top:-120px;

    left:-140px;

    opacity:.5;

}

.blog-blob-2{

    width:380px;

    height:380px;

    background:var(--color-accent-light);

    bottom:-140px;

    right:-120px;

    opacity:.4;

}

.blog-section .container{

    position:relative;

    z-index:1;

}

.blog-heading p{

    max-width:520px;

    color:#666;

    font-size:17px;

    line-height:1.7;

    margin-top:18px;

    margin-bottom:0;

}

.blog-view-link{

    display:inline-flex;

    align-items:center;

    gap:12px;

    font-size:17px;

    font-weight:700;

    color:var(--color-primary);

    text-decoration:none;

    transition:.35s;

}

.blog-view-link:hover{

    color:var(--color-accent);

}

.blog-view-link i{

    transition:.35s;

}

.blog-view-link:hover i{

    transform:translateX(8px);

}
/*==============================
Grid
==============================*/

.blog-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:34px;

    margin-top:70px;

}

.blog-card{

    display:block;

    border-radius:26px;

    overflow:hidden;

    background:#fff;

    border:1px solid rgba(0,0,0,.06);

    box-shadow:0 20px 50px rgba(0,0,0,.05);

    text-decoration:none;

    transition:.45s;

}

.blog-card:hover{

    transform:translateY(-10px);

    box-shadow:0 35px 70px rgba(0,0,0,.10);

}
/*==============================
Thumbnail
==============================*/

.blog-thumb{

    position:relative;

    height:220px;

    display:flex;

    align-items:center;

    justify-content:center;

    overflow:hidden;

}

.blog-thumb img{

    position:absolute;

    inset:0;

    width:100%;

    height:100%;

    object-fit:cover;

    z-index:2;

    transition:transform .6s ease;

}

.blog-card:hover .blog-thumb img{

    transform:scale(1.08);

}

.blog-thumb::before{

    content:"";

    position:absolute;

    inset:0;

    z-index:3;

    pointer-events:none;

    background:linear-gradient(165deg, rgba(10,10,10,.5) 0%, rgba(10,10,10,.12) 45%, rgba(10,10,10,.02) 75%);

}

.blog-thumb i{

    position:relative;

    z-index:1;

    font-size:46px;

    color:rgba(255,255,255,.85);

    transition:.45s;

}

.blog-thumb.thumb-light i{

    color:rgba(21,21,21,.16);

}

.blog-card:hover .blog-thumb i{

    transform:scale(1.12);

}

.blog-category{

    position:absolute;

    top:20px;

    left:20px;

    z-index:4;

    display:inline-block;

    padding:6px 16px;

    border-radius:100px;

    background:rgba(255,255,255,.18);

    backdrop-filter:blur(10px);

    color:#fff;

    font-size:12px;

    font-weight:700;

    letter-spacing:.05em;

    text-transform:uppercase;

}
/*==============================
Info
==============================*/

.blog-info{

    padding:30px;

}

.blog-meta{

    display:flex;

    align-items:center;

    gap:18px;

    margin-bottom:16px;

    color:#888;

    font-size:13px;

    font-weight:600;

}

.blog-meta i{

    color:var(--color-accent);

    margin-right:6px;

}

.blog-info h3{

    font-size:21px;

    line-height:1.35;

    margin-bottom:12px;

    transition:.35s;

}

.blog-card:hover .blog-info h3{

    color:var(--color-accent);

}

.blog-info p{

    color:#666;

    font-size:15px;

    line-height:1.7;

    margin-bottom:20px;

}

.blog-read-link{

    display:inline-flex;

    align-items:center;

    gap:10px;

    font-size:15px;

    font-weight:700;

    color:var(--color-primary);

    transition:.35s;

}

.blog-card:hover .blog-read-link{

    color:var(--color-accent);

}

.blog-read-link i{

    font-size:13px;

    transition:.35s;

}

.blog-card:hover .blog-read-link i{

    transform:translateX(8px);

}
/*==================================================
Responsive
==================================================*/

@media(max-width:992px){

.blog-grid{

    grid-template-columns:1fr;

}

}

@media(max-width:576px){

.blog-section{

padding:72px 0;

}

.blog-heading h2{

font-size:32px;

}

.blog-view-link{

margin-top:22px;

}

.blog-info{

padding:26px;

}

}
/*==================================================
CTA SECTION
==================================================*/

.cta-section{

    position:relative;

    padding:0 0 72px;

    background:#fff;

}

.cta-box{

    position:relative;

    overflow:hidden;

    border-radius:28px;

    padding:64px 50px;

    text-align:center;

    background:var(--color-primary);

}
/*==============================
Background Decoration
==============================*/

.cta-glow{

    position:absolute;

    border-radius:50%;

    filter:blur(150px);

    pointer-events:none;

    z-index:0;

}

.cta-glow-1{

    width:360px;

    height:360px;

    background:rgba(255,122,0,.18);

    top:-130px;

    left:-100px;

}

.cta-glow-2{

    width:320px;

    height:320px;

    background:rgba(255,122,0,.14);

    bottom:-140px;

    right:-100px;

}

.cta-grid-pattern{

    position:absolute;

    inset:0;

    z-index:0;

    pointer-events:none;

    background-image:radial-gradient(rgba(255,255,255,.08) 1.5px, transparent 1.5px);

    background-size:26px 26px;

    -webkit-mask-image:radial-gradient(circle at 50% 35%, #000 0%, transparent 72%);

    mask-image:radial-gradient(circle at 50% 35%, #000 0%, transparent 72%);

}
/*==============================
Content
==============================*/

.cta-content{

    position:relative;

    z-index:1;

    max-width:560px;

    margin:0 auto;

}

.cta-content .section-tag-dark{

    background:rgba(255,255,255,.08);

    color:var(--color-accent);

}

.cta-content h2{

    font-size:36px;

    font-weight:800;

    line-height:1.2;

    color:#fff;

    margin:16px 0 14px;

}

.cta-content h2 .text-gradient{

    background:linear-gradient(135deg,#ff7a00,#ff9f43);

    -webkit-background-clip:text;

    -webkit-text-fill-color:transparent;

    background-clip:text;

}

.cta-content > p{

    font-size:15px;

    color:rgba(255,255,255,.65);

    line-height:1.75;

    margin-bottom:26px;

}
/*==============================
Buttons
==============================*/

.cta-buttons{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:16px;

    flex-wrap:wrap;

    margin-bottom:32px;

}

.cta-box .btn-outline{

    border-color:rgba(255,255,255,.35);

    color:#fff;

}

.cta-box .btn-outline:hover{

    background:#fff;

    border-color:#fff;

    color:var(--color-primary);

}
/*==============================
Trust Row
==============================*/

.cta-trust-row{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:28px;

    flex-wrap:wrap;

    padding-top:26px;

    border-top:1px solid rgba(255,255,255,.1);

}

.cta-trust-item{

    display:flex;

    align-items:center;

    gap:10px;

    color:rgba(255,255,255,.7);

    font-size:14px;

    font-weight:600;

}

.cta-trust-item i{

    color:var(--color-accent);

    font-size:15px;

}
/*==================================================
Responsive
==================================================*/

@media(max-width:768px){

.cta-box{

padding:48px 28px;

}

.cta-content h2{

font-size:30px;

}

.cta-trust-row{

flex-direction:column;

align-items:flex-start;

gap:16px;

}

}

@media(max-width:576px){

.cta-section{

padding:0 0 70px;

}

.cta-buttons{

flex-direction:column;

width:100%;

}

.cta-buttons .btn{

width:100%;

}

}
/*==================================================
CONTACT SECTION
==================================================*/

.contact-section{

    position:relative;

    padding:130px 0;

    background:var(--color-surface);

    overflow:hidden;

}

.contact-blob{

    position:absolute;

    border-radius:50%;

    filter:blur(120px);

    z-index:0;

    pointer-events:none;

}

.contact-blob-1{

    width:420px;

    height:420px;

    background:var(--color-accent-light);

    top:-120px;

    right:-140px;

    opacity:.5;

}

.contact-blob-2{

    width:380px;

    height:380px;

    background:var(--color-accent-light);

    bottom:-140px;

    left:-120px;

    opacity:.4;

}

.contact-section .container{

    position:relative;

    z-index:1;

}
/*==============================
Heading
==============================*/

.contact-heading{

    max-width:640px;

    margin:0 auto 70px;

    text-align:center;

}

.contact-heading p{

    color:#666;

    font-size:17px;

    line-height:1.8;

    margin-top:18px;

    margin-bottom:0;

}
/*==============================
Grid
==============================*/

.contact-grid{

    display:grid;

    grid-template-columns:minmax(280px,380px) 1fr;

    gap:60px;

    align-items:start;

}
/*==============================
Info Column
==============================*/

.contact-info{

    display:flex;

    flex-direction:column;

    gap:32px;

}

.contact-info-item{

    display:flex;

    align-items:flex-start;

    gap:18px;

}

.contact-info-icon{

    flex-shrink:0;

    width:52px;

    height:52px;

    border-radius:50%;

    background:var(--color-accent-light);

    color:var(--color-accent);

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:18px;

}

.contact-info-item h4{

    font-size:17px;

    margin-bottom:6px;

    color:var(--color-primary);

}

.contact-info-item p{

    color:#666;

    font-size:15px;

    line-height:1.7;

    margin:0;

}

.contact-info-item a{

    color:var(--color-primary);

    font-weight:600;

    font-size:15px;

    text-decoration:none;

    transition:.3s;

}

.contact-info-item a:hover{

    color:var(--color-accent);

}

.contact-social{

    display:flex;

    gap:12px;

    margin-top:6px;

}

.contact-social a{

    width:44px;

    height:44px;

    border-radius:50%;

    border:1.5px solid var(--color-border);

    display:flex;

    align-items:center;

    justify-content:center;

    color:var(--color-primary);

    transition:.35s;

}

.contact-social a:hover{

    background:var(--color-accent);

    border-color:var(--color-accent);

    color:#fff;

    transform:translateY(-4px);

}
/*==============================
Form
==============================*/

.contact-form{

    background:#fff;

    border-radius:26px;

    padding:44px;

    border:1px solid rgba(0,0,0,.06);

    box-shadow:0 20px 50px rgba(0,0,0,.05);

}

.contact-form-row{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:20px;

}

.form-group{

    margin-bottom:22px;

}

.form-group label{

    display:block;

    margin-bottom:8px;

    font-size:14px;

    font-weight:600;

    color:var(--color-primary);

}

.form-group input,
.form-group select,
.form-group textarea{

    width:100%;

    padding:14px 18px;

    border:1.5px solid var(--color-border);

    border-radius:12px;

    font-family:inherit;

    font-size:15px;

    line-height:1.5;

    color:var(--color-primary);

    background:var(--color-surface-alt);

    transition:.3s;

    box-sizing:border-box;

}

.form-group input:hover,
.form-group select:hover,
.form-group textarea:hover{

    border-color:rgba(0,0,0,.18);

}

.form-group select{

    appearance:none;
    -webkit-appearance:none;
    -moz-appearance:none;

    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9' fill='none'%3E%3Cpath d='M1 1L7 7L13 1' stroke='%23999999' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 18px center;
    background-size:13px;

    padding-right:44px;

    cursor:pointer;

}

.form-group select:focus{

    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9' fill='none'%3E%3Cpath d='M1 1L7 7L13 1' stroke='%23FF7A00' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");

}

.form-group textarea{

    resize:vertical;

    min-height:150px;

    line-height:1.7;

}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{

    outline:none;

    border-color:var(--color-accent);

    background:#fff;

    box-shadow:0 0 0 4px rgba(255,122,0,.08);

}

.form-group input::placeholder,
.form-group textarea::placeholder{

    color:#a3a3a3;

}

.contact-form .btn-block{

    margin-top:6px;

}

/* Contact Form 7 compatibility — CF7 wraps each field in a
   .wpcf7-form-control-wrap span, which sits harmlessly between .form-group
   and the input/select/textarea it already styles. These rules only cover
   what CF7 adds on top: inline validation tips and the submit response box. */
.wpcf7-not-valid-tip{

    display:block;
    color:#e5484d;
    font-size:13px;
    margin-top:6px;

}

.wpcf7-form-control-wrap{

    display:block;

}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output{

    border-color:#e5484d;
    color:#e5484d;

}

.wpcf7 form.sent .wpcf7-response-output{

    border-color:#2fac66;
    color:#2fac66;

}

.wpcf7-response-output{

    margin:16px 0 0;
    padding:14px 18px;
    border:1px solid rgba(255,122,0,.35);
    border-radius:12px;
    font-size:14px;
    color:var(--color-text-light,#6b7280);

}

.wpcf7-spinner{

    margin-left:10px;

}

/* Baseline styling for CF7's OWN default field markup — this covers any
   CF7 form that ISN'T built with this theme's custom .form-group /
   .contact-form-row wrapper divs (e.g. the plugin's stock template form),
   so it never renders as bare unstyled browser inputs. Custom-built forms
   are unaffected since their .form-group rules are more specific and take
   priority for shared properties. */
.wpcf7-form p{
    margin-bottom:22px;
}

.wpcf7-form label{
    display:block;
    margin-bottom:8px;
    font-size:14px;
    font-weight:600;
    color:var(--color-primary);
}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="url"],
.wpcf7-form input[type="number"],
.wpcf7-form select,
.wpcf7-form textarea{
    width:100%;
    padding:14px 18px;
    border:1.5px solid var(--color-border);
    border-radius:12px;
    font-family:inherit;
    font-size:15px;
    line-height:1.5;
    background:#f8f9fb;
    transition:all .3s ease;
    box-sizing:border-box;
}

.wpcf7-form select{
    appearance:none;
    -webkit-appearance:none;
    -moz-appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9' fill='none'%3E%3Cpath d='M1 1L7 7L13 1' stroke='%23999999' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 18px center;
    background-size:13px;
    padding-right:44px;
    cursor:pointer;
}

.wpcf7-form textarea{
    resize:vertical;
    min-height:150px;
    line-height:1.7;
}

.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form input[type="tel"]:focus,
.wpcf7-form input[type="url"]:focus,
.wpcf7-form input[type="number"]:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus{
    outline:none;
    border-color:var(--color-accent);
    background:#fff;
    box-shadow:0 0 0 4px rgba(255,122,0,.08);
}

.wpcf7-form input::placeholder,
.wpcf7-form textarea::placeholder{
    color:#a3a3a3;
}

.wpcf7-form input[type="submit"]{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    width:100%;
    padding:16px 28px;
    background:var(--color-accent);
    color:#fff;
    border:none;
    border-radius:14px;
    font-size:16px;
    font-weight:700;
    cursor:pointer;
    transition:all .3s ease;
}

.wpcf7-form input[type="submit"]:hover{
    filter:brightness(1.05);
    transform:translateY(-2px);
}

/*==================================================
Responsive — Contact Form
==================================================*/

@media (max-width:767px){
    .contact-form-row{
        grid-template-columns:1fr;
        gap:0;
    }

    .contact-form{
        padding:28px;
    }
}

/*==================================================
Responsive
==================================================*/

@media(max-width:992px){

.contact-grid{

grid-template-columns:1fr;

gap:50px;

}

}

@media(max-width:576px){

.contact-section{

padding:72px 0;

}

.contact-heading h2{

font-size:32px;

}

.contact-form{

padding:24px;

}

}
/*==================================================
FOOTER
==================================================*/

#footer{

    position:relative;

    overflow:hidden;

    background:var(--color-primary);

    padding-top:90px;

}

.footer-glow{

    position:absolute;

    border-radius:50%;

    filter:blur(150px);

    pointer-events:none;

    z-index:0;

}

.footer-glow-1{

    width:420px;

    height:420px;

    background:rgba(255,122,0,.14);

    top:-160px;

    left:-100px;

}

.footer-glow-2{

    width:380px;

    height:380px;

    background:rgba(255,122,0,.10);

    bottom:-160px;

    right:-100px;

}

#footer .container{

    position:relative;

    z-index:1;

}
/*==============================
Top Grid
==============================*/

.footer-top{

    display:grid;

    grid-template-columns:1.3fr 0.9fr 0.9fr 1.2fr;

    gap:46px;

    padding-bottom:60px;

}

.footer-col h4{

    color:#fff;

    font-size:17px;

    margin-bottom:24px;

}

.footer-col ul{

    list-style:none;

    padding:0;

    margin:0;

}

.footer-col ul li{

    margin-bottom:14px;

}

.footer-col ul li a{

    color:rgba(255,255,255,.6);

    font-size:15px;

    text-decoration:none;

    transition:.3s;

    display:inline-block;

}

.footer-col ul li a:hover{

    color:var(--color-accent);

    transform:translateX(4px);

}
/*==============================
Brand Column
==============================*/

.footer-logo{

    display:inline-block;

    background:#fff;

    padding:10px 20px;

    border-radius:14px;

    margin-bottom:22px;

}

.footer-logo img{

    display:block;

    height:48px;

    width:auto;

}

.footer-brand-col > p{

    color:rgba(255,255,255,.55);

    font-size:15px;

    line-height:1.8;

    margin-bottom:26px;

    max-width:320px;

}

.footer-social{

    display:flex;

    gap:12px;

}

.footer-social a{

    width:42px;

    height:42px;

    border-radius:50%;

    border:1.5px solid rgba(255,255,255,.15);

    display:flex;

    align-items:center;

    justify-content:center;

    color:#fff;

    transition:.35s;

}

.footer-social a:hover{

    background:var(--color-accent);

    border-color:var(--color-accent);

    transform:translateY(-4px);

}
/*==============================
Contact Info Column
==============================*/

.footer-contact-item{

    display:flex;

    align-items:flex-start;

    gap:14px;

    margin-bottom:20px;

}

.footer-contact-item i{

    flex-shrink:0;

    width:36px;

    height:36px;

    margin-top:2px;

    border-radius:50%;

    background:rgba(255,255,255,.08);

    color:var(--color-accent);

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:13px;

}

.footer-contact-item div{

    display:flex;

    flex-direction:column;

    gap:6px;

}

.footer-contact-item a,
.footer-contact-item span{

    color:rgba(255,255,255,.65);

    font-size:14.5px;

    line-height:1.6;

    text-decoration:none;

    transition:.3s;

}

.footer-contact-item a:hover{

    color:var(--color-accent);

}

.footer-phone-tag{

    display:inline-block;

    margin-left:6px;

    padding:2px 9px;

    border-radius:100px;

    background:rgba(255,122,0,.15);

    color:var(--color-accent);

    font-size:10px;

    font-weight:700;

    letter-spacing:.04em;

    text-transform:uppercase;

    vertical-align:middle;

}
/*==============================
Bottom Bar
==============================*/

.footer-bottom{

    display:flex;

    align-items:center;

    justify-content:space-between;

    flex-wrap:wrap;

    gap:16px;

    padding:24px 0;

    border-top:1px solid rgba(255,255,255,.08);

}

.footer-bottom p{

    margin:0;

    color:rgba(255,255,255,.5);

    font-size:14px;

}

.footer-bottom p a{

    color:inherit;

    text-decoration:underline;

    text-underline-offset:2px;

}

.footer-bottom p a:hover{

    color:#fff;

}

.footer-legal{

    display:flex;

    gap:26px;

}

.footer-legal a{

    color:rgba(255,255,255,.5);

    font-size:14px;

    text-decoration:none;

    transition:.3s;

}

.footer-legal a:hover{

    color:#fff;

}

.footer-payment{

    display:flex;

    align-items:center;

    gap:12px;

    padding:8px 16px 8px 8px;

    border-radius:100px;

    background:rgba(255,255,255,.06);

    border:1px solid rgba(255,255,255,.1);

    text-decoration:none;

    transition:.35s;

}

.footer-payment:hover{

    background:rgba(255,255,255,.1);

    border-color:rgba(255,255,255,.2);

    transform:translateY(-2px);

}

.footer-payment span{

    color:rgba(255,255,255,.5);

    font-size:13px;

    white-space:nowrap;

}

.footer-payment img{

    display:block;

    height:34px;

    width:auto;

}
/*==================================================
Responsive
==================================================*/

@media(max-width:992px){

.footer-top{

grid-template-columns:1fr 1fr;

row-gap:44px;

}

.footer-brand-col{

grid-column:1 / -1;

}

.footer-brand-col > p{

max-width:100%;

}

}

@media(max-width:576px){

#footer{

padding-top:70px;

}

.footer-top{

grid-template-columns:1fr;

gap:38px;

}

.footer-bottom{

flex-direction:column;

align-items:center;

text-align:center;

}

.footer-legal{

justify-content:center;

}

}
/*==================================================
PAGE HEADER (secondary pages)
==================================================*/

.page-header-section{

    position:relative;

    padding:210px 0 110px;

    background:linear-gradient(160deg,#111111 0%,#291400 68%,#341900 100%);

    overflow:hidden;

    text-align:center;

    isolation:isolate;

}

.page-header-section::before{

    content:"";

    position:absolute;

    inset:0;

    z-index:0;

    pointer-events:none;

    background-image:radial-gradient(rgba(255,255,255,.09) 1.5px,transparent 1.5px);

    background-size:26px 26px;

    -webkit-mask-image:radial-gradient(circle at 50% 20%,#000 0%,transparent 70%);

    mask-image:radial-gradient(circle at 50% 20%,#000 0%,transparent 70%);

}

.page-header-section::after{

    content:"";

    position:absolute;

    top:50%;

    left:50%;

    width:560px;

    height:560px;

    margin:-280px 0 0 -280px;

    border:1px dashed rgba(255,122,0,.18);

    border-radius:50%;

    z-index:0;

    pointer-events:none;

    animation:pageHeaderSpin 60s linear infinite;

}

@keyframes pageHeaderSpin{

    from{ transform:rotate(0deg); }

    to{ transform:rotate(360deg); }

}

@media(prefers-reduced-motion:reduce){

    .page-header-section::after{

        animation:none;

    }

}

.page-header-blob{

    position:absolute;

    border-radius:50%;

    filter:blur(120px);

    z-index:0;

    pointer-events:none;

}

.page-header-blob-1{

    width:440px;

    height:440px;

    background:rgba(255,122,0,.30);

    top:-160px;

    left:-120px;

    opacity:.8;

}

.page-header-blob-2{

    width:400px;

    height:400px;

    background:rgba(255,122,0,.22);

    bottom:-180px;

    right:-120px;

    opacity:.7;

}

.page-header-crumb{

    position:relative;

    z-index:2;

    display:flex;

    width:-moz-fit-content;

    width:fit-content;

    align-items:center;

    gap:8px;

    margin:0 auto 22px;

    padding:7px 16px 7px 8px;

    border-radius:100px;

    background:rgba(255,255,255,.06);

    border:1px solid rgba(255,255,255,.1);

    -webkit-backdrop-filter:blur(6px);

    backdrop-filter:blur(6px);

    font-family:var(--font-body);

    font-size:13px;

    font-weight:500;

    color:rgba(255,255,255,.65);

}

.page-header-crumb i{

    font-size:10px;

    color:var(--color-accent);

}

.page-header-crumb span{

    color:#fff;

    font-weight:600;

}

.page-header-content{

    position:relative;

    z-index:2;

    max-width:660px;

    margin:0 auto;

}

.page-header-content .section-tag{

    background:rgba(255,122,0,.14);

    border:1px solid rgba(255,122,0,.28);

    color:var(--color-accent);

}

.page-header-content h1{

    font-size:48px;

    font-weight:800;

    line-height:1.18;

    color:#fff;

    margin:20px 0 18px;

}

.page-header-content h1 .text-gradient{

    background:linear-gradient(135deg,#ff9d47,#ffcb8a);

    -webkit-background-clip:text;

    -webkit-text-fill-color:transparent;

    background-clip:text;

}

.page-header-content p{

    color:rgba(255,255,255,.68);

    font-size:17px;

    line-height:1.8;

    margin:0;

}

.page-header-glow-line{

    position:absolute;

    bottom:0;

    left:50%;

    transform:translateX(-50%);

    width:70%;

    max-width:520px;

    height:1px;

    z-index:1;

    background:linear-gradient(90deg,transparent,rgba(255,122,0,.5),transparent);

}
/*==================================================
PAYMENT SECTION
==================================================*/

.payment-section{

    position:relative;

    padding:60px 0 100px;

    background:var(--color-surface);

    overflow:hidden;

}

.payment-box{

    position:relative;

    overflow:hidden;

    border-radius:28px;

    padding:64px 50px;

    text-align:center;

    background:var(--color-primary);

    max-width:720px;

    margin:0 auto;

}

.payment-glow{

    position:absolute;

    border-radius:50%;

    filter:blur(150px);

    pointer-events:none;

    z-index:0;

}

.payment-glow-1{

    width:360px;

    height:360px;

    background:rgba(255,122,0,.18);

    top:-130px;

    left:-100px;

}

.payment-glow-2{

    width:320px;

    height:320px;

    background:rgba(255,122,0,.14);

    bottom:-140px;

    right:-100px;

}

.payment-grid-pattern{

    position:absolute;

    inset:0;

    z-index:0;

    pointer-events:none;

    background-image:radial-gradient(rgba(255,255,255,.08) 1.5px, transparent 1.5px);

    background-size:26px 26px;

    -webkit-mask-image:radial-gradient(circle at 50% 35%, #000 0%, transparent 72%);

    mask-image:radial-gradient(circle at 50% 35%, #000 0%, transparent 72%);

}

.payment-content{

    position:relative;

    z-index:1;

    max-width:520px;

    margin:0 auto;

}

.payment-logo{

    height:42px;

    width:auto;

    margin-bottom:26px;

}

.payment-content h2{

    font-size:30px;

    font-weight:800;

    color:#fff;

    margin-bottom:16px;

}

.payment-content > p{

    font-size:15px;

    color:rgba(255,255,255,.65);

    line-height:1.8;

    margin-bottom:30px;

}

.payment-redirect-note{

    display:block;

    margin-top:14px;

    color:rgba(255,255,255,.45);

    font-size:13px;

}
/*==============================
Trust Row
==============================*/

.payment-trust-row{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:28px;

    flex-wrap:wrap;

    margin-top:36px;

    padding-top:26px;

    border-top:1px solid rgba(255,255,255,.1);

}

.payment-trust-item{

    display:flex;

    align-items:center;

    gap:10px;

    color:rgba(255,255,255,.7);

    font-size:14px;

    font-weight:600;

}

.payment-trust-item i{

    color:var(--color-accent);

    font-size:15px;

}
/*==============================
Help Row
==============================*/

.payment-help{

    display:flex;

    align-items:flex-start;

    justify-content:center;

    gap:14px;

    max-width:560px;

    margin:40px auto 0;

    text-align:center;

}

.payment-help i{

    color:var(--color-accent);

    font-size:16px;

    margin-top:3px;

}

.payment-help p{

    color:#666;

    font-size:15px;

    line-height:1.8;

    margin:0;

}

.payment-help a{

    color:var(--color-primary);

    font-weight:600;

    text-decoration:none;

    transition:.3s;
}

.payment-help a:hover{

    color:var(--color-accent);

}
/*==============================
Direct Bank Transfer
==============================*/

.payment-divider{

    display:flex;

    align-items:center;

    gap:16px;

    max-width:560px;

    margin:40px auto;

    color:#999;

    font-size:13px;

    font-weight:700;

    letter-spacing:.08em;

    text-transform:uppercase;

}

.payment-divider::before,
.payment-divider::after{

    content:"";

    flex:1;

    height:1px;

    background:rgba(0,0,0,.08);

}

.payment-bank-transfer{

    max-width:560px;

    margin:0 auto;

    padding:36px 40px;

    border-radius:22px;

    background:#fff;

    border:1px solid rgba(0,0,0,.06);

    box-shadow:0 20px 50px rgba(0,0,0,.05);

}

.payment-bank-transfer h3{

    font-size:20px;

    margin-bottom:8px;

}

.payment-bank-transfer > p{

    color:#666;

    font-size:14.5px;

    line-height:1.7;

    margin-bottom:24px;

}

.payment-bank-row{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:16px;

    padding:14px 0;

    border-top:1px solid rgba(0,0,0,.06);

}

.payment-bank-row:first-of-type{

    border-top:none;

}

.payment-bank-row span{

    font-size:13px;

    font-weight:600;

    color:#888;

    text-transform:uppercase;

    letter-spacing:.05em;

}

.payment-bank-row strong{

    font-family:monospace;

    font-size:16px;

    font-weight:700;

    color:var(--color-primary);

    letter-spacing:.03em;

}

/*==================================================
Responsive
==================================================*/

@media(max-width:768px){

.page-header-section{

padding:180px 0 90px;

}

.page-header-content h1{

font-size:32px;

}

.page-header-section::after{

width:340px;

height:340px;

margin:-170px 0 0 -170px;

}

.page-header-crumb{

font-size:12px;

padding:6px 14px 6px 8px;

}

.payment-box{

padding:48px 28px;

}

.payment-content h2{

font-size:26px;

}

.payment-bank-transfer{

padding:28px 24px;

}

.payment-bank-row{

flex-direction:column;

align-items:flex-start;

gap:4px;

}

.payment-trust-row{

flex-direction:column;

align-items:flex-start;

gap:16px;

}

.payment-help{

flex-direction:column;

align-items:center;

text-align:center;

}

}

@media(max-width:576px){

.payment-section{

padding:50px 0 72px;

}

}
/*==================================================
    ABOUT PAGE — STORY
==================================================*/

.about-story-section{

    position:relative;

    padding:110px 0;

    background:#fff;

    overflow:hidden;

}

.story-image-wrap{

    position:relative;

    border-radius:28px;

    overflow:hidden;

    aspect-ratio:4/5;

    background:linear-gradient(155deg,#1a1a1a 0%,#4c2400 100%);

    box-shadow:0 30px 70px rgba(0,0,0,.12);

}

.story-image-wrap img{

    position:absolute;

    inset:0;

    width:100%;

    height:100%;

    object-fit:cover;

    z-index:2;

}

.story-image-wrap i{

    position:absolute;

    top:50%;

    left:50%;

    transform:translate(-50%,-50%);

    z-index:1;

    font-size:64px;

    color:rgba(255,255,255,.35);

}

.about-story-section .col-lg-5{

    position:relative;

}

.story-badge{

    bottom:-24px;

    left:-24px;

    z-index:4;

}

.story-content{

    padding-left:30px;

}

.story-content .section-tag{

    margin-bottom:20px;

}

.story-content h2{

    font-size:40px;

    line-height:1.2;

    margin-bottom:22px;

}

.story-content p{

    color:var(--text-body);

    font-size:16px;

    line-height:1.85;

    margin-bottom:18px;

}

.story-content .why-features{

    margin:32px 0 40px;
}

.story-content .hero-stats{

    padding-top:30px;

    border-top:1px solid rgba(0,0,0,.08);

}

.story-content .hero-stat h3{

    font-size:34px;

}
/*==================================================
    ABOUT PAGE — VALUES
==================================================*/

.about-values-section{

    position:relative;

    padding:130px 0;

    background:var(--color-surface);

    overflow:hidden;

}
/*==================================================
    ABOUT PAGE — TEAM
==================================================*/

.about-team-section{

    position:relative;

    padding:130px 0;

    background:#fff;

    overflow:hidden;

}

.team-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:28px;

}

.team-card{

    text-align:center;

    padding:36px 24px;

    border-radius:24px;

    background:#fff;

    border:1px solid rgba(0,0,0,.06);

    box-shadow:0 15px 40px rgba(0,0,0,.04);

    transition:.4s;

}

.team-card:hover{

    transform:translateY(-8px);

    box-shadow:0 30px 60px rgba(255,122,0,.10);

    border-color:rgba(255,122,0,.2);

}

.team-photo{

    position:relative;

    width:120px;

    height:120px;

    margin:0 auto 22px;

    border-radius:50%;

    overflow:hidden;

    background:linear-gradient(135deg,var(--color-accent),#ffb266);

    display:flex;

    align-items:center;

    justify-content:center;

}

.team-photo img{

    position:absolute;

    inset:0;

    width:100%;

    height:100%;

    object-fit:cover;

    z-index:2;

}

.team-photo span{

    position:relative;

    z-index:1;

    font-size:30px;

    font-weight:800;

    color:#fff;

}

.team-card h4{

    font-size:19px;

    margin-bottom:4px;

}

.team-card .team-role{

    display:block;

    color:var(--color-accent);

    font-size:14px;

    font-weight:600;

    margin-bottom:16px;

}

.team-social{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:10px;

}

.team-social a{

    width:34px;

    height:34px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:var(--color-accent-light);

    color:var(--color-accent);

    font-size:13px;

    transition:.35s;

}

.team-social a:hover{

    background:var(--color-accent);

    color:#fff;

    transform:translateY(-3px);

}
/*==================================================
    ABOUT PAGE — RESPONSIVE
==================================================*/

@media(max-width:991px){

    .story-content{

        padding-left:0;

        margin-top:50px;

    }

    .team-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:576px){

    .story-content h2{

        font-size:30px;

    }

    .team-grid{

        grid-template-columns:1fr;

    }

    .about-story-section,
    .about-values-section,
    .about-team-section{

        padding:72px 0;

    }

}

/*==================================================
    BLOG PAGINATION
==================================================*/

.blog-pagination-nav{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    margin-top:56px;

}

.blog-page-btn{

    width:44px;

    height:44px;

    border-radius:50%;

    border:1px solid var(--color-border);

    background:#fff;

    color:var(--text-heading);

    font-family:var(--font-heading);

    font-weight:600;

    font-size:15px;

    cursor:pointer;

    transition:.3s;

    display:flex;

    align-items:center;

    justify-content:center;

}

.blog-page-btn:hover{

    border-color:var(--color-accent);

    color:var(--color-accent);

}

.blog-page-btn.active{

    background:var(--color-accent);

    border-color:var(--color-accent);

    color:#fff;

}

.blog-page-btn:disabled{

    opacity:.4;

    cursor:not-allowed;

}

/*==================================================
    LEGAL PAGES (PRIVACY / TERMS)
==================================================*/

.legal-section{

    position:relative;

    padding:100px 0 140px;

    background:#fff;

}

.legal-content h2{

    font-size:24px;

    font-family:var(--font-heading);

    font-weight:700;

    color:var(--text-heading);

    margin:44px 0 16px;

}

.legal-content h2:first-child{

    margin-top:0;

}

.legal-content p{

    color:var(--text-body);

    font-size:16px;

    line-height:1.85;

    margin-bottom:16px;

}

.legal-content ul{

    margin:0 0 20px;

    padding-left:22px;

}

.legal-content ul li{

    color:var(--text-body);

    font-size:16px;

    line-height:1.85;

    margin-bottom:8px;

}

.legal-content a{

    color:var(--color-accent);

    font-weight:600;

}

/*==================================================
    STATE PAGES (THANK YOU / 404)
==================================================*/

.state-section{

    position:relative;

    padding:200px 0;

    background:#fff;

    overflow:hidden;

    text-align:center;

}

.state-content{

    max-width:620px;

    margin:0 auto;

}

.state-icon{

    width:96px;

    height:96px;

    border-radius:50%;

    background:linear-gradient(135deg,var(--color-accent-light),rgba(255,122,0,.28));

    display:flex;

    align-items:center;

    justify-content:center;

    margin:0 auto 28px;

    font-size:40px;

    color:var(--color-accent);

}

.state-icon-warn{

    background:linear-gradient(135deg,#f3f4f6,#e5e7eb);

    color:var(--text-heading);

}

.state-content .section-tag{

    margin-bottom:18px;

}

.state-content h1{

    font-size:38px;

    line-height:1.25;

    margin-bottom:18px;

}

.state-content p{

    color:var(--text-body);

    font-size:16px;

    line-height:1.8;

    margin-bottom:32px;

}

.state-buttons{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:16px;

    flex-wrap:wrap;

}

@media(max-width:576px){

    .state-section{

        padding:150px 0 90px;

    }

    .state-content h1{

        font-size:28px;

    }

}

/*==================================================
    CASE STUDY — SINGLE TESTIMONIAL
==================================================*/

.case-testimonial-section{

    position:relative;

    padding:130px 0;

    background:var(--color-surface);

    overflow:hidden;

}

/*==================================================
    BLOG SINGLE — ARTICLE
==================================================*/

.article-meta-row{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:24px;

    flex-wrap:wrap;

    margin-top:22px;

    color:var(--text-light);

    font-size:14px;

}

.article-meta-row i{

    color:var(--color-accent);

    margin-right:6px;

}

.blog-single-section{

    position:relative;

    padding:130px 0;

    background:#fff;

}

.article-featured-image{

    position:relative;

    border-radius:24px;

    overflow:hidden;

    aspect-ratio:16/8;

    background:linear-gradient(155deg,#1a1a1a 0%,#4c2400 100%);

    box-shadow:0 30px 70px rgba(0,0,0,.12);

    margin-bottom:44px;

}

.article-featured-image img{

    position:absolute;

    inset:0;

    width:100%;

    height:100%;

    object-fit:cover;

    z-index:2;

}

.article-featured-image i{

    position:absolute;

    top:50%;

    left:50%;

    transform:translate(-50%,-50%);

    z-index:1;

    font-size:56px;

    color:rgba(255,255,255,.35);

}

.article-content p{

    color:var(--text-body);

    font-size:17px;

    line-height:1.9;

    margin-bottom:20px;

}

.article-content h2{

    font-size:26px;

    font-family:var(--font-heading);

    font-weight:700;

    color:var(--text-heading);

    margin:40px 0 16px;

}

.article-content ul{

    margin:0 0 20px;

    padding-left:22px;

}

.article-content ul li{

    color:var(--text-body);

    font-size:16px;

    line-height:1.85;

    margin-bottom:8px;

}

.article-content blockquote{

    margin:32px 0;

    padding:24px 28px;

    border-left:4px solid var(--color-accent);

    background:var(--color-surface);

    border-radius:0 16px 16px 0;

    font-size:18px;

    font-style:italic;

    color:var(--text-heading);

    line-height:1.7;

}

.article-share-row{

    display:flex;

    align-items:center;

    gap:16px;

    margin-top:48px;

    padding-top:28px;

    border-top:1px solid var(--color-border);

}

.article-share-row span{

    font-weight:600;

    color:var(--text-heading);

    font-size:15px;

}

.article-author-box{

    display:flex;

    align-items:flex-start;

    gap:18px;

    margin-top:32px;

    padding:28px;

    background:var(--color-surface);

    border-radius:20px;

}

.article-author-box h4{

    font-size:17px;

    margin-bottom:6px;

}

.article-author-box p{

    color:var(--text-body);

    font-size:14px;

    line-height:1.7;

    margin:0;

}

@media(max-width:576px){

    .legal-section{

        padding:72px 0 90px;

    }

    .blog-single-section{

        padding:72px 0;

    }

    .article-content blockquote{

        font-size:16px;

        padding:18px 20px;

    }

}

/*==================================================
    SERVICES PAGE — SIGNATURE SERVICE FEATURE ROWS
==================================================*/

.signature-services-section{

    position:relative;

    padding:100px 0 40px;

    background:#fff;

    overflow:hidden;

}

.signature-service-row{

    display:flex;

    align-items:center;

    gap:60px;

    padding:56px 0;

    border-bottom:1px solid var(--color-border);

}

.signature-service-row:first-child{

    padding-top:0;

}

.signature-service-row:last-child{

    border-bottom:none;

    padding-bottom:0;

}

.signature-service-row.row-reverse{

    flex-direction:row-reverse;

}

.signature-service-visual{

    position:relative;

    flex:0 0 auto;

    width:38%;

}

.signature-service-panel{

    position:relative;

    border-radius:26px;

    overflow:hidden;

    aspect-ratio:1/1;

    background:linear-gradient(155deg,#1a1a1a 0%,#4c2400 100%);

    box-shadow:0 30px 70px rgba(0,0,0,.12);

    display:flex;

    align-items:center;

    justify-content:center;

}

.signature-service-panel i{

    font-size:72px;

    color:rgba(255,255,255,.28);

}

.signature-service-number{

    position:absolute;

    top:-18px;

    left:-18px;

    z-index:2;

    width:60px;

    height:60px;

    border-radius:50%;

    background:var(--color-accent);

    color:#fff;

    font-family:var(--font-heading);

    font-weight:800;

    font-size:18px;

    display:flex;

    align-items:center;

    justify-content:center;

    box-shadow:0 12px 28px rgba(255,122,0,.35);

}

.signature-service-row.row-reverse .signature-service-number{

    left:auto;

    right:-18px;

}

.signature-service-content{

    flex:1 1 auto;

}

.signature-service-content .service-eyebrow{

    display:inline-flex;

    align-items:center;

    gap:8px;

    font-family:var(--font-body);

    font-size:13px;

    font-weight:700;

    letter-spacing:.06em;

    color:var(--color-accent);

    text-transform:uppercase;

    margin-bottom:14px;

}

.signature-service-content h2{

    font-size:32px;

    font-weight:800;

    line-height:1.25;

    color:var(--text-heading);

    margin-bottom:16px;

}

.signature-service-content > p{

    color:var(--text-body);

    font-size:16px;

    line-height:1.85;

    margin-bottom:22px;

}

.signature-service-list{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:12px 20px;

    margin-bottom:26px;

}

.signature-service-list .feature-item{

    margin:0;

}

.signature-service-footer{

    display:flex;

    align-items:center;

    gap:24px;

    flex-wrap:wrap;

}

.signature-service-price{

    font-family:var(--font-heading);

    font-size:14px;

    color:var(--text-light);

}

.signature-service-price strong{

    color:var(--text-heading);

    font-size:20px;

    font-weight:800;

}

@media(max-width:991px){

    .signature-service-row,
    .signature-service-row.row-reverse{

        flex-direction:column;

        gap:32px;

    }

    .signature-service-visual{

        width:100%;

        max-width:320px;

    }

    .signature-service-list{

        grid-template-columns:1fr;

    }

}

/*==================================================
    SERVICES PAGE — MORE SERVICES GRID
==================================================*/

.more-services-section{

    position:relative;

    padding:20px 0 100px;

    background:#fff;

    overflow:hidden;

}

/*==================================================
    SERVICES PAGE — MINI PROCESS STRIP
==================================================*/

.mini-process-section{

    position:relative;

    padding:130px 0;

    background:var(--color-primary);

    overflow:hidden;

}

.mini-process-glow-1{

    position:absolute;

    width:360px;

    height:360px;

    border-radius:50%;

    background:rgba(255,122,0,.16);

    filter:blur(150px);

    top:-140px;

    left:-100px;

    z-index:0;

}

.mini-process-glow-2{

    position:absolute;

    width:320px;

    height:320px;

    border-radius:50%;

    background:rgba(255,122,0,.12);

    filter:blur(150px);

    bottom:-140px;

    right:-100px;

    z-index:0;

}

.mini-process-heading{

    position:relative;

    z-index:1;

    text-align:center;

    max-width:600px;

    margin:0 auto 56px;

}

.mini-process-heading h2{

    font-size:32px;

    font-weight:800;

    color:#fff;

    margin:16px 0 12px;

}

.mini-process-heading .text-gradient{

    background:linear-gradient(135deg,#ff9d47,#ffcb8a);

    -webkit-background-clip:text;

    -webkit-text-fill-color:transparent;

    background-clip:text;

}

.mini-process-heading p{

    color:rgba(255,255,255,.65);

    font-size:16px;

    line-height:1.8;

}

.mini-process-strip{

    position:relative;

    z-index:1;

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:0;

}

.mini-process-step{

    position:relative;

    text-align:center;

    padding:0 20px;

}

.mini-process-step::after{

    content:"";

    position:absolute;

    top:34px;

    right:-10%;

    width:20%;

    height:1px;

    background:repeating-linear-gradient(90deg,rgba(255,122,0,.4) 0 6px,transparent 6px 12px);

}

.mini-process-step:last-child::after{

    display:none;

}

.mini-process-icon{

    width:68px;

    height:68px;

    margin:0 auto 20px;

    border-radius:50%;

    background:rgba(255,122,0,.12);

    border:1px solid rgba(255,122,0,.3);

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:24px;

    color:var(--color-accent);

}

.mini-process-step h4{

    font-size:17px;

    font-weight:700;

    color:#fff;

    margin-bottom:8px;

}

.mini-process-step p{

    font-size:14px;

    color:rgba(255,255,255,.6);

    line-height:1.7;

    margin:0;

}

@media(max-width:768px){

    .signature-services-section{

        padding:72px 0 20px;

    }

    .more-services-section{

        padding:20px 0 72px;

    }

    .mini-process-section{

        padding:72px 0;

    }

    .mini-process-strip{

        grid-template-columns:1fr;

        gap:36px;

    }

    .mini-process-step::after{

        display:none;

    }

    .signature-service-content h2{

        font-size:26px;

    }

}

/*==================================================
    PORTFOLIO PAGE — FEATURED HERO PROJECT
==================================================*/

.portfolio-hero-section{

    position:relative;

    padding:100px 0 40px;

    background:#fff;

    overflow:hidden;

}

.portfolio-hero-project{

    position:relative;

    border-radius:28px;

    overflow:hidden;

    background:linear-gradient(155deg,#1a1a1a 0%,#4c2400 100%);

    box-shadow:0 40px 90px rgba(0,0,0,.16);

    min-height:480px;

    display:flex;

    align-items:flex-end;

}

.portfolio-hero-project::before{

    content:"";

    position:absolute;

    inset:0;

    background-image:radial-gradient(rgba(255,255,255,.08) 1.5px,transparent 1.5px);

    background-size:26px 26px;

    -webkit-mask-image:radial-gradient(circle at 75% 25%,#000 0%,transparent 60%);

    mask-image:radial-gradient(circle at 75% 25%,#000 0%,transparent 60%);

}

.portfolio-hero-project::after{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(0deg,rgba(0,0,0,.55) 0%,transparent 55%);

}

.portfolio-hero-icon{

    position:absolute;

    top:50%;

    right:8%;

    transform:translateY(-50%);

    font-size:180px;

    color:rgba(255,255,255,.06);

    z-index:0;

}

.portfolio-hero-content{

    position:relative;

    z-index:2;

    padding:56px 60px;

    max-width:640px;

}

.portfolio-hero-badge{

    display:inline-flex;

    align-items:center;

    gap:8px;

    padding:7px 16px;

    border-radius:100px;

    background:rgba(255,122,0,.16);

    border:1px solid rgba(255,122,0,.3);

    color:var(--color-accent);

    font-family:var(--font-body);

    font-size:12px;

    font-weight:700;

    letter-spacing:.05em;

    text-transform:uppercase;

    margin-bottom:20px;

}

.portfolio-hero-content h2{

    font-size:38px;

    font-weight:800;

    line-height:1.2;

    color:#fff;

    margin-bottom:14px;

}

.portfolio-hero-content > p{

    color:rgba(255,255,255,.72);

    font-size:16px;

    line-height:1.8;

    margin-bottom:26px;

}

.portfolio-hero-metrics{

    display:flex;

    gap:36px;

    margin-bottom:28px;

    flex-wrap:wrap;

}

.portfolio-hero-metrics .metric h4{

    font-size:26px;

    font-weight:800;

    color:#fff;

    margin-bottom:2px;

}

.portfolio-hero-metrics .metric span{

    font-size:13px;

    color:rgba(255,255,255,.55);

}

@media(max-width:768px){

    .portfolio-hero-section{

        padding:72px 0 20px;

    }

    .portfolio-hero-project{

        min-height:auto;

    }

    .portfolio-hero-content{

        padding:36px 26px;

    }

    .portfolio-hero-content h2{

        font-size:28px;

    }

    .portfolio-hero-icon{

        display:none;

    }

}

/*==================================================
    PORTFOLIO PAGE — MORE WORK COMPACT GRID
==================================================*/

.portfolio-more-section{

    position:relative;

    padding:20px 0 100px;

    background:#fff;

    overflow:hidden;

}

@media(max-width:768px){

    .portfolio-more-section{

        padding:20px 0 72px;

    }

}

/*==================================================
    CONTACT PAGE — MAP / LOCATION VISUAL
==================================================*/

.contact-map-card{

    position:relative;

    border-radius:24px;

    overflow:hidden;

    min-height:280px;

    background:linear-gradient(155deg,#1a1a1a 0%,#341900 100%);

    display:flex;

    align-items:center;

    justify-content:center;

    margin-bottom:24px;

}

.contact-map-card::before{

    content:"";

    position:absolute;

    inset:0;

    background-image:

        linear-gradient(rgba(255,122,0,.12) 1px,transparent 1px),

        linear-gradient(90deg,rgba(255,122,0,.12) 1px,transparent 1px);

    background-size:32px 32px;

    -webkit-mask-image:radial-gradient(circle at 50% 50%,#000 0%,transparent 75%);

    mask-image:radial-gradient(circle at 50% 50%,#000 0%,transparent 75%);

}

.contact-pin{

    position:relative;

    z-index:1;

    text-align:center;

}

.contact-pin-dot{

    position:relative;

    width:56px;

    height:56px;

    margin:0 auto 14px;

    border-radius:50%;

    background:var(--color-accent);

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:22px;

    color:#fff;

    box-shadow:0 10px 30px rgba(255,122,0,.4);

}

.contact-pin-dot::before,
.contact-pin-dot::after{

    content:"";

    position:absolute;

    inset:0;

    border-radius:50%;

    border:1px solid rgba(255,122,0,.5);

    animation:contactPinPulse 2.4s ease-out infinite;

}

.contact-pin-dot::after{

    animation-delay:1.2s;

}

@keyframes contactPinPulse{

    0%{ transform:scale(1); opacity:.8; }
    100%{ transform:scale(2.4); opacity:0; }

}

@media(prefers-reduced-motion:reduce){

    .contact-pin-dot::before,
    .contact-pin-dot::after{

        animation:none;

    }

}

.contact-pin span{

    display:block;

    color:#fff;

    font-weight:700;

    font-size:15px;

    margin-bottom:4px;

}

.contact-pin small{

    color:rgba(255,255,255,.55);

    font-size:13px;

}

.contact-quick-list{

    display:flex;

    flex-direction:column;

    gap:14px;

}

.contact-quick-item{

    display:flex;

    align-items:center;

    gap:14px;

    padding:16px 18px;

    border-radius:16px;

    background:var(--color-surface);

    transition:.3s;

}

.contact-quick-item:hover{

    background:var(--color-accent-light);

}

.contact-quick-item .contact-info-icon{

    flex-shrink:0;

}

.contact-quick-item a,
.contact-quick-item p{

    margin:0;

    font-size:15px;

}

.contact-quick-item h4{

    font-size:13px;

    color:var(--text-light);

    margin-bottom:2px;

    font-weight:600;

}

/*==================================================
    CONTACT PAGE — WHAT HAPPENS NEXT
==================================================*/

.contact-next-section{

    position:relative;

    padding:20px 0 100px;

    background:#fff;

    overflow:hidden;

}

.contact-next-steps{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:28px;

    margin-bottom:32px;

}

.contact-next-step{

    position:relative;

    text-align:center;

    padding:36px 26px;

    border-radius:20px;

    background:var(--color-surface);

}

.contact-next-step-num{

    width:44px;

    height:44px;

    margin:0 auto 18px;

    border-radius:50%;

    background:var(--color-primary);

    color:#fff;

    font-family:var(--font-heading);

    font-weight:800;

    font-size:16px;

    display:flex;

    align-items:center;

    justify-content:center;

}

.contact-next-step h4{

    font-size:17px;

    margin-bottom:8px;

}

.contact-next-step p{

    color:var(--text-body);

    font-size:14px;

    line-height:1.7;

    margin:0;

}

/*==================================================
    CONTACT PAGE — CHAT PROMPT BANNER
==================================================*/

.contact-chat-banner{

    position:relative;

    display:flex;

    align-items:center;

    gap:20px;

    padding:24px 30px;

    border-radius:20px;

    background:var(--color-accent-light);

    border:1px solid rgba(255,122,0,.2);

}

.contact-chat-banner-icon{

    flex-shrink:0;

    width:50px;

    height:50px;

    border-radius:50%;

    background:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:20px;

    color:var(--color-accent);

    box-shadow:0 8px 20px rgba(255,122,0,.18);

}

.contact-chat-banner-text{

    flex:1;

}

.contact-chat-banner-text h4{

    font-size:16px;

    margin-bottom:3px;

}

.contact-chat-banner-text p{

    color:var(--text-body);

    font-size:14px;

    margin:0;

}

.contact-chat-banner .btn{

    flex-shrink:0;

}

@media(max-width:768px){

    .contact-next-section{

        padding:20px 0 72px;

    }

    .contact-next-steps{

        grid-template-columns:1fr;

    }

    .contact-chat-banner{

        flex-direction:column;

        text-align:center;

    }

}
