:root {
    --void: #07151C;
    --deep: #0B2029;
    --night: #102D38;
    --surface: #163945;
    --card: #1C4652;
    --lift: #255563;
    --edge: #356A77;
    --muted: #648B96;
    --soft: #8DB0B8;
    --pale: #B5D0D4;
    --light: #D7E9E9;
    --bright: #ECF8F6;
    --white: #F5FCFA;
    --snow: #FFFFFF;

    --mint: #42E0D0;
    --mint-h: #20BDAF;
    --mint-l: #91F5E9;
    --mint-g: rgba(66, 224, 208, .12);
    --mint-s: rgba(66, 224, 208, .05);

    --amber: #FF795E;
    --amber-l: #FFA18A;
    --amber-g: rgba(255, 121, 94, .1);
    --amber-s: rgba(255, 121, 94, .04);

    --rose: #FFB4C8;
    --rose-g: rgba(255, 180, 200, .08);

    --f-head: 'Outfit', sans-serif;
    --f-body: 'Inter', sans-serif;
    --f-mono: 'JetBrains Mono', monospace;
}

*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 80px
}

body {
    font-family: var(--f-body);
    background: var(--void);
    color: var(--pale);
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    line-height: 1.6
}

::selection {
    background: var(--mint);
    color: var(--void)
}

::-webkit-scrollbar {
    width: 6px
}

::-webkit-scrollbar-track {
    background: var(--deep)
}

::-webkit-scrollbar-thumb {
    background: var(--mint-h);
    border-radius: 3px
}

a {
    color: inherit;
    text-decoration: none
}

img {
    max-width: 100%
}

/* ═══ NAV ═══ */
.nav-ax {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    padding: 18px 0;
    transition: all .4s;
    background: transparent
}

.nav-ax.scrolled {
    padding: 10px 0;
    background: rgba(6, 8, 16, .88);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-bottom: 1px solid var(--edge);
    box-shadow: 0 4px 30px rgba(0, 0, 0, .3)
}

.nav-ax .container {
    display: flex;
    align-items: center;
    justify-content: space-between
}

.nav-logo {
    font-family: var(--f-head);
    font-weight: 800;
    font-size: 1.6rem;
    color: var(--white);
    letter-spacing: -.5px
}

.nav-logo i {
    color: var(--mint);
    font-size: 1.1rem;
    margin-left: 2px
}

.nav-links {
    display: flex;
    align-items: center;
    gap: 28px;
    list-style: none;
    margin: 0;
    padding: 0
}

.nav-links a {
    font-family: var(--f-mono);
    font-size: .72rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: var(--soft);
    transition: color .3s;
    position: relative
}

.nav-links a::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--mint);
    transition: width .3s
}

.nav-links a:hover,
.nav-links a.active {
    color: var(--mint)
}

.nav-links a:hover::after,
.nav-links a.active::after {
    width: 100%
}

.nav-cta {
    font-family: var(--f-mono) !important;
    font-size: .72rem !important;
    letter-spacing: 1.5px;
    background: var(--mint);
    color: var(--void) !important;
    padding: 10px 22px;
    border-radius: 8px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: all .3s
}

.nav-cta::after {
    display: none !important
}

.nav-cta:hover {
    background: var(--mint-l);
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(52, 211, 153, .3)
}

.nav-cta i {
    font-size: .75rem
}

.nav-burger {
    display: none;
    background: none;
    border: 1px solid var(--edge);
    border-radius: 8px;
    padding: 8px 10px;
    color: var(--mint);
    font-size: 1.1rem;
    cursor: pointer
}

.nav-mobile {
    display: none;
    position: fixed;
    top: 68px;
    left: 12px;
    right: 12px;
    background: var(--surface);
    border: 1px solid var(--edge);
    border-radius: 16px;
    padding: 20px;
    z-index: 9998;
    box-shadow: 0 20px 60px rgba(0, 0, 0, .5)
}

.nav-mobile.open {
    display: block
}

.nav-mobile a {
    display: block;
    padding: 14px 16px;
    font-family: var(--f-mono);
    font-size: .75rem;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: var(--pale);
    border-bottom: 1px solid var(--edge);
    transition: color .3s
}

.nav-mobile a:last-child {
    border: none;
    margin-top: 10px;
    background: var(--mint);
    color: var(--void);
    text-align: center;
    border-radius: 10px;
    padding: 14px
}

.nav-mobile a:hover {
    color: var(--mint)
}

@media(max-width:991px) {
    .nav-links {
        display: none
    }

    .nav-burger {
        display: inline-flex;
        align-items: center;
        justify-content: center
    }
}

/* ═══ HERO ═══ */
.hero {
    min-height: 100vh;
    display: flex;
    align-items: center;
    position: relative;
    padding: 120px 0 60px;
    overflow: hidden
}

.hero-bg {
    position: absolute;
    inset: 0;
    pointer-events: none
}

.hero-bg::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 25% 40%, rgba(52, 211, 153, .07) 0%, transparent 55%), radial-gradient(ellipse at 75% 25%, rgba(245, 158, 11, .05) 0%, transparent 50%), radial-gradient(ellipse at 60% 80%, rgba(244, 63, 94, .04) 0%, transparent 45%);
    animation: heroOrb 25s ease-in-out infinite alternate
}

@keyframes heroOrb {
    0% {
        transform: scale(1) translate(0, 0)
    }

    100% {
        transform: scale(1.08) translate(20px, -15px)
    }
}

.hero-grid {
    position: absolute;
    inset: 0;
    opacity: .04;
    background-image: linear-gradient(var(--mint) 1px, transparent 1px), linear-gradient(90deg, var(--mint) 1px, transparent 1px);
    background-size: 50px 50px
}

.hero-spot {
    position: absolute;
    width: 450px;
    height: 450px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(52, 211, 153, .06), transparent 65%);
    pointer-events: none;
    transition: transform .15s ease-out
}

.hero-grid-layout {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 60px;
    align-items: center;
    position: relative;
    z-index: 2
}

.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--mint-g);
    border: 1px solid rgba(52, 211, 153, .18);
    border-radius: 8px;
    padding: 8px 16px;
    font-family: var(--f-mono);
    font-size: .68rem;
    font-weight: 500;
    color: var(--mint-l);
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 28px
}

.hero-badge .dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--mint);
    animation: blink 2s ease-in-out infinite
}

@keyframes blink {

    0%,
    100% {
        opacity: 1
    }

    50% {
        opacity: .3
    }
}

.hero-time {
    font-family: var(--f-mono);
    font-size: .72rem;
    color: var(--muted);
    margin-bottom: 12px
}

h1.hero-head {
    font-family: var(--f-head);
    font-size: clamp(2.6rem, 6.5vw, 5.2rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.04em;
    color: var(--white);
    margin-bottom: 24px
}

h1.hero-head .line {
    display: block
}

h1.hero-head .thin {
    font-weight: 300
}

h1.hero-head .mint {
    color: var(--mint)
}

h1.hero-head .amber {
    color: var(--amber)
}

h1.hero-head .morph-word {
    display: inline-block;
    position: relative;
    min-width: 180px
}

h1.hero-head .morph-word span {
    display: inline-block;
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0;
    transition: opacity .5s, transform .5s;
    transform: translateY(10px)
}

h1.hero-head .morph-word span.active {
    opacity: 1;
    transform: translateY(0);
    position: relative
}

.hero-sub {
    font-size: 1.05rem;
    line-height: 1.75;
    color: var(--soft);
    max-width: 480px;
    margin-bottom: 32px
}

.hero-sub strong {
    color: var(--light);
    font-weight: 600
}

.hero-btns {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    margin-bottom: 40px
}

.btn-mint {
    background: var(--mint);
    color: var(--void);
    border: none;
    padding: 16px 32px;
    border-radius: 10px;
    font-family: var(--f-mono);
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    transition: all .3s
}

.btn-mint:hover {
    background: var(--mint-l);
    transform: translateY(-2px);
    box-shadow: 0 8px 28px rgba(52, 211, 153, .35);
    color: var(--void)
}

.btn-glass {
    background: rgba(255, 255, 255, .04);
    color: var(--pale);
    border: 1px solid var(--edge);
    padding: 16px 32px;
    border-radius: 10px;
    font-family: var(--f-mono);
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    transition: all .3s
}

.btn-glass:hover {
    border-color: var(--mint);
    color: var(--mint);
    background: var(--mint-s)
}

.hero-trust {
    display: flex;
    gap: 24px;
    flex-wrap: wrap
}

.ht-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: .78rem;
    color: var(--soft)
}

.ht-item .emoji {
    font-size: 1.2rem
}

/* Hero Right Widget */
.hero-widget-area {
    position: relative
}

.hw-stack {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.hw-card {
    background: rgba(20, 29, 48, .65);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid var(--edge);
    border-radius: 16px;
    padding: 28px;
    position: relative;
    overflow: hidden;
    transition: all .4s
}

.hw-card:hover {
    border-color: var(--mint-g);
    transform: translateY(-3px)
}

.hw-card::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--mint), transparent);
    opacity: 0;
    transition: opacity .3s
}

.hw-card:hover::after {
    opacity: 1
}

.hw-card .hw-label {
    font-family: var(--f-mono);
    font-size: .65rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--muted);
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    gap: 8px
}

.hw-card .hw-label i {
    color: var(--mint)
}

.hw-card h4 {
    font-family: var(--f-head);
    color: var(--white);
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: 10px
}

.hw-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px
}

.hw-chip {
    background: var(--surface);
    border: 1px solid var(--edge);
    border-radius: 8px;
    padding: 7px 14px;
    font-family: var(--f-mono);
    font-size: .68rem;
    letter-spacing: .5px;
    color: var(--pale);
    cursor: pointer;
    transition: all .3s
}

.hw-chip:hover,
.hw-chip.on {
    background: var(--mint);
    color: var(--void);
    border-color: var(--mint)
}

.hw-status {
    display: flex;
    align-items: center;
    gap: 12px
}

.hw-status .indicator {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--mint);
    box-shadow: 0 0 12px rgba(52, 211, 153, .5);
    animation: blink 2s ease-in-out infinite
}

.hw-status .text {
    font-size: .88rem;
    color: var(--light);
    font-weight: 500
}

.hw-status .sub {
    font-size: .75rem;
    color: var(--muted);
    display: block;
    margin-top: 2px
}

/* Hero Ticker */
.hero-ticker {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(10, 15, 28, .6);
    border-top: 1px solid var(--edge);
    border-bottom: 1px solid var(--edge);
    overflow: hidden;
    padding: 14px 0
}

.ticker-track {
    display: flex;
    animation: tickerScroll 40s linear infinite;
    white-space: nowrap
}

.ticker-track:hover {
    animation-play-state: paused
}

@keyframes tickerScroll {
    0% {
        transform: translateX(0)
    }

    100% {
        transform: translateX(-50%)
    }
}

.ticker-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--f-mono);
    font-size: .7rem;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--muted);
    padding: 0 28px
}

.ticker-item .td {
    color: var(--edge)
}

@media(max-width:991px) {
    .hero-grid-layout {
        grid-template-columns: 1fr;
        gap: 40px
    }

    .hero-ticker {
        position: relative
    }
}

/* ═══ SECTIONS COMMON ═══ */
.s {
    padding: 110px 0
}

.s-label {
    font-family: var(--f-mono);
    font-size: .68rem;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--mint);
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 12px
}

.s-label::before {
    content: '';
    width: 28px;
    height: 1.5px;
    background: var(--mint)
}

.s-label.cen {
    justify-content: center
}

.s-head {
    font-family: var(--f-head);
    font-weight: 700;
    font-size: clamp(2rem, 4vw, 3.4rem);
    line-height: 1.08;
    letter-spacing: -.03em;
    color: var(--white);
    margin-bottom: 18px
}

.s-head em {
    font-style: normal;
    color: var(--mint);
    font-weight: 800
}

.s-head.am em {
    color: var(--amber)
}

.s-desc {
    font-size: 1rem;
    color: var(--soft);
    line-height: 1.75;
    max-width: 560px
}

.s-desc.cen {
    margin: 0 auto;
    text-align: center
}

.revealer {
    opacity: 0;
    transform: translateY(36px);
    transition: all .75s cubic-bezier(.22, 1, .36, 1)
}

.revealer.show {
    opacity: 1;
    transform: translateY(0)
}

.r-left {
    opacity: 0;
    transform: translateX(-40px);
    transition: all .75s cubic-bezier(.22, 1, .36, 1)
}

.r-left.show {
    opacity: 1;
    transform: translateX(0)
}

.r-right {
    opacity: 0;
    transform: translateX(40px);
    transition: all .75s cubic-bezier(.22, 1, .36, 1)
}

.r-right.show {
    opacity: 1;
    transform: translateX(0)
}

.t1 {
    transition-delay: .08s
}

.t2 {
    transition-delay: .16s
}

.t3 {
    transition-delay: .24s
}

.t4 {
    transition-delay: .32s
}

.t5 {
    transition-delay: .4s
}

.t6 {
    transition-delay: .48s
}

/* ═══ ABOUT ═══ */
.about-s {
    background: var(--deep);
    position: relative;
    overflow: hidden
}

.about-s::before {
    content: '';
    position: absolute;
    top: -150px;
    right: -150px;
    width: 400px;
    height: 400px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(52, 211, 153, .06), transparent 65%);
    pointer-events: none
}

.about-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 70px;
    margin-top: 60px;
    align-items: start
}

.about-quote {
    font-family: var(--f-head);
    font-weight: 300;
    font-size: clamp(1.3rem, 2.2vw, 1.9rem);
    line-height: 1.5;
    color: var(--light);
    border-left: 3px solid var(--mint);
    padding-left: 28px
}

.about-quote .b {
    font-weight: 600;
    color: var(--white)
}

.about-quote .m {
    color: var(--mint)
}

.about-body p {
    font-size: .98rem;
    color: var(--soft);
    line-height: 1.8;
    margin-bottom: 18px
}

.about-body p strong {
    color: var(--light);
    font-weight: 600
}

.about-features {
    margin-top: 50px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px
}

.af-card {
    background: rgba(20, 29, 48, .5);
    border: 1px solid var(--edge);
    border-radius: 14px;
    padding: 28px 24px;
    transition: all .4s;
    position: relative;
    overflow: hidden
}

.af-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, var(--mint), var(--amber));
    transform: scaleX(0);
    transition: transform .4s;
    transform-origin: left
}

.af-card:hover {
    border-color: rgba(52, 211, 153, .2);
    transform: translateY(-3px)
}

.af-card:hover::before {
    transform: scaleX(1)
}

.af-card .af-icon {
    font-size: 1.8rem;
    margin-bottom: 12px;
    display: block
}

.af-card h5 {
    font-family: var(--f-head);
    color: var(--white);
    font-size: .95rem;
    font-weight: 600;
    margin-bottom: 6px
}

.af-card p {
    font-size: .82rem;
    color: var(--soft);
    line-height: 1.6;
    margin: 0
}

.about-mv {
    margin-top: 50px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px
}

.mv-box {
    padding: 36px;
    background: var(--surface);
    border: 1px solid var(--edge);
    border-radius: 16px;
    position: relative
}

.mv-box .mv-emoji {
    font-size: 1.8rem;
    margin-bottom: 14px;
    display: block
}

.mv-box h4 {
    font-family: var(--f-head);
    color: var(--white);
    font-size: 1.2rem;
    font-weight: 600;
    margin-bottom: 10px
}

.mv-box p {
    font-size: .9rem;
    color: var(--soft);
    line-height: 1.7;
    margin: 0
}

.about-hero {
    padding: 160px 0 40px;
    background: var(--deep);
    text-align: center;
    position: relative;
    overflow: hidden
}

.about-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 50% 30%, rgba(52, 211, 153, .06) 0%, transparent 60%);
    pointer-events: none
}

@media(max-width:767px) {
    .about-grid {
        grid-template-columns: 1fr;
        gap: 40px
    }

    .about-features,
    .about-mv {
        grid-template-columns: 1fr
    }
}

/* ═══ SERVICES — Cinematic Carousel ═══ */
.svc-s {
    background: var(--void);
    position: relative;
    overflow: hidden
}

.svc-s::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 50% 0%, rgba(52, 211, 153, .03), transparent 60%);
    pointer-events: none
}

.svc-carousel-wrap {
    margin-top: 60px;
    position: relative;
    overflow: hidden;
    border-radius: 24px;
    border: 1px solid var(--edge);
    background: var(--deep)
}

.svc-track {
    display: flex;
    transition: transform .65s cubic-bezier(.22, 1, .36, 1)
}

.svc-panel {
    min-width: 100%;
    padding: 60px;
    display: flex;
    align-items: center;
    gap: 60px;
    position: relative
}

.svc-panel::before {
    content: '';
    position: absolute;
    top: -60px;
    right: -60px;
    width: 300px;
    height: 300px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(52, 211, 153, .05), transparent 65%);
    pointer-events: none
}

.svc-left {
    flex: 1;
    position: relative;
    z-index: 2
}

.svc-num {
    font-family: var(--f-head);
    font-weight: 900;
    font-size: 6rem;
    line-height: 1;
    color: rgba(52, 211, 153, .06);
    position: absolute;
    top: -10px;
    left: -10px;
    pointer-events: none
}

.svc-emoji-icon {
    font-size: 3.2rem;
    margin-bottom: 16px;
    display: block;
    animation: svcPop .4s ease
}

@keyframes svcPop {
    from {
        opacity: 0;
        transform: scale(.6)
    }

    to {
        opacity: 1;
        transform: scale(1)
    }
}

.svc-title {
    font-family: var(--f-head);
    font-weight: 700;
    font-size: clamp(1.6rem, 3vw, 2.4rem);
    color: var(--white);
    letter-spacing: -.02em;
    margin-bottom: 16px
}

.svc-desc {
    font-size: .98rem;
    color: var(--soft);
    line-height: 1.8;
    max-width: 560px;
    margin-bottom: 24px
}

.svc-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 28px
}

.svc-tag {
    background: var(--surface);
    border: 1px solid var(--edge);
    padding: 6px 14px;
    border-radius: 6px;
    font-family: var(--f-mono);
    font-size: .68rem;
    letter-spacing: .8px;
    color: var(--pale)
}

.svc-req-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: var(--f-mono);
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: var(--mint);
    cursor: pointer;
    background: none;
    border: 1.5px solid var(--mint);
    padding: 14px 28px;
    border-radius: 10px;
    transition: all .3s
}

.svc-req-btn:hover {
    background: var(--mint);
    color: var(--void);
    box-shadow: 0 8px 24px rgba(52, 211, 153, .25)
}

.svc-right {
    width: 320px;
    min-width: 320px;
    height: 320px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--surface);
    border: 1px solid var(--edge);
    border-radius: 20px;
    position: relative;
    overflow: hidden
}

.svc-right .svc-big-emoji {
    font-size: 6rem;
    filter: grayscale(.15)
}

.svc-right .svc-big-name {
    position: absolute;
    bottom: 20px;
    left: 20px;
    right: 20px;
    font-family: var(--f-head);
    font-weight: 700;
    font-size: 1rem;
    color: var(--white);
    background: rgba(6, 8, 16, .7);
    padding: 10px 16px;
    border-radius: 10px;
    backdrop-filter: blur(8px)
}

.svc-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 24px 0;
    border-top: 1px solid var(--edge)
}

.svc-ctrl {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    border: 1px solid var(--edge);
    background: transparent;
    color: var(--pale);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    cursor: pointer;
    transition: all .3s
}

.svc-ctrl:hover {
    border-color: var(--mint);
    color: var(--mint);
    background: var(--mint-s)
}

.svc-dots {
    display: flex;
    gap: 6px
}

.svc-dot {
    width: 8px;
    height: 8px;
    border-radius: 4px;
    background: var(--edge);
    cursor: pointer;
    transition: all .3s
}

.svc-dot.active {
    background: var(--mint);
    width: 28px
}

.svc-counter {
    font-family: var(--f-mono);
    font-size: .72rem;
    color: var(--muted);
    letter-spacing: 1px
}

@media(max-width:991px) {
    .svc-panel {
        flex-direction: column;
        padding: 40px 28px;
        gap: 30px
    }

    .svc-right {
        width: 100%;
        min-width: auto;
        height: 180px
    }

    .svc-num {
        font-size: 4rem
    }
}

/* ═══ WHY US ═══ */
.why-s {
    background: var(--deep);
    position: relative;
    overflow: hidden
}

.why-s::after {
    content: '';
    position: absolute;
    bottom: -100px;
    left: -100px;
    width: 350px;
    height: 350px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(245, 158, 11, .06), transparent 65%);
    pointer-events: none
}

.why-grid {
    margin-top: 60px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    border: 1px solid var(--edge);
    border-radius: 20px;
    overflow: hidden;
    background: var(--surface)
}

.why-item {
    padding: 42px 32px;
    border-right: 1px solid var(--edge);
    border-bottom: 1px solid var(--edge);
    position: relative;
    transition: all .4s;
    cursor: default
}

.why-item:nth-child(3n) {
    border-right: none
}

.why-item:nth-last-child(-n+3) {
    border-bottom: none
}

.why-item:hover {
    background: rgba(52, 211, 153, .03)
}

.why-item::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 2px;
    background: var(--mint);
    transition: width .4s
}

.why-item:hover::after {
    width: 60%
}

.why-item .wi-n {
    font-family: var(--f-head);
    font-weight: 900;
    font-size: 2.5rem;
    color: rgba(52, 211, 153, .08);
    line-height: 1;
    margin-bottom: 16px
}

.why-item .wi-emoji {
    font-size: 2rem;
    margin-bottom: 14px;
    display: block;
    transition: transform .3s
}

.why-item:hover .wi-emoji {
    transform: rotate(-10deg) scale(1.15)
}

.why-item h5 {
    font-family: var(--f-head);
    color: var(--white);
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: 10px
}

.why-item p {
    font-size: .88rem;
    color: var(--soft);
    line-height: 1.65;
    margin: 0
}

@media(max-width:991px) {
    .why-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .why-item:nth-child(3n) {
        border-right: 1px solid var(--edge)
    }

    .why-item:nth-child(2n) {
        border-right: none
    }

    .why-item:nth-child(n+5) {
        border-bottom: none
    }

    .why-item:nth-child(-n+4):nth-child(even) {
        border-bottom: 1px solid var(--edge)
    }

    .why-item:nth-child(n+5) {
        border-bottom: none
    }
}

@media(max-width:576px) {
    .why-grid {
        grid-template-columns: 1fr
    }

    .why-item {
        border-right: none !important;
        border-bottom: 1px solid var(--edge) !important
    }

    .why-item:last-child {
        border-bottom: none !important
    }
}

/* ═══ TESTIMONIALS — Cinematic Carousel ═══ */
.test-s {
    background: var(--void)
}

.test-stage {
    margin-top: 60px;
    position: relative
}

.test-track {
    display: flex;
    transition: transform .6s cubic-bezier(.22, 1, .36, 1)
}

.test-slide {
    min-width: 100%;
    padding: 0 6px
}

.test-inner {
    display: grid;
    grid-template-columns: 1.3fr .7fr;
    gap: 40px;
    align-items: center;
    background: var(--deep);
    border: 1px solid var(--edge);
    border-radius: 20px;
    padding: 50px
}

.test-left .stars {
    color: #fbbf24;
    font-size: .95rem;
    letter-spacing: 3px;
    margin-bottom: 22px
}

.test-left blockquote {
    font-family: var(--f-head);
    font-size: clamp(1.1rem, 2vw, 1.5rem);
    font-weight: 300;
    line-height: 1.5;
    color: var(--light);
    margin-bottom: 28px;
    padding-left: 24px;
    border-left: 2px solid var(--mint)
}

.test-author {
    display: flex;
    align-items: center;
    gap: 14px
}

.test-avatar {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: var(--card);
    border: 1px solid var(--edge);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem
}

.test-meta .n {
    font-family: var(--f-head);
    color: var(--white);
    font-weight: 600;
    font-size: .95rem
}

.test-meta .l {
    font-size: .78rem;
    color: var(--muted);
    font-family: var(--f-mono);
    letter-spacing: .5px
}

.test-right {
    height: 300px;
    border-radius: 16px;
    background: var(--surface);
    border: 1px solid var(--edge);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px
}

.test-right .big-emoji {
    font-size: 4rem
}

.test-right .quote-label {
    font-family: var(--f-mono);
    font-size: .65rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--muted)
}

.test-ctrls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-top: 30px
}

.test-btn {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    border: 1px solid var(--edge);
    background: transparent;
    color: var(--pale);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all .3s;
    font-size: 1rem
}

.test-btn:hover {
    border-color: var(--mint);
    color: var(--mint)
}

.test-dots {
    display: flex;
    gap: 6px
}

.test-dot {
    width: 8px;
    height: 8px;
    border-radius: 4px;
    background: var(--edge);
    cursor: pointer;
    transition: all .3s
}

.test-dot.active {
    background: var(--mint);
    width: 28px
}

@media(max-width:767px) {
    .test-inner {
        grid-template-columns: 1fr;
        padding: 36px 24px
    }

    .test-right {
        height: 160px
    }
}

/* ═══ FAQ ═══ */
.faq-s {
    background: var(--deep)
}

.faq-list {
    margin-top: 60px;
    align-items: center;
    justify-content: center;
}

.faq-i {
    border-bottom: 1px solid var(--edge)
}

.faq-i:first-child {
    border-top: 1px solid var(--edge)
}

.faq-q {
    width: 100%;
    background: none;
    border: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    cursor: pointer;
    text-align: left;
    padding: 26px 0;
    color: var(--white)
}

.faq-q:hover {
    color: var(--mint)
}

.faq-q .fq-text {
    font-family: var(--f-head);
    font-size: 1.1rem;
    font-weight: 500;
    line-height: 1.3
}

.faq-q .fq-icon {
    width: 34px;
    height: 34px;
    min-width: 34px;
    border-radius: 8px;
    border: 1px solid var(--edge);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .85rem;
    color: var(--mint);
    transition: all .3s
}

.faq-i.open .fq-icon {
    background: var(--mint);
    color: var(--void);
    transform: rotate(45deg);
    border-color: var(--mint)
}

.faq-a {
    max-height: 0;
    overflow: hidden;
    transition: max-height .45s cubic-bezier(.22, 1, .36, 1)
}

.faq-i.open .faq-a {
    max-height: 350px
}

.faq-a p {
    padding-bottom: 24px;
    font-size: .92rem;
    color: var(--soft);
    line-height: 1.8;
    max-width: 660px
}

/* ═══ NEWSLETTER ═══ */
.news-s {
    background: var(--void);
    padding: 0 0 110px
}

.news-card {
    background: linear-gradient(135deg, var(--surface), var(--card));
    border: 1px solid var(--edge);
    border-radius: 28px;
    padding: 70px;
    position: relative;
    overflow: hidden
}

.news-card::before {
    content: '';
    position: absolute;
    top: -100px;
    left: -100px;
    width: 350px;
    height: 350px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(52, 211, 153, .08), transparent 60%)
}

.news-card::after {
    content: '';
    position: absolute;
    bottom: -80px;
    right: -80px;
    width: 300px;
    height: 300px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(245, 158, 11, .06), transparent 60%)
}

.news-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
    position: relative;
    z-index: 2
}

.news-left h3 {
    font-family: var(--f-head);
    font-weight: 700;
    font-size: clamp(1.8rem, 3vw, 2.6rem);
    color: var(--white);
    line-height: 1.1;
    margin-bottom: 14px
}

.news-left h3 em {
    font-style: normal;
    color: var(--mint)
}

.news-left p {
    font-size: .95rem;
    color: var(--soft);
    line-height: 1.7
}

.form-ax .field {
    margin-bottom: 16px
}

.form-ax label {
    font-family: var(--f-mono);
    font-size: .68rem;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--muted);
    margin-bottom: 6px;
    display: block
}

.form-ax label .r {
    color: var(--mint)
}

.form-ax input[type="text"],
.form-ax input[type="email"],
.form-ax input[type="date"],
.form-ax input[type="tel"],
.form-ax select,
.form-ax textarea {
    width: 100%;
    background: var(--surface);
    border: 1px solid var(--edge);
    border-radius: 10px;
    padding: 13px 18px;
    color: var(--white);
    font-family: var(--f-body);
    font-size: .9rem;
    transition: all .3s
}

.form-ax select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3e%3cpath fill='%2334d399' d='M6 8L1 3h10z'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 16px center;
    padding-right: 40px
}

.form-ax select option {
    background: var(--card)
}

.form-ax textarea {
    resize: vertical;
    min-height: 120px
}

.form-ax input:focus,
.form-ax select:focus,
.form-ax textarea:focus {
    outline: none;
    border-color: var(--mint);
    box-shadow: 0 0 0 3px var(--mint-g);
    background: var(--card)
}

.form-ax input::placeholder,
.form-ax textarea::placeholder {
    color: var(--muted)
}

.form-ax .check-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 16px 0
}

.form-ax .check-row input {
    width: 18px;
    height: 18px;
    margin-top: 3px;
    accent-color: var(--mint);
    cursor: pointer;
    flex-shrink: 0
}

.form-ax .check-row label {
    font-size: .82rem;
    color: var(--soft);
    line-height: 1.5;
    cursor: pointer;
    margin: 0
}

.unsub-link {
    background: none;
    border: none;
    color: var(--muted);
    font-family: var(--f-mono);
    font-size: .7rem;
    letter-spacing: 1px;
    text-transform: uppercase;
    cursor: pointer;
    text-decoration: underline;
    margin-top: 14px;
    display: block;
    text-align: center;
    transition: color .3s
}

.unsub-link:hover {
    color: var(--mint)
}

@media(max-width:767px) {
    .news-card {
        padding: 40px 24px
    }

    .news-inner {
        grid-template-columns: 1fr;
        gap: 40px
    }
}

/* ═══ CONTACT ═══ */
.contact-s {
    background: var(--deep)
}

.contact-grid {
    margin-top: 60px;
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 50px
}

.ci-card {
    display: flex;
    gap: 16px;
    padding: 24px;
    background: var(--surface);
    border: 1px solid var(--edge);
    border-radius: 14px;
    margin-bottom: 14px;
    transition: all .3s
}

.ci-card:hover {
    border-color: rgba(52, 211, 153, .2);
    transform: translateX(5px)
}

.ci-icon {
    width: 46px;
    height: 46px;
    min-width: 46px;
    border-radius: 10px;
    background: var(--mint-g);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem
}

.ci-card h6 {
    font-family: var(--f-mono);
    font-size: .68rem;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--mint);
    margin-bottom: 4px
}

.ci-card p {
    font-size: .88rem;
    color: var(--pale);
    line-height: 1.6;
    margin: 0
}

.ci-map {
    height: 180px;
    background: var(--surface);
    border: 1px solid var(--edge);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--muted);
    font-family: var(--f-mono);
    font-size: .82rem;
    letter-spacing: 1px;
    margin-top: 14px
}

.ci-map i {
    color: var(--mint);
    font-size: 1.3rem;
    margin-right: 8px
}

/* ═══ STANDALONE PAGE HERO ═══ */
.page-hero {
    padding: 160px 0 60px;
    background: var(--deep);
    text-align: center;
    position: relative;
    overflow: hidden
}

.page-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 50% 30%, rgba(52, 211, 153, .06) 0%, transparent 60%);
    pointer-events: none
}

.page-hero .s-label {
    justify-content: center
}

.page-hero .s-head {
    max-width: 700px;
    margin: 0 auto 18px
}

.page-hero .s-desc {
    margin: 0 auto;
    text-align: center
}

/* ═══ POLICY PAGES ═══ */
.policy-s {
    background: var(--deep);
    padding: 110px 0
}

.policy-content {
    background: var(--surface);
    border: 1px solid var(--edge);
    border-radius: 20px;
    padding: 60px;
    max-width: 900px;
    margin: 0 auto
}

.policy-content h5 {
    font-family: var(--f-head);
    color: var(--mint);
    font-size: 1.1rem;
    font-weight: 600;
    margin: 30px 0 12px
}

.policy-content h5:first-child {
    margin-top: 0
}

.policy-content p {
    font-size: .92rem;
    color: var(--soft);
    line-height: 1.8;
    margin-bottom: 14px
}

@media(max-width:767px) {
    .policy-content {
        padding: 30px 20px
    }
}

/* ═══ FOOTER ═══ */
.foot {
    background: var(--void);
    border-top: 1px solid var(--edge);
    padding: 70px 0 0
}

.foot-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
    gap: 50px
}

.foot-brand {
    font-family: var(--f-head);
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--white)
}

.foot-brand i {
    color: var(--mint)
}

.foot-about {
    font-size: .85rem;
    color: var(--soft);
    line-height: 1.7;
    margin: 14px 0 20px;
    max-width: 280px
}

.foot-social {
    display: flex;
    gap: 8px
}

.foot-social a {
    width: 38px;
    height: 38px;
    border-radius: 8px;
    border: 1px solid var(--edge);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--soft);
    font-size: .9rem;
    transition: all .3s
}

.foot-social a:hover {
    background: var(--mint);
    border-color: var(--mint);
    color: var(--void)
}

.foot-col h6 {
    font-family: var(--f-mono);
    font-size: .68rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--mint);
    margin-bottom: 18px
}

.foot-col ul {
    list-style: none;
    padding: 0;
    margin: 0
}

.foot-col li {
    margin-bottom: 10px
}

.foot-col a {
    font-size: .85rem;
    color: var(--soft);
    transition: color .3s
}

.foot-col a:hover {
    color: var(--mint)
}

.foot-bottom {
    margin-top: 50px;
    padding: 22px 0;
    border-top: 1px solid var(--edge);
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px
}

.foot-bottom p {
    font-size: .8rem;
    color: var(--muted);
    margin: 0
}

.foot-bottom a {
    font-size: .78rem;
    color: var(--muted);
    margin-left: 20px;
    transition: color .3s
}

.foot-bottom a:hover {
    color: var(--mint)
}

@media(max-width:991px) {
    .foot-grid {
        grid-template-columns: 1fr 1fr;
        gap: 40px
    }
}

@media(max-width:576px) {
    .foot-grid {
        grid-template-columns: 1fr
    }

    .foot-bottom {
        flex-direction: column;
        text-align: center
    }

    .foot-bottom a {
        margin: 0 10px
    }
}

/* ═══ TOAST ═══ */
.ax-toast {
    position: fixed;
    bottom: 30px;
    right: 30px;
    background: var(--card);
    border: 1px solid var(--edge);
    border-left: 3px solid var(--mint);
    border-radius: 14px;
    padding: 18px 24px;
    display: flex;
    align-items: center;
    gap: 12px;
    z-index: 99999;
    transform: translateY(120%);
    transition: transform .5s cubic-bezier(.22, 1, .36, 1);
    box-shadow: 0 16px 48px rgba(0, 0, 0, .4)
}

.ax-toast.show {
    transform: translateY(0)
}

.ax-toast .emoji {
    font-size: 1.4rem
}

.ax-toast .msg {
    font-size: .88rem;
    color: var(--white);
    font-family: var(--f-mono);
    letter-spacing: .3px
}

/* ═══ BACK TO TOP ═══ */
.btt {
    position: fixed;
    bottom: 30px;
    left: 30px;
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: var(--mint);
    color: var(--void);
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transition: all .4s;
    z-index: 9998;
    box-shadow: 0 8px 24px rgba(52, 211, 153, .3)
}

.btt.show {
    opacity: 1;
    visibility: visible
}

.btt:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 30px rgba(52, 211, 153, .45)
}