/*
Author: Shadow Themes
Author URL: https://aitechnocrats.com
Name: template | Creative Multipurpose
Version: 1.0
License: Open

=================
Table of Contents
=================
01. GENERAL
    1.1 - Basics Styles
    1.2 - BrickWall Styles
    1.3 - Selection

02. TYPOGRAPHY
    2.1 - Basics Typography
    2.2 - Blockquote
    2.3 - Lists
    2.4 - Marked List
    2.5 - Headings
    2.6 - Alignment

03. FORMS AND FIELDS

04. HEADER
    4.1 - General Header
    4.2 - Main Menu
    4.3 - Sub-Menu
    4.4 - Mobile Menu Container

05. MAIN CONTAINER

06. FOOTER
    6.1 - General Footer
    6.2 - Footer Widgets
    6.3 - Footer Line
    6.4 - Socials List

07. HERO SECTIONS
    7.1 - Info Line
    7.2 - Layout 01
    7.3 - Layout 02
    7.4 - Layout 03
    7.5 - Layout 04 
    7.6 - Layout 05 
    7.7 - Layout 06 
    7.8 - Layout 07 
    7.9 - Layout 08 

08. SCROLLING ELEMENTS
    8.1 - Smooth Scroll 
    8.2 - Mask Fill Text 
    8.3 - Expanded Section 

09. ELEMENTS
    9.1 - Base Grid
    9.2 - Lazy Loader 
    9.3 - Masked Block 
    9.4 - Icons 
    9.5 - Block Item 
    9.6 - Tags List 
    9.7 - Link with Arrow 
    9.8 - Icon Link 
    9.9 - Square Button 
   9.10 - Price Card 
   9.11 - Marquee List 
   9.12 - Counter Block 
   9.13 - Porftolio Grid Card 
   9.14 - Portfolio Short List 
   9.15 - Testimonials Grid Card 
   9.16 - Carousel Card 
   9.17 - List with Preview 
   9.18 - Carousel (Swiper) 
   9.19 - Detailed List 
   9.20 - Image Box 
   9.21 - Icon Box 
   9.22 - Grid More Masked 
   9.23 - Price Table Card 
   9.24 - FAQ List 
   9.25 - Toggles 
   9.26 - Swiper Slider 
   9.27 - Fullscreen Slider 
   9.28 - Portfolio Next Post 
   9.29 - Bento Grid Block 
   9.30 - Meta List 
   9.31 - Masked CTA 
   9.32 - Member Contacts 
   9.33 - Infinite List 
   9.34 - Column Listing Item 
   9.35 - Grid CTA 
   9.36 - CTA with Image 
   9.37 - Right Click Protection 

10. PHOTOSWIPE

11. HOVER STATES

12. ANIMATIONS
    12.1 - Keyframes
    12.2 - Entrance Animations
    
====================================== */

/** ===========
    01. GENERAL
    =========== */
    @import url("stg.css");

    * {
       box-sizing: border-box;
       outline: none;
    }
    :root {
        --template-border-mask: linear-gradient(#000, #000) content-box content-box, linear-gradient(#000, #000);
    }
    body,
    html {
       padding: 0;
       margin: 0;
       min-height: 100%;
       max-width: 100vw;
    }
    body {
        overflow-x: hidden;
        position: relative;
        -webkit-tap-highlight-color: transparent;
        font-family: var(--template-t-content-ff);
        font-size: var(--template-t-content-fs);
        line-height: var(--template-t-content-lh);
        letter-spacing: var(--template-t-content-ls);
        font-weight: var(--template-t-content-fw);
        color: var(--template-s-text);
        background: var(--template-s-body-bg);
    }
    body.is-unloading {
        pointer-events: none;
    }
    body.template-fullscreen-page {
        overflow: hidden;
    }
    body.template-fullscreen-page {
        height: 100svh;
    }
    body.is-loaded {
        opacity: 1;
    }
    body.is-unloaded {
        mask-position: 175%;
        transition: mask-position 0.75s;
    }
    iframe {
        max-width: 100%;
        border-radius: var(--template-default-br);
    }
    iframe.template-google-map {
        border-radius: var(--template-small-br);
    }
    img,
    video {
        display: block;
        max-width: 100%;
        height: auto;
    }
    img,
    video {
        border-radius: var(--template-default-br);
    }
    header img,
    header video,
    footer video,
    footer img,
    .template-logo img {
        border-radius: unset;
    }
    .template-parallax-media:not([class*='template-grid']),
    .template-parallax-media .st-lazy-wrapper,
    .template-parallax-image {
        overflow: hidden;
        border-radius: var(--template-default-br);
    }
    .pswp {
        display: none;
    }
    .pswp.pswp--open {
        display: block;
    }
    
    [data-bg-src] {
        background: var(--template-s-container-bg) no-repeat center;
        background-size: cover;
        position: relative;
    }
    .template-grid-item-link {
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        right: 0;
        z-index: 7;
        border-radius: inherit;
    }
    
    /* === BrickWall Styles === */
    .brickwall-grid {
        position: relative;
    }
    .brickwall-grid > div {
        position: absolute;
        left: 0;
        top: 0;
    }
    .brickwall-grid > div.is-appended,
    .brickwall-grid > div.is-prepended {
        transform: scale(0);
    }
    .brickwall-grid:not(.animation--none) > div.brickwall-item {
        transition: transform 0.4s, opacity 0.4s;
        will-change: transform, opacity;
    }
    .brickwall-grid.animation--slow > div.brickwall-item {
        transition: transform 0.8s, opacity 0.8s;
        will-change: transform, opacity;
    }
    
    /* === Selection === */
    ::selection {
        color: var(--template-s-heading);
        background-color: var(--template-s-accent);
    }
    img,
    a img,
    .template-counter,
    header#template-header,
    .swiper,
    .disable-selection {
        -webkit-touch-callout: none;
        -webkit-user-select: none;
        -khtml-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
    }
    
    /** ==============
        02. TYPOGRAPHY
        ============== */
    .template-highlight {
        color: var(--template-s-heading);
    }
    strong {
        font-weight: var(--template-t-heading-fw);
        color: var(--template-s-heading);
    }
    p {
        margin: 0 0 var(--template-t-content-lh) 0;
    }
    .template-large-text {
        font-size: var(--template-t-large-fs);
        line-height: var(--template-t-content-lh);
        color: var(--template-s-heading);
    }
    p:last-child {
        margin: 0;
    }
    p:empty {
        display: none;
    }
    a {
        position: relative;
    }
        
    a,
    a:focus,
    a:visited {
        text-decoration: none;
        color: var(--template-s-text-accent);
    }
    a {
        transition: color 0.3s;
    }
    address {
        margin: 0 0 28px 0;
    }
    ins,
    tt,
    kbd,
    code,
    pre {
        padding: 7px 15px 8px 15px;
        display: inline-block;
        margin: 10px 0;
        max-width: 100%;
    }
    tt,
    kbd,
    code {
        margin: 0 5px;
    }
    abbr {
        text-transform: uppercase;
    }
    ins, acronym, abbr {
        text-decoration: none;
    }
    kbd,
    code {
        margin: 10px 5px;
        font-family: monospace;
    }
    pre {
        white-space: pre-wrap;
        margin-bottom: 1.65em;
    }
    hr {
        border: none;
        width: 100%;
        height: 1px;
        background: var(--template-c-border-gradient);
        margin: 1.65em 0;
    }
    hr:first-child {
        margin-top: 0;
    }
    hr:first-child {
        margin-bottom: 0;
    }
    label,
    blockquote cite,
    .template-label {
        font-size: var(--template-t-meta-fs);
        font-weight: var(--template-t-meta-fw);
        letter-spacing: var(--template-t-meta-ls);
        color: var(--template-s-heading-fade);
        text-transform: uppercase;
        margin-bottom: 4px;
    }
    sup {
        font-size: 0.6em;
        margin-right: 2px;
        display: inline-block;
        transform: translateY(0.05em);
    }
    
    .template-title-with-label h1 {
        margin-bottom: 0;
    }
    .template-title-with-label .template-label:first-child {
        display: block;
        margin-bottom: var(--stg-xs-gap);
    }
    .template-title-with-label .template-label:last-child {
        display: block;
        margin-top: 4px;
        margin-bottom: 0;
    }
    
    .is-dropcap::first-letter {
        font-family: var(--template-t-heading-ff);
        font-weight: var(--template-t-heading-fw);
        line-height: var(--template-t-h2-lh);
        color: var(--template-s-heading);
        font-size: var(--template-t-h2-fs);
        letter-spacing: var(--template-t-h2-ls);
        display: block;
        float: left;
        margin: -6px 16px -8px 0;
    }
    
    /* Blockquote */
    blockquote cite {
        opacity: 1;
        position: relative;
    }
    blockquote cite::before {
        content: '';
        width: 8px;
        height: 2px;
        background-color: var(--template-s-heading);
        display: inline-block;
        margin-right: 8px;
        vertical-align: middle;
        transform: translateY(-1px);
    }
    cite {
        text-align: right;
        display: block;
        font-style: normal;
    }
    
    /* === Lists === */
    ol,
    ul {
        padding: 0;
        margin: 0;
    }
    ol:last-child,
    ul:last-child {
        margin: 0;
    }
    ol li,
    ul li {
        padding: 0;
        margin: 0;
        list-style: disc;
    }
    
    /* === Marked List === */
    .template-marked-list {
        padding: 0;
        margin: 0;
    }
    .template-marked-list li {
        list-style: none;
        padding: 0 0 0 28px;
        margin: 0 0 1.5em 0;
        position: relative;
    }
    .template-marked-list li:last-child {
        margin: 0;
    }
    .template-marked-list:not(:last-child) {
        margin: 0 0 1.5em 0;
    }
    .template-marked-list li::before {
        content: '';
        width: 16px;
        height: 12px;
        display: block;
        position: absolute;
        left: 0;
        top: 5px;
        background: var(--template-s-heading);
        -webkit-mask-repeat: no-repeat;
        -webkit-mask-size: contain;
        -webkit-mask-position: center;
        mask-repeat: no-repeat;
        mask-size: contain;
        mask-position: center;
        -webkit-mask-image: var(--icon-check);
        mask-image: var(--icon-check);
    }
    
    /* === Headings === */
    h1, h2, h3, h4, h5, h6 {
        font-family: var(--template-t-heading-ff);
        font-weight: var(--template-t-heading-fw);
        color: var(--template-s-heading);
    }
    h1, h2, h3 {
        margin: 0 0 var(--stg-gap) 0;
    }
    h4, h5, h6 {
        margin: 0 0 var(--stg-small-gap) 0;
    }
    h1:last-child, h2:last-child, h3:last-child, h4:last-child, h5:last-child, h6:last-child {
        margin-bottom: 0;
    }
    h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
        color: var(--template-s-heading);
    }
    h1 sup, h2 sup, h3 sup, h4 sup, h5 sup, h6 sup {
        opacity: 0.25;
    }
    .template-accent {
        color: var(--template-s-text-accent);
    }
    .is-accented .template-accent {
        color: var(--template-s-heading);
    }
    
    .template-page-title {
        display: block;
        width: 100%;
    }
    .template-post-title {
        margin-bottom: 0;
    }
    .template-post-title:not(:last-child),
    .template-page-title:not(:last-child) {
        margin-bottom: var(--stg-gap);
    }
    .template-title-with-meta span:first-child {
        margin-bottom: 4px;
        display: block;
    }
    .template-title-with-meta span:last-child {
        margin-top: 4px;
        display: block;
    }
    h1.template-page-title {
        margin-bottom: calc( -1 * var(--stg-small-gap) );
    }
    .template-section-title {
        margin-bottom: var(--stg-large-gap);
    }
    .template-section-title p.is-short {
        max-width: calc(0.5 * var(--stg-container-width));
        margin: 0 auto;
    }
    .template-page-title.is-large {
        font-size: calc(1.2 * var(--template-t-h1-fs));
        line-height: calc(1.2 * var(--template-t-h1-lh));
    }
    h1 {
        font-size: var(--template-t-h1-fs);
        letter-spacing: var(--template-t-h1-ls);
        line-height: var(--template-t-h1-lh);
        margin: var(--template-t-h1-margin);
    }
    h2 {
        font-size: var(--template-t-h2-fs);
        letter-spacing: var(--template-t-h2-ls);
        line-height: var(--template-t-h2-lh);
        margin: var(--template-t-h2-margin);
    }
    h3 {
        font-size: var(--template-t-h3-fs);
        letter-spacing: var(--template-t-h3-ls);
        line-height: var(--template-t-h3-lh);
        margin: var(--template-t-h3-margin);
    }
    h4 {
        font-size: var(--template-t-h4-fs);
        letter-spacing: var(--template-t-h4-ls);
        line-height: var(--template-t-h4-lh);
        margin: var(--template-t-h4-margin);
    }
    .template-block h4 {
        margin-bottom: var(--stg-gap);
    }
    h5 {
        font-size: var(--template-t-h5-fs);
        letter-spacing: var(--template-t-h5-ls);
        line-height: var(--template-t-h5-lh);
        margin: var(--template-t-h5-margin);
    }
    h6 {
        font-size: var(--template-t-h6-fs);
        letter-spacing: var(--template-t-h6-ls);
        line-height: var(--template-t-h6-lh);
        margin: var(--template-t-h6-margin);
    }
    .stg-vertical-space-between > h1,
    .stg-vertical-space-between > h2,
    .stg-vertical-space-between > h3,
    .stg-vertical-space-between > h4,
    .stg-vertical-space-between > h5,
    .stg-vertical-space-between > h6 {
        margin-bottom: 0;
    }
    .align-center h1,
    .align-center h2,
    .align-center h3,
    .align-center h4,
    .align-center h5,
    .align-center h6 {
        margin-left: auto;
        margin-right: auto;
    }
    .template-meta {
        font-size: var(--template-t-meta-fs);
        font-weight: var(--template-t-heading-fw);
        font-family: var(--template-t-heading-ff);
        letter-spacing: var(--template-t-meta-ls);
        text-transform: uppercase;
        color: var(--template-s-heading-fade);
        margin-bottom: calc(0.5 * var(--stg-xs-gap));
    }
    .template-meta.template-highlight {
        color: var(--template-s-heading);
    }
    .template-meta > a,
    .template-meta > span {
        color: var(--template-s-heading);
    }
    
    /* === Alignment === */
    .align-left {
        text-align: left;
    }
    .align-center {
        text-align: center;
    }
    .align-right {
        text-align: right;
    }
    .align-center img {
        margin-left: auto;
        margin-right: auto;
    }
    .align-right img {
        margin-left: auto;
    }
    
    /** ====================
        03. FORMS AND FIELDS
        ==================== */
    label {
        transition: opacity 0.2s;
        display: block;
        margin-bottom: 8px;
    }
    label.in-focus {
        opacity: 1;
    }
    input,
    textarea {
        width: 100%;
        display: block;
        font-family: var(--template-t-content-ff);
        font-weight: var(--template-t-content-fw);
        font-size: var(--template-t-input-fs);
        line-height: 1em;
        letter-spacing: var(--template-t-content-ls);
        border: 1px solid var(--template-s-border);
        border-radius: var(--template-input-br);
        background: var(--template-s-container-bg);
        padding: var(--template-input-spacing);
        color: var(--template-s-text);
        transition: color 0.3s, border-color 0.3s, box-shadow 0.3s;
        box-shadow: 0 0 8px transparent;
    }
    input:focus,
    textarea:focus {
        border-color: var(--template-s-accent);
        color: var(--template-s-heading);
        box-shadow: 0 8px 16px var(--template-s-box-shadow);
    }
    input:not(:last-child),
    textarea:not(:last-child) {
        margin-bottom: var(--template-input-gap);
    }
    textarea {
        line-height: var(--template-t-input-lh);
        height: 191px;
        resize: vertical;
    }
    input[type="button"],
    input[type="reset"],
    input[type="submit"],
    button:not([class*='pswp']),
    a.template-button {
        font-family: var(--template-t-content-ff);
        font-weight: var(--template-t-content-fw);
        font-size: var(--template-t-button-fs);
        line-height: 1;
        padding: var(--template-button-spacing);
        display: inline-block;
        color: var(--template-s-accented-text);
        background: var(--template-s-accent);
        border-radius: var(--template-button-br);
        border: 1px solid var(--template-s-border-accent);
        transition: background-color 0.3s;
        cursor: pointer;
    }
    a.template-button.is-secondary,
    .template-square-button.is-secondary {
        background: transparent;
        transition: background-color 0.3s, border-color 0.3s;
        border-color: var(--template-s-heading);
    }
    input[type="button"].is-fullwidth,
    input[type="reset"].is-fullwidth,
    input[type="submit"].is-fullwidth,
    button.is-fullwidth,
    .template-button.is-fullwidth {
        width: 100%;
        display: block;
        text-align: center;
    }
    
    /* === Contact Form === */
    form.template-contact-form {
        box-shadow: 0 8px 16px var(--template-s-box-shadow);
        width: 100%;
        transition: transform 0.3s;
        will-change: transform;
    }
    .template-form-content {
        transition: opacity 0.3s;
    }
    form.template-contact-form.is-busy .template-form-content {
        opacity: 0.5;
    }
    .template-contact-form:not(.is-short) [type="submit"] {
        margin-bottom: 0;
        width: 100%;
    }
    .template-form-spinner {
        width: 48px;
        height: 48px;
        border: 2px solid var(--template-s-border-mute);
        border-top-color: var(--template-s-heading);
        border-radius: 50%;
        animation: sta_spin 1s infinite linear;
        pointer-events: none;
        position: absolute;
        z-index: 15;
        top: calc(50% - 24px);
        left: calc(50% - 24px);
        display: block;
        will-change: transform, opacity;
        opacity: 0;
        transition: opacity 0.3s;
    }
    .template-contact-form.is-busy .template-form-spinner {
        opacity: 1;
    }
    .template-contact-form.is-busy {
        transform: scale(0.95);
        pointer-events: none;
    }
    .template-contact-form.is-error {
        animation: sta_shake 0.3s linear;
    }
    .template-contact-form__response {
        padding-top: var(--stg-gap);
        text-align: center;
        position: static;
        font-size: var(--template-t-meta-fs);
        font-weight: var(--template-t-meta-fw);
        letter-spacing: var(--template-t-meta-ls);
        color: var(--template-s-heading);
        text-transform: uppercase;
        width: 100%;
        display: none;
    }
    .is-short .template-contact-form__response {
        position: absolute;
        top: 100%;
        left: 0;
    }
    .template-masked-cta .template-contact-form__response {
        top: auto;
        left: var(--stg-large-gap);
        bottom: calc( 0.5 * (var(--stg-large-gap) - var(--template-t-content-lh)) );
    }
    
    /** ==========
        04. HEADER
        ========== */
    #template-header {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        z-index: 111;
        background: var(--template-s-nav);
    }
    #template-header.is-sticky {
        position: fixed;
    }
    #template-header.is-frosted {
        -webkit-backdrop-filter: saturate(150%) blur(12px);
        backdrop-filter: saturate(150%) blur(12px);
    }
    #template-header::after {
        content: '';
        width: 100%;
        height: 1px;
        display: block;
        background: var(--template-c-border-gradient);
        position: absolute;
        bottom: 0;
        left: 0;
    }
    #template-header::before {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        right: 0;
        bottom: 0;
        background: linear-gradient( 0deg, transparent 25%, var(--template-s-body-bg) 100%);
        display: block;
    }
    .no-header-border #template-header::after {
        display: none;
    }
    .template-header-inner {
        padding: var(--template-header-spacing) 0;
        min-height: 44px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: var(--stg-container-width);
        margin: 0 auto;
        position: relative;
        z-index: 5;
    }
    .template-mobile-header-inner {
        display: none;
    }
    
    /* === Main Menu === */
    .template-active-menu-ind {
        position: absolute;
        width: calc(var(--active-width) - 0.5 * var(--template-menu-gap));
        height: 2px;
        background-color: var(--template-s-heading);
        border-radius: 1px;
        left: calc(var(--active-left) + 0.25 * var(--template-menu-gap));
        bottom: 0;
    }
    .template-active-menu-ind::before {
        content: '';
        height: var(--st-header-height);
        width: 200%;
        background: radial-gradient(ellipse at center bottom, var(--template-s-heading) 10%, transparent 60%) no-repeat bottom center;
        display: block;
        position: absolute;
        bottom: 100%;
        left: -50%;
        opacity: 0.1;
    }
    nav.template-nav ul.main-menu {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: calc(0.5 * var(--template-menu-gap));
        --stea-move: var(--stg-small-gap);
    }
    ul.main-menu li {
        list-style: none;
        margin: 0;
        padding: 0;
        font-family: var(--template-t-menu-ff);
        font-weight: var(--template-t-menu-fw);
        font-size: var(--template-t-menu-fs);
        line-height: var(--template-t-menu-lh);
        position: relative;
    }
    ul.sub-menu li {
        font-family: var(--template-t-submenu-ff);
        font-weight: var(--template-t-submenu-fw);
        font-size: var(--template-t-submenu-fs);
        line-height: var(--template-t-submenu-lh);
    }
    ul.main-menu li.template-menu-divider {
        position: relative;
        padding: 12px 0;
        height: 1px;
        pointer-events: none;
    }
    ul.main-menu li.template-menu-divider::after {
        content: '';
        width: 100%;
        height: 1px;
        display: block;
        background: var(--template-c-border-gradient);
        position: absolute;
        left: 0;
        top: 12px;
        opacity: 0.5;
    }
    nav.template-nav ul.main-menu > li > a {
        padding: calc(0.25 * var(--template-menu-gap));
    }
    ul.main-menu a {
        color: var(--template-c-menu);
        display: block;
        transition: color 0.3s;
    }
    ul.main-menu li.current-menu-parent > a,
    ul.main-menu li.current-menu-item > a,
    ul.main-menu li.current-menu-ancestor > a {
        color: var(--template-c-menu-active);
        font-weight: var(--template-t-heading-fw);
    }
    #template-header ul.sub-menu > li.current-menu-item a::after,
    #template-header ul.sub-menu > li.current-menu-parent a::after {
        content: '';
        position: absolute;
        width: 2px;
        height: calc(100% - 16px);
        left: -8px;
        top: 8px;
        background: var(--template-s-heading);
        border-radius: 1px;
    }
    ul.main-menu li.menu-item-has-children > a::after {
        content: '';
        width: var(--template-t-menu-fs);
        height: var(--template-t-menu-fs);
        background: var(--template-c-menu);
        transition: background-color 0.3s;
        display: inline-block;
        margin-left: 8px;
        vertical-align: middle;
        -webkit-mask-repeat: no-repeat;
        -webkit-mask-position: center;
        -webkit-mask-size: contain;
        mask-repeat: no-repeat;
        mask-size: contain;
        mask-position: center;
        -webkit-mask-image: var(--icon-chevron-down);
        mask-image: var(--icon-chevron-down);
        transform: scale(1.5) translateY(-1px);
    }
    ul.main-menu li.menu-item-has-children.current-menu-parent > a::after,
    ul.main-menu li.menu-item-has-children.current-menu-item > a::after,
    ul.main-menu li.menu-item-has-children.current-menu-ancestor > a::after {
        color: var(--template-c-menu-active);
    }
    
    /* Sub-Menu */
    nav.template-nav ul.sub-menu {
        display: block;
        position: absolute;
        top: 100%;
        left: -16px;
        width: var(--template-sub-menu-width);
        background: var(--template-s-container-bg) radial-gradient(circle at center bottom, var(--template-s-backlight) 0%, transparent) no-repeat;
        z-index: 222;
        border-radius: var(--template-small-br);
        padding: 8px;
        transition: opacity 0.2s, transform 0.2s;
        will-change: opacity, transform;
        pointer-events: none;
        opacity: 0;
        transform: scale(1, 0);
        transform-origin: 50% 0%;
    }
    nav.template-nav ul.sub-menu ul.sub-menu {
        top: -8px;
        left: calc(100% + 16px);
        z-index: 223;
        transform: scale(0, 1);
        transform-origin: 0% 50%;
    }
    nav.template-nav ul.sub-menu::before,
    nav.template-nav ul.sub-menu ul.sub-menu::after {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        user-select: none;
    }
    nav.template-nav ul.sub-menu::before {
        right: 0;
        bottom: 0;
        inset: 0px;
        padding: 1px;
        background: linear-gradient( 0deg, var(--template-s-border), var(--template-s-backlight) );
        mask: var(--template-border-mask);
        -webkit-mask: var(--template-border-mask);
        border-radius: var(--template-small-br);
        mask-composite: exclude;
        -webkit-mask-composite: xor;
    }
    nav.template-nav ul.sub-menu ul.sub-menu::after {
        width: 32px;
        height: 100%;
        top: 0;
        left: -24px;
        background: transparent;
    }
    nav.template-nav ul.sub-menu li {
        position: relative;
        z-index: 3;
    }
    nav.template-nav ul.sub-menu li::before {
        content: '';
        background: var(--template-s-backlight);
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        right: 0;
        border-radius: var(--template-xs-br);
        transition: opacity 0.3s;
        will-change: opacity;
        opacity: 0;
    }
    nav.template-nav ul.sub-menu li a {
        padding: 12px;
        position: relative;
        z-index: 4;
    }
    nav.template-nav ul.sub-menu li.menu-item-has-children > a::after {
        position: absolute;
        right: 8px;
        top: calc(50% - calc(0.5 * var(--template-t-menu-fs)));
        mask-image: var(--icon-menu-chevron);
        -webkit-mask-image: var(--icon-menu-chevron);
        transform: scale(1.5) translateX(0px);
    }
    
    /* Show Sub-Menu Event */
    nav.template-nav li.menu-item-has-children:hover > ul.sub-menu {
        opacity: 1;
        transform: scale(1);
        pointer-events: all;
    }
    
    /* Mobile Menu Container */
    .template-mobile-nav {
        position: fixed;
        right: 0;
        top: var(--st-header-height);
        width: 100%;
        height: calc(100% - var(--st-header-height));
        max-width: 390px;
        z-index: 88;
        background: var(--template-s-nav);
        contain: paint;
        overflow-y: scroll;
        scrollbar-width: none;
        pointer-events: none;
        transform: translateX(100%);
        transition: transform 0.3s;
        will-change: transform;
        display: none;
    }
    .template-mobile-nav.is-frosted {
        -webkit-backdrop-filter: saturate(150%) blur(12px);
        backdrop-filter: saturate(150%) blur(12px);
    }
    
    /** ==================
        05. MAIN CONTAINER
        ================== */
    main#template-main {
        position: relative;
        z-index: 5;
        contain: paint;
    
        transition: opacity 0.5s;
        will-change: opacity;
    }
    body:not(.is-loaded) main#template-main {
        opacity: 0;
    }
    body.template-fullscreen-page main#template-main {
        transition: opacity 0.5s, transform 0.8s;
        will-change: transform, opacity;
    }
    body.template-fullscreen-page:not(.is-loaded) main#template-main {
        transform: scale(1.05);
    }
    #template-main.template-min-content {
        display: flex;
        width: 100%;
        height: 100%;
        align-items: center;
        padding: 0 0 var(--st-footer-height) 0;
        min-height: calc(100svh - var(--st-footer-height));
    }
    body.template-fullscreen-page main#template-main {
        position: fixed;
        left: 0;
        right: 0;
        top: 0;
        width: 100%;
        height: 100svh;
        padding-top: 0;
    }
    section {
        padding: var(--template-section-gap) 0;
        position: relative;
    }
    section > div {
        position: relative;
        z-index: 5;
    }
    section[data-padding="none"] {
        padding-top: 0;
        padding-bottom: 0;
    }
    section[data-padding="top"] {
        padding-bottom: 0;
    }
    section[data-padding="bottom"] {
        padding-top: 0;
    }
    section[data-padding="small"] {
        padding: calc(0.5 * var(--template-section-gap)) 0;
    }
    section.is-fullwidth {
        max-width: 100svw;
        --template-fw-spacing: calc(0.5 * (100vw - var(--stg-container-width)));
        margin-left: calc(-1 * var(--template-fw-spacing));
        margin-right: calc(-1 * var(--template-fw-spacing));
        padding-left: var(--template-fw-spacing);
        padding-right: var(--template-fw-spacing);
    }
    section.is-fullwidth.is-stretched {
        padding-left: 0;
        padding-right: 0;
    }
    section.is-fullwidth.is-stretched > .is-boxed {
        --template-fw-spacing: calc(0.5 * (100vw - var(--stg-container-width)));
        padding-left: var(--template-fw-spacing);
        padding-right: var(--template-fw-spacing);
    }
    section.backlight-top::before,
    section.backlight-bottom::after,
    section.backlight-both::before,
    section.backlight-both::after,
    section.divider-both::before,
    section.divider-both::after,
    section.divider-top::before,
    section.divider-bottom::after {
        content: '';
        position: absolute;
        z-index: 1;
        left: calc(-0.5 * (100vw - var(--stg-container-width)));
        pointer-events: none;
    }
    .stg-container.is-fullwidth section.backlight-top::before,
    .stg-container.is-fullwidth section.backlight-bottom::after,
    .stg-container.is-fullwidth section.backlight-both::before,
    .stg-container.is-fullwidth section.backlight-both::after,
    .stg-container.is-fullwidth section.divider-both::before,
    .stg-container.is-fullwidth section.divider-both::after,
    .stg-container.is-fullwidth section.divider-top::before,
    .stg-container.is-fullwidth section.divider-bottom::after,
    section.is-fullwidth.backlight-top::before,
    section.is-fullwidth.backlight-bottom::after,
    section.is-fullwidth.backlight-both::before,
    section.is-fullwidth.backlight-both::after,
    section.is-fullwidth.divider-both::before,
    section.is-fullwidth.divider-both::after,
    section.is-fullwidth.divider-top::before,
    section.is-fullwidth.divider-bottom::after {
        left: 0;
    }
    section.backlight-top::before,
    section.backlight-bottom::after,
    section.backlight-both::before,
    section.backlight-both::after {
        width: 100vw;
        height: 50vw;
    }
    section.backlight-top::before,
    section.backlight-both::before {
        background: radial-gradient( 100vw circle at 50vw 0%, var(--template-s-backlight), transparent 50% );
    }
    section.backlight-bottom::after,
    section.backlight-both::after {
        background: radial-gradient( 100vw circle at 50vw 100%, var(--template-s-backlight), transparent 50% );
    }
    section.backlight-top::before,
    section.backlight-both::before {
        top: 0;
    }
    section.backlight-bottom::after,
    section.backlight-both::after {
        bottom: 0;
    }
    section.divider-both::before,
    section.divider-both::after,
    section.divider-top::before,
    section.divider-bottom::after {
        width: 100vw;
        height: 1px;
        display: block;
        background: var(--template-c-border-gradient);
    }
    section.divider-both::before,
    section.divider-top::before {
        top: 0;
    }
    section.divider-both::after,
    section.divider-bottom::after {
        bottom: 0;
    }
    section.backlight-top:last-child::before {
        height: 100%;
    }
    
    /* Mouse Cursor Backlight */
    .template-backlight {
        position: fixed;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background: radial-gradient( 50vw circle at var(--mouse-x) var(--mouse-y), var(--template-s-cursor-light), transparent 50% );
        opacity: 0.75;
        z-index: 1;
    }
    
    /** ==========
        06. FOOTER
        ========== */
    #template-footer {
        position: relative;
        z-index: 22;
    }
    #template-footer.is-sticky,
    .template-fullscreen-page #template-footer {
        position: fixed;
        width: 100%;
        bottom: 0;
        left: 0;
        background: var(--template-s-nav);
    }
    #template-footer.is-frosted,
    .template-fullscreen-page #template-footer.is-frosted {
        -webkit-backdrop-filter: saturate(150%) blur(12px);
        backdrop-filter: saturate(150%) blur(12px);
    }
    #template-footer a {
        color: var(--template-s-heading);
    }
    
    /* === Footer Widgets === */
    .template-footer-line::before,
    .template-footer-widgets::before {
        content: '';
        width: 100%;
        height: 1px;
        display: block;
        background: var(--template-c-border-gradient);
        position: absolute;
        top: 0;
        left: 0;
    }
    .template-footer-widgets::before {
        opacity: 0.5;
    }
    .template-footer-widgets {
        padding: var(--stg-large-gap) 0;
        position: relative;
    }
    .template-footer-widgets::after {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        right: 0;
        background: var(--template-s-backlight) radial-gradient( 100vw circle at 50vw 35vw, var(--template-s-backlight), transparent 50% );
        opacity: 0.5;
        pointer-events: none;
    }
    .template-footer-widgets .stg-container {
        position: relative;
        z-index: 3;
    }
    .template-footer-widgets h6 {
        margin-bottom: var(--stg-gap);
    }
    .template-widget ul {
        margin: 0;
        padding: 0;
    }
    .template-widget ul li {
        padding: 0;
        margin: 0;
        list-style: none;
    }
    
    /* Widget: Info */
    .template-info-widget {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
    }
    .template-info-widget .template-logo {
        margin: 0 0 var(--stg-gap) 0;
    }
    .template-info-description {
        margin-bottom: 28px;
    }
    .template-info-widget .template-label {
        margin-bottom: var(--stg-xs-gap);
        color: var(--template-s-heading);
    }
    
    /* Widget: Contacts */
    .template-contacts-widget ul li:not(:last-child) {
        margin-bottom: 16px;
    }
    .template-contacts-widget .template-label {
        display: block;
    }
    
    /* Widget: Menu */
    .template-menu-widget ul li {
        margin: 0 -8px;
        position: relative;
    }
    .template-menu-widget a {
        display: block;
        padding: 8px;
        position: relative;
        z-index: 3;
        opacity: 0.7;
        transition: opacity 0.3s;
    }
    .template-menu-widget ul {
        margin: -8px 0;
    }
    .template-menu-widget ul li::before {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        right: 0;
        bottom: 0;
        border-radius: var(--template-xs-br);
        background: var(--template-s-backlight);
        z-index: 1;
        opacity: 0;
        transform-origin: 0 50%;
        will-change: opacity;
        transition: opacity 0.2s;
    }
    
    /* === Footer Line === */
    .no-footer-border .template-footer-line::before {
        display: none;
    }
    .template-footer-line {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: var(--stg-gap) 0;
        position: relative;
        font-size: var(--template-t-footer-fs);
        line-height: var(--template-t-footer-lh);
    }
    .template-footer-line:has(.align-center) {
        justify-content: center;
    }
    .template-footer-divider {
        margin: 0 8px;
    }
    
    /* === Socials List === */
    ul.template-socials-list {
        display: flex;
        gap: var(--template-socials-gap);
    }
    ul.template-socials-list.stg-xs-gap {
        gap: var(--stg-xs-gap);
    }
    ul.template-socials-list.stg-small-gap {
        gap: var(--stg-small-gap);
    }
    ul.template-socials-list.stg-large-gap {
        gap: var(--stg-large-gap);
    }
    ul.template-socials-list.stg-xl-gap {
        gap: var(--stg-xl-gap);
    }
    .template-footer-line ul.template-socials-list {
        margin: -8px 0;
    }
    .template-socials-list li {
        list-style: none;
        padding: 0;
        display: block;
    }
    .template-socials-list a {
        position: relative;
        width: calc(var(--template-socials-size) + 24px);
        height: calc(var(--template-socials-size) + 24px);
        padding: 8px;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: var(--template-xs-br);
        transition: transform 0.1s, background-color 0.3s;
        will-change: transform;
    }
    .template-socials-list a::before {
        content: '';
        display: block;
        position: absolute;
        left: 0;
        bottom: 0;
        right: 0;
        top: 0;
        border-radius: inherit;
        border: 1px solid var(--template-s-heading);
        transition: opacity 0.3s;
        will-change: opacity;
    }
    .template-socials-list i {
        width: var(--template-socials-size);
        height: var(--template-socials-size);
        background-color: var(--template-s-heading);
        -webkit-mask-repeat: no-repeat;
        -webkit-mask-size: contain;
        -webkit-mask-position: center;
        mask-repeat: no-repeat;
        mask-size: contain;
        mask-position: center;
        display: block;
        z-index: 3;
    }
    .template-socials-500px i {
        -webkit-mask-image: var(--icon-social-500px);
        mask-image: var(--icon-social-500px);
    }
    .template-socials-behance i {
        -webkit-mask-image: var(--icon-social-behance);
        mask-image: var(--icon-social-behance);
    }
    .template-socials-dribbble i {
        -webkit-mask-image: var(--icon-social-dribbble);
        mask-image: var(--icon-social-dribbble);
    }
    .template-socials-facebook i {
        -webkit-mask-image: var(--icon-social-facebook);
        mask-image: var(--icon-social-facebook);
    }
    .template-socials-flickr i {
        -webkit-mask-image: var(--icon-social-flickr);
        mask-image: var(--icon-social-flickr);
    }
    .template-socials-instagram i {
        -webkit-mask-image: var(--icon-social-instagram);
        mask-image: var(--icon-social-instagram);
    }
    .template-socials-linkedin i {
        -webkit-mask-image: var(--icon-social-linkedin);
        mask-image: var(--icon-social-linkedin);
    }
    .template-socials-patreon i {
        -webkit-mask-image: var(--icon-social-patreon);
        mask-image: var(--icon-social-patreon);
    }
    .template-socials-pinterest i {
        -webkit-mask-image: var(--icon-social-pinterest);
        mask-image: var(--icon-social-pinterest);
    }
    .template-socials-tiktok i {
        -webkit-mask-image: var(--icon-social-tiktok);
        mask-image: var(--icon-social-tiktok);
    }
    .template-socials-tumblr i {
        -webkit-mask-image: var(--icon-social-tumblr);
        mask-image: var(--icon-social-tumblr);
    }
    .template-socials-vimeo i {
        -webkit-mask-image: var(--icon-social-vimeo);
        mask-image: var(--icon-social-vimeo);
    }
    .template-socials-x i {
        -webkit-mask-image: var(--icon-social-x);
        mask-image: var(--icon-social-x);
    }
    .template-socials-xing i {
        -webkit-mask-image: var(--icon-social-xing);
        mask-image: var(--icon-social-xing);
    }
    .template-socials-youtube i {
        -webkit-mask-image: var(--icon-social-youtube);
        mask-image: var(--icon-social-youtube);
    }
    /* Framed Socials */
    .template-socials-list.template-framed-socials {
        flex-wrap: wrap;
        gap: var(--stg-small-gap);
    }
    
    /** =================
        07. HERO SECTIONS
        ================= */
    .template-hero-block .template-page-title {
        margin-bottom: 0;
    }
    /* Info Line */
    .template-hero-info-line {
        display: flex;
        justify-content: space-between;
        --stea-move: var(--stg-gap);
    }
    .template-hero-info-line .template-meta {
        margin: 0;
    }
    .template-hero-info-line > div {
        width: 33.33%;
    }
    .template-hero-info-line > div:nth-child(2) {
        text-align: center;
    }
    .template-hero-info-line > div:nth-child(3) {
        text-align: right;
    }
    
    /* === Layout 01 === */
    .template-hero-type01 .template-masked-block {
        --masked-inner-radius: var(--template-large-br);
    }
    .template-hero-type01 .template-masked-content {
        width: 128px;
        height: 128px;
        position: absolute;
        bottom: 0;
        right: 0;
    }
    .template-hero-type01 .template-masked-content a.template-square-button {
        width: 112px;
        height: 112px;
        border-radius: var(--template-default-br);
    }
    .template-hero-type01 .template-masked-content a span {
        width: 32px;
        height: 32px;
    }
    
    /* Social Proof */
    .template-hero-type01 .template-hero-social-proof {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        padding-top: var(--stg-small-gap);
    }
    .template-hero-type01 .template-hero-social-proof > div {
        display: flex;
        justify-content: flex-end;
        margin-right: -4px;
        margin-bottom: 20px;
    }
    .template-hero-type01 .template-hero-social-proof p {
        text-align: right;
        text-transform: uppercase;
        color: var(--template-s-heading);
        max-width: 110px;
    }
    .template-hero-type01 .template-hero-social-proof img,
    .template-hero-type01 .template-hero-social-proof a {
        display: flex;
        width: 64px;
        height: 64px;
        border-radius: 50%;
        margin-left: -32px;
        border: 4px solid var(--template-s-body-bg);
    }
    .template-hero-type01 .template-hero-social-proof a {
        justify-content: center;
        align-items: center;
        text-align: center;
        color: var(--template-s-heading);
        background: var(--template-s-accent);
    }
    
    /* === Layout 02 === */
    .template-hero-type02 .template-page-title {
        padding-right: var(--stg-gap);
        margin-bottom: var(--stg-large-gap);
        padding-bottom: 0;
    }
    .stg-row.template-hero02-row {
        padding-bottom: var(--stg-large-gap);
        width: calc(var(--stg-container-width) + var(--stg-gap));
    }
    
    /* === Layout 03 === */
    .template-hero-type03 .template-hero-title-wrap {
        display: flex;
        width: 100%;
        justify-content: space-between;
        margin-bottom: var(--stg-gap);
    }
    .template-hero-type03 .template-hero-title-wrap h1 {
        max-width: 70%;
        margin-bottom: 0;
    }
    .template-hero-type03 .template-hero-title-wrap > div {
        max-width: 25%;
        height: auto;
        border-radius: var(--template-default-br);
    }
    .template-hero-type03 .template-hero-media {
        aspect-ratio: 2/1;
    }
    .template-hero-type03 .template-hero-media video,
    .template-hero-type03 .template-hero-media img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }
    .template-hero-type03 .template-hero-media-content {
        max-width: 25%;
        width: max-content;
        text-align: right;
    }
    .template-hero-type03 .template-hero-media-content-inner {
        padding: 0 0 calc(var(--stg-small-gap) + 4px) var(--stg-small-gap);
    }
    .template-hero-type03 svg {
        position: absolute;
        pointer-events: none;
        left: 0;
        top: 0;
        opacity: 0;
    }
    .template-hero-type03 .template-tags-list {
        position: absolute;
        left: var(--stg-small-gap);
        bottom: var(--stg-small-gap);
        max-width: 33%;
    }
    .template-tags-list li[data-appear] {
        --stea-move: var(--stg-small-gap);
    }
    
    /* === Layout 04 === */
    .template-hero-type04 .template-large-text {
        max-width: 50%;
        margin: 0 auto;
    }
    .template-hero-type04 .template-hero-info-line {
        margin-bottom: var(--stg-gap);
    }
    
    /* === Layout 05 === */
    .template-hero-type05 .template-title-block {
        aspect-ratio: 1/1;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: flex-start;
        margin-bottom: var(--stg-gap);
        border-radius: var(--template-default-br);
    }
    .template-hero-type05 .template-title-block .template-large-text {
        max-width: 425px;
    }
    .template-hero-type05 .template-hero-media-wrap {
        position: relative;
        border-radius: var(--template-default-br);
    }
    .template-hero-type05 .template-hero-media-wrap img {
        position: absolute;
        width: calc(100% - 2 * var(--stg-large-gap));
        height: auto;
        top: var(--stg-large-gap);
        left: var(--stg-large-gap);
        display: block;
        box-shadow: 0 8px 16px var(--template-s-box-shadow);
    }
    .template-hero-type05 .template-square-button {
        width: 100%;
        height: 100%;
        display: flex;
        border-radius: var(--template-default-br);
    }
    .template-hero-type05 a.template-square-button span.template-icon {
        width: 64px;
        height: 64px;
    }
    
    /* === Layout 06 === */
    .template-hero-type06 .is-large .template-bento-hero-media p {
        max-width: 320px;
    }
    .template-bento-hero-media {
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        right: 0;
        padding: var(--stg-gap);
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        border-radius: inherit;
    }
    .template-hero-type06 .template-masked-block {
        --masked-inner-radius: var(--template-large-br);
    }
    .template-hero-type06 .template-masked-content.at-bottom-right {
        width: 128px;
        height: 128px;
    }
    .template-hero-type06 .template-masked-content.at-bottom-right a.template-square-button {
        margin: calc(1.5 * var(--stg-small-gap)) 0 0 calc(1.5 * var(--stg-small-gap));
    }
    .template-hero-type06 .template-square-button {
        width: calc(100% - 1.5 * var(--stg-small-gap));
        height: calc(100% - 1.5 * var(--stg-small-gap));
        border-radius: var(--template-default-br);
    }
    .template-hero-type06 .template-square-button span.template-icon {
        width: 32px;
        height: 32px;
    }
    
    /* === Layout 07 === */
    .template-hero-type07 .template-hero-info-line {
        margin: var(--stg-gap) 0 var(--stg-large-gap) 0;
    }
    /* Social Proof */
    .template-hero-type07 .template-hero-social-proof {
        margin-top: calc(-1 * var(--stg-xs-gap));
    }
    .template-hero-type07 .template-hero-social-proof > div {
        display: flex;
        justify-content: flex-end;
        gap: var(--stg-xs-gap);
    }
    .template-hero-type07 .template-hero-social-proof a,
    .template-hero-type07 .template-hero-social-proof img {
        width: 128px;
        height: 128px;
        display: block;
        border-radius: var(--template-small-br);
    }
    .template-hero-type07 .template-hero-social-proof a {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        text-align: center;
    }
    .template-hero-type07 .template-hero-social-proof a span {
        font-size: var(--template-t-meta-fs);
        font-weight: var(--template-t-meta-fw);
        letter-spacing: var(--template-t-meta-ls);
        color: var(--template-s-heading);
        text-transform: uppercase;
        display: block;
        height: auto;
        width: 100%;
    }
    .template-hero-type07 .template-hero-social-proof a h5 {
        margin: 0 0 4px 0;
    }
    
    /* === Layout 08 === */
    .template-hero-form {
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        gap: var(--stg-small-gap);
        width: 100%;
        padding-bottom: var(--stg-xs-gap);
    }
    .template-hero-form input {
        width: 100%;
    }
    .template-hero-form button {
        padding-right: var(--stg-gap);
        padding-left: var(--stg-gap);
    }
    .template-hero-form input,
    .template-hero-form button {
        margin: 0;
    }
    .template-partners span {
        display: block;
    }
    .template-partners .template-block {
        padding: 0;
        border-radius: var(--template-xs-br);
    }
    
    /** ======================
        08. SCROLLING ELEMENTS
        ====================== */
    .st-expandable-wrap {
        overflow: hidden;
    }
    /* === Smooth Scroll === */
    .stss-wrap {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        z-index: 4;
        overflow: hidden;
    }
    .stss-wrap.is-ready {
        position: fixed;
    }
    .stss-container {
        width: 100%;
        min-height: 100%;
        height: auto;
        will-change: transform;
    }
    
    /* === Mask Fill Text === */
    .template-text-fill-mask {
        background: linear-gradient(var(--template-s-heading), var(--template-s-heading)) left top no-repeat;
        -webkit-background-clip: text;
        -webkit-text-fill-color: var(--template-s-heading-fade);
    }
    
    /* === Expanded Section === */
    .template-expand-on-scroll {
        --st-eos-init-scale: 1.25;
        --st-eos-init-clip: 0.5;
        --st-eos-br: var(--template-default-br);
        transform-origin: 50% 0;
    }
    .template-expand-on-scroll img,
    .template-expand-on-scroll video {
        border-radius: 0;
    }
    .template-expand-on-scroll > * {
        width: 100%;
        height: auto;
        display: block;
    }
    .template-expand-on-scroll iframe {
        aspect-ratio: 16/9;
    }
    
    /** ============
        09. ELEMENTS
        ============ */
    [class*='template-grid'] {
        display: grid;
        grid-column-gap: var(--stg-gap);
        grid-row-gap: var(--stg-gap);
    }
    .template-grid-1col {
        grid-template-columns: repeat(1, 1fr);
    }
    .template-grid-2cols {
        grid-template-columns: repeat(2, 1fr);
    }
    .template-grid-3cols {
        grid-template-columns: repeat(3, 1fr);
    }
    .template-grid-4cols {
        grid-template-columns: repeat(4, 1fr);
    }
    .template-grid-5cols {
        grid-template-columns: repeat(5, 1fr);
    }
    .template-grid-6cols {
        grid-template-columns: repeat(6, 1fr);
    }
    .template-subgrid-item {
        display: grid;
        grid-template-rows: subgrid;
        grid-row: span 2;
    }
    
    /* === Lazy Loader === */
    .st-lazy-wrapper {
        position: relative;
        display: block;
        border-radius: inherit;
    }
    .st-lazy-wrapper:has(img[data-speed]) {
        border-radius: var(--template-default-br);
    }
    .st-lazy-wrapper::before,
    .st-lazy-wrapper::after {
        content: '';
        position: absolute;
        display: block;
        transition: opacity 0.3s;
        will-change: opacity;
        transition-delay: 0.05s;
    }
    .st-lazy-wrapper::before {
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background: var(--template-s-container-bg);
        z-index: 4;
        border-radius: var(--template-default-br);
    }
    .st-lazy-wrapper.is-loaded::before {
        opacity: 0;
    }
    .st-lazy-wrapper::after {
        z-index: 5;
        width: 40px;
        height: 40px;
        border: 2px solid var(--template-s-border);
        border-top-color: var(--template-s-heading);
        animation: sta_spin 1s linear infinite;
        border-radius: 50%;
        left: calc(50% - 22px);
        top: calc(50% - 22px);
    }
    .st-lazy-wrapper.is-loaded::after {
        opacity: 0;
    }
    .st-lazy-wrapper.stop-anim::after {
        opacity: 0;
        animation: unset;
    }
    
    /* === Masked Block === */
    .template-masked-block {
        position: relative;
        --masked-border-radius: var(--template-default-br);
    }
    
    .template-masked-content,
    .template-masked-content.at-top-left {
        position: absolute;
        top: 0;
        left: 0;
        bottom: auto;
        right: auto;
    }
    .template-masked-content.at-top-right {
        top: 0;
        left: auto;
        bottom: auto;
        right: 0;
    }
    .template-masked-content.at-bottom-left {
        top: auto;
        left: 0;
        bottom: 0;
        right: auto;
    }
    .template-masked-content.at-bottom-right {
        top: auto;
        left: auto;
        bottom: 0;
        right: 0;
    }
    .template-masked-content.at-middle-right,
    .template-masked-content.at-middle-left {
        top: 50%;
        bottom: auto;
        transform: translateY(-50%);
    }
    .template-masked-content.at-middle-right {
        right: 0;
        left: auto;
    }
    .template-masked-content.at-middle-left {
        left: 0;
        right: auto;
    }
    .template-masked-content.at-top-center,
    .template-masked-content.at-bottom-center {
        left: 50%;
        right: auto;
        transform: translateX(-50%);
    }
    .template-masked-content.at-top-center {
        top: 0;
        bottom: auto;
    }
    .template-masked-content.at-bottom-center {
        bottom: 0;
        top: auto;
    }
    
    /* Square Button */
    .template-masked-content .template-square-button,
    .template-masked-content.at-top-left .template-square-button {
        margin: 0 var(--stg-small-gap) var(--stg-small-gap) 0;
    }
    .template-masked-content.at-top-right .template-square-button {
        margin: 0 0 var(--stg-small-gap) var(--stg-small-gap);
    }
    .template-masked-content.at-bottom-left .template-square-button {
        margin: var(--stg-small-gap) var(--stg-small-gap) 0 0;
    }
    .template-masked-content.at-bottom-right .template-square-button {
        margin: var(--stg-small-gap) 0 0 var(--stg-small-gap);
    }
    .template-masked-content.at-top-center .template-square-button {
        margin: 0 var(--stg-small-gap) var(--stg-small-gap) var(--stg-small-gap);
    }
    .template-masked-content.at-bottom-center .template-square-button {
        margin: var(--stg-small-gap) var(--stg-small-gap) 0 var(--stg-small-gap);
    }
    .template-masked-content.at-middle-left .template-square-button {
        margin: var(--stg-small-gap) var(--stg-small-gap) var(--stg-small-gap) 0;
    }
    .template-masked-content.at-middle-right .template-square-button {
        margin: var(--stg-small-gap) 0 var(--stg-small-gap) var(--stg-small-gap);
    }
    
    /* Content Padding */
    .template-masked-content > div,
    .template-masked-content.at-top-left > div {
        padding: 0 var(--stg-small-gap) var(--stg-small-gap) 0;
    }
    .template-masked-content.at-top-right > div {
        padding: 0 0 var(--stg-small-gap) var(--stg-small-gap);
    }
    .template-masked-content.at-bottom-left > div {
        padding: var(--stg-small-gap) var(--stg-small-gap) 0 0;
    }
    .template-masked-content.at-bottom-right > div {
        padding: var(--stg-small-gap) 0 0 var(--stg-small-gap);
    }
    .template-masked-content.at-top-center > div {
        padding: 0 var(--stg-small-gap) var(--stg-small-gap) var(--stg-small-gap);
    }
    .template-masked-content.at-bottom-center > div {
        padding: var(--stg-small-gap) var(--stg-small-gap) 0 var(--stg-small-gap);
    }
    .template-masked-content.at-middle-left > div {
        padding: var(--stg-small-gap) var(--stg-small-gap) var(--stg-small-gap) 0;
    }
    .template-masked-content.at-middle-right > div {
        padding: var(--stg-small-gap) 0 var(--stg-small-gap) var(--stg-small-gap);
    }
    
    /* === Icons === */
    .template-icon {
        -webkit-mask-repeat: no-repeat;
        -webkit-mask-size: contain;
        -webkit-mask-position: center;
        mask-repeat: no-repeat;
        mask-size: contain;
        mask-position: center;
        background: var(--template-s-heading);
        display: block;
        width: 24px;
        height: 24px;
    }
    .template-icon-explore {
        -webkit-mask-image: var(--icon-arrow-explore);
        mask-image: var(--icon-arrow-explore);
    }
    .template-icon-arrow-down {
        -webkit-mask-image: var(--icon-arrow-down);
        mask-image: var(--icon-arrow-down);
    }
    .template-icon-arrow-left {
        -webkit-mask-image: var(--icon-arrow-left);
        mask-image: var(--icon-arrow-left);
    }
    .template-icon-arrow-right {
        -webkit-mask-image: var(--icon-arrow-right);
        mask-image: var(--icon-arrow-right);
    }
    .template-icon-arrow-submit {
        -webkit-mask-image: var(--icon-arrow-submit);
        mask-image: var(--icon-arrow-submit);
    }
    .template-icon-creativity {
        -webkit-mask-image: var(--icon-creativity);
        mask-image: var(--icon-creativity);
    }
    .template-icon-collab {
        -webkit-mask-image: var(--icon-collab);
        mask-image: var(--icon-collab);
    }
    .template-icon-impact {
        -webkit-mask-image: var(--icon-impact);
        mask-image: var(--icon-impact);
    }
    .template-icon-innovation {
        -webkit-mask-image: var(--icon-innovation);
        mask-image: var(--icon-innovation);
    }
    .template-icon-chevron-left {
        -webkit-mask-image: var(--icon-chevron-left);
        mask-image: var(--icon-chevron-left);
    }
    .template-icon-chevron-right {
        -webkit-mask-image: var(--icon-chevron-right);
        mask-image: var(--icon-chevron-right);
    }
    
    /* === Block Item === */
    .template-block {
        border-radius: var(--template-small-br);
        background-color: var(--template-s-container-bg);
        padding: var(--stg-gap);
        padding-bottom: calc(var(--stg-gap) - 3px);
        position: relative;
        --mouse-x: 50%;
        --mouse-y: 0;
    }
    .template-block.stg-valign-middle {
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    .template-block.is-frosted {
        background: var(--template-s-container-frosted);
        -webkit-backdrop-filter: saturate(150%) blur(12px);
        backdrop-filter: saturate(150%) blur(12px);
    }
    [class*='stg-col'].template-block {
        border-radius: var(--template-default-br);
    }
    .template-block::before,
    .template-block::after {
        content: '';
        border-radius: inherit;
        position: absolute;
        left: 0;
        top: 0;
        right: 0;
        bottom: 0;
        pointer-events: none;
    }
    .template-block::before {
        inset: 0px;
        padding: 1px;
        background: radial-gradient( 800px circle at var(--mouse-x) var(--mouse-y), var(--template-s-border-highlight), var(--template-s-border-mute) 40% );
        mask: var(--template-border-mask);
        -webkit-mask: var(--template-border-mask);
        mask-composite: exclude;
        -webkit-mask-composite: xor;
        transition: opacity 0.4s;
        will-change: opacity;
        opacity: 0.75;
    }
    .template-block.is-accented {
        background: var(--template-s-accent) bottom right no-repeat;
        color: var(--template-s-accented-text);
    }
    .template-block.is-accented::before {
        background: radial-gradient( 800px circle at var(--mouse-x) var(--mouse-y), var(--template-s-text-accent), var(--template-s-border-accent) 40% );
    }
    .template-block::after {
        opacity: 0;
        transition: opacity 0.4s;
        will-change: opacity;
        width: 100%;
        background: radial-gradient( 800px circle at var(--mouse-x) var(--mouse-y), var(--template-s-backlight), transparent 40% );
        z-index: 5;
    }
    
    /* === Tags List === */
    .template-tags-list {
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
        gap: var(--stg-xs-gap);
        padding: 0;
        margin: 0;
    }
    .template-tags-list li {
        margin: 0;
        padding: 0;
        list-style: none;
        display: block;
    }
    .template-tags-list li a {
        border-radius: var(--template-xs-br);
        font-size: var(--template-t-meta-fs);
        font-weight: var(--template-t-meta-fw);
        letter-spacing: var(--template-t-meta-ls);
        color: var(--template-s-heading);
        text-transform: uppercase;
        padding: calc(0.75 * var(--stg-xs-gap)) calc(1.5 * var(--stg-xs-gap));
        background: var(--template-s-nav);
        -webkit-backdrop-filter: saturate(150%) blur(12px);
        backdrop-filter: saturate(150%) blur(12px);
        display: block;
        border: 1px solid var(--template-s-border);
        transition: background-color 0.3s, border-color 0.3s;
    }
    
    /* === Link with Arrow === */
    .template-arrow-link,
    a.template-arrow-link {
        display: inline-block;
        position: relative;
        font-size: var(--template-t-meta-fs);
        font-weight: var(--template-t-meta-fw);
        letter-spacing: var(--template-t-meta-ls);
        color: var(--template-s-heading);
        text-transform: uppercase;
        padding: 0 24px 2px 0;
        margin-top: -5px;
    }
    .template-arrow-link::before,
    .template-arrow-link::after {
        content: '';
        position: absolute;
        background: var(--template-s-heading);
        transition: transform 0.3s;
    }
    .template-arrow-link::before {
        width: calc(100% - 24px);
        height: 2px;
        bottom: 0;
        transform-origin: 0 50%;
    }
    .template-arrow-link::after {
        content: '';
        width: 16px;
        height: 16px;
        background: var(--template-s-heading);
        display: block;
        right: 0;
        top: 6px;
        -webkit-mask-repeat: no-repeat;
        -webkit-mask-size: contain;
        -webkit-mask-position: center;
        mask-repeat: no-repeat;
        mask-size: contain;
        mask-position: center;
        -webkit-mask-image: var(--icon-arrow-explore);
        mask-image: var(--icon-arrow-explore);
        transform-origin: 0% 100%;
    }
    
    /* === Icon Link === */
    .template-icon-link {
        display: inline-flex;
        align-items: center;
        gap: 16px;
    }
    .template-icon-link .template-icon-link-content {
        transition: transform 0.3s;
        will-change: transform;
        margin-top: 4px;
        text-align: left;
    }
    .template-icon-link .template-icon-link-content:first-child {
        text-align: right;
    }
    .template-icon-link h6 {
        margin: 0;
    }
    .template-icon-link .template-label {
        margin: 6px 0 0 0;
        display: block;
    }
    .template-icon-link .template-icon-wrap {
        width: 80px;
        height: 80px;
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        transition: background-color 0.3s;
        background-color: transparent;
        border-radius: var(--template-small-br);
    }
    .template-icon-wrap::before {
        content: '';
        left: 0;
        top: 0;
        right: 0;
        bottom: 0;
        border: 2px solid var(--template-s-heading);
        border-radius: inherit;
        position: absolute;
        display: block;
        transition: opacity 0.3s;
        will-change: opacity;
    }
    .template-icon-link i {
        transition: transform 0.3s;
    }
    
    /* === Square Button === */
    .template-square-button {
        aspect-ratio: 1/1;
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        color: var(--template-s-accented-text);
        background: var(--template-s-accent);
        border-radius: var(--template-small-br);
        border: 1px solid var(--template-s-border-accent);
        transition: background-color 0.3s;
        cursor: pointer;
        width: 80px;
        height: 80px;
    }
    .template-square-button span.template-icon {
        width: 24px;
        height: 24px;
        transition: transform 0.2s;
        will-change: transform;
    }
    
    /* === Price Card === */
    .template-price-card-item {
        display: grid;
        grid-template-rows: subgrid;
        grid-row: span 2;
        row-gap: var(--stg-large-gap);
        position: relative;
    }
    .template-price {
        font-family: var(--template-t-heading-ff);
        font-weight: var(--template-t-heading-fw);
        color: var(--template-s-heading);
        font-size: var(--template-t-h3-fs);
        font-size: var(--template-t-h3-fs);
        letter-spacing: var(--template-t-h3-ls);
        line-height: var(--template-t-h3-lh);
        margin: -10px 0 26px -3px;
    }
    
    /* === Marquee === */
    .template-marquee {
        background: var(--template-s-accent);
        min-width: 100%;
        overflow: hidden;
        max-width: max-content;
    }
    .template-marquee-inner {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        flex-wrap: nowrap;
        width: max-content;
        will-change: transform;
    }
    .template-marquee.is-init .template-marquee-inner {
        animation: marquee_scroll -20s infinite linear;
    }
    .template-marquee-inner-wrap {
        display: flex;
        justify-content: flex-start;
        flex-wrap: nowrap;
        width: max-content;
    }
    .template-marquee-list {
        padding: 0;
        margin: 0;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        flex-wrap: nowrap;
        width: max-content;
    }
    .template-marquee-list li {
        list-style: none;
        margin: 0;
        padding: 0;
        white-space: nowrap;
        display: flex;
        align-items: center;
    }
    .template-marquee-list li::before {
        content: '';
        width: 8px;
        height: 8px;
        display: block;
        margin: var(--stg-large-gap);
        border-radius: 2px;
        outline: 4px solid var(--template-s-heading);
        transform: translateY(-2px) rotate(45deg);
    }
    
    /* === Counter Block === */
    .template-counter {
        display: grid;
        grid-template-rows: subgrid;
        grid-row: span 2;
        row-gap: var(--stg-small-gap);
        position: relative;
        text-align: center;
        padding: var(--stg-large-gap) var(--stg-small-gap);
    }
    .template-counter-number {
        font-family: var(--template-t-heading-ff);
        font-weight: var(--template-t-heading-fw);
        font-size: var(--template-t-h1-fs);
        letter-spacing: var(--template-t-h1-ls);
        line-height: var(--template-t-h1-lh);
        color: var(--template-s-heading);
    }
    .template-counter-number::before {
        content: attr(data-prefix);
    }
    .template-counter-number::after {
        content: attr(data-suffix);
    }
    
    /* Small Style */
    .template-counter.template-small-counter {
        padding: 0;
        text-align: left;
        row-gap: 2px;
    }
    .template-small-counter .template-counter-number {
        font-size: var(--template-t-h3-fs);
        font-size: var(--template-t-h3-fs);
        letter-spacing: var(--template-t-h3-ls);
        line-height: var(--template-t-h3-lh);
    }
    
    /* === Porftolio Grid Card === */
    .template-portfolio-card {
        padding: var(--stg-small-gap);
        border-radius: var(--template-default-br);
    }
    .template-portfolio-card-image {
        transition: transform 0.3s;
        will-change: transform;
        contain: paint;
        aspect-ratio: 1/1;
        border-radius: var(--template-small-br);
    }
    .template-portfolio-card-image .st-lazy-wrapper {
        border-radius: var(--template-small-br);
    }
    .template-portfolio-card-image img,
    .template-portfolio-card-image video {
        border-radius: unset;
        object-fit: cover;
        width: 100%;
        height: 100%;
    }
    .template-portfolio-card-footer {
        display: flex;
        width: 100%;
        justify-content: space-between;
        align-items: center;
        padding: var(--stg-small-gap) 0 9px 0;
    }
    .template-portfolio-card-title {
        min-height: 24px;
        align-self: flex-end;
    }
    .template-portfolio-card-title h6 {
        margin: 0;
    }
    .template-portfolio-card .template-icon {
        transform-origin: 0% 100%;
        width: 24px;
        height: 24px;
        transition: transform 0.3s;
        margin-right: var(--stg-xs-gap);
        margin-top: var(--stg-xs-gap);
    }
    .template-portfolio-card > a {
        position: absolute;
        left: 0;  
        top: 0;
        right: 0;
        bottom: 0;
        display: block;
        border-radius: var(--template-small-br);
    }
    
    /* === Portfolio Short List === */
    .template-portfolio-short-item {
        position: relative;
        padding: var(--stg-xs-gap);
        border-radius: var(--template-small-br);
        display: flex;
        align-items: center;
        justify-content: flex-start;
    }
    .template-portfolio-thmb {
        width: 88px;
        height: 88px;
        border-radius: var(--template-xs-br);
        overflow: hidden;
        margin-right: var(--stg-gap);
        box-shadow: 0 4px 8px var(--template-s-box-shadow);
    }
    .template-portfolio-thmb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        border-radius: 0;
    }
    .template-portfolio-short-item .template-icon {
        position: absolute;
        top: calc(50% - 12px);
        right: var(--stg-gap);
        width: 24px;
        height: 24px;
        transform-origin: 0 100%;
        transition: transform 0.3s;
        will-change: transform;
    }
    .template-portfolio-short-item a {
        position: absolute;
        border-radius: inherit;
        left: 0;
        top: 0;
        right: 0;
        bottom: 0;
    }
    .template-portfolio-short-more {
        position: relative;
        padding: var(--stg-gap);
        border-radius: var(--template-small-br);
        color: var(--template-s-accented-text);
        background: var(--template-s-accent);
        border: 1px solid var(--template-s-border-accent);
    }
    .template-portfolio-short-item span.template-meta,
    .template-portfolio-short-more .template-label {
        display: block;
        margin-bottom: 4px;
        margin-top: -4px;
    }
    
    /* === Testimonials Grid Card === */
    .template-tetimonials-card {
        display: grid;
        grid-template-rows: subgrid;
        grid-row: span 2;
        row-gap: var(--stg-gap);
    }
    .template-tetimonials-card-descr {
        margin-top: -4px;
    }
    .template-tetimonials-card-footer {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        margin-bottom: -4px;
    }
    .template-tetimonials-card-name h6 {
        margin: 0;
    }
    [class*='template-tetimonials-stars'] {
        display: block;
        position: relative;
        width: 76px;
        height: 12px;
        opacity: 0.5;
        margin-bottom: 8px;
    }
    [class*='template-tetimonials-stars']::before,
    [class*='template-tetimonials-stars']::after {
        content: '';
        height: 12px;
        background: var(--template-s-heading);
        -webkit-mask-repeat: repeat-x;
        -webkit-mask-size: contain;
        -webkit-mask-position: left;
        mask-repeat: repeat-x;
        mask-size: contain;
        mask-position: left;
        position: absolute;
        left: 0;
        top: 0;
    }
    [class*='template-tetimonials-stars']::before {
        -webkit-mask-image: var(--icon-star-empty);
        mask-image: var(--icon-star-empty);
        z-index: 1;
        width: 100%;
    }
    [class*='template-tetimonials-stars']::after {
        -webkit-mask-image: var(--icon-star-full);
        mask-image: var(--icon-star-full);
        z-index: 3;
    }
    .template-tetimonials-stars1::after {
        width: 20%;
    }
    .template-tetimonials-stars2::after {
        width: 40%;
    }
    .template-tetimonials-stars3::after {
        width: 60%;
    }
    .template-tetimonials-stars4::after {
        width: 80%;
    }
    .template-tetimonials-stars5::after {
        width: 100%;
    }
    
    /* === Carousel Card === */
    .template-carousel {
        border-radius: var(--template-xs-br);
    }
    .template-fullscreen-page .template-carousel-wrapper {
        position: relative;
        height: calc(100svh - var(--st-header-height) - var(--st-footer-height));
    }
    .template-fullscreen-page .template-carousel {
        top: 50%;
        transform: translateY(-50%);
    }
    .template-fullscreen-page .template-carousel.swiper {
        overflow: visible;
    }
    .template-carousel-card {
        padding: var(--stg-small-gap);
    }
    .template-carousel-card-image {
        transition: transform 0.3s;
        will-change: transform;
        contain: paint;
        border-radius: var(--template-xs-br);
    }
    .template-carousel-card-image img,
    .template-carousel-card-image video {
        border-radius: unset
    }
    .template-carousel-card-footer {
        display: flex;
        width: 100%;
        justify-content: space-between;
        align-items: center;
        padding: var(--stg-small-gap) 0 9px 0;
    }
    .template-carousel-card-title {
        min-height: 24px;
        align-self: flex-end;
    }
    .template-carousel-card-title h6 {
        margin: 0;
    }
    .template-carousel-card .template-icon {
        transform-origin: 0% 100%;
        width: 24px;
        height: 24px;
        transition: transform 0.3s;
        margin-right: var(--stg-xs-gap);
        margin-top: var(--stg-xs-gap);
    }
    .template-carousel-card > a {
        position: absolute;
        left: 0;  
        top: 0;
        right: 0;
        bottom: 0;
        display: block;
        border-radius: var(--template-small-br);
    }
    
    /* === List with Preview === */
    .template-list-with-preview {
        display: flex;
        justify-content: space-between;
        gap: var(--stg-gap);
    }
    .template-list-with-preview[data-preview-position="right"] {
        flex-direction: row-reverse;
    }
    .template-list-with-preview > div {
        width: 50%;
    }
    .template-lwp-media {
        position: relative;
        overflow: hidden;
        border-radius: var(--template-default-br);
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        width: 100%;
    }
    .template-lwp-media img,
    .template-lwp-media video {
        width: 100%;
        height: auto;
        min-width: 100%;
        object-position: center;
    }
    .template-lwp-media img,
    .template-lwp-media video {
        transition: clip-path 0.3s;
        position: relative;
        border-radius: unset;
    }
    .template-lwp-media img.is-active,
    .template-lwp-media video.is-active {
        animation: lwp_active 0.3s ease-in-out;
    }
    .template-lwp-roster {
        display: flex;
        flex-direction: column;
        gap: var(--stg-gap);
    }
    .template-lwp-item {
        transition: background-color 0.2s, border-color 0.2s;
        position: relative;
        border-radius: var(--template-default-br);
    }
    .template-lwp-item .template-accent {
        transition: color 0.2s;
    }
    .template-lwp-item a {
        position: absolute;
        left: 0;
        top: 0;
        right: 0;
        bottom: 0;
        border-radius: inherit;
    }
    .template-lwp-roster img {
        display: none;
    }
    .template-list-with-preview[data-preview-position="right"] .template-lwp-media img.is-active,
    .template-list-with-preview[data-preview-position="right"] .template-lwp-media video.is-active {
        animation: lwp_active_r 0.3s ease-in-out;
    }
    
    /* === Carousel (Swiper) === */
    .template-carousel {
        --swiper-gap: var(--stg-gap);
    }
    .template-dots .swiper-pagination-bullet {
        background: var(--template-s-heading);
    }
    .template-dots .swiper-pagination-bullet-active {
        background: var(--template-s-heading);
    }
    .template-dots.swiper-pagination {
        position: static;
        bottom: auto;
        left: auto;
        margin: var(--stg-gap) auto 0 auto;
        transform: none!important;
        height: 12px;
    }
    .template-dots .swiper-pagination-bullet {
        width: 12px;
        height: 12px;
    }
    
    /* === Detailed List === */
    .template-detailed-list {
        margin: 0;
        padding: 0;
        position: relative;
    }
    .template-detailed-list li {
        list-style: none;
        margin: 0;
        padding: 0;
        display: flex;
        justify-content: space-between;
        padding: var(--stg-gap) 0 calc(1px + var(--stg-gap)) 0;
        position: relative;
        margin: 0 calc(-0.5 * var(--stg-gap));
    }
    .template-detailed-list::before,
    .template-detailed-list li::before,
    .template-detailed-list li::after {
        content: '';
        position: absolute;
        width: 100%;
        display: block;
    }
    .template-detailed-list::before,
    .template-detailed-list li::after {
        left: calc(-0.5 * (100vw - var(--stg-container-width)));
        bottom: 0;
        height: 1px;
        background: var(--template-c-border-gradient);
        width: 100vw;
    }
    .template-detailed-list::before {
        bottom: auto;
        top: 0;
    }
    .template-detailed-list li::before {
        height: 100%;
        background: radial-gradient(ellipse, var(--template-s-heading) 0%, transparent 75%) no-repeat bottom center;
        background-size: 100% 200%;
        top: 0;
        left: 0;
        opacity: 0;
        transition: opacity 0.3s;
        will-change: opacity;
    }
    .template-detailed-list li > div {
        margin: 0 calc(0.5 * var(--stg-gap));
    }
    .template-detailed-list li a {
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        right: 0;
        display: block;
    }
    .template-detailed-list-title {
        min-width: calc(33.333% - var(--stg-gap));
        max-width: calc(33.333% - var(--stg-gap));
    }
    .template-detailed-list-title > * {
        margin-top: 0;
    }
    .template-detailed-list-description {
        min-width: calc(66.666% - 2 * var(--stg-gap) - 80px);
        max-width: calc(66.666% - 2 * var(--stg-gap) - 80px);
    }
    .template-detailed-list-button {
        width: 80px;
        height: 80px;
        border: 2px solid var(--template-s-heading);
        border-radius: var(--template-small-br);
        display: flex;
        justify-content: center;
        align-items: center;
        transition: background-color 0.3s, border-color 0.3s;
    }
    .template-detailed-list-button span.template-icon {
        width: 24px;
        height: 24px;
    }
    
    /* === Image Box === */
    .template-image-box:not(:last-child) {
        margin-bottom: var(--stg-large-gap);
    }
    .template-image-box-head {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: var(--stg-small-gap);
    }
    .template-image-box-head img {
        max-width: 80px;
        height: auto;
        display: block;
        border-radius: var(--template-xs-br);
    }
    
    /* === Icon Box === */
    .template-icon-box {
        display: grid;
        grid-template-rows: subgrid;
        grid-row: span 2;
        row-gap: var(--stg-xl-gap);
        position: relative;
    }
    .template-icon-box .template-box-icon {
        width: 64px;
        height: 64px;
        border-radius: var(--template-small-br);
        display: flex;
        justify-content: center;
        align-items: center;
        position: absolute;
        right: var(--stg-gap);
        top: var(--stg-gap);
    }
    .template-icon-box i {
        width: 32px;
        height: 32px;
    }
    .template-icon-box .template-box-icon::before {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        right: 0;
        border: 2px solid var(--template-s-heading);
        border-radius: inherit;
        background-color: transparent;
    }
    .template-icon-box h4 {
        padding-right: calc(64px + var(--stg-gap));
        margin: 0;
    }
    .template-icon-box .template-large-text {
        margin: 0;
    }
    
    /* === Grid More Masked === */
    .template-grid-more-masked {
        --masked-border-radius: var(--template-small-br);
        --masked-inner-radius: var(--template-default-br);
        position: relative;
    }
    .template-grid-more-masked a {
        position: absolute;
        left: 0;
        top: 0;
        right: 0;
        bottom: 0;
        border-radius: var(--template-small-br);
    }
    .template-grid-more-masked .template-masked-media p {
        padding-right: 96px;
    }
    
    /* === Price Table Card === */
    .template-price-table h6,
    .template-price-table > p {
        margin-bottom: var(--stg-gap);
    }
    .template-price-wrapper {
        background: radial-gradient(ellipse at center top, var(--template-s-backlight) 0%, transparent) no-repeat;
        margin: 0 calc(-1 * var(--stg-gap)) var(--stg-gap) calc(-1 * var(--stg-gap));
        padding: var(--stg-gap);
        width: calc(100% + 2 * var(--stg-gap));
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .template-price-wrapper::before,
    .template-price-table ul.template-marked-list::after,
    .template-price-wrapper::after {
        content: '';
        width: 100%;
        height: 1px;
        background: var(--template-c-border-gradient);
        position: absolute;
        left: 0;
    }
    .template-price-wrapper::before {
        top: 0;
    }
    .template-price-table ul.template-marked-list::after,
    .template-price-wrapper::after {
        bottom: 0;
    }
    .template-price-wrapper > .template-label {
        margin-bottom: 5px;
    }
    .template-price-wrapper > h2 {
        margin-bottom: -4px;
    }
    .template-price-table > .template-label {
        color: var(--template-s-heading);
        opacity: 1;
        margin-bottom: var(--stg-small-gap);
    }
    .template-price-table ul.template-marked-list {
        margin-bottom: var(--stg-gap);
        padding-bottom: var(--stg-gap);
        position: relative;
    }
    .template-price-table ul.template-marked-list li:last-child {
        margin: 0;
    }
    
    /* === FAQ List === */
    .template-faq-list {
        display: flex;
        flex-direction: column;
        gap: var(--stg-gap);
    }
    .template-faq-list hr {
        margin-top: 0;
        margin-bottom: 0;
    }
    
    /* === Toggles === */
    .template-toggles-item {
        cursor: pointer;
    }
    .template-toggles-item--title {
        display: block;
        position: relative;
    }
    .template-toggles-item--title .template-label {
        margin: -4px 0 8px 0;
        display: block;
    }
    .template-toggles-item--title sup {
        display: inline-block;
        margin: 0 2px;
        transform: translateY(-6px);
    }
    .template-toggles-item--title h4 {
        margin-bottom: 4px;
        padding-right: 64px;
        display: flex;
        justify-content: flex-start;
        gap: 8px;
        align-items: flex-start;
    }
    .template-toggles-item--title i.template-icon {
        position: absolute;
        right: 0;
        top: calc(50% - 16px);
        margin: 0;
        width: 32px;
        height: 32px;
        transform: rotate(-90deg);
        transition: transform 0.3s;
        will-change: transform;
    }
    .is-active .template-toggles-item--title .template-icon {
        transform: rotate(0deg) translate(0, 12px);
    }
    .template-toggles-item--content {
        padding-top: calc(2 * var(--stg-gap));
        position: relative;
        cursor: default;
    }
    .template-toggles-item--content::after {
        content: '';
        width: 100%;
        height: 1px;
        background: var(--template-c-border-gradient);
        position: absolute;
        left: 0;
        top: var(--stg-gap);
    }
    .template-toggles-item--content span {
        margin-bottom: var(--stg-small-gap);
        display: block;
    }
    
    /* === Swiper Slider === */
    .template-slider-wrapper {
        position: relative;
    }
    .template-slider-wrapper svg {
        position: absolute;
        left: 0;
        top: 0;
        width: 0;
        height: 0;
        pointer-events: none;
        opacity: 0;
    }
    .template-slider {
        border-radius: var(--template-default-br);
        position: relative;
    }
    .template-slider-wrapper .template-slider {
        border-radius: 0;
    }
    .template-slider:not([data-effect="coverflow"]) img,
    .template-slider:not([data-effect="coverflow"]) video {
        border-radius: 0;
    }
    .template-slider-nav {
        position: absolute;
        z-index: 22;
    }
    
    /* Masked Block Navigation */
    .template-slider-nav.template-masked-content {
        display: flex;
        width: 160px;
        height: 80px;
    }
    .template-slider-nav.template-masked-content a {
        width: 64px;
        height: 64px;
        margin: 16px 0 0 16px;
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        border-radius: var(--template-small-br);
        transition: background-color 0.3s;
    }
    .template-slider-nav.template-masked-content a::before {
        content: '';
        display: block;
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        right: 0;
        border-radius: inherit;
        border: 2px solid var(--template-s-heading);
        z-index: 3;
        transition: opacity 0.3s;
        will-change: opacity;
    }
    .template-slider-nav.template-masked-content span.template-icon {
        width: 16px;
        height: 16px;
        position: relative;
        z-index: 5;
        transition: transform 0.3s;
        will-change: transform;
    }
    
    /* Side by Side Navigation */
    .template-slider-nav.on-sides {
        pointer-events: none;
        left: 0;
        width: 100%;
        top: calc(50% - 48px);
        display: flex;
        justify-content: space-between;
        --masked-border-radius: var(--template-default-br);
        --masked-inner-radius: var(--template-xl-br);
    }
    .template-slider-nav.on-sides a {
        pointer-events: all;
        width: 64px;
        height: 96px;
        display: block;
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .template-slider-nav.on-sides a span.template-icon {
        width: 24px;
        height: 24px;
        background: var(--template-s-heading);
        transition: transform 0.3s;
        will-change: transform;
    }
    
    /* Content */
    .template-slider .swiper-slide.has-content {
        --masked-border-radius: var(--template-default-br);
        --masked-inner-radius: var(--template-large-br);
    }
    .template-slider .template-slide-content {
        position: absolute;
        bottom: 0;
    }
    .template-slider .template-slide-content-inner {
        padding: var(--stg-gap) var(--stg-large-gap);
        transition: transform 0.3s;
        will-change: transform;
    }
    .template-slide-content > a {
        position: absolute;
        display: block;
        left: 0;
        top: 0;
        bottom: 0;
        right: 0;
    }
    .template-slide-post-title {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
    .template-slide-post-title .template-meta {
        opacity: 0.5;
        margin-bottom: var(--stg-xs-gap);
    }
    
    /* === Fullscreen Slider === */
    .template-fullscreen-page .template-slider-wrapper {
        top: var(--st-header-height);
        width: calc(100% - 2 * var(--stg-small-gap));
        height: calc(100svh - var(--st-header-height) - var(--st-footer-height));
        margin: 0 var(--stg-small-gap);
        overflow: hidden;
    }
    .template-fullscreen-page .template-slider-media .st-lazy-wrapper {
        position: absolute;
        left: 0;
        top: 0;
        right: 0;
        bottom: 0;
    }
    .template-fullscreen-page .template-slider {
        width: 100%;
        height: inherit
    }
    .template-fullscreen-page .template-slider img,
    .template-fullscreen-page .template-slider video {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
        border-radius: 0;
    }
    .template-fullscreen-page .template-slider .swiper-slide {
        height: 100%;
        position: relative;
    }
    .template-fullscreen-page .template-slider-media {
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        right: 0;
    }
    
    /* === Portfolio Next Post === */
    .template-next-post.template-icon-link {
        gap: var(--stg-gap);
    }
    .template-next-post h2 {
        font-size: var(--template-t-h1-fs);
        letter-spacing: var(--template-t-h1-ls);
        line-height: var(--template-t-h1-lh);
        margin: var(--template-t-h1-margin);
        margin-bottom: 0;
    }
    .template-next-post h6 {
        opacity: 0.75;
        margin: 0 0 var(--stg-xs-gap) 0;
    }
    .template-next-post .template-icon-link-content {
        text-align: right;
    }
    .template-next-post.template-icon-link .template-icon-wrap {
        width: 160px;
        height: 160px;
        border-radius: var(--template-large-br);
    }
    .template-next-post .template-icon {
        width: 48px;
        height: 48px;
    }
    .template-next-post .template-icon-wrap::before {
        border: 4px solid var(--template-s-heading);
    }
    
    /* === Bento Grid Block === */
    .template-bento-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        grid-template-rows: repeat(2, 1fr);
        grid-gap: var(--stg-gap);
        grid-auto-columns: 1fr;
        grid-auto-rows: 1fr;
        grid-auto-flow: column;
        max-width: 100%;
    }
    .template-bento-grid img {
        max-width: 100%;
        height: auto;
    }
    .template-bento-grid .is-medium {
        overflow: hidden;
    }
    .template-bento-grid .is-small {
        aspect-ratio: 1;
    }
    /* Type 01 */
    .template-bento-grid .is-large:first-child {
        grid-area: 1 / 1 / 3 / 3; 
    }
    .template-bento-grid .is-medium:nth-child(2) {
        grid-area: 1 / 3 / 1 / 5; 
    }
    /* Type 02 */
    .template-bento-grid .is-medium:last-child {
        grid-area: 2 / 3 / 2 / 5; 
    }
    /* Type 03 */
    .template-bento-grid .is-medium:first-child {
        grid-area: 1 / 1 / 2 / 3; 
    }
    .template-bento-grid .is-large:last-child {
        grid-area: 1 / 3 / 3 / 5; 
    }
    /* Type 04 */
    .template-bento-grid .is-medium:nth-child(3) {
        grid-area: 2 / 1 / 3 / 3; 
    }
    
    /* Inner Elements */
    .template-bento-grid > div {
        position: relative;
    }
    .template-bento-grid > div,
    .template-bento-grid .template-block {
        border-radius: var(--template-default-br);
    }
    .template-bento-grid div:has(img) {
        padding: 0;
        contain: paint;
    }
    .template-bento-grid img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: inherit;
    }
    .template-bento-grid h1,
    .template-bento-grid h2 {
        margin-bottom: 0;
    }
    .template-bento-grid > div > ul {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: space-between;
    }
    .template-bento-grid .template-marked-list {
        margin: 0
    }
    
    /* === Meta List === */
    .template-meta-list {
        display: flex;
        flex-direction: column;
        min-height: 100%;
        justify-content: space-between;
        align-items: flex-start;
        padding: 0;
        margin: 0;
    }
    .template-meta-list li {
        padding: 0;
        margin: 0;
        list-style: none;
    }
    .template-meta-list li span {
        display: block;
    }
    /* Hack for Safari */
    @supports (-webkit-appearance:none) and (stroke-color:transparent) {
        .template-meta-list {
            min-height: calc(100% - 2 * var(--stg-gap));
        }
    }
    
    /* === Masked CTA === */
    .template-masked-cta .template-cta-form {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        gap: var(--stg-gap);
        padding: var(--stg-large-gap);
        background: var(--template-s-accent);
    }
    .template-masked-cta button {
        background: var(--template-s-heading);
        border-color: var(--template-s-heading);
        border-radius: var(--template-default-br);
        padding: calc(1.5 * var(--stg-gap)) calc(1.5 * var(--stg-large-gap));
    }
    .template-masked-cta button span {
        background: var(--template-s-accent);
        width: 32px;
        height: 32px;
    }
    .template-cta-title {
        font-family: var(--template-t-heading-ff);
        font-weight: var(--template-t-heading-fw);
        font-size: var(--template-t-h1-fs);
        letter-spacing: var(--template-t-h1-ls);
        line-height: var(--template-t-h1-lh);
        color: var(--template-s-heading);
        margin-bottom: var(--stg-large-gap);
    }
    .template-masked-cta input {
        background: var(--template-s-border);
        color: var(--template-s-heading);
        font-family: var(--template-t-heading-ff);
        font-weight: var(--template-t-heading-fw);
        font-size: var(--template-t-h2-fs);
        letter-spacing: var(--template-t-h2-ls);
        line-height: 1;
        border-radius: var(--template-default-br);
        padding: var(--stg-gap);
        padding-top: calc(var(--stg-gap) - 4px);
    }
    .template-masked-cta input:focus {
        border-color: var(--template-s-border);
    }
    .template-masked-cta input::-webkit-input-placeholder {
        opacity: 1;
        color: var(--template-s-heading);
    }
    .template-masked-cta input::-moz-placeholder {
        opacity: 1;
        color: var(--template-s-heading);
    }
    .template-masked-cta input::-ms-input-placeholder {
        opacity: 1;
        color: var(--template-s-heading);
    }
    .template-masked-cta-content {
        text-align: right;
        width: 350px;
    }
    .template-masked-cta-content p {
        display: block;
        padding: 0 0 var(--stg-d-gap) var(--stg-d-gap);
    }
    
    /* === Member Contacts === */
    .template-member-contacts-list {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        gap: var(--stg-small-gap);
    }
    .template-member-contacts-list a {
        font-family: var(--template-t-heading-ff);
        font-weight: var(--template-t-heading-fw);
        color: var(--template-s-heading);
        font-size: var(--template-t-h6-fs);
        letter-spacing: var(--template-t-h6-ls);
        line-height: var(--template-t-h6-lh);
    }
    .template-member-contacts .template-socials-list {
        margin-top: var(--stg-gap);
    }
    .template-member-contacts .template-socials-list a {
        width: 80px;
        height: 80px;
        border-radius: var(--template-small-br);
    }
    .template-member-contacts .template-socials-list a::before {
        border: 2px solid var(--template-s-heading);
    }
    .template-member-contacts .template-socials-list a i {
        width: 40px;
        height: 40px;
    }
    
    /* === Infinite List === */
    body:has(.template-infinite-list) .template-backlight {
        display: none;
    }
    .template-infinite-list-wrap {
        position: fixed;
        left: 0;
        top: 0;
        z-index: 11;
        width: 100%;
        height: 100%;
        overflow: hidden;
        cursor: grab;
    }
    .template-infinite-list-wrap.is-grabbed {
        cursor: grabbing;
    }
    .template-infinite-list {
        opacity: 0;
        position: absolute;
        left: 0;
        top: 0;
        pointer-events: none;
    }
    .template-infinite-scroll {
        width: var(--stg-container-width);
        margin: 0 auto;
        position: relative;
        z-index: 15;
    }
    .template-infinite-list-item {
        display: flex;
        justify-content: space-between;
        align-items: center;
        position: relative;
        padding: 30px 0 35px 0;
        transition: opacity 0.3s;
    }
    .template-infinite-list-item::before {
        content: '';
        position: absolute;
        width: 100%;
        display: block;
        height: 100%;
        background: radial-gradient(ellipse, var(--template-s-heading) 0%, transparent 75%) no-repeat bottom center;
        background-size: 100% 200%;
        top: 0;
        left: 0;
        opacity: 0;
        transition: opacity 0.3s;
        will-change: opacity;
    }
    .template-infinite-list-item::after {
        content: '';
        width: 100vw;
        height: 1px;
        display: block;
        background: var(--template-c-border-gradient);
        position: absolute;
        bottom: 0;
        left: calc(-0.5 * (100vw - var(--stg-container-width)));
    }
    .template-infinite-list-item a {
        position: absolute;
        left: -65px;
        top: 0;
        width: calc(100% + 130px);
        height: 100%;
        z-index: 5;
        display: block;
    }
    .template-infinite-list-title {
        transition: transform 0.3s;
        will-change: transform;
    }
    .template-infinite-list-item .template-meta {
        display: block;
        margin-bottom: 7px;
    }
    .template-infinite-list-preview {
        position: absolute;
        width: 96px;
        height: 96px;
        border-radius: var(--template-small-br);
        right: calc(100% + 28px);
        top: calc(50% - 48px);
        background: no-repeat center;
        background-size: cover;
        pointer-events: none;
        opacity: 0;
        transition: opacity 0.3s;
    }
    .template-infinite-list-preview video {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        border-radius: 50%;
    }
    .template-infinite-list-icon {
        width: 80px;
        height: 80px;
        display: block;
        border-radius: var(--template-small-br);
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
    }
    .template-infinite-list-icon span {
        position: relative;
        z-index: 5;
        transition: transform 0.3s;
    }
    .template-infinite-list-icon::before,
    .template-infinite-list-icon::after {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        right: 0;
        border-radius: inherit;
        will-change: opacity;
        transition: opacity 0.3s;
    }
    .template-infinite-list-icon::before {
        z-index: 3;
        border: 2px solid var(--template-s-heading);
        opacity: 1;
    }
    .template-infinite-list-icon::after {
        background: var(--template-s-accent);
        opacity: 0;
    }
    .template-infinite-list-bgs {
        pointer-events: none;
        opacity: 0.15;
    }
    .template-infinite-list-bgs,
    .template-infinite-list-bgs > div {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        z-index: 0;
        overflow: hidden;
    }
    .template-infinite-list-bgs > div {
        background: no-repeat center;
        background-size: cover;
        will-change: opacity, transform;
        transition: opacity 0.5s, transform 0.5s;
        transform: scale(1.05);
        opacity: 0;
        z-index: 1;
    }
    .template-infinite-list-bgs > div.is-active {
        opacity: 1;
        transform: scale(1);
        z-index: 2;
    }
    .template-infinite-list-bgs > div video {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }
    
    /* === Column Listing Item === */
    .template-column-item:not(:last-child) {
        margin-bottom: var(--stg-large-gap);
    }
    .template-column-item.template-masked-block {
        --masked-inner-radius: var(--template-large-br);
    }
    .template-column-item-content {
        padding: var(--stg-gap) var(--stg-gap) 0 0;
        position: relative;
        display: flex;
        justify-content: space-between;
        align-items: center;
        min-width: calc(0.33 * var(--stg-container-width));
    }
    .template-column-item-title {
        padding-left: var(--stg-small-gap);
        margin-right: var(--stg-gap);
        transform: translateY(-4px);
        transition: transform 0.3s;
    }
    .template-column-item-title span {
        margin-bottom: 8px;
        display: block;
        transition: transform 0.3s;
    }
    .template-column-item-title h4 {
        margin-bottom: 0;
        transition: transform 0.3s;
    }
    .template-column-item-content .template-icon-wrap {
        position: relative;
        width: 80px;
        height: 80px;
        border-radius: var(--template-small-br);
        display: flex;
        justify-content: center;
        align-items: center;
        transition: background-color 0.3s;
    }
    .template-column-item-content .template-icon-wrap::before {
        transition: opacity 0.3s;
        will-change: opacity;
    }
    
    .template-column-item a {
        position: absolute;
        left: 0;
        top: 0;
        right: 0;
        bottom: 0;
        border-radius: var(--template-default-br);
        z-index: 7;
    }
    
    /* === Grid CTA === */
    .template-masked-content {
        max-width: 35%;
        position: absolute;
        bottom: 0;
        right: 0;
    }
    .template-masked-content:has(.template-square-button) {
        max-width: 50%;
    }
    .template-grid-cta-media {
        padding: var(--stg-large-gap);
        position: absolute;
        left: 0;
        top: 0;
        right: 0;
        bottom: 0;
    }
    .template-masked-cta-content p {
        padding: 0 0 var(--stg-d-gap) var(--stg-d-gap);
        display: block;
        text-align: right;
    }
    .template-bento-grid .template-masked-content p {
        padding: var(--stg-d-gap) 0 0 var(--stg-d-gap);
    }
    .template-grid-cta .is-medium {
        display: flex;
        align-items: center;
        text-align: center;
        justify-content: center;
    }
    .template-grid-cta .template-square-button {
        width: 100%;
        height: 100%;
        border-radius: var(--template-default-br);
    }
    .template-grid-cta .template-square-button span {
        width: 80px;
        height: 80px;
    }
    .template-grid-cta-heading {
        font-family: var(--template-t-heading-ff);
        font-weight: var(--template-t-heading-fw);
        color: var(--template-s-heading);
        font-size: var(--template-t-h1-fs);
        letter-spacing: var(--template-t-h1-ls);
        line-height: var(--template-t-h1-lh);
        margin: var(--template-t-h1-margin);
    }
    
    /* === CTA with Image === */
    .stg-cta-with-image {
        --this-spacing: var(--template-section-gap);
        padding: var(--this-spacing) 0;
    }
    .stg-cta-with-image > div {
        position: relative;
    }
    [class*='stg-col-'] > div.template-offset-image {
        --this-offset: calc(-0.5 * (100vw - var(--stg-container-width)));
        width: calc(50% - var(--this-offset));
        top: calc(-1 * var(--this-spacing));
        bottom: calc(-1 * var(--this-spacing));
        position: absolute;
        background-position: right;
    }
    [class*='stg-col-']:first-child > div.template-offset-image {
        left: var(--this-offset);
        border-radius: 0 var(--template-default-br) var(--template-default-br) 0;
    }
    [class*='stg-col-']:last-child > div.template-offset-image {
        right: var(--this-offset);
        border-radius: var(--template-default-br) 0 0 var(--template-default-br);
    }
    .template-cta-form-title {
        font-family: var(--template-t-heading-ff);
        font-weight: var(--template-t-heading-fw);
        color: var(--template-s-heading);
        font-size: var(--template-t-h1-fs);
        letter-spacing: var(--template-t-h1-ls);
        line-height: var(--template-t-h1-lh);
    }
    .template-cta-text {
        padding: calc(var(--stg-gap) + var(--stg-large-gap)) 0;
    }
    .template-cta-icon {
        position: relative;
    }
    .template-cta-icon,
    .template-cta-icon::before,
    .template-cta-icon::after {
        background-color: var(--template-s-text-accent);
        border-radius: 4px;
        width: 8px;
        height: 64px;
        display: block;
    }
    .template-cta-icon::before,
    .template-cta-icon::after {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
    }
    .template-cta-icon::before {
        transform: rotate(120deg);
    }
    .template-cta-icon::after {
        transform: rotate(240deg);
    }
    
    /* === Right Click Protection === */
    .template-rcp-wrap,
    .template-rcp-overlay {
        position: fixed;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        z-index: 333;
    }
    .template-rcp-wrap {
        transition: opacity 0.3s;
        will-change: opacity;
        pointer-events: none;
        opacity: 0;
    }
    .rcp-show .template-rcp-wrap {
        pointer-events: all;
        opacity: 1;
    }
    .template-rcp-overlay {
        z-index: 3;
        background-color: var(--template-s-body-bg);
        opacity: 0.9;
    }
    .template-rcp-container {
        z-index: 5;
        position: absolute;
        left: calc(50% - 0.5 * var(--stg-container-width));
        top: 50%;
        width: var(--stg-container-width);
        text-align: center;
        transition: transform 0.3s;
        will-change: transform;
        transform: translateY(0%);
        pointer-events: none;
    }
    .rcp-show .template-rcp-container {
        transform: translateY(-50%);
    }
    
    /** ==============
        10. PHOTOSWIPE
        ============== */
    .pswp__img {
        border-radius: var(--template-default-br);
    }
    .pswp__ui {
        width: 100%;
        height: 100%;
        position: relative;
        pointer-events: none;
    }
    .pswp--open .pswp__ui button {
        pointer-events: all;
    }
    .pswp__button,
    .pswp__ui--fit .pswp__top-bar button.pswp__button {
        width: 60px;
        height: 60px;
        border-radius: var(--template-small-br);
        background: var(--template-s-nav);
        display: flex;
        justify-content: center;
        align-items: center;
        transition: background-color 0.3s;
    }
    .pswp__button::before,
    .pswp__ui--fit .pswp__top-bar button.pswp__button::before,
    .pswp__button::after,
    .pswp__ui--fit .pswp__top-bar button.pswp__button::after {
        content: '';
        position: absolute;
        display: block;
    }
    .pswp__button::before,
    .pswp__ui--fit .pswp__top-bar button.pswp__button::before {
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        right: 0;
        border: 2px solid var(--template-s-heading);
        border-radius: inherit;
        transition: opacity 0.3s;
    }
    .pswp__button::after,
    .pswp__ui--fit .pswp__top-bar button.pswp__button::after {
        -webkit-mask-repeat: no-repeat;
        -webkit-mask-size: contain;
        -webkit-mask-position: center;
        mask-repeat: no-repeat;
        mask-size: contain;
        mask-position: center;
        background: var(--template-s-heading);
        width: 16px;
        height: 16px;
        transition: transform 0.3s;
    }
    button.pswp__button.pswp__button--close,
    .pswp__top-bar button.pswp__button,
    .pswp__ui--fit .pswp__top-bar button.pswp__button {
        right: 64px;
        top: 48px;
        position: absolute;
    }
    button.pswp__button.pswp__button--close::after,
    .pswp__ui--fit .pswp__top-bar button.pswp__button::after {
        -webkit-mask-image: var(--icon-cross);
        mask-image: var(--icon-cross);
        width: 14px;
        height: 14px;
    }
    .template-pswp-prev,
    .template-pswp-next {
        position: absolute;
        top: calc(50% - 20px);
    }
    .template-pswp-prev {
        left: 64px;
    }
    button.pswp__button.template-pswp-prev::after {
        -webkit-mask-image: var(--icon-chevron-left);
        mask-image: var(--icon-chevron-left);
    }
    button.pswp__button.template-pswp-next::after {
        -webkit-mask-image: var(--icon-chevron-right);
        mask-image: var(--icon-chevron-right);
    }
    .template-pswp-next {
        right: 64px;
    }
    .pswp__preloader {
        top: calc(50% - 22px);
    }
    .template-pswp-media--video {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        pointer-events: all;
    }
    .template-pswp-media--video video {
        width: 100%;
        height: auto;
        border-radius: var(--template-default-br);
    }
    
    /** ================
        11. HOVER STATES
        ================ */
    @media (hover:hover) {
        a:hover {
            color: var(--template-s-heading);
        }
        
        /* --- PSWP Lightbox --- */
        .pswp__button:hover::after {
            transform: scale(1.2);
        }
        .pswp__button:hover::before,
        .pswp__ui--fit .pswp__top-bar button.pswp__button:hover::before {
            opacity: 0.15;
        }
        .pswp__button:hover,
        .pswp__ui--fit .pswp__top-bar button.pswp__button:hover {
            background-color: var(--template-s-accent);
        }
        .template-lightbox-link > .st-lazy-wrapper,
        .template-lightbox-link > img {
            transition: scale 0.3s;
        }
        .template-lightbox-link:hover > .st-lazy-wrapper,
        .template-lightbox-link:hover > img {
            scale: 1.02;
        }
    
        /* --- Forms and Fields --- */
        input[type="button"]:hover,
        input[type="reset"]:hover,
        input[type="submit"]:hover,
        button:not([class*='pswp']):hover,
        a.template-button:hover {
            background-color: var(--template-button-hover-bg);
        }
        a.template-button.is-secondary:hover,
        .template-square-button.is-secondary:hover {
            background: var(--template-s-accent);
            border-color: var(--template-s-border-accent);
        }
        a.template-button.is-secondary:hover {
            background: var(--template-s-border);
        }
        
        /* --- Main Menu --- */
        ul.main-menu li:hover > a {
            color: var(--template-c-menu-hover);
        }
        ul.main-menu li.menu-item-has-children:hover > a::after {
            background-color: var(--template-c-menu-hover);
        }
        ul.sub-menu li:hover::before {
            opacity: 1;
        }
        nav.template-nav ul.sub-menu li:hover::before {
            opacity: 1;
        }
        
        /* --- Footer --- */
        #template-footer .template-menu-widget a:hover,
        .template-menu-widget ul li:hover::before {
            opacity: 1;
        }
        .template-socials-list a:hover {
            background-color: var(--template-s-accent);
        }
        .template-socials-list a:hover::before {
            opacity: 0.15;
        }
        
        /* --- Block --- */
        .template-block:hover::after {
            opacity: 0.75;
        }
        .template-block:hover::before {
            opacity: 1;
        }
        
        /* --- Links --- */
        .template-tags-list li a:hover {
            background-color: var(--template-s-accent);
            border-color: var(--template-s-border-accent);
        }
        .template-arrow-link:hover::before {
            transform: scale(0, 1);
        }
        .template-arrow-link:hover::after {
            transform: scale(1.2, 1.2);
        }
        
        /* --- Icon Link --- */
        .template-icon-link:hover i {
            transform: scale(1.2);
        }
        .template-icon-link:hover .template-icon-wrap {
            background-color: var(--template-s-accent);
        }
        .template-icon-link:hover .template-icon-wrap::before {
            opacity: 0.15;
        }
        .template-icon-link:hover .template-icon-link-content:first-child {
            transform: translateX(calc(-1 * var(--stg-xs-gap)));
        }
        .template-icon-link:hover .template-icon-link-content:last-child {
            transform: translateX(var(--stg-xs-gap));
        }
        
        .template-square-button:hover span.template-icon {
            transform: scale(1.2);
        }
        
        /* --- Portfolio --- */
        .template-portfolio-card:hover .template-icon {
            transform: scale(1.2, 1.2);
        }
        .template-portfolio-card:hover .template-portfolio-card-image {
            transform: scale(1.01);
        }
        .template-portfolio-short-item:hover .template-icon {
            transform: scale(1.2);
        }
        
        .template-carousel-card:hover .template-icon {
            transform: scale(1.2, 1.2);
        }
        .template-carousel-card:hover .template-carousel-card-image {
            transform: scale(1.01);
        }
        .template-detailed-list li:hover::before {
            opacity: 0.05;
        }
        .template-detailed-list li:has(a):hover .template-detailed-list-button {
            background: var(--template-s-accent);
            border-color: var(--template-s-border-accent);
        }
        .template-grid-more-masked:hover .template-square-button.is-secondary {
            background: var(--template-s-accent);
            border-color: var(--template-s-border-accent);
        }
        .template-grid-more-masked:hover .template-square-button span.template-icon {
            transform: scale(1.2);
        }
        
        /* --- Slider --- */
        .template-slider-nav.template-masked-content a:hover span.template-icon {
            transform: scale(1.2);
        }
        .template-slider-nav.template-masked-content a:hover {
            background-color: var(--template-s-accent);
        }
        .template-slider-nav.template-masked-content a:hover::before {
            opacity: 0.15;
        }
        .template-slider-nav.on-sides a.template-slider-next:hover span.template-icon {
            transform: translateX(10px)
        }
        .template-slider-nav.on-sides a.template-slider-prev:hover span.template-icon {
            transform: translateX(-10px)
        }
        .template-slide-content:has(a):hover .template-slide-content-inner {
            transform: scale(1.1);
        }
        
        .template-masked-cta button:hover {
            background: var(--template-s-heading-fade);
        }
        
        /* --- Infinite List --- */
        .template-infinite-list-item:hover::before {
            opacity: 0.05;
        }
        .template-infinite-list-item:hover .template-infinite-list-preview {
            opacity: 1;
        }
        .template-infinite-list-item:hover .template-infinite-list-icon::before {
            opacity: 0.15;
        }
        .template-infinite-list-item:hover .template-infinite-list-icon::after {
            opacity: 1;
        }
        .template-infinite-list-item:hover .template-infinite-list-icon span {
            transform: scale(1.1);
        }
        
        /* --- Column List --- */
        .template-column-item-content:hover .template-icon-wrap {
            background-color: var(--template-s-accent);
        }
        .template-column-item-content:hover .template-icon-wrap::before {
            opacity: 0.15;
        }
        .template-column-item-content:hover .template-icon-wrap span.template-icon {
            transform: scale(1.2);
        }
        .template-column-item-content:hover .template-column-item-title span {
            transform: translateX(calc(-1 * var(--stg-xs-gap)));
        }
        .template-column-item-content:hover .template-column-item-title h4 {
            transform: translateX(var(--stg-xs-gap));
        }
    }
    @media (hover:none) {
        .template-backlight {
            display: none;
        }
        .template-block::before {
            opacity: 0.5;
        }
        .template-block::after {
            opacity: 0.75;
        }
        .template-toggles-item:not(.is-active)::after {
            opacity: 0;
        }
        .template-infinite-list-bgs {
            display: none;
        }
        .template-infinite-list-item {
            padding-left: calc(96px + var(--stg-gap));
        }
        .template-infinite-list-preview {
            opacity: 1;
            right: auto;
            left: 0;
        }
    }
    
    /** ==============
        12. ANIMATIONS
        ============== */
    @keyframes sta_spin {
        0% {
            transform: rotate(0);
        }
        100% {
            transform: rotate(360deg);
        }
    }
    
    @keyframes sta_shake {
        0% {
            transform: translateX(0);
        }
        10% {
            transform: translateX(-10px);
        }
        30% {
            transform: translateX(10px);
        }
        50% {
            transform: translateX(-10px);
        }
        70% {
            transform: translateX(10px);
        }
        90% {
            transform: translateX(-10px);
        }
        100% {
            transform: translateX(0);
        }
    }
    
    /* === Marquee === */
    @keyframes marquee_scroll {
        0% {
            transform: translateX(0);
        }
        100% {
            transform: translateX(-50%);
        }
    }
    
    /* === List with Preview === */
    @keyframes lwp_active {
        0% {
            clip-path: inset(0% 0% 0% 100% round var(--template-default-br));
        }
        100% {
            clip-path: inset(0% 0% 0% 0% round var(--template-default-br));
        }
    }
    @keyframes lwp_active_r {
        0% {
            clip-path: inset(0% 100% 0% 0% round var(--template-default-br));
        }
        100% {
            clip-path: inset(0% 0% 0% 0% round var(--template-default-br));
        }
    }
    
    /* === Entrance Animations === */
    :root {
        --stea-move: var(--stg-gap);
        --stea-zoom-in: 0.9;
        --stea-zoom-out: 1.1;
        --stea-duration: 0.5s;
    }
    [data-split-appear] {
        --stea-move: 0.5cap;
    }
    [data-split-appear].template-line-overflow:not(.is-done) .line {
        overflow: hidden;
    }
    [data-split-appear].setting-up [data-appear] {
        transition: unset!important;
    }
    [data-unload*='fade-'].is-unloading,
    [data-unload*='zoom-'].is-unloading,
    [data-appear*='fade-']:not(.setting-up),
    [data-appear*='zoom-']:not(.setting-up) {
        transition: opacity var(--stea-duration), transform var(--stea-duration);
        will-change: opacity, transform;
    }
    [data-unload*='fade-'].is-unloading,
    [data-unload*='zoom-'].is-unloading,
    [data-appear*='fade-'],
    [data-appear*='zoom-'] {
        opacity: 0;
    }
    [data-appear*="zoom-"].in-view,
    [data-appear*="fade-"].in-view {
        opacity: 1;
        transform: scale(1) translate(0,0);
    }
    [data-unload="zoom-out"].is-unloading,
    [data-appear="zoom-in"],
    [data-appear="fade-zoom"] {
        transform: scale(var(--stea-zoom-in));
    }
    [data-unload="fade-down"].is-unloading,
    [data-appear="fade-up"] {
        transform: translateY(var(--stea-move));
    }
    [data-unload="fade-up"].is-unloading,
    [data-appear="fade-down"] {
        transform: translateY(calc(-1 * var(--stea-move)));
    }
    [data-unload="fade-right"].is-unloading,
    [data-appear="fade-left"] {
        transform: translateX(var(--stea-move));
    }
    [data-unload="fade-left"].is-unloading,
    [data-appear="fade-right"] {
        transform: translateX(calc(-1 * var(--stea-move)));
    }
    [data-unload="fade-down-right"].is-unloading,
    [data-appear="fade-up-left"] {
        transform: translate(var(--stea-move), var(--stea-move));
    }
    [data-unload="fade-down-left"].is-unloading,
    [data-appear="fade-up-right"] {
        transform: translate(calc(-1 * var(--stea-move)), var(--stea-move));
    }
    [data-unload="fade-up-right"].is-unloading,
    [data-appear="fade-down-left"] {
        transform: translate(var(--stea-move), calc(-1 * var(--stea-move)));
    }
    [data-unload="fade-up-left"].is-unloading,
    [data-appear="fade-down-right"] {
        transform: translate(calc(-1 * var(--stea-move)), calc(-1 * var(--stea-move)));
    }
    [data-unload="zoom-out-down"].is-unloading,
    [data-appear="zoom-in-up"] {
        transform: translateY(var(--stea-move)) scale(var(--stea-zoom-in));
    }
    [data-unload="zoom-out-up"].is-unloading,
    [data-appear="zoom-in-down"] {
        transform: translateY(calc(-1 * var(--stea-move))) scale(var(--stea-zoom-in));
    }
    [data-unload="zoom-out-right"].is-unloading,
    [data-appear="zoom-in-left"] {
        transform: translateX(var(--stea-move)) scale(var(--stea-zoom-in));
    }
    [data-unload="zoom-out-left"].is-unloading,
    [data-appear="zoom-in-right"] {
        transform: translateX(calc(-1 * var(--stea-move))) scale(var(--stea-zoom-in));
    }
    [data-unload="zoom-out-down-right"].is-unloading,
    [data-appear="zoom-in-up-left"] {
        transform: translate(var(--stea-move), var(--stea-move)) scale(var(--stea-zoom-in));
    }
    [data-unload="zoom-out-down-left"].is-unloading,
    [data-appear="zoom-in-up-right"] {
        transform: translate(calc(-1 * var(--stea-move)), var(--stea-move)) scale(var(--stea-zoom-in));
    }
    [data-unload="zoom-out-up-right"].is-unloading,
    [data-appear="zoom-in-down-left"] {
        transform: translate(var(--stea-move), calc(-1 * var(--stea-move))) scale(var(--stea-zoom-in));
    }
    [data-unload="zoom-out-up-left"].is-unloading,
    [data-appear="zoom-in-down-right"] {
        transform: translate(calc(-1 * var(--stea-move)), calc(-1 * var(--stea-move))) scale(var(--stea-zoom-in));
    }
    [data-unload="fade-zoom"].is-unloading,
    [data-unload="zoom-in"].is-unloading,
    [data-appear="zoom-out"] {
        transform: scale(var(--stea-zoom-out));
    }
    [data-unload="zoom-in-down"].is-unloading,
    [data-appear="zoom-out-up"] {
        transform: translateY(var(--stea-move)) scale(var(--stea-zoom-out));
    }
    [data-unload="zoom-in-up"].is-unloading,
    [data-appear="zoom-out-down"] {
        transform: translateY(calc(-1 * var(--stea-move))) scale(var(--stea-zoom-out));
    }
    [data-unload="zoom-in-right"].is-unloading,
    [data-appear="zoom-out-left"] {
        transform: translateX(var(--stea-move)) scale(var(--stea-zoom-out));
    }
    [data-unload="zoom-in-left"].is-unloading,
    [data-appear="zoom-out-right"] {
        transform: translateX(calc(-1 * var(--stea-move))) scale(var(--stea-zoom-out));
    }
    [data-unload="zoom-in-down-right"].is-unloading,
    [data-appear="zoom-out-up-left"] {
        transform: translate(var(--stea-move), var(--stea-move)) scale(var(--stea-zoom-out));
    }
    [data-unload="zoom-in-down-left"].is-unloading,
    [data-appear="zoom-out-up-right"] {
        transform: translate(calc(-1 * var(--stea-move)), var(--stea-move)) scale(var(--stea-zoom-out));
    }
    [data-unload="zoom-in-up-right"].is-unloading,
    [data-appear="zoom-out-down-left"] {
        transform: translate(var(--stea-move), calc(-1 * var(--stea-move))) scale(var(--stea-zoom-out));
    }
    [data-unload="zoom-in-up-left"].is-unloading,
    [data-appear="zoom-out-down-right"] {
        transform: translate(calc(-1 * var(--stea-move)), calc(-1 * var(--stea-move))) scale(var(--stea-zoom-out));
    }
    
    
    /* blogs */
    
    /* body {
        font-family: Arial, sans-serif;
        background-color: #f4f4f4;
        margin: 0;
        padding: 20px;
    } */
    
    



    /* ********** */






.container1{
  height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  /* -webkit-box-align: center; */
  -ms-flex-align: center;
  align-items: center;
  -webkit-perspective: 1000px;
  perspective: 1000px;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  position: relative;
  background-color: #111;
  /* font-family: "Montserrat"; */
  /* font-size: 25px; */
}

.container02 {
  min-width: 900px;
  min-height: 500px;
  border-radius: 20px;
  position: relative;
  -webkit-transition: 1.5s ease-in-out;
  transition: 1.5s ease-in-out;
  transform-style: preserve-3d;
  margin-top: -30px;
}
.container02:hover {
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg);
  }
  

 .side {
  position: absolute;
  text-align: center;
  width: 100%;
  height: 100%;
  padding: 20px 50px;
  color: #fff;
  transform-style: preserve-3d;
  backface-visibility: hidden;
  border-radius: 20px;
}
.content {
  /* transform: translatez(70px) scale(0.8); */
  line-height: 1.5em;
}
/* .content h1 {
  position: relative;
} */
/* .content p {
  margin-top: 50px;
  line-height: 5em;
  font-weight: 100px;

}  */
/* .content h1:before {
  content: "";
  position: absolute;
  bottom: -20px;
  height: 3px;
  background-color: #3e3;
  width: 70px;
  left: 50%;
  transform: translateX(-50%);
} */
.front {
  z-index: 2;
  /* background-size: 100vh; */
  background-size: cover;
  background-image: url(https://userscontent2.emaze.com/images/f9538183-0ff9-478f-b964-c8ab90421e3b/3d28e192fda5c17250f96a2779c84475.jpg);
}
.back {
  background-color: #333;
  transform: rotateY(180deg);
  z-index: 0;
  padding-top: 10px;
  background-image: url(https://userscontent2.emaze.com/images/f9538183-0ff9-478f-b964-c8ab90421e3b/3d28e192fda5c17250f96a2779c84475.jpg);
}
.container:hover {
  -webkit-transform: rotateY(180deg);
  transform: rotateY(180deg);
}
/* form {
  text-align: left;
} */
.back h1 {
  margin: 0;
}
form label,
form input {
  display: block;
}
/* form input,
form textarea {
  background: transparent;
  border: 0;
  border-bottom: 2px solid #444;
  padding: 5px;
  width: 100%;
  color: #fff;
} */
form label {
  margin: 15px 0;
}
/* form input[type="submit"] {
  display: block;
  width: auto;
  margin: 10px auto;
  padding: 5px 10px;
  border: 3px solid #555;
  border-radius: 4px;
  color: #fff;
  cursor: pointer;
} */
/* my button style  */
/* .white-mode {
  text-decoration: none;
  padding: 7px 10px;
  background-color: #122;
  border-radius: 3px;
  color: #fff;
  transition: 0.35s ease-in-out;
  position: fixed;
  left: 15px;
  bottom: 15px;
  font-family: "Montserrat";
}

.white-mode:hover {
  background-color: #fff;
  color: #122;
} */

/* 
.img2 {
    background-image: url("/img/home/Gemini_Generated_Image_xhaqtwxhaqtwxhaq.jpg");
}




.template-grid-3cols .template-block:nth-child(1) {
    background-image: url('/img/e-comm2.png'); 
    background-size: cover;
    background-position: center;
    color: white; 
    
    padding: 20px;
}

.template-grid-3cols .template-block:nth-child(2) {
    background-image: url('/img/Healthcare & Medical Imaging4.png');
    background-size: cover;
    background-position: center;
    color: white;
}

.template-grid-3cols .template-block:nth-child(3) {
    background-image: url('/img/Smart Cities & Security 2.png');
    background-size: cover;
    background-position: center;
    color: white;
}

.template-grid-3cols .template-block:nth-child(4) {
    background-image: url('/img/path.png');
    background-size: cover;
    background-position: center;
    color: white;
}

.template-grid-3cols .template-block:nth-child(5) {
    background-image: url('/img/agri.png');
    background-size: cover;
    background-position: center;
    color: white;
}
.template-grid-3cols .template-block:nth-child(6) {
    background-image: url('/img/agri.png');
    background-size: cover;
    background-position: center;
    color: white;
} */

