/* =========================================
   GLOBAL DARK MODE
========================================= */

body {

    background:

        radial-gradient(
            circle at top,
            rgba(139,92,246,.08),
            transparent 35%
        ),

        radial-gradient(
            circle at bottom right,
            rgba(59,130,246,.05),
            transparent 30%
        ),

        #111114 !important;

    color: #d6d6d6 !important;
}


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

.site-header,
.header,
.top-header {

    background: rgba(12,12,14,.92) !important;

    backdrop-filter: blur(12px);

    border-bottom:
        1px solid rgba(255,255,255,.05);
}

.site-header a,
.header a,
.top-header a {

    color: #e8e8e8 !important;
}

.site-header a:hover,
.header a:hover {

    color: #8b5cf6 !important;
}


/* =========================================
   MAIN CONTAINERS
========================================= */

.content,
.content-area,
.main-content,
.site-content,
.white-block,
.block,
.box,
.post-box {

    background: #1a1a1f !important;

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

    box-shadow: none !important;
}


/* =========================================
   POSTS
========================================= */

.posts-grid .post,
.archive-post,
article.post {

box-shadow:

    inset 0 1px 0 rgba(255,255,255,.03),

    0 0 0 1px rgba(255,255,255,.02);	
	
	overflow: hidden;

position: relative;
	
    background: #1a1a1d !important;

    border-radius: 16px !important;

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

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

/* subtle overlay */

.posts-grid .post::before,
.archive-post::before,
article.post::before {

    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            180deg,
            transparent 40%,
            rgba(0,0,0,.18)
        );

    pointer-events: none;

    opacity: .65;

    transition: opacity .25s ease;
}


/* hover */

.posts-grid .post:hover::before,
.archive-post:hover::before,
article.post:hover::before {

    opacity: 1;
}

.posts-grid .post:hover,
.archive-post:hover,
article.post:hover {

    transform: translateY(-5px);

    box-shadow:
        0 14px 32px rgba(0,0,0,.45),
        0 0 16px rgba(139,92,246,.12),
        0 0 55px rgba(59,130,246,.06);

    border-color:
        rgba(139,92,246,.28);
}

/* IMAGE ZOOM */

.posts-grid .post img,
.archive-post img {

    transition: transform .35s ease;
}

.posts-grid .post:hover img,
.archive-post:hover img {

    transform: scale(1.03);
}


/* =========================================
   TYPOGRAPHY
========================================= */

.entry-content p,
.entry-content li,
.single-post p {

    color: #cfcfd4 !important;

    line-height: 1.8;

    font-size: 16px;
}

.post-meta,
.entry-meta,
.post-date {

    color: #9a9aa3 !important;
}


/* =========================================
   TAG PAGE INTRO
========================================= */

.tag-seo-intro,
.auto-tag-intro {

	animation:
    franchiseHeroFloat 9s ease-in-out infinite;
	
    position: relative;

    overflow: hidden;

    margin: 0 0 36px;

    padding: 34px;

    background:

        linear-gradient(
            135deg,
            #1a1a1f,
            #141418
        ) !important;

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

    border-radius: 26px;

    color: #d8d8dd !important;

    box-shadow:

        0 18px 40px rgba(0,0,0,.28);
}

/* =========================================
   FRANCHISE HERO FLOAT
========================================= */

@keyframes franchiseHeroFloat {

    0% {

        transform:
            translateY(0px);
    }

    50% {

        transform:
            translateY(-3px);
    }

    100% {

        transform:
            translateY(0px);
    }
}

.tag-seo-intro::before {

    content: "";

    position: absolute;

    top: -120px;
    right: -120px;

    width: 320px;
    height: 320px;

    background:

        radial-gradient(
            circle,
            rgba(139,92,246,.18),
            transparent 70%
        );

    pointer-events: none;
}

/* =========================================
   FRANCHISE STATS
========================================= */

.franchise-stats {

    display: flex;

    gap: 16px;

    margin: 25px 0 35px;
}

@media (max-width: 700px) {

    .franchise-stats {

        flex-direction: column;
    }
}

.franchise-stat {

	position: relative;

overflow: hidden;

box-shadow:

    inset 0 1px 0 rgba(255,255,255,.03),

    0 10px 24px rgba(0,0,0,.18);
	
    flex: 1;

    padding: 22px;

    background: #18181d !important;

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

    border-radius: 20px;

    text-align: center;

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

/* franchise divider */

.auto-tag-intro {

    position: relative;
}

.auto-tag-intro::after {

    content: "";

    position: absolute;

    left: 0;
    right: 0;
    bottom: -28px;

    height: 1px;

    background:

        linear-gradient(
            90deg,
            transparent,
            rgba(139,92,246,.22),
            transparent
        );
}

.franchise-stat::before {

    content: "";

    position: absolute;

    inset: 0;

    background:

        linear-gradient(
            180deg,
            rgba(255,255,255,.04),
            transparent 40%
        );

    pointer-events: none;
}
.franchise-stat:hover {

    transform: translateY(-3px);

    box-shadow:
        0 10px 24px rgba(0,0,0,.35),
        0 0 14px rgba(139,92,246,.12);
}

.franchise-stat strong {

	text-shadow:

    0 2px 12px rgba(0,0,0,.28),

    0 0 18px rgba(139,92,246,.08);
	
    display: block;

    font-size: 34px;

    font-weight: 700;

    color: #fff !important;

    margin-bottom: 6px;
}

.franchise-stat span {

    color: #a2a8b8 !important;

    font-size: 12px;

    font-weight: 600;

    letter-spacing: 1.2px;

    text-transform: uppercase;
}


/* =========================================
   FRANCHISE GRID
========================================= */

.homepage-franchises {

	position: relative;

padding-top: 35px;
	
    margin: 20px 0 45px;
}

.franchise-grid {

    display: grid;

    grid-template-columns:
        repeat(6,minmax(0,1fr));

    gap: 16px;
}

@media (max-width: 1200px) {

    .franchise-grid {

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

@media (max-width: 900px) {

    .franchise-grid {

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

@media (max-width: 640px) {

    .franchise-grid {

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

.homepage-franchises::before {

    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(139,92,246,.28),
            transparent
        );
}

/* =========================================
   FRANCHISE CARDS
========================================= */

.franchise-card {

	position: relative;

overflow: hidden;
	
	box-shadow:

    inset 0 1px 0 rgba(255,255,255,.03);
	
    position: relative;

    display: block;

    background: #18181b !important;

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

    border-radius: 20px;

    overflow: hidden;

    text-decoration: none;

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.franchise-card::before {

    content: "";

    position: absolute;

    inset: 0;

    background:

        linear-gradient(
            180deg,
            rgba(255,255,255,.05),
            transparent 26%
        );

    pointer-events: none;

    opacity: .9;
}

.franchise-card::after {

    content: "";

    position: absolute;

    inset: 0;

    border-radius: inherit;

    padding: 1px;

    background:

        linear-gradient(
            135deg,
            rgba(139,92,246,.22),
            transparent 30%,
            transparent 70%,
            rgba(59,130,246,.18)
        );

    -webkit-mask:

        linear-gradient(#fff 0 0) content-box,

        linear-gradient(#fff 0 0);

    -webkit-mask-composite: xor;

    pointer-events: none;

    opacity: .55;
}

.franchise-card:hover {

    transform:
        translateY(-6px)
        scale(1.015);

    box-shadow:

        0 18px 36px rgba(0,0,0,.45),

        0 0 18px rgba(139,92,246,.14),

        0 0 40px rgba(59,130,246,.08);

    border-color:
        rgba(139,92,246,.28);
}
.franchise-cover {
		
		position: relative;
	
    padding: 14px;

    height: 82px;

    background: #121214 !important;

    display: flex;

    align-items: center;

    justify-content: center;

    overflow: hidden;
}

.franchise-cover::after {

    content: "";

    position: absolute;

    inset: 0;

    background:

        linear-gradient(
            180deg,
            rgba(0,0,0,.04),
            rgba(0,0,0,.18)
        );

    pointer-events: none;
}

.franchise-cover img {

    max-width: 100%;

    max-height: 100%;

    object-fit: contain;

    transition: .3s;
}

.franchise-card:hover .franchise-cover img {

    transform: scale(1.05);
}

.franchise-content {

    padding: 12px 12px 14px;

    text-align: center;
}

.franchise-content strong {

    display: block;

    color: #fff !important;

    font-size: 16px;

    font-weight: 700;

    line-height: 1.25;
}

.franchise-subtitle {

    display: block;

    margin-top: 8px;

    color: #9c9ca5 !important;

    font-size: 12px;

    line-height: 1.35;

    opacity: 0;

    transform: translateY(5px);

    transition: .22s;
}

.franchise-card:hover .franchise-subtitle {

    opacity: 1;

    transform: translateY(0);
}


/* =========================================
   RELATED POSTS
========================================= */

.franchise-related-grid {

    display: grid;

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

    gap: 20px;
}

@media (max-width: 900px) {

    .franchise-related-grid {

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

@media (max-width: 640px) {

    .franchise-related-grid {

        grid-template-columns: 1fr;
    }
}

.franchise-related-item {


	 position: relative;
	
    display: flex;

    flex-direction: column;

    background: #1a1a1d !important;

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

    border-radius: 22px;

    overflow: hidden;

    text-decoration: none;

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.franchise-related-item::before {

    content: "";

    position: absolute;

    inset: 0;

    background:

        linear-gradient(
            180deg,
            transparent 35%,
            rgba(0,0,0,.24)
        );

    pointer-events: none;

    opacity: .75;

    transition:
        opacity .22s ease;
}


/* hover */

.franchise-related-item:hover::before {

    opacity: 1;
}

.franchise-related-item:hover {

    transform: translateY(-4px);

    box-shadow:
        0 14px 35px rgba(0,0,0,.45),
        0 0 15px rgba(139,92,246,.18);
}

.franchise-related-item img {

	transition:

    transform .45s cubic-bezier(.22,.61,.36,1),

    filter .45s cubic-bezier(.22,.61,.36,1);
	
    width: 100%;

    aspect-ratio: 4 / 5;

    object-fit: cover;
}

.franchise-related-item:hover img {

    transform:
        scale(1.06);

    filter:

        saturate(1.1)

        contrast(1.08)

        brightness(1.04);
}

.franchise-related-item span {

    padding: 16px;

    color: #f1f1f1 !important;

    font-size: 16px;

    font-weight: 600;

    line-height: 1.45;
}


/* =========================================
   SIDEBAR
========================================= */

.sidebar,
.widget-area {

    background: transparent !important;
}

.sidebar .widget {
			
			position: relative;

			overflow: hidden;
	
    background:
        linear-gradient(
            180deg,
            rgba(28,28,34,.96),
            rgba(18,18,24,.96)
        ) !important;

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

    border-radius: 20px;

    padding: 20px;

    box-shadow:
        0 10px 24px rgba(0,0,0,.22);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.sidebar .widget::before {

    content: "";

    position: absolute;

    top: 0;
    left: 0;
    right: 0;

    height: 1px;

    background:

        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.12),
            transparent
        );

    pointer-events: none;
}

/* TAG CLOUD */

.tagcloud {

    display: flex;

    flex-direction: column;

    gap: 8px;
}

.tagcloud a,
.widget_tag_cloud a {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 10px;

    padding: 12px 14px;

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

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

    border-radius: 14px;

    color: #d8d8dd !important;

    font-size: 14px !important;

    text-decoration: none !important;

    transition:
        transform .22s ease,
        background .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
}

.tagcloud a:hover,
.widget_tag_cloud a:hover {

    transform:
        translateX(6px);

    background:
        linear-gradient(
            135deg,
            rgba(124,58,237,.16),
            rgba(139,92,246,.18)
        );

    border-color:
        rgba(139,92,246,.35);

    color: #ffffff !important;

    box-shadow:

        0 8px 18px rgba(139,92,246,.16),

        0 0 22px rgba(139,92,246,.06);
}


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

.pagination a,
.page-numbers {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    min-width: 44px;

    height: 44px;

    padding: 0 16px;

    background:
        rgba(255,255,255,.03) !important;

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

    border-radius: 14px !important;

    color: #d8d8dd !important;

    font-weight: 600;

    transition:
        transform .22s ease,
        background .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
}


/* hover */

.pagination a:hover,
.page-numbers:hover {

    transform:
        translateY(-2px);

    background:
        rgba(139,92,246,.12) !important;

    border-color:
        rgba(139,92,246,.25) !important;

    box-shadow:
    0 8px 18px rgba(139,92,246,.12),
    0 0 28px rgba(59,130,246,.08);
}


/* current */

.pagination .current {

    background:
        linear-gradient(
            135deg,
            #7c3aed,
            #8b5cf6
        ) !important;

    color: #fff !important;

    border-color:
        rgba(139,92,246,.35) !important;

    box-shadow:
        0 10px 24px rgba(139,92,246,.22);
}





/* =========================================
   FRANCHISE CTA BOX
========================================= */

.browse-franchise-box,
.franchise-box,
.franchise-banner {

    background:
        linear-gradient(
            135deg,
            #1a1a1f,
            #141418
        ) !important;

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

    border-radius: 18px;

    padding: 22px;

    margin: 35px 0;

    position: relative;

    overflow: hidden;
}


/* glow */

.browse-franchise-box::before,
.franchise-box::before {

    content: "";

    position: absolute;

    top: -60px;
    right: -60px;

    width: 180px;
    height: 180px;

    background:
        radial-gradient(
            circle,
            rgba(139,92,246,.14),
            transparent 70%
        );

    pointer-events: none;
}


/* small label */

.browse-franchise-box .franchise-label,
.franchise-box .franchise-label {

    display: inline-block;

    margin-bottom: 14px;

    padding: 7px 14px;

    background:
        rgba(139,92,246,.18);

    border:
        1px solid rgba(139,92,246,.35);

    border-radius: 999px;

    color: #c4b5fd !important;

    font-size: 13px;

    font-weight: 600;

    letter-spacing: .3px;
}


/* description */

.browse-franchise-box p,
.franchise-box p {

    margin: 0 0 18px;

    color: #d4d4da !important;

    line-height: 1.75;

    font-size: 15px;

    max-width: 700px;
}


/* button */

.browse-franchise-box .franchise-btn,
.franchise-box .franchise-btn {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    padding: 10px 18px;

    background:
        linear-gradient(
            135deg,
            #7c3aed,
            #8b5cf6
        ) !important;

    color: #fff !important;

    border-radius: 12px;

    text-decoration: none !important;

    font-size: 14px;

    font-weight: 600;

    transition:
        transform .22s ease,
        box-shadow .22s ease;
}


/* hover */

.browse-franchise-box .franchise-btn:hover,
.franchise-box .franchise-btn:hover {

    transform: translateY(-2px);

    box-shadow:
        0 8px 18px rgba(139,92,246,.25);
}




/* =========================================
   POST SEO TEXT
========================================= */

.post-seo-text {

    margin: 28px 0;

    padding: 18px 22px;

    background:
        linear-gradient(
            135deg,
            #1a1a1f,
            #16161b
        );

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

    border-radius: 16px;

    position: relative;

    overflow: hidden;
}


/* subtle glow */

.post-seo-text::before {

    content: "";

    position: absolute;

    top: -50px;
    right: -50px;

    width: 140px;
    height: 140px;

    background:
        radial-gradient(
            circle,
            rgba(139,92,246,.12),
            transparent 70%
        );

    pointer-events: none;
}


/* text */

.post-seo-text p {

    margin: 0 !important;

    color: #d4d4da !important;

    line-height: 1.8;

    font-size: 15px;
}



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

.homepage-hero {
		
	box-shadow:

    0 18px 48px rgba(0,0,0,.35),

    0 0 0 1px rgba(255,255,255,.03),

    0 0 42px rgba(139,92,246,.06);
	
		background-image:

linear-gradient(
    rgba(255,255,255,.02) 1px,
    transparent 1px
),

linear-gradient(
    90deg,
    rgba(255,255,255,.02) 1px,
    transparent 1px
),

linear-gradient(
    135deg,
    #18181f 0%,
    #121218 100%
);

background-size:
    40px 40px,
    40px 40px,
    cover;
	
    position: relative;

    overflow: hidden;

    margin: 0 0 40px;

    padding: 70px 60px;

    border-radius: 26px;
  
border:
    1px solid rgba(139,92,246,.30);
}

/* glow */

.homepage-hero::before {

	filter: blur(10px);
	
    content: "";

    position: absolute;

    top: -140px;
    right: -140px;

    width: 420px;
    height: 420px;

    background:
        radial-gradient(
            circle,
            rgba(139,92,246,.22),
            transparent 70%
        );

    pointer-events: none;
}


/* second glow */

.homepage-hero::after {

    content: "";

    position: absolute;

    bottom: -120px;
    left: -120px;

    width: 320px;
    height: 320px;

    background:
        radial-gradient(
            circle,
            rgba(59,130,246,.12),
            transparent 70%
        );

    pointer-events: none;
}


/* content */

.hero-content {

    isolation: isolate;

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

    position: relative;

    z-index: 2;

    max-width: 760px;
}


/* badge */

.hero-badge {

	box-shadow:

    inset 0 1px 0 rgba(255,255,255,.05),

    0 8px 20px rgba(139,92,246,.12);

backdrop-filter: blur(10px);
	
    display: inline-block;

    margin-bottom: 20px;

    padding: 8px 16px;

    border-radius: 999px;

    background:
        rgba(139,92,246,.16);

    border:
        1px solid rgba(139,92,246,.35);

    color: #c4b5fd;

    font-size: 13px;

    font-weight: 600;

    letter-spacing: .4px;

    text-transform: uppercase;
}

/* HERO BADGE */

.hero-badge {

    position: relative;

    overflow: hidden;

    box-shadow:

        inset 0 1px 0 rgba(255,255,255,.05),

        0 8px 20px rgba(139,92,246,.12);

    backdrop-filter: blur(10px);

    display: inline-block;

    margin-bottom: 20px;

    padding: 8px 16px;

    border-radius: 999px;

    background:
        rgba(139,92,246,.16);

    border:
        1px solid rgba(139,92,246,.35);

    color: #c4b5fd;

    font-size: 13px;

    font-weight: 600;

    letter-spacing: .4px;

    text-transform: uppercase;
}

.hero-badge::before {

    content: "";

    position: absolute;

    inset: 0;

    border-radius: inherit;

    background:

        linear-gradient(
            180deg,
            rgba(255,255,255,.08),
            transparent 50%
        );

    pointer-events: none;
}

/* title */

.homepage-hero h1 {

	text-shadow:

    0 2px 12px rgba(0,0,0,.35),

    0 0 28px rgba(139,92,246,.08);
	
    margin: 0 0 18px;

    color: #ffffff !important;

    font-size: 58px;

    line-height: 1.05;

    font-weight: 800;

    letter-spacing: -1.5px;
}


/* subtitle */

.homepage-hero p {

    margin: 0 0 34px;

    color: #b9bbc7 !important;

    font-size: 20px;

    line-height: 1.9;

    letter-spacing: .3px;

    max-width: 720px;

    text-shadow:
        0 2px 10px rgba(0,0,0,.25);
}


/* buttons */

.hero-buttons {

    display: flex;

    gap: 16px;

    flex-wrap: wrap;
}


/* button */

.hero-btn {

	position: relative;

overflow: hidden;

box-shadow:

    inset 0 1px 0 rgba(255,255,255,.05),

    0 10px 24px rgba(0,0,0,.18);
	
    display: inline-flex;

    align-items: center;

    justify-content: center;

    padding: 14px 24px;

    border-radius: 14px;

    font-size: 15px;

    font-weight: 700;

    text-decoration: none !important;

    transition:
        transform .22s ease,
        box-shadow .22s ease,
        background .22s ease;
}

.hero-btn::before {

    content: "";

    position: absolute;

    inset: 0;

    background:

        linear-gradient(
            180deg,
            rgba(255,255,255,.08),
            transparent 40%
        );

    pointer-events: none;
}
/* primary */

.hero-btn-primary {

    background:
        linear-gradient(
            135deg,
            #7c3aed,
            #8b5cf6
        );

    color: #ffffff !important;
}

.hero-btn-primary:hover {

    transform:
        translateY(-3px)
        scale(1.02);

    box-shadow:

        0 14px 30px rgba(139,92,246,.34),

        0 0 30px rgba(139,92,246,.18);
}

.hero-btn-secondary:hover {

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

    transform:
        translateY(-3px);

    box-shadow:
        0 10px 22px rgba(0,0,0,.28);
}

/* secondary */

.hero-btn-secondary {

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

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

    color: #e5e7eb !important;
}

.hero-btn-secondary:hover {

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

    transform: translateY(-2px);
}


/* mobile */

@media (max-width: 900px) {

    .homepage-hero {

        padding: 50px 28px;
    }

    .homepage-hero h1 {

        font-size: 42px;
    }

    .homepage-hero p {

        font-size: 17px;
    }
}

@media (max-width: 640px) {

    .homepage-hero {

        padding: 40px 22px;
    }

    .homepage-hero h1 {

        font-size: 34px;
    }

    .homepage-hero p {

        font-size: 15px;
    }

    .hero-buttons {

        flex-direction: column;
    }

    .hero-btn {

        width: 100%;
    }
}


/* =========================================
   HERO FLOATING LOGOS
========================================= */

.hero-floating-logos {

    position: absolute;

    top: 50%;

    right: 70px;

    transform: translateY(-50%);

    display: flex;

    flex-direction: column;

    gap: 16px;

    z-index: 2;
}


/* items */

.hero-floating-logos span {

	position: relative;

overflow: hidden;
	
	box-shadow:

    inset 0 1px 0 rgba(255,255,255,.04),

    0 8px 20px rgba(0,0,0,.18);
	
    display: inline-flex;

    align-items: center;

    justify-content: center;

    padding: 12px 18px;

    border-radius: 999px;

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

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

    backdrop-filter: blur(8px);

    color: #f3f4f6;

    font-size: 14px;

    font-weight: 600;

    letter-spacing: .3px;

    width: fit-content;

    transition:
        transform .25s ease,
        background .25s ease,
        border-color .25s ease,
        box-shadow .25s ease;
}

.hero-floating-logos span::before {

    content: "";

    position: absolute;

    inset: 0;

    border-radius: inherit;

    background:

        linear-gradient(
            180deg,
            rgba(255,255,255,.06),
            transparent
        );

    pointer-events: none;
}

/* hover */

.hero-floating-logos span:hover {

    transform:
        translateX(-6px)
        translateY(-2px);

    background:
        rgba(139,92,246,.16);

    border-color:
        rgba(139,92,246,.35);

    color: #ffffff;

    box-shadow:

        inset 0 1px 0 rgba(255,255,255,.05),

        0 10px 22px rgba(139,92,246,.16),

        0 0 28px rgba(139,92,246,.10);
}


/* stagger */

.hero-floating-logos span:nth-child(2) {

    margin-left: 40px;
}

.hero-floating-logos span:nth-child(4) {

    margin-left: 55px;
}

.hero-floating-logos span:nth-child(6) {

    margin-left: 30px;
}


/* mobile */

@media (max-width: 1200px) {

    .hero-floating-logos {

        display: none;
    }
}

/* =========================================
   HERO ANIMATION
========================================= */

.homepage-hero::before {

    animation:
        heroGlow 8s ease-in-out infinite alternate;
}


/* animation */

@keyframes heroGlow {

    0% {

        transform:
            scale(1)
            translate(0,0);

        opacity: .7;
    }

    100% {

        transform:
            scale(1.12)
            translate(-20px,20px);

        opacity: 1;
    }
}

/* =========================================
   MINI FRANCHISE CARDS HOVER
========================================= */

.franchise-mini-card {

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

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.franchise-mini-card:hover {

    transform:
        translateY(-4px)
        scale(1.02);

    box-shadow:

        0 14px 28px rgba(0,0,0,.42),

        0 0 18px rgba(139,92,246,.14),

        0 0 34px rgba(59,130,246,.08);

    border-color:
        rgba(139,92,246,.25);
}


/* =========================================
   ALL FRANCHISES PREMIUM CARDS
========================================= */

.franchise-grid-small {

    gap: 18px;

    margin-top: 25px;
}


/* card */

.franchise-mini-card {

    display: block;

    overflow: hidden;

    text-decoration: none !important;

    background:
        linear-gradient(
            180deg,
            #18181d,
            #141418
        );

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

    border-radius: 18px;

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;

    position: relative;
}


/* image */

.franchise-mini-cover {

    overflow: hidden;

    border-bottom:
        1px solid rgba(255,255,255,.05);
}

/* title */

.franchise-mini-card span {

    display: block;

    padding: 12px;

    color: #f3f4f6 !important;

    font-size: 13px;

    font-weight: 600;

    line-height: 1.35;

    text-align: center;
}


/* hover */

.franchise-mini-card:hover {

    transform:
        translateY(-6px)
        scale(1.02);

    border-color:
        rgba(139,92,246,.28);

    box-shadow:

        0 18px 36px rgba(0,0,0,.45),

        0 0 20px rgba(139,92,246,.14),

        0 0 42px rgba(59,130,246,.08);
}


/* image hover */

.franchise-mini-card:hover img {

    transform: scale(1.04);
}





/* =========================================
   SECTION TITLES
========================================= */

.homepage-franchises h2 {

    position: relative;

    margin-bottom: 26px;

    padding-left: 18px;

    color: #ffffff !important;

    font-size: 34px;

    font-weight: 800;

    letter-spacing: -.8px;
}


/* accent line */

.homepage-franchises h2::before {

    content: "";

    position: absolute;

    top: 50%;
    left: 0;

    transform: translateY(-50%);

    width: 4px;
    height: 34px;

    border-radius: 999px;

    background:
        linear-gradient(
            180deg,
            #8b5cf6,
            #3b82f6
        );
}

/* =========================================
   POST CARD TITLES
========================================= */

.post-title,
.entry-title,
.masonry .entry-title,
.masonry h2 {

    color: #ffffff !important;

    font-weight: 700;

    line-height: 1.35;

    letter-spacing: -.3px;
}


/* links */

.post-title a,
.entry-title a,
.masonry .entry-title a,
.masonry h2 a {

    color: #ffffff !important;

    transition:
        color .22s ease;
}


/* hover */

article.post:hover .entry-title a,
.masonry article:hover h2 a {

    color: #d8ccff !important;
}


/* =========================================
   IMAGE ENHANCEMENT
========================================= */

.posts-grid img,
.archive-post img,
.franchise-card img,
.franchise-mini-card img {

    filter:

        saturate(1.04)

        contrast(1.03)

        brightness(.98);

    transition:

        transform .35s ease,

        filter .35s ease;
}


/* hover */

.posts-grid .post:hover img,
.archive-post:hover img,
.franchise-card:hover img,
.franchise-mini-card:hover img {

    filter:

    saturate(1.12)

    contrast(1.08)

    brightness(1.05);
}

/* =========================================
   CUSTOM SCROLLBAR
========================================= */

::-webkit-scrollbar {

    width: 12px;
}

::-webkit-scrollbar-track {

    background: #111114;
}

::-webkit-scrollbar-thumb {

    background:
        linear-gradient(
            180deg,
            #7c3aed,
            #3b82f6
        );

    border-radius: 999px;

    border:
        2px solid #111114;
}


/* hover */

::-webkit-scrollbar-thumb:hover {

    background:
        linear-gradient(
            180deg,
            #8b5cf6,
            #60a5fa
        );
}

/* =========================================
   SMOOTH SCROLL
========================================= */

html {

    scroll-behavior: smooth;
}

/* =========================================
   HERO FLOAT
========================================= */

@keyframes heroFloat {

    0% {

        transform:
            translateY(0px);
    }

    50% {

        transform:
            translateY(-4px);
    }

    100% {

        transform:
            translateY(0px);
    }
}


/* =========================================
   FADE IN
========================================= */

.homepage-hero,
.homepage-franchises,
.masonry article,
.sidebar .widget {

    animation:
        fadeUp .5s ease both;
}


/* animation */

@keyframes fadeUp {

    from {

        opacity: 0;

        transform:
            translateY(12px);
    }

    to {

        opacity: 1;

        transform:
            translateY(0);
    }
}

/* =========================================
   HERO PARTICLES
========================================= */


/* tiny particles */

.homepage-hero .hero-content::after {

		z-index: -1;
	
    content: "";

    position: absolute;

    inset: 0;

    pointer-events: none;

    background-image:

        radial-gradient(
            rgba(255,255,255,.08) 1px,
            transparent 1px
        );

    background-size:
        26px 26px;

    opacity: .08;

    mask-image:
        linear-gradient(
            180deg,
            rgba(0,0,0,.8),
            transparent
        );
}


/* =========================================
   POST TITLE LIFT
========================================= */

article.post .entry-title,
.masonry .entry-title {

    transition:
        transform .25s  transform .25s ease,,
        color .25s  transform .25s ease,;
}


/* hover */

article.post:hover .entry-title,
.masonry article:hover .entry-title {

    transform:
        translateY(-2px);
}

/* =========================================
   SECTION SPACING
========================================= */

.homepage-hero {

    margin-bottom: 55px;
}

.homepage-franchises {

    margin-bottom: 60px;
}

.masonry {

    margin-top: 25px;
}

/* =========================================
   SIDEBAR TITLES
========================================= */

.sidebar .widget-title {

    position: relative;

    margin-bottom: 18px;

    padding-left: 14px;

    color: #ffffff !important;

    font-size: 18px;

    font-weight: 700;

    letter-spacing: -.3px;
}


/* accent line */

.sidebar .widget-title::before {

    content: "";

    position: absolute;

    top: 50%;
    left: 0;

    transform: translateY(-50%);

    width: 3px;
    height: 20px;

    border-radius: 999px;

    background:
        linear-gradient(
            180deg,
            #8b5cf6,
            #3b82f6
        );
}

/* =========================================
   POST CARD DEPTH
========================================= */

article.post::after,
.masonry article::after {

    content: "";

    position: absolute;

    left: 0;
    right: 0;
    bottom: 0;

    height: 90px;

    background:

        linear-gradient(
            180deg,
            transparent,
            rgba(0,0,0,.22)
        );

    pointer-events: none;

    opacity: .7;

    transition:
        opacity .25s cubic-bezier(.22,.61,.36,1);
}


/* hover */

article.post:hover::after,
.masonry article:hover::after {

    opacity: 1;
}

/* =========================================
   HERO HOVER
========================================= */

.homepage-hero {

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

.homepage-hero:hover {

    transform:
        translateY(-2px);

    box-shadow:

        0 24px 60px rgba(0,0,0,.42),

        0 0 0 1px rgba(255,255,255,.04),

        0 0 55px rgba(139,92,246,.08);
}

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

.site-footer,
.footer,
#footer {

    position: relative;

    margin-top: 70px;

    padding-top: 40px;

    background:
        linear-gradient(
            180deg,
            #141418,
            #101014
        ) !important;

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


/* subtle glow */

.site-footer::before,
.footer::before {

    content: "";

    position: absolute;

    top: 0;
    left: 50%;

    transform: translateX(-50%);

    width: 420px;
    height: 1px;

    background:

        linear-gradient(
            90deg,
            transparent,
            rgba(139,92,246,.35),
            transparent
        );
}


/* =========================================
   FOOTER LINKS
========================================= */

.site-footer a,
.footer a {

    color: #b8bcc8 !important;

    transition:
        color .22s ease,
        opacity .22s ease;
}


/* hover */

.site-footer a:hover,
.footer a:hover {

    color: #d8ccff !important;

    opacity: 1;
}


/* text */

.site-footer,
.footer {

    color: #8f95a3 !important;

    line-height: 1.8;
}


/* =========================================
   BUTTON PRESS EFFECT
========================================= */

.hero-btn:active {

    transform:
        translateY(1px)
        scale(.98);

    transition:
        transform .08s ease;
}

/* =========================================
   HERO BUTTON LIGHT
========================================= */

.hero-btn {

    isolation: isolate;
}

.hero-btn::after {

    content: "";

    position: absolute;

    inset: -40%;

    background:

        radial-gradient(
            circle,
            rgba(255,255,255,.18),
            transparent 55%
        );

    opacity: 0;

    transition:
        opacity .25s ease,
        transform .35s ease;

    pointer-events: none;

    transform:
        translateX(-40%);
}


/* hover */

.hero-btn:hover::after {

    opacity: 1;

    transform:
        translateX(40%);
}


/* =========================================
   FRANCHISE HERO TITLE
========================================= */

.tag-seo-intro h2 {

    position: relative;

    z-index: 2;

    margin-bottom: 16px;

    color: #ffffff !important;

    font-size: 52px;

    line-height: 1.05;

    font-weight: 800;

    letter-spacing: -1.4px;

    text-shadow:

        0 2px 12px rgba(0,0,0,.35),

        0 0 28px rgba(139,92,246,.08);
}



/* =========================================
   FRANCHISE HERO TEXT
========================================= */

.tag-seo-intro p,
.auto-tag-intro {

    position: relative;

    z-index: 2;

    max-width: 760px;

    color: #c9ccd7 !important;

    font-size: 18px;

    line-height: 1.95;

    letter-spacing: .2px;

    text-shadow:
        0 2px 10px rgba(0,0,0,.22);
}



/* =========================================
   AUTO FRANCHISE LINKS
========================================= */

.auto-franchise-link {

    color: #c4b5fd !important;

    text-decoration: none;

    font-weight: 600;

    position: relative;

    transition:
        color .22s ease;
}


/* underline glow */

.auto-franchise-link::after {

    content: "";

    position: absolute;

    left: 0;
    bottom: -2px;

    width: 100%;
    height: 1px;

    background:
        linear-gradient(
            90deg,
            rgba(139,92,246,.7),
            rgba(59,130,246,.5)
        );

    opacity: .7;

    transition:
        opacity .22s ease,
        transform .22s ease;
}


/* hover */

.auto-franchise-link:hover {

    color: #e9ddff !important;
}

.auto-franchise-link:hover::after {

    opacity: 1;

    transform:
        scaleX(1.08);
}

/* =========================================
   RELATED BADGE
========================================= */

.related-badge {

    position: absolute;

    top: 12px;
    left: 12px;

    z-index: 3;

    padding: 6px 10px;

    border-radius: 999px;

    background:

        linear-gradient(
            135deg,
            #7c3aed,
            #8b5cf6
        );

    color: #ffffff !important;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: .8px;

    text-transform: uppercase;

    box-shadow:

        0 8px 18px rgba(139,92,246,.24);
}

/* =========================================
   RELATED TITLES
========================================= */

.franchise-related-item span {

    transition:
        color .22s ease,
        transform .22s ease;
}


/* hover */

.franchise-related-item:hover span {

    color: #e6dcff !important;

    transform:
        translateY(-2px);
}

/* =========================================
   HOT BADGE
========================================= */

.related-badge-hot {

    background:

        linear-gradient(
            135deg,
            #ef4444,
            #f97316
        ) !important;

    box-shadow:

        0 8px 18px rgba(239,68,68,.24),

        0 0 22px rgba(249,115,22,.16);
}

/* =========================================
   RELATED SUBTITLE
========================================= */

.related-subtitle {

    margin: -8px 0 26px;

    color: #9ca3af !important;

    font-size: 15px;

    line-height: 1.8;

    letter-spacing: .2px;

    max-width: 720px;
}


/* =========================================
   RELATED STAGGER
========================================= */

.franchise-related-item {

    animation:
        relatedFade .45s ease both;
}


/* stagger */

.franchise-related-item:nth-child(2) {

    animation-delay: .04s;
}

.franchise-related-item:nth-child(3) {

    animation-delay: .08s;
}

.franchise-related-item:nth-child(4) {

    animation-delay: .12s;
}

.franchise-related-item:nth-child(5) {

    animation-delay: .16s;
}

.franchise-related-item:nth-child(6) {

    animation-delay: .20s;
}


/* animation */

@keyframes relatedFade {

    from {

        opacity: 0;

        transform:
            translateY(12px);
    }

    to {

        opacity: 1;

        transform:
            translateY(0);
    }
}

/* =========================================
   MOBILE HERO
========================================= */

@media (max-width: 768px) {

    .homepage-hero {

        padding: 34px 22px;

        border-radius: 22px;

        margin-bottom: 38px;
    }

    .homepage-hero h1 {

        font-size: 34px;

        line-height: 1.08;

        letter-spacing: -1px;
    }

    .homepage-hero p {

        font-size: 15px;

        line-height: 1.8;

        margin-bottom: 24px;
    }

    .hero-buttons {

        flex-direction: column;

        gap: 12px;
    }

    .hero-btn {

        width: 100%;

        justify-content: center;
    }

    .hero-floating-logos {

        display: none !important;
    }
}

/* =========================================
   MOBILE FRANCHISES
========================================= */

@media (max-width: 768px) {

    .franchise-grid {

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

        gap: 14px;
    }

    .franchise-card {

        border-radius: 18px;
    }

    .franchise-cover {

        height: 72px;

        padding: 10px;
    }

    .franchise-content {

        padding: 10px;
    }

    .franchise-content strong {

        font-size: 14px;

        line-height: 1.3;
    }

    .franchise-subtitle {

        display: none;
    }
}


/* =========================================
   MOBILE POSTS
========================================= */

@media (max-width: 768px) {

    article.post,
    .archive-post {

        border-radius: 18px;
    }

    .entry-title,
    .post-title {

        font-size: 18px;

        line-height: 1.35;
    }

    .entry-content p {

        font-size: 15px;

        line-height: 1.8;
    }

    .post-meta,
    .entry-meta {

        font-size: 12px;

        gap: 8px;
    }
}

/* =========================================
   MOBILE RELATED
========================================= */

@media (max-width: 768px) {

    .franchise-related-grid {

        grid-template-columns: 1fr;

        gap: 16px;
    }

    .franchise-related-item {

        border-radius: 18px;
    }

    .franchise-related-item span {

        font-size: 14px;

        padding: 14px;
    }

    .related-subtitle {

        font-size: 14px;

        line-height: 1.7;
    }
}


/* =========================================
   MOBILE SIDEBAR
========================================= */

@media (max-width: 768px) {

    .sidebar .widget {

        padding: 16px;

        border-radius: 18px;

        margin-bottom: 18px;
    }

    .sidebar .widget-title {

        font-size: 16px;

        margin-bottom: 14px;
    }

    .tagcloud a,
    .widget_tag_cloud a {

        padding: 10px 12px;

        font-size: 13px !important;

        border-radius: 12px;
    }
}


/* =========================================
   MOBILE SPACING
========================================= */

@media (max-width: 768px) {

    .homepage-franchises {

        margin-bottom: 40px;
    }

    .masonry {

        margin-top: 16px;
    }

    .tag-seo-intro,
    .auto-tag-intro {

        padding: 22px;

        border-radius: 22px;

        margin-bottom: 28px;
    }

    .franchise-stats {

        gap: 12px;

        margin: 20px 0 28px;
    }

    .post-seo-text {

        padding: 16px 18px;

        border-radius: 18px;
    }
}


/* =========================================
   MOBILE TOUCH
========================================= */

@media (max-width: 768px) {

    .hero-btn,
    .franchise-card,
    .franchise-mini-card,
    .franchise-related-item,
    .tagcloud a,
    .widget_tag_cloud a {

        -webkit-tap-highlight-color:
            transparent;
    }

    .hero-btn:active,
    .franchise-card:active,
    .franchise-mini-card:active,
    .franchise-related-item:active {

        transform:
            scale(.98);
    }
}


/* =========================================
   MOBILE TEXT FIXES
========================================= */

@media (max-width: 768px) {

    .entry-title,
    .post-title,
    .franchise-content strong,
    .franchise-mini-card span {

        word-break: break-word;

        overflow-wrap: anywhere;
    }

    .entry-content {

        overflow-wrap: break-word;
    }
}

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

.site-header,
.header,
.top-header {

    position: sticky;

    top: 0;

    z-index: 999;

    backdrop-filter: blur(18px);

    background:

        linear-gradient(
            180deg,
            rgba(10,12,20,.94),
            rgba(8,10,18,.90)
        ) !important;

    border-bottom:
        1px solid rgba(139,92,246,.12);

    box-shadow:

        0 10px 30px rgba(0,0,0,.30),

        0 0 26px rgba(139,92,246,.06);
}

/* =========================================
   FORCE HEADER COLOR
========================================= */

#header,
.site-header,
.header,
.topbar,
.top-header,
#header-wrap {

    background:

        linear-gradient(
            180deg,
            rgba(10,12,20,.96),
            rgba(8,10,18,.92)
        ) !important;

    backdrop-filter: blur(18px) !important;

    border-bottom:
        1px solid rgba(139,92,246,.12) !important;

    box-shadow:

        0 10px 30px rgba(0,0,0,.30),

        0 0 26px rgba(139,92,246,.06) !important;
}


/* remove old backgrounds */

#header::before,
#header::after,
.site-header::before,
.site-header::after {

    background: transparent !important;
}

/* =========================================
   HEADER PREMIUM EFFECT
========================================= */

.site-header,
.header,
.top-header {

    transition:

        background .25s ease,

        box-shadow .25s ease,

        padding .25s ease;
}


/* subtle glow */

.site-header::after,
.header::after {

    content: "";

    position: absolute;

    left: 0;
    bottom: 0;

    width: 100%;
    height: 1px;

    background:

        linear-gradient(
            90deg,
            transparent,
            rgba(139,92,246,.35),
            rgba(59,130,246,.22),
            transparent
        );

    opacity: .85;

    pointer-events: none;
}

/* =========================================
   FORCE HEADER COLOR
========================================= */

#header,
.site-header,
.header,
.topbar,
.top-header,
#header-wrap {

    background:

        linear-gradient(
            180deg,
            rgba(10,12,20,.96),
            rgba(8,10,18,.92)
        ) !important;

    backdrop-filter: blur(18px) !important;

    border-bottom:
        1px solid rgba(139,92,246,.12) !important;

    box-shadow:

        0 10px 30px rgba(0,0,0,.30),

        0 0 26px rgba(139,92,246,.06) !important;
}


/* remove old backgrounds */

#header::before,
#header::after,
.site-header::before,
.site-header::after {

    background: transparent !important;
}


/* =========================================
   FRANCHISE FAQ
========================================= */

.franchise-faq {

    margin: 50px 0;

    padding: 34px;

    background:

        linear-gradient(
            135deg,
            #18181f,
            #121218
        );

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

    border-radius: 26px;

    box-shadow:
        0 18px 40px rgba(0,0,0,.28);

    position: relative;

    overflow: hidden;
}


/* glow */

.franchise-faq::before {

    content: "";

    position: absolute;

    top: -120px;
    right: -120px;

    width: 320px;
    height: 320px;

    background:

        radial-gradient(
            circle,
            rgba(139,92,246,.16),
            transparent 70%
        );

    pointer-events: none;
}


/* title */

.franchise-faq h2 {

    margin-bottom: 28px;

    color: #ffffff !important;

    font-size: 34px;

    font-weight: 800;

    letter-spacing: -.8px;
}


/* items */

.faq-item {

    margin-bottom: 28px;

    position: relative;

    z-index: 2;
}


/* question */

.faq-item h3 {

    margin-bottom: 10px;

    color: #ffffff !important;

    font-size: 20px;

    font-weight: 700;

    line-height: 1.4;
}


/* answer */

.faq-item p {

    margin: 0;

    color: #c9ccd7 !important;

    font-size: 16px;

    line-height: 1.9;
}


/* =========================================
   PREMIUM NAVIGATION
========================================= */

/* desktop links */

.nav-menu:not(.mobile) a {

    position: relative;

    display: inline-flex;

    align-items: center;

    height: 42px;

    padding: 0 14px;

    border-radius: 12px;

    color: #cfd3dc !important;

    font-size: 15px;

    font-weight: 500;

    letter-spacing: -.1px;

    transition:

        color .22s ease,

        background .22s ease,

        transform .22s ease;
}


/* hover */

.nav-menu:not(.mobile) a:hover {

    color: #ffffff !important;

    background:
        rgba(139,92,246,.08);

    transform:
        translateY(-1px);
}


/* active */

.nav-menu:not(.mobile) li.current_page_item > span > a,
.nav-menu:not(.mobile) li.current-menu-item > span > a,
.nav-menu:not(.mobile) li.current-menu-ancestor > span > a {

    color: #ffffff !important;

    background:
        linear-gradient(
            135deg,
            rgba(139,92,246,.16),
            rgba(59,130,246,.10)
        );
}


/* animated underline */

.nav-menu:not(.mobile) a::after {

    content: "";

    position: absolute;

    left: 14px;
    right: 14px;
    bottom: 4px;

    height: 2px;

    border-radius: 999px;

    background:

        linear-gradient(
            90deg,
            #8b5cf6,
            #3b82f6
        );

    transform:
        scaleX(0);

    transition:
        transform .22s ease;
}


/* hover underline */

.nav-menu:not(.mobile) a:hover::after {

    transform:
        scaleX(1);
}


/* active underline */

.nav-menu:not(.mobile)
li.current_page_item > span > a::after,

.nav-menu:not(.mobile)
li.current-menu-item > span > a::after,

.nav-menu:not(.mobile)
li.current-menu-ancestor > span > a::after {

    transform:
        scaleX(1);
}


/* dropdown */

.nav-menu:not(.mobile) .menu ul {

    margin-top: 14px;

    padding: 10px;

    background:
        rgba(18,18,24,.96) !important;

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

    border-radius: 18px;

    backdrop-filter: blur(18px);

    box-shadow:

        0 20px 44px rgba(0,0,0,.42),

        0 0 22px rgba(139,92,246,.06);
}


/* dropdown items */

.nav-menu:not(.mobile) ul ul a {

    border-radius: 12px;

    min-width: 220px;

    padding: 12px 14px;

    color: #d8d8dd !important;
}


/* dropdown hover */

.nav-menu:not(.mobile) ul ul a:hover {

    background:
        rgba(139,92,246,.10);

    color: #ffffff !important;
}

/* =========================================
   DOWNLOAD REDIRECT PAGE
========================================= */

.go-wrapper {

    position: relative;

    overflow: hidden;

    max-width: 760px;

    margin: 60px auto;

    padding: 60px 50px;

    text-align: center;

    background:

        linear-gradient(
            135deg,
            #18181f,
            #121218
        );

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

    border-radius: 30px;

    box-shadow:

        0 24px 60px rgba(0,0,0,.35),

        0 0 36px rgba(139,92,246,.06);
}


/* glow */

.go-wrapper::before {

    content: "";

    position: absolute;

    top: -140px;
    right: -140px;

    width: 340px;
    height: 340px;

    background:

        radial-gradient(
            circle,
            rgba(139,92,246,.18),
            transparent 70%
        );

    pointer-events: none;
}


/* icon */

.go-icon {

    position: relative;

    z-index: 2;

    margin-bottom: 22px;

    font-size: 54px;

    line-height: 1;
}


/* title */

.go-title {

    position: relative;

    z-index: 2;

    margin-bottom: 26px;

    color: #ffffff !important;

    font-size: 44px;

    line-height: 1.1;

    font-weight: 800;

    letter-spacing: -1px;
}


/* timer */

.go-timer {

    position: relative;

    z-index: 2;

    margin: 28px auto;

    width: 88px;
    height: 88px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 999px;

    background:

        linear-gradient(
            135deg,
            #7c3aed,
            #8b5cf6
        );

    color: #ffffff;

    font-size: 28px;

    font-weight: 800;

    box-shadow:

        0 16px 34px rgba(139,92,246,.30),

        0 0 30px rgba(139,92,246,.14);
}


/* button */

.go-btn {

    position: relative;

    z-index: 2;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    min-width: 240px;

    padding: 16px 26px;

    border-radius: 16px;

    text-decoration: none !important;

    font-size: 16px;

    font-weight: 700;

    transition:

        transform .22s ease,

        box-shadow .22s ease,

        opacity .22s ease;
}


/* disabled */

.go-btn.disabled {

    pointer-events: none;

    opacity: .45;

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

    color: #d1d5db !important;
}


/* active */

.go-btn.active {

    background:

        linear-gradient(
            135deg,
            #7c3aed,
            #8b5cf6
        );

    color: #ffffff !important;

    box-shadow:

        0 14px 30px rgba(139,92,246,.28);
}


/* hover */

.go-btn.active:hover {

    transform:
        translateY(-3px);

    box-shadow:

        0 18px 38px rgba(139,92,246,.34),

        0 0 30px rgba(139,92,246,.12);
}


/* note */

.go-note {

    position: relative;

    z-index: 2;

    margin-top: 18px;

    color: #9ca3af !important;

    font-size: 15px;
}


/* ads */

.go-ad {

    position: relative;

    z-index: 2;

    margin: 28px 0;
}


/* mobile */

@media (max-width: 768px) {

    .go-wrapper {

        margin: 30px 16px;

        padding: 40px 24px;

        border-radius: 24px;
    }

    .go-title {

        font-size: 34px;
    }

    .go-btn {

        width: 100%;
    }
}

/* =========================================
   GO PAGE MOBILE FIX
========================================= */

@media (max-width: 768px) {

    .go-wrapper {

        overflow: hidden;

        padding: 36px 20px;
    }

    .go-btn {

        width: 100% !important;

        max-width: 100%;

        min-width: 0;

        box-sizing: border-box;
    }
}

/* =========================================
   HERO AD BLOCK
========================================= */

.hero-ad {

    position: relative;

    overflow: hidden;

    margin: 34px 0 42px;

    padding: 18px;

    border-radius: 24px;

    background:

        linear-gradient(
            135deg,
            #18181f,
            #121218
        );

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

    box-shadow:

        0 18px 40px rgba(0,0,0,.28),

        0 0 22px rgba(139,92,246,.05);

    text-align: center;
}


/* glow */

.hero-ad::before {

    content: "";

    position: absolute;

    top: -100px;
    right: -100px;

    width: 260px;
    height: 260px;

    background:

        radial-gradient(
            circle,
            rgba(139,92,246,.14),
            transparent 70%
        );

    pointer-events: none;
}


/* adsense */

.hero-ad ins.adsbygoogle {

    position: relative;

    z-index: 2;

    border-radius: 18px;
}


/* =========================================
   FRANCHISE AD
========================================= */

.franchise-ad {

    position: relative;

    overflow: hidden;

    margin: 42px 0;

    padding: 20px;

    border-radius: 28px;

    background:

        linear-gradient(
            135deg,
            #18181f,
            #121218
        );

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

    box-shadow:

        0 20px 44px rgba(0,0,0,.30),

        0 0 26px rgba(139,92,246,.05);

    text-align: center;
}


/* glow */

.franchise-ad::before {

    content: "";

    position: absolute;

    top: -120px;
    right: -120px;

    width: 280px;
    height: 280px;

    background:

        radial-gradient(
            circle,
            rgba(139,92,246,.14),
            transparent 70%
        );

    pointer-events: none;
}


/* =========================================
   CLEAN PREMIUM ADS
========================================= */

.stl-ad-center {

    position: relative;

    overflow: hidden;

    margin: 42px 0 60px;

    padding: 16px;

    border-radius: 22px;

    background:

        linear-gradient(
            135deg,
            rgba(24,24,31,.88),
            rgba(18,18,24,.88)
        );

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

    box-shadow:

        0 14px 34px rgba(0,0,0,.20);

    text-align: center;
}


/* subtle ambient glow */

.stl-ad-center::before {

    content: "";

    position: absolute;

    top: -120px;
    right: -120px;

    width: 220px;
    height: 220px;

    background:

        radial-gradient(
            circle,
            rgba(139,92,246,.08),
            transparent 70%
        );

    pointer-events: none;
}


/* adsense */

.stl-ad-center ins.adsbygoogle {

    position: relative;

    z-index: 2;

    border-radius: 16px;
}


/* mobile */

@media (max-width: 768px) {

    .stl-ad-center {

        margin: 32px 0 46px;

        padding: 12px;

        border-radius: 18px;
    }
}


/* =========================================
   MOBILE HERO BUTTON FIX
========================================= */

@media (max-width: 768px) {

    .hero-buttons {

        width: 100%;
    }

    .hero-btn {

        width: 100%;

        max-width: 100%;

        box-sizing: border-box;
    }
}


/* =========================================
   AUTO FRANCHISE LINKS
========================================= */

.auto-franchise-link {

    color: #c4b5fd !important;

    text-decoration: none;

    font-weight: 600;

    position: relative;

    transition:
        color .22s ease;
}


/* underline glow */

.auto-franchise-link::after {

    content: "";

    position: absolute;

    left: 0;
    bottom: -2px;

    width: 100%;
    height: 1px;

    background:
        linear-gradient(
            90deg,
            rgba(139,92,246,.7),
            rgba(59,130,246,.5)
        );

    opacity: .7;

    transition:
        opacity .22s ease,
        transform .22s ease;
}


/* hover */

.auto-franchise-link:hover {

    color: #e9ddff !important;
}

.auto-franchise-link:hover::after {

    opacity: 1;

    transform:
        scaleX(1.08);
}


/* =========================================
   NEW MODELS PAGE
========================================= */

.new-models-grid {

    display: grid;

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

    gap: 22px;

    margin: 30px 0;
}


/* tablet */

@media (max-width: 1100px) {

    .new-models-grid {

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


/* mobile */

@media (max-width: 768px) {

    .new-models-grid {

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

        gap: 16px;
    }
}


/* card */

.new-model-card {

    position: relative;

    overflow: hidden;

    display: block;

    text-decoration: none !important;

    border-radius: 22px;

    background:

        linear-gradient(
            180deg,
            #1a1a1f,
            #141418
        );

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

    transition:

        transform .25s ease,

        box-shadow .25s ease,

        border-color .25s ease;
}


/* hover */

.new-model-card:hover {

    transform:
        translateY(-6px);

    border-color:
        rgba(139,92,246,.28);

    box-shadow:

        0 18px 36px rgba(0,0,0,.42),

        0 0 18px rgba(139,92,246,.12);
}


/* image */

.new-model-card img {

    width: 100%;

    aspect-ratio: 4 / 5;

    object-fit: cover;

    transition:
        transform .35s ease;
}


/* image hover */

.new-model-card:hover img {

    transform:
        scale(1.05);
}


/* content */

.new-model-content {

    padding: 16px;
}


/* title */

.new-model-content h3 {

    margin: 0 0 10px;

    color: #ffffff !important;

    font-size: 16px;

    line-height: 1.45;

    font-weight: 700;
}


/* date */

.new-model-date {

    color: #9ca3af;

    font-size: 13px;
}

/* =========================================
   NEW MODELS BADGE
========================================= */
/* =========================================
   NEW MODELS BADGE
========================================= */

/* =========================================
   NEW MODELS STRIP
========================================= */

.new-models-badge {

    display: block;

    width: 100%;

    margin: 10px 0 28px;

    padding: 16px 22px;

    border-radius: 18px;

    background:

        linear-gradient(
            135deg,
            rgba(124,58,237,.18),
            rgba(59,130,246,.12)
        );

    border:
        1px solid rgba(139,92,246,.24);

    color: #f3e8ff;

    font-size: 13px;

    font-weight: 700;

    letter-spacing: 1px;

    text-transform: uppercase;

    box-shadow:

        0 12px 28px rgba(139,92,246,.10),

        inset 0 1px 0 rgba(255,255,255,.04);
}
/* =========================================
   NEW MODELS PAGE FIX
========================================= */

.new-models-grid {

    display: grid;

    grid-template-columns:
        repeat(auto-fill,minmax(220px,1fr));

    gap: 24px;

    width: 100%;
}


/* page intro spacing */

.page .entry-content > p {

    max-width: 760px;

    margin-bottom: 34px;
}

/* =========================================
   NEW MODELS FULL WIDTH
========================================= */

.page-id .content {

    max-width: 1500px !important;

    width: calc(100% - 80px);

    margin: 0 auto;
}


/* grid */

.new-models-grid {

    display: grid;

    grid-template-columns:
        repeat(auto-fill,minmax(240px,1fr));

    gap: 24px;

    width: 100%;
}


/* =========================================
   NEW MODELS AD
========================================= */

.new-models-ad {

    position: relative;

    overflow: hidden;

    margin: 34px 0 40px;

    padding: 18px;

    border-radius: 24px;

    background:

        linear-gradient(
            135deg,
            #18181f,
            #121218
        );

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

    box-shadow:

        0 18px 40px rgba(0,0,0,.24),

        0 0 24px rgba(139,92,246,.05);

    text-align: center;
}


/* glow */

.new-models-ad::before {

    content: "";

    position: absolute;

    top: -100px;
    right: -100px;

    width: 240px;
    height: 240px;

    background:

        radial-gradient(
            circle,
            rgba(139,92,246,.10),
            transparent 70%
        );

    pointer-events: none;
}

