@keyframes ticker {
    0% {
        transform: translateX(0)
    }

    to {
        transform: translateX(-50%)
    }
}

@keyframes popIn {
    0% {
        transform: scale(0);
        opacity: 0
    }

    80% {
        transform: scale(1.1)
    }

    to {
        transform: scale(1);
        opacity: 1
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0;
        transform: translateY(6px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

@keyframes pulse {
    0%,to {
        transform: scale(1)
    }

    50% {
        transform: scale(1.08) translate(10px,-10px)
    }
}

@keyframes blink {
    0%,to {
        opacity: .5
    }

    50% {
        opacity: 1
    }
}

@keyframes tick {
    0% {
        transform: translateX(0)
    }

    to {
        transform: translateX(-50%)
    }
}

:root {
    --bg: #0e1117;
    --bg2: #111520;
    --bg3: #0b0e16;
    --c: #00b7e1;
    --c2: #00d8ff;
    --text: #d8eaf4;
    --muted: rgba(160,205,228,.42);
    --cdim: rgba(0, 183, 225, 0.1);
    --cglow: rgba(0, 183, 225, 0.22);
    --gb: rgba(0, 183, 225, 0.13);
    --gb2: rgba(255, 255, 255, 0.06);
    --sidebar: 260px
}

html {
    scroll-behavior: smooth
}

body {
    font-family: "Barlow",sans-serif;
    background: var(--bg);
    color: var(--text);
    overflow-x: hidden;
    min-height: 100vh
}

body::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    opacity: .025;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E")
}

.glow2 {
    background: radial-gradient(circle,rgba(0,183,225,.05),transparent 70%)
}

.util-dot.live {
    animation: blink 2s ease infinite
}

.hero {
    position: relative;
    z-index: 2;
    min-height: calc(100vh - 100px)
}

.hero-img-side {
    position: relative;
    overflow: hidden;
    min-height: 400px
}

.ccard-img img,.hero-img-side img,.promo-left img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 12s ease
}

.hero-img-side:hover img {
    transform: scale(1.04)
}

.hero-img-side::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 80px;
    background: linear-gradient(to right,transparent,var(--bg));
    clip-path: polygon(40px 0,100%0,100% 100%,0 100%)
}

@media (max-width:991px) {
    .hero-img-side::after {
        display: none
    }
}

.hero-img-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to right,rgba(14,17,23,.15),rgba(14,17,23,.5) 80%,var(--bg))
}

@media (max-width:991px) {
    .hero-img-overlay {
        background: linear-gradient(to bottom,rgba(14,17,23,.1),rgba(14,17,23,.7))
    }
}

.hero-float-card {
    position: absolute;
    bottom: 24px;
    left: 24px;
    background: rgba(14,17,23,.75);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(0,183,225,.2);
    border-radius: 14px;
    padding: 14px 18px;
    box-shadow: 0 8px 32px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.06)
}

.hfc-row {
    display: flex;
    align-items: center;
    gap: 14px
}

.hfc-stat {
    text-align: center
}

.hfc-num {
    font-family: "Fraunces",sans-serif;
    font-size: 22px;
    font-weight: 700;
    color: var(--c);
    line-height: 1
}

.hfc-lbl {
    font-size: 9px;
    color: var(--muted);
    margin-top: 2px;
    letter-spacing: .5px
}

.hfc-sep {
    width: 1px;
    height: 32px;
    background: rgba(0,183,225,.2)
}

.hero-badge {
    position: absolute;
    top: 24px;
    left: 24px;
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(0,183,225,.1);
    border: 1px solid rgba(0,183,225,.25);
    border-radius: 100px;
    padding: 6px 14px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--c)
}

.hero-badge-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--c);
    animation: blink 2s ease infinite
}

.hero-content-side {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 60px 48px 60px 40px;
    position: relative
}

.hero-content-side::before {
    content: "";
    position: absolute;
    left: 0;
    top: 10%;
    bottom: 10%;
    width: 1px;
    background: linear-gradient(to bottom,transparent,rgba(0,183,225,.25),transparent)
}

@media (max-width:991px) {
    .hero-content-side {
        padding: 40px 24px
    }

    .hero-content-side::before {
        display: none
    }
}

.hero-eyebrow {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: rgba(0,183,225,.7);
    margin-bottom: 24px
}

.hero-eyebrow span {
    width: 32px;
    height: 1px;
    background: rgba(0,183,225,.5);
    display: block
}

.hero-h1 {
    font-family: "Fraunces",sans-serif;
    font-size: clamp(36px,5vw,66px);
    font-weight: 300;
    font-style: italic;
    line-height: 1.05;
    letter-spacing: -1px;
    margin-bottom: 18px
}

.hero-h1 strong {
    font-style: normal;
    font-weight: 700;
    display: block
}

.hero-h1 .c {
    color: var(--c)
}

.hero-desc {
    font-size: 14.5px;
    color: var(--muted);
    line-height: 1.8;
    max-width: 420px;
    margin-bottom: 36px;
    font-weight: 300
}

.hero-usps {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 36px
}

.hero-usp,.usp-check {
    display: flex;
    align-items: center
}

.hero-usp {
    gap: 12px;
    font-size: 13px;
    color: rgba(200,230,245,.65);
    font-weight: 400
}

.usp-check {
    width: 20px;
    height: 20px;
    border-radius: 6px;
    flex-shrink: 0;
    background: rgba(0,183,225,.1);
    border: 1px solid rgba(0,183,225,.25);
    justify-content: center;
    font-size: 10px;
    color: var(--c)
}

.hero-btns {
    display: flex;
    gap: 10px;
    flex-wrap: wrap
}

.s-title strong {
    font-weight: 700
}

.cat-tabs {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 24px
}

.cat-tab {
    padding: 7px 14px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    border: 1px solid rgba(255,255,255,.07);
    background: rgba(255,255,255,.03);
    color: rgba(160,205,228,.45);
    cursor: pointer;
    transition: all .18s;
    white-space: nowrap
}

.cat-tab:hover {
    color: rgba(160,205,228,.8);
    border-color: rgba(0,183,225,.2)
}

.cat-tab.active {
    background: rgba(0,183,225,.12);
    border-color: rgba(0,183,225,.35);
    color: var(--c)
}

.cat-count {
    background: rgba(0,183,225,.15);
    margin-left: 4px
}

.ccard,.ccard-img {
    position: relative;
    overflow: hidden
}

.ccard {
    background: rgba(255,255,255,.03);
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 14px;
    cursor: pointer;
    transition: all .28s
}

.ccard:hover {
    border-color: rgba(0,183,225,.28);
    transform: translateY(-4px);
    box-shadow: 0 16px 48px rgba(0,0,0,.4),0 0 0 1px rgba(0,183,225,.08)
}

.ccard-img {
    aspect-ratio: 3/4
}

.ccard-img img,.promo-left img {
    transition: transform .45s
}

.ccard:hover .ccard-img img {
    transform: scale(1.06)
}

.ccard-shine {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg,rgba(255,255,255,.05)0,transparent 50%);
    pointer-events: none
}

.ccard-grad {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top,rgba(11,14,22,.9)0,rgba(11,14,22,.2) 50%,transparent 80%)
}

.ccard-body {
    padding: 14px 16px 18px;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0
}

.ccard-tag {
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--c);
    background: rgba(0,183,225,.1);
    border: 1px solid rgba(0,183,225,.2);
    padding: 3px 9px;
    border-radius: 100px;
    display: inline-block;
    margin-bottom: 7px
}

.ccard-name {
    font-family: "Fraunces",sans-serif;
    font-size: 17px;
    font-weight: 400;
    font-style: italic;
    color: #fff;
    line-height: 1.2;
    margin-bottom: 5px
}

.ccard-price {
    font-size: 12.5px;
    color: var(--muted)
}

.ccard-price strong {
    font-size: 16px;
    font-weight: 700;
    color: #fff
}

.ccard-price span {
    color: var(--c);
    font-size: 11px
}

.ccard-wide .ccard-img {
    aspect-ratio: 2/1
}

.ccard-wide .ccard-name {
    font-size: 20px
}

.ccard-action,.load-more-bar {
    display: flex;
    align-items: center
}

.ccard-action {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 2;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: rgba(11,14,22,.7);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(0,183,225,.2);
    justify-content: center;
    font-size: 14px;
    color: rgba(0,183,225,.6);
    opacity: 0;
    transition: all .2s
}

.ccard:hover .ccard-action {
    opacity: 1;
    color: var(--c)
}

.load-more-bar {
    gap: 20px;
    margin-top: 24px
}

.load-line {
    flex: 1;
    height: 1px;
    background: rgba(0,183,225,.08)
}

.load-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(0,183,225,.06);
    border: 1px solid rgba(0,183,225,.18);
    color: rgba(0,183,225,.7);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .5px;
    padding: 10px 24px;
    border-radius: 8px;
    cursor: pointer;
    transition: all .2s;
    white-space: nowrap;
    font-family: "Barlow",sans-serif
}

.load-btn:hover {
    background: rgba(0,183,225,.14);
    color: var(--c)
}

.promo-inner {
    border: 1px solid rgba(0,183,225,.12);
    border-radius: 20px;
    overflow: hidden;
    min-height: 300px
}

.promo-left {
    position: relative;
    overflow: hidden;
    min-height: 240px
}

.promo-left img {
    transition: transform .5s
}

.promo-inner:hover .promo-left img {
    transform: scale(1.04)
}

.promo-left-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to right,transparent 60%,rgba(14,17,23,.8))
}

@media (max-width:767px) {
    .promo-left-overlay {
        background: linear-gradient(to bottom,transparent 60%,rgba(14,17,23,.9))
    }
}

.promo-right {
    background: rgba(0,183,225,.05);
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 40px;
    position: relative;
    overflow: hidden
}

.promo-right::before {
    content: "";
    position: absolute;
    top: -60px;
    right: -60px;
    width: 240px;
    height: 240px;
    border-radius: 50%;
    background: radial-gradient(circle,rgba(0,183,225,.1),transparent 70%)
}

.promo-eyebrow,.promo-title {
    font-weight: 700;
    margin-bottom: 12px
}

.promo-eyebrow {
    font-size: 10px;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: rgba(0,183,225,.8)
}

.promo-title {
    font-family: "Fraunces",sans-serif;
    font-size: clamp(22px,2.5vw,36px);
    line-height: 1.15
}

.cta-h em,.cta-title em,.promo-title em {
    font-style: italic;
    color: var(--c)
}

.promo-desc {
    font-size: 13.5px;
    color: var(--muted);
    line-height: 1.7;
    margin-bottom: 24px;
    font-weight: 300
}

.promo-features {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 24px
}

.promo-feat {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 12.5px;
    color: rgba(200,230,245,.6)
}

.promo-feat-dot {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--c);
    flex-shrink: 0
}

.stats-row {
    border: 1px solid rgba(0,183,225,.1);
    border-radius: 16px;
    overflow: hidden;
    background: rgba(255,255,255,.02)
}

@media (max-width:767px) {
    .stat-cell {
        border-right: none;
        border-bottom: 1px solid rgba(0,183,225,.08)
    }

    .stat-cell:last-child {
        border-bottom: none
    }
}

.stat-l {
    font-weight: 400
}

.portfolio-scroll {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    padding-bottom: 8px;
    scrollbar-width: none
}

.portfolio-scroll::-webkit-scrollbar {
    display: none
}

.pitem {
    flex-shrink: 0;
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.07);
    cursor: pointer;
    position: relative;
    transition: all .28s
}

.pitem:hover,.svcard:hover {
    border-color: rgba(0,183,225,.25);
    transform: translateY(-3px)
}

.pitem img {
    display: block;
    object-fit: cover;
    transition: transform .45s
}

.pcard:hover img,.pitem:hover img,.up-card:hover img {
    transform: scale(1.05)
}

.pitem::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top,rgba(11,14,22,.8),transparent 60%);
    opacity: 0;
    transition: opacity .3s
}

.pitem:hover::after {
    opacity: 1
}

.pitem-l,.pitem-l img {
    width: 300px;
    height: 220px
}

.pitem-m,.pitem-m img {
    width: 200px;
    height: 220px
}

.pitem-sm,.pitem-sm img {
    width: 150px;
    height: 220px
}

.svcard {
    background: rgba(255,255,255,.025);
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 16px;
    padding: 26px 24px;
    position: relative;
    overflow: hidden;
    transition: all .25s;
    cursor: pointer
}

.svcard::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg,var(--c),var(--c2));
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .35s
}

.svcard:hover {
    background: rgba(0,183,225,.04);
    border-color: rgba(0,183,225,.2)
}

.svcard:hover::after {
    transform: scaleX(1)
}

.sv-icon {
    font-size: 28px;
    margin-bottom: 14px
}

.sv-num {
    position: absolute;
    top: 18px;
    right: 20px;
    font-family: "Fraunces",sans-serif;
    font-size: 48px;
    font-weight: 700;
    font-style: italic;
    color: rgba(0,183,225,.06);
    line-height: 1
}

.sv-title {
    font-size: 15px;
    font-weight: 600;
    color: rgba(255,255,255,.85);
    margin-bottom: 8px
}

.sv-desc {
    font-size: 13px;
    color: var(--muted);
    line-height: 1.7;
    margin-bottom: 14px;
    font-weight: 300
}

.sv-link {
    font-size: 12px;
    color: rgba(0,183,225,.7);
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
    transition: color .2s
}

.svcard:hover .sv-link {
    color: var(--c)
}

.cta-full-inner {
    border-radius: 20px;
    overflow: hidden;
    position: relative;
    border: 1px solid rgba(0,183,225,.12);
    min-height: 320px
}

.cta-img {
    min-height: 240px
}

.ci-img img,.sum-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.cta-txt::before {
    background: linear-gradient(135deg,rgba(0,183,225,.08),transparent 60%)
}

.cta-form {
    display: flex;
    gap: 8px;
    flex-wrap: wrap
}

.cta-inp {
    flex: 1;
    min-width: 160px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(0,183,225,.18);
    border-radius: 8px;
    padding: 12px 16px;
    font-size: 13px;
    color: var(--text);
    font-family: "Barlow",sans-serif;
    outline: 0;
    transition: border-color .2s
}

.cta-inp::placeholder {
    color: rgba(160,205,228,.25)
}

.cta-inp:focus {
    border-color: rgba(0,183,225,.45)
}

.cta-sub-note {
    font-size: 11px;
    color: rgba(0,183,225,.4);
    margin-top: 10px
}

footer {
    position: relative;
    z-index: 2;
    background: var(--bg3);
    border-top: 1px solid rgba(0,183,225,.1)
}

.footer-logo {
    display: flex;
    align-items: center;
    gap: 14px
}

.footer-tagline {
    font-size: 12px;
    font-weight: 300;
    color: var(--muted);
    letter-spacing: 1px;
    margin-top: 2px
}

.footer-cert,.footer-socials {
    display: flex;
    gap: 6px
}

.footer-cert {
    flex-wrap: wrap
}

.cta-full,.progress-wrap,.promo-banner,.services-section,.stats-section,section {
    position: relative;
    z-index: 2
}

.progress-wrap {
    padding: 24px 0 0
}

.progress-steps,.pstep {
    display: flex;
    align-items: center
}

.progress-steps {
    justify-content: center;
    max-width: 520px;
    margin: 0 auto
}

.pstep {
    flex-direction: column;
    gap: 7px;
    flex: 1;
    position: relative
}

.pstep::after {
    content: "";
    position: absolute;
    top: 19px;
    left: calc(50% + 22px);
    right: calc(-50% + 22px);
    height: 1px;
    background: rgba(0,183,225,.15)
}

.pstep:last-child::after {
    display: none
}

.pstep-dot {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    transition: all .3s;
    border: 1px solid rgba(0,183,225,.1);
    background: rgba(0,183,225,.025);
    color: rgba(160,205,228,.3);
    font-family: "Barlow",sans-serif;
    font-weight: 700
}

.pstep.done .pstep-dot {
    background: rgba(34,197,94,.1);
    border-color: rgba(34,197,94,.3);
    color: #4ade80
}

.pstep.active .pstep-dot {
    background: rgba(0,183,225,.15);
    border-color: rgba(0,183,225,.4);
    color: var(--c);
    box-shadow: 0 0 16px rgba(0,183,225,.18)
}

.pstep-lbl {
    font-size: 10px;
    font-weight: 600;
    color: rgba(160,205,228,.35);
    letter-spacing: .5px;
    white-space: nowrap
}

.pstep.done .pstep-lbl {
    color: rgba(74,222,128,.65)
}

.pstep.active .pstep-lbl,.sc-num strong,.up-price span {
    color: var(--c)
}

.pstep.done::after {
    background: rgba(34,197,94,.25)
}

.checkout-section {
    position: relative;
    z-index: 2;
    padding: 24px 0 72px
}

.step-panel {
    display: none
}

.step-panel.active {
    display: block
}

.scard {
    background: rgba(0,183,225,.025);
    border: 1px solid rgba(0,183,225,.09);
    border-radius: 18px;
    padding: 24px;
    margin-bottom: 14px
}

.scard-icon,.scard-title {
    display: flex;
    align-items: center
}

.scard-title {
    font-family: "Fraunces",sans-serif;
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 18px;
    gap: 10px
}

.scard-icon {
    width: 30px;
    height: 30px;
    border-radius: 8px;
    background: rgba(0,183,225,.1);
    border: 1px solid rgba(0,183,225,.18);
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0
}

.cart-items {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.ci {
    display: grid;
    grid-template-columns: 76px 1fr auto;
    gap: 14px;
    align-items: start;
    padding: 14px;
    background: rgba(0,183,225,.02);
    border: 1px solid rgba(0,183,225,.07);
    border-radius: 12px;
    transition: border-color .2s
}

.ci:hover {
    border-color: rgba(0,183,225,.18)
}

@media (max-width:575px) {
    .ci {
        grid-template-columns: 60px 1fr
    }

    .ci-price {
        grid-column: 2;
        text-align: left;
        margin-top: -4px
    }
}

.ci-img {
    width: 76px;
    height: 76px;
    border-radius: 9px;
    overflow: hidden;
    border: 1px solid rgba(0,183,225,.1)
}

.ci-cat {
    font-size: 9.5px;
    color: var(--muted);
    text-transform: uppercase;
    letter-spacing: 1.5px
}

.ci-name {
    font-family: "Fraunces",sans-serif;
    font-size: 14px;
    font-weight: 700;
    font-style: italic;
    color: #fff;
    margin: 3px 0 4px
}

.ci-opts {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 9px
}

.ci-opt {
    font-size: 10px;
    background: rgba(0,183,225,.05);
    border: 1px solid rgba(0,183,225,.1);
    color: rgba(160,205,228,.5);
    padding: 2px 8px;
    border-radius: 100px
}

.ci-qty-row,.qty-btn {
    display: flex;
    align-items: center
}

.ci-qty-row {
    gap: 7px
}

.qty-btn {
    width: 27px;
    height: 27px;
    border-radius: 7px;
    background: rgba(0,183,225,.05);
    border: 1px solid rgba(0,183,225,.12);
    color: var(--muted);
    font-size: 16px;
    cursor: pointer;
    justify-content: center;
    transition: all .18s;
    line-height: 1
}

.qty-btn:hover {
    border-color: rgba(0,183,225,.3);
    color: var(--c)
}

.qty-num {
    font-size: 13px;
    font-weight: 700;
    color: #fff;
    min-width: 18px;
    text-align: center
}

.ci-del {
    font-size: 11px;
    color: rgba(239,68,68,.4);
    cursor: pointer;
    margin-left: 7px;
    transition: color .2s
}

.ci-del:hover {
    color: #f87171
}

.ci-price {
    text-align: right;
    flex-shrink: 0
}

.ci-price-val {
    font-size: 17px;
    font-weight: 800;
    color: #fff
}

.ci-price-unit {
    font-size: 11px;
    color: var(--c)
}

.coupon-row {
    display: flex;
    gap: 9px;
    margin-top: 3px
}

.coupon-inp {
    flex: 1;
    background: rgba(0,183,225,.04);
    border: 1px solid rgba(0,183,225,.12);
    border-radius: 10px;
    padding: 10px 13px;
    font-size: 13px;
    color: var(--text);
    font-family: "Barlow",sans-serif;
    outline: 0;
    transition: border-color .2s
}

.coupon-inp::placeholder {
    color: rgba(160,205,228,.2)
}

.coupon-inp:focus {
    border-color: rgba(0,183,225,.35)
}

.coupon-btn {
    background: rgba(0,183,225,.12);
    border: 1px solid rgba(0,183,225,.25);
    color: var(--c);
    font-size: 12px;
    font-weight: 700;
    padding: 10px 16px;
    border-radius: 10px;
    cursor: pointer;
    transition: all .2s;
    font-family: "Barlow",sans-serif;
    white-space: nowrap
}

.coupon-btn:hover {
    background: rgba(0,183,225,.22)
}

.coupon-ok {
    display: none;
    align-items: center;
    gap: 7px;
    font-size: 12px;
    color: #4ade80;
    margin-top: 8px
}

textarea.fi {
    resize: vertical;
    min-height: 100px;
    line-height: 1.6
}

select.fi {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%2300b7e1' opacity='.5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    cursor: pointer
}

.fb-select option,select.fi option {
    background: #111520
}

.del-methods {
    display: flex;
    flex-direction: column;
    gap: 9px
}

.del-method,.del-radio {
    display: flex;
    align-items: center;
    transition: all .2s
}

.del-method {
    gap: 12px;
    padding: 13px 15px;
    background: rgba(0,183,225,.02);
    border: 1px solid rgba(0,183,225,.08);
    border-radius: 11px;
    cursor: pointer
}

.del-method:hover {
    border-color: rgba(0,183,225,.2)
}

.del-method.sel {
    background: rgba(0,183,225,.08);
    border-color: rgba(0,183,225,.3)
}

.del-radio {
    width: 17px;
    height: 17px;
    border-radius: 50%;
    border: 2px solid rgba(0,183,225,.25);
    flex-shrink: 0;
    justify-content: center
}

.del-method.sel .del-radio,.pay-method.sel .pay-radio {
    border-color: var(--c)
}

.del-method.sel .del-radio::after,.pay-method.sel .pay-radio::after {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--c);
    display: block
}

.del-icon2 {
    font-size: 19px;
    flex-shrink: 0
}

.del-info {
    flex: 1;
    min-width: 0
}

.del-name {
    font-size: 13px;
    font-weight: 600;
    color: rgba(255,255,255,.82)
}

.del-desc-sm {
    font-size: 11px;
    color: var(--muted);
    margin-top: 2px
}

.del-price {
    font-size: 13px;
    font-weight: 700;
    color: var(--c);
    flex-shrink: 0;
    white-space: nowrap
}

.del-price.free,.sum-row.disc .sum-row-val {
    color: #4ade80
}

.pay-methods {
    display: flex;
    flex-direction: column;
    gap: 9px
}

.pay-method,.pay-radio {
    display: flex;
    align-items: center;
    transition: all .2s
}

.pay-method {
    gap: 12px;
    padding: 13px 15px;
    background: rgba(0,183,225,.02);
    border: 1px solid rgba(0,183,225,.08);
    border-radius: 11px;
    cursor: pointer
}

.pay-method:hover {
    border-color: rgba(0,183,225,.2)
}

.pay-method.sel {
    background: rgba(0,183,225,.08);
    border-color: rgba(0,183,225,.3)
}

.pay-radio {
    width: 17px;
    height: 17px;
    border-radius: 50%;
    border: 2px solid rgba(0,183,225,.25);
    flex-shrink: 0;
    justify-content: center
}

.pay-lbl {
    font-size: 13px;
    font-weight: 600;
    color: rgba(255,255,255,.82);
    flex: 1
}

.pay-badges {
    display: flex;
    gap: 5px;
    flex-wrap: wrap
}

.pay-badge {
    font-size: 9px;
    font-weight: 700;
    background: rgba(0,183,225,.06);
    border: 1px solid rgba(0,183,225,.12);
    color: rgba(160,205,228,.4);
    padding: 2px 8px;
    border-radius: 4px
}

.card-fields {
    display: none;
    margin-top: 12px;
    padding: 14px;
    background: rgba(0,183,225,.02);
    border: 1px solid rgba(0,183,225,.08);
    border-radius: 9px
}

.card-fields.vis {
    display: block
}

.summary-card {
    background: rgba(0,183,225,.03);
    border: 1px solid rgba(0,183,225,.1);
    border-radius: 18px;
    padding: 22px;
    position: sticky;
    top: 80px
}

@media (max-width:991px) {
    .summary-card {
        position: static
    }
}

.sum-row.total .sum-row-lbl,.sum-title {
    font-family: "Fraunces",sans-serif;
    font-size: 15px;
    font-weight: 700
}

.sum-items,.sum-title {
    display: flex;
    margin-bottom: 18px
}

.sum-title {
    justify-content: space-between;
    align-items: center
}

.sum-items {
    flex-direction: column;
    gap: 9px
}

.sum-item {
    display: flex;
    gap: 9px;
    align-items: center
}

.sum-img {
    width: 44px;
    height: 44px;
    border-radius: 7px;
    overflow: hidden;
    flex-shrink: 0;
    border: 1px solid rgba(0,183,225,.1)
}

.sum-name {
    font-size: 12px;
    font-weight: 500;
    color: rgba(255,255,255,.8);
    flex: 1;
    line-height: 1.4
}

.sum-size {
    font-size: 10px;
    color: var(--muted)
}

.sum-price {
    font-size: 12.5px;
    font-weight: 700;
    color: #fff;
    white-space: nowrap
}

.sum-div {
    height: 1px;
    background: rgba(0,183,225,.08);
    margin: 13px 0
}

.sum-row {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    margin-bottom: 7px
}

.sum-row-lbl {
    color: var(--muted)
}

.sum-row-val {
    color: rgba(255,255,255,.8);
    font-weight: 500
}

.sum-row.total .sum-row-lbl {
    color: #fff
}

.sum-row.total .sum-row-val {
    font-family: "Fraunces",sans-serif;
    font-size: 22px;
    font-weight: 800;
    background: linear-gradient(135deg,#fff,var(--c));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent
}

.btn-back,.btn-next {
    width: 100%;
    cursor: pointer;
    font-family: "Barlow",sans-serif
}

.btn-next {
    background: var(--c);
    color: #0e1117;
    font-size: 13.5px;
    font-weight: 700;
    padding: 14px;
    border-radius: 12px;
    border: 0;
    box-shadow: 0 0 28px rgba(0,183,225,.3);
    transition: all .25s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 14px
}

.btn-next:hover {
    background: var(--c2);
    transform: translateY(-1px)
}

.btn-back {
    background: 0 0;
    border: 1px solid rgba(0,183,225,.14);
    color: var(--muted);
    font-size: 12.5px;
    font-weight: 500;
    padding: 11px;
    border-radius: 11px;
    transition: all .2s;
    margin-top: 8px
}

.btn-back:hover {
    border-color: rgba(0,183,225,.3);
    color: var(--text)
}

.sum-trust {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 13px
}

.sum-ti {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 11px;
    color: rgba(160,205,228,.32)
}

.success-panel {
    display: none;
    text-align: center;
    padding: 52px 16px
}

.success-panel.active,.up-card img {
    display: block
}

.sc-icon {
    font-size: 60px;
    margin-bottom: 16px;
    animation: popIn .5s ease
}

.sc-title {
    font-family: "Fraunces",sans-serif;
    font-size: 30px;
    font-weight: 700;
    font-style: italic;
    margin-bottom: 8px
}

.sc-num {
    font-size: 13px;
    color: var(--muted);
    margin-bottom: 22px
}

.sc-step {
    background: rgba(0,183,225,.03);
    border: 1px solid rgba(0,183,225,.09);
    border-radius: 13px;
    padding: 14px;
    text-align: center
}

.sc-step-icon {
    font-size: 22px;
    margin-bottom: 5px
}

.sc-step-text {
    font-size: 12px;
    color: rgba(160,205,228,.5);
    line-height: 1.5;
    font-weight: 300
}

.upsell-section {
    position: relative;
    z-index: 2;
    padding: 0 0 72px
}

.up-title {
    font-family: "Fraunces",sans-serif;
    font-size: 22px;
    font-weight: 700;
    font-style: italic
}

.up-card {
    background: rgba(0,183,225,.025);
    border: 1px solid rgba(0,183,225,.08);
    border-radius: 14px;
    overflow: hidden;
    cursor: pointer;
    transition: all .28s
}

.up-card:hover {
    border-color: rgba(0,183,225,.25);
    transform: translateY(-3px);
    box-shadow: 0 14px 40px rgba(0,0,0,.4)
}

.up-img {
    position: relative;
    overflow: hidden
}

.up-card img {
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
    transition: transform .4s
}

.up-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom,transparent 55%,rgba(11,14,22,.85) 100%)
}

.up-add {
    position: absolute;
    bottom: 9px;
    right: 9px;
    width: 30px;
    height: 30px;
    border-radius: 8px;
    background: rgba(11,14,22,.7);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(0,183,225,.22);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    color: var(--c);
    opacity: 0;
    transition: opacity .25s;
    cursor: pointer
}

.up-card:hover .up-add {
    opacity: 1
}

.up-body {
    padding: 11px 13px 14px
}

.up-cat {
    font-size: 9px;
    color: var(--muted);
    text-transform: uppercase;
    letter-spacing: 1.5px
}

.up-name {
    font-family: "Fraunces",sans-serif;
    font-size: 13px;
    font-weight: 400;
    font-style: italic;
    color: #fff;
    margin: 3px 0 5px
}

.up-price {
    font-size: 11px;
    color: var(--muted)
}

.up-price strong {
    font-size: 14px;
    font-weight: 700;
    color: #fff
}

.mob-summary-toggle {
    display: none;
    align-items: center;
    justify-content: space-between;
    background: rgba(0,183,225,.07);
    border: 1px solid rgba(0,183,225,.2);
    border-radius: 12px;
    padding: 12px 16px;
    cursor: pointer;
    margin-bottom: 14px;
    font-size: 13px;
    font-weight: 600;
    color: var(--c)
}

.mob-summary-toggle .total-preview {
    font-family: "Fraunces",sans-serif;
    font-size: 16px;
    font-weight: 800;
    background: linear-gradient(135deg,#fff,var(--c));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent
}

@media (max-width:991px) {
    .mob-summary-toggle {
        display: flex
    }
}

.mob-summary-content {
    display: none
}

.mob-summary-content.open {
    display: block
}

.ha-btn.cart {
    position: relative
}

.breadcrumb-inner {
    display: flex;
    align-items: center;
    height: 44px;
    gap: 0
}

.bc-home {
    padding: 0 18px;
    font-size: 12px;
    color: var(--muted);
    text-decoration: none;
    border-right: 1px solid rgba(0,183,225,.08);
    height: 100%;
    transition: color .2s;
    gap: 6px
}

.bc-home:hover {
    color: var(--c)
}

.bc-home,.bc-sep {
    display: flex;
    align-items: center
}

.bc-current {
    font-size: 12px;
    font-weight: 600;
    color: rgba(255,255,255,.65)
}

.bc-count {
    margin-left: auto;
    font-size: 11px;
    color: rgba(0,183,225,.45)
}

.sidebar {
    border-right: 1px solid rgba(0,183,225,.08);
    background: rgba(0,183,225,.015);
    position: sticky;
    top: 64px;
    height: calc(100vh - 64px);
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(0,183,225,.3) transparent;
    width: var(--sidebar);
    flex-shrink: 0
}

.sidebar::-webkit-scrollbar {
    width: 3px
}

.sidebar::-webkit-scrollbar-thumb {
    background: rgba(0,183,225,.3);
    border-radius: 2px
}

.sidebar-offcanvas {
    position: fixed;
    top: 0;
    left: -100%;
    width: min(300px,90vw);
    height: 100vh;
    background: var(--bg2);
    z-index: 300;
    border-right: 1px solid rgba(0,183,225,.15);
    overflow-y: auto;
    transition: left .3s ease;
    scrollbar-width: thin;
    scrollbar-color: rgba(0,183,225,.3) transparent
}

.sidebar-offcanvas.open {
    left: 0
}

.sidebar-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.6);
    z-index: 299
}

.sidebar-overlay.open {
    display: block
}

.sidebar-close-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid rgba(0,183,225,.1);
    font-size: 13px;
    font-weight: 600;
    color: var(--c)
}

.sidebar-close-btn button {
    background: rgba(0,183,225,.1);
    border: 1px solid rgba(0,183,225,.2);
    color: var(--c);
    border-radius: 6px;
    padding: 4px 10px;
    font-size: 11px;
    cursor: pointer;
    font-family: "Barlow",sans-serif
}

.sb-section {
    padding: 0 18px 18px;
    border-bottom: 1px solid rgba(0,183,225,.06)
}

.sb-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 0 10px;
    cursor: pointer;
    user-select: none
}

.sb-head-label {
    font-size: 9.5px;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: rgba(0,183,225,.6)
}

.sb-arrow {
    font-size: 10px;
    color: rgba(0,183,225,.4);
    transition: transform .2s
}

.sb-section.collapsed .sb-arrow {
    transform: rotate(-90deg)
}

.sb-section.collapsed .sb-body {
    display: none
}

.cat-item,.cat-item-left {
    display: flex;
    align-items: center
}

.cat-item {
    justify-content: space-between;
    padding: 7px 10px;
    border-radius: 7px;
    cursor: pointer;
    transition: all .15s;
    margin-bottom: 2px
}

.cat-item:hover {
    background: rgba(0,183,225,.06)
}

.cat-item.active {
    background: rgba(0,183,225,.1);
    border: 1px solid rgba(0,183,225,.2)
}

.cat-item-left {
    gap: 9px;
    font-size: 13px;
    color: rgba(200,230,245,.65)
}

.cat-item.active .cat-item-left {
    color: #fff;
    font-weight: 500
}

.cat-dot,.sub-item::before {
    border-radius: 50%;
    flex-shrink: 0
}

.cat-dot {
    width: 5px;
    height: 5px;
    background: rgba(0,183,225,.35);
    transition: background .2s
}

.cat-item.active .cat-dot,.sub-item.active::before {
    background: var(--c)
}

.cat-count {
    font-size: 10px;
    color: rgba(0,183,225,.35);
    background: rgba(0,183,225,.06);
    padding: 2px 7px;
    border-radius: 100px
}

.cat-item.active .cat-count {
    color: var(--c);
    background: rgba(0,183,225,.14)
}

.sub-items {
    padding-left: 14px;
    margin-top: 3px;
    display: none
}

.sub-items.open {
    display: block
}

.sub-item {
    padding: 5px 10px;
    border-radius: 6px;
    font-size: 12.5px;
    color: rgba(160,205,228,.45);
    cursor: pointer;
    transition: all .15s;
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 1px
}

.sub-item::before {
    content: "";
    width: 3px;
    height: 3px;
    background: rgba(0,183,225,.25)
}

.sub-item:hover {
    color: rgba(200,230,245,.75)
}

.sub-item.active {
    color: var(--c)
}

.range-wrap {
    margin-top: 6px
}

.range-inputs {
    display: flex;
    gap: 8px;
    margin-bottom: 10px;
    width: 100%
}

.range-inp {
    flex: 1;
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
    background: rgba(0,183,225,.04);
    border: 1px solid rgba(0,183,225,.12);
    border-radius: 8px;
    padding: 8px 6px;
    font-size: 12px;
    color: var(--text);
    font-family: "Barlow",sans-serif;
    outline: 0;
    transition: border-color .2s;
    -moz-appearance: textfield
}

.range-inp::-webkit-inner-spin-button,.range-inp::-webkit-outer-spin-button {
    -webkit-appearance: none
}

.range-inp:focus {
    border-color: rgba(0,183,225,.4)
}

.range-inp::placeholder {
    color: rgba(160,205,228,.2)
}

.range-label {
    font-size: 10px;
    color: var(--muted);
    margin-bottom: 5px
}

.range-track {
    width: 100%;
    height: 3px;
    background: rgba(0,183,225,.1);
    border-radius: 2px;
    position: relative;
    margin: 12px 0 6px
}

.range-fill {
    position: absolute;
    height: 100%;
    background: linear-gradient(90deg,var(--c),var(--c2));
    border-radius: 2px;
    left: 10%;
    right: 20%
}

input[type=range] {
    position: absolute;
    width: 100%;
    top: -6px;
    left: 0;
    -webkit-appearance: none;
    background: 0 0;
    cursor: pointer
}

input[type=range]::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: var(--c);
    border: 2px solid rgba(14,17,23,.8);
    box-shadow: 0 0 8px rgba(0,183,225,.4)
}

.chk-box,.chk-item {
    display: flex;
    align-items: center
}

.chk-item {
    gap: 10px;
    padding: 6px 2px;
    cursor: pointer;
    transition: opacity .15s;
    font-size: 12.5px;
    color: rgba(160,205,228,.55);
    margin-bottom: 2px
}

.chk-item:hover {
    color: rgba(160,205,228,.85)
}

.chk-box {
    width: 16px;
    height: 16px;
    border-radius: 4px;
    border: 1px solid rgba(0,183,225,.2);
    background: rgba(0,183,225,.03);
    justify-content: center;
    flex-shrink: 0;
    transition: all .15s
}

.chk-item.checked .chk-box {
    background: rgba(0,183,225,.18);
    border-color: rgba(0,183,225,.5)
}

.chk-item.checked .chk-box::after {
    content: "✓";
    font-size: 9px;
    color: var(--c);
    font-weight: 700
}

.chk-item.checked {
    color: rgba(200,230,245,.85)
}

.mat-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 4px
}

.mat-swatch {
    padding: 5px 11px;
    border-radius: 6px;
    font-size: 10.5px;
    font-weight: 600;
    cursor: pointer;
    border: 1px solid rgba(255,255,255,.07);
    background: rgba(255,255,255,.03);
    color: rgba(160,205,228,.45);
    transition: all .18s
}

.fb-chip.off:hover,.mat-swatch:hover {
    border-color: rgba(0,183,225,.2)
}

.mat-swatch.active {
    background: rgba(0,183,225,.12);
    border-color: rgba(0,183,225,.35);
    color: var(--c)
}

.sb-apply {
    width: 100%;
    background: var(--c);
    color: #0e1117;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .5px;
    padding: 11px;
    border-radius: 9px;
    border: 0;
    margin-top: 4px;
    box-shadow: 0 0 20px rgba(0,183,225,.25)
}

.sb-apply:hover {
    background: var(--c2);
    box-shadow: 0 0 32px rgba(0,183,225,.45)
}

.filter-toggle-btn,.sb-apply,.sb-reset {
    cursor: pointer;
    font-family: "Barlow",sans-serif;
    transition: all .2s
}

.sb-reset {
    width: 100%;
    background: 0 0;
    border: 1px solid rgba(0,183,225,.15);
    color: var(--muted);
    font-size: 11px;
    padding: 9px;
    border-radius: 9px;
    margin-top: 7px
}

.sb-reset:hover {
    border-color: rgba(0,183,225,.3);
    color: var(--text)
}

.filter-toggle-btn {
    display: none;
    align-items: center;
    gap: 8px;
    background: rgba(0,183,225,.07);
    border: 1px solid rgba(0,183,225,.2);
    color: var(--c);
    font-size: 12px;
    font-weight: 600;
    padding: 9px 16px;
    border-radius: 8px
}

.filter-toggle-btn:hover {
    background: rgba(0,183,225,.14)
}

.filter-bar {
    background: rgba(0,183,225,.03);
    border: 1px solid rgba(0,183,225,.09);
    border-radius: 12px;
    padding: 10px 14px;
    display: flex;
    align-items: center;
    gap: 7px;
    flex-wrap: wrap;
    margin-bottom: 14px
}

.fb-label {
    font-size: 9.5px;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: rgba(0,183,225,.5);
    white-space: nowrap
}

.fb-chip,.fb-sep {
    background: rgba(0,183,225,.1)
}

.fb-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border: 1px solid rgba(0,183,225,.2);
    color: var(--c);
    font-size: 11px;
    font-weight: 600;
    padding: 4px 11px;
    border-radius: 100px;
    cursor: pointer;
    transition: all .15s;
    white-space: nowrap
}

.fb-chip:hover {
    background: rgba(0,183,225,.18)
}

.fb-chip .x {
    font-size: 10px;
    opacity: .7
}

.fb-chip.off {
    background: rgba(255,255,255,.03);
    border-color: rgba(255,255,255,.08);
    color: rgba(160,205,228,.45)
}

.fb-chip.off:hover {
    color: rgba(160,205,228,.75)
}

.fb-sep {
    width: 1px;
    height: 22px;
    flex-shrink: 0
}

.fb-spacer {
    flex: 1;
    min-width: 10px
}

.fb-sort-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap
}

.fb-sort-label {
    font-size: 11px;
    color: var(--muted)
}

.fb-select {
    background: rgba(0,183,225,.05);
    border: 1px solid rgba(0,183,225,.12);
    color: var(--text);
    font-size: 12px;
    font-family: "Barlow",sans-serif;
    padding: 6px 28px 6px 10px;
    border-radius: 7px;
    outline: 0;
    cursor: pointer;
    transition: border-color .2s;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%2300b7e1' opacity='.5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 8px center
}

.fb-select:focus {
    border-color: rgba(0,183,225,.3)
}

.per-btns {
    display: flex;
    gap: 4px
}

.per-btn {
    width: 28px;
    height: 28px;
    border-radius: 6px;
    background: rgba(255,255,255,.03);
    border: 1px solid rgba(255,255,255,.07);
    color: var(--muted);
    font-size: 11px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Barlow",sans-serif;
    transition: all .15s
}

.per-btn.active {
    background: rgba(0,183,225,.12);
    border-color: rgba(0,183,225,.3);
    color: var(--c)
}

.per-btn:hover:not(.active) {
    border-color: rgba(0,183,225,.2);
    color: rgba(160,205,228,.7)
}

.active-chips {
    display: flex;
    gap: 7px;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 12px
}

.ac-label {
    font-size: 11px;
    color: var(--muted)
}

.ac-chip,.clear-all {
    font-size: 11px;
    cursor: pointer
}

.ac-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: rgba(0,183,225,.08);
    border: 1px solid rgba(0,183,225,.18);
    color: var(--c);
    padding: 3px 10px;
    border-radius: 100px;
    transition: all .15s
}

.ac-chip:hover {
    background: rgba(0,183,225,.15)
}

.ac-chip .rm {
    font-size: 11px;
    opacity: .6
}

.clear-all {
    color: rgba(239,68,68,.55);
    margin-left: 4px;
    transition: color .2s
}

.clear-all:hover {
    color: #f87171
}

.results-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
    flex-wrap: wrap;
    gap: 10px
}

.results-count {
    font-size: 13px;
    color: var(--muted)
}

.results-count strong {
    color: rgba(255,255,255,.75);
    font-weight: 600
}

.results-page {
    font-size: 11px;
    color: rgba(0,183,225,.4)
}

.pcard {
    overflow: hidden;
    cursor: pointer
}

.pcard::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: linear-gradient(135deg,rgba(0,183,225,.05)0,transparent 60%);
    opacity: 0;
    transition: opacity .28s
}

.pcard:hover::before {
    opacity: 1
}

.pcard-img-wrap {
    position: relative;
    overflow: hidden
}

.pcard img {
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
    display: block;
    transition: transform .45s
}

.pcard-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom,transparent 55%,rgba(11,14,22,.88) 100%)
}

.pcard-shine {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg,rgba(255,255,255,.05)0,transparent 50%);
    pointer-events: none
}

.pcard-badges {
    position: absolute;
    top: 10px;
    left: 10px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    z-index: 2
}

.badge {
    display: inline-block
}

.b-stock {
    background: rgba(34,197,94,.1);
    border: 1px solid rgba(34,197,94,.25);
    color: #4ade80
}

.b-free {
    background: rgba(251,191,36,.1)
}

.pcard-wish {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 2;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: rgba(11,14,22,.65);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(0,183,225,.15);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    cursor: pointer;
    transition: all .2s;
    color: rgba(0,183,225,.45)
}

.pcard-wish.on,.pcard-wish:hover {
    background: rgba(0,183,225,.15);
    border-color: rgba(0,183,225,.4);
    color: var(--c)
}

.pcard-body {
    padding: 12px 14px 15px;
    position: relative;
    z-index: 1
}

.pcard-cat {
    font-size: 9.5px;
    color: var(--muted);
    text-transform: uppercase;
    letter-spacing: 1.5px
}

.pcard-name {
    color: #fff;
    margin: 4px 0 3px;
    line-height: 1.2
}

.pcard-size {
    font-size: 10.5px;
    color: rgba(0,183,225,.4);
    margin-bottom: 9px
}

.pcard-price {
    display: flex;
    align-items: baseline;
    gap: 4px
}

.pcard-amount {
    font-size: 20px;
    font-weight: 700;
    color: #fff;
    font-family: "Barlow",sans-serif
}

.pcard-unit {
    font-weight: 600
}

.pcard-old {
    font-size: 11px;
    color: rgba(239,100,80,.45);
    text-decoration: line-through;
    margin-left: 5px
}

.pcard-btn {
    background: rgba(0,183,225,.08);
    border: 1px solid rgba(0,183,225,.2);
    color: var(--c);
    letter-spacing: 1px;
    text-transform: uppercase
}

.pcard-btn:hover {
    background: rgba(0,183,225,.2);
    border-color: rgba(0,183,225,.4);
    color: #fff
}

.pagination-bar,.pg-btn {
    display: flex;
    align-items: center;
    justify-content: center
}

.pagination-bar {
    gap: 5px;
    margin-top: 36px
}

.pg-btn {
    width: 38px;
    height: 38px;
    border-radius: 8px;
    background: rgba(255,255,255,.03);
    border: 1px solid rgba(255,255,255,.07);
    color: var(--muted);
    font-size: 13px;
    cursor: pointer;
    transition: all .18s;
    font-family: "Barlow",sans-serif;
    text-decoration: none
}

.pg-btn:hover {
    border-color: rgba(0,183,225,.3);
    color: rgba(160,205,228,.8)
}

.pg-btn.active {
    background: rgba(0,183,225,.14);
    border-color: rgba(0,183,225,.4);
    color: var(--c);
    font-weight: 700
}

.pg-btn.arrow {
    font-size: 16px
}

.pg-dots {
    color: rgba(0,183,225,.25);
    font-size: 13px;
    padding: 0 4px
}

::-webkit-scrollbar-track {
    background: var(--bg)
}

.catalog-layout,.main-col {
    position: relative;
    z-index: auto
}

.catalog-layout {
    display: flex;
    min-height: calc(100vh - 108px)
}

.main-col {
    flex: 1;
    padding: 22px 24px 60px;
    min-width: 0
}

@media (max-width:991px) {
    .sidebar {
        position: fixed;
        top: 0;
        left: -110vw;
        width: min(300px,90vw);
        height: 100vh;
        overflow-y: auto;
        z-index: 1050;
        background: var(--bg2);
        border-right: 1px solid rgba(0,183,225,.15);
        transition: left .3s ease;
        scrollbar-width: thin;
        scrollbar-color: rgba(0,183,225,.3) transparent;
        display: block
    }

    .sidebar.mobile-open {
        left: 0;
        box-shadow: 4px 0 32px rgba(0,0,0,.5)
    }

    .filter-toggle-btn {
        display: flex
    }
}

@media (max-width:575px) {
    .main-col {
        padding: 16px 14px 48px
    }
}

/* ── Mobile sidebar overlay ── */
#sidebarOverlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.55);
    z-index: 1040
}

/* ── Buton închide sidebar mobil ── */
.sidebar-mobile-close {
    display: none
}

@media (max-width:991px) {
    .sidebar-mobile-close {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 16px 20px;
        border-bottom: 1px solid rgba(0,183,225,.1);
        font-size: 13px;
        font-weight: 600;
        color: var(--c)
    }

    .sidebar-mobile-close button {
        background: rgba(0,183,225,.1);
        border: 1px solid rgba(0,183,225,.2);
        color: var(--c);
        border-radius: 6px;
        padding: 4px 10px;
        font-size: 18px;
        cursor: pointer;
        font-family: "Barlow",sans-serif;
        line-height: 1
    }
}

.page-header {
    position: relative;
    z-index: 2;
    padding: 60px 0 52px;
    text-align: center
}

.ph-eyebrow {
    display: inline-flex
}

.ph-eyebrow::after,.ph-eyebrow::before {
    content: "";
    width: 20px;
    height: 1px;
    background: rgba(0,183,225,.5);
    display: block
}

.ph-title {
    font-family: "Fraunces",sans-serif;
    font-size: clamp(36px,5vw,68px);
    font-weight: 300;
    font-style: italic;
    line-height: 1.05;
    letter-spacing: -1px
}

.ph-title strong {
    font-style: normal;
    font-weight: 700
}

.ph-sub {
    font-size: 15px;
    color: var(--muted);
    margin-top: 12px;
    max-width: 460px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.7;
    font-weight: 300
}

.msg-bar {
    display: flex;
    justify-content: center;
    gap: 9px;
    margin-top: 30px;
    flex-wrap: wrap
}

.msg-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    border-radius: 100px;
    font-size: 12.5px;
    font-weight: 700;
    text-decoration: none;
    transition: all .25s;
    white-space: nowrap
}

.msg-phone {
    background: var(--c);
    color: #0e1117;
    box-shadow: 0 0 24px rgba(0,183,225,.3)
}

.msg-phone:hover {
    background: var(--c2);
    box-shadow: 0 0 40px rgba(0,183,225,.5);
    color: #0e1117
}

.msg-wa {
    background: rgba(37,211,102,.12);
    border: 1px solid rgba(37,211,102,.25);
    color: #4ade80
}

.msg-wa:hover {
    background: rgba(37,211,102,.22);
    color: #4ade80
}

.msg-vb {
    background: rgba(127,83,172,.12);
    border: 1px solid rgba(127,83,172,.25);
    color: #c084fc
}

.msg-vb:hover {
    background: rgba(127,83,172,.22);
    color: #c084fc
}

.msg-msg {
    background: rgba(0,120,255,.1);
    border: 1px solid rgba(0,120,255,.22);
    color: #818cf8
}

.msg-msg:hover {
    background: rgba(0,120,255,.18);
    color: #818cf8
}

.info-card {
    background: rgba(0,183,225,.03);
    border: 1px solid rgba(0,183,225,.09);
    border-radius: 18px;
    padding: 24px;
    transition: all .25s;
    position: relative;
    overflow: hidden
}

.info-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg,var(--c),var(--c2));
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .35s
}

.info-card:hover {
    border-color: rgba(0,183,225,.22);
    box-shadow: 0 10px 40px rgba(0,0,0,.3)
}

.info-card:hover::before {
    transform: scaleX(1)
}

.info-card-title {
    font-family: "Fraunces",sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: rgba(255,255,255,.45);
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 8px
}

.info-card-title::after {
    content: "";
    flex: 1;
    height: 1px;
    background: rgba(0,183,225,.1)
}

.phone-num {
    font-family: "Barlow",sans-serif;
    font-size: 28px;
    font-weight: 800;
    color: #fff;
    text-decoration: none;
    letter-spacing: -1px;
    transition: color .2s
}

.phone-num:hover {
    color: var(--c)
}

.phone-label {
    font-size: 11px;
    color: var(--muted);
    margin-top: 2px
}

.phone-divider {
    height: 1px;
    background: rgba(0,183,225,.08);
    margin: 14px 0
}

.map-wrap {
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid rgba(0,183,225,.1);
    aspect-ratio: 16/9;
    position: relative;
    background: #0e1117
}

.map-wrap iframe {
    width: 100%;
    height: 100%;
    display: block;
    border: 0;
    filter: invert(.9) hue-rotate(175deg) saturate(.7) brightness(.85)
}

.map-open-btn,.sch-row {
    display: flex;
    align-items: center;
    border-radius: 9px;
    transition: all .2s
}

.map-open-btn {
    position: absolute;
    bottom: 10px;
    right: 10px;
    background: rgba(11,14,22,.85);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(0,183,225,.22);
    padding: 7px 13px;
    font-size: 11px;
    font-weight: 600;
    color: var(--c);
    text-decoration: none;
    gap: 5px
}

.map-open-btn:hover {
    background: rgba(0,183,225,.14)
}

.sch-row {
    justify-content: space-between;
    padding: 9px 13px;
    background: rgba(0,183,225,.025);
    border: 1px solid rgba(0,183,225,.07);
    margin-bottom: 6px
}

.sch-row:last-child {
    margin-bottom: 0
}

.sch-row:hover {
    border-color: rgba(0,183,225,.18);
    background: rgba(0,183,225,.05)
}

.sch-row.today {
    background: rgba(0,183,225,.08);
    border-color: rgba(0,183,225,.22)
}

.sch-day {
    font-size: 13px;
    font-weight: 500;
    color: rgba(200,230,245,.7);
    display: flex;
    align-items: center;
    gap: 7px
}

.sch-row.today .sch-day {
    color: #fff;
    font-weight: 600
}

.today-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--c);
    animation: blink 2s ease infinite;
    flex-shrink: 0
}

.sch-time {
    font-size: 12.5px;
    color: var(--muted);
    font-weight: 500
}

.consent-text a,.fs-desc a,.sch-row.today .sch-time {
    color: var(--c)
}

.sch-closed {
    font-size: 12.5px;
    color: rgba(239,68,68,.45)
}

.soc-card,.soc-icon {
    display: flex;
    align-items: center
}

.soc-card {
    gap: 11px;
    background: rgba(0,183,225,.025);
    border: 1px solid rgba(0,183,225,.08);
    border-radius: 11px;
    padding: 13px 15px;
    text-decoration: none;
    transition: all .22s
}

.soc-card:hover {
    transform: translateY(-2px);
    border-color: rgba(0,183,225,.2);
    box-shadow: 0 6px 24px rgba(0,0,0,.3)
}

.soc-icon {
    width: 36px;
    height: 36px;
    border-radius: 9px;
    justify-content: center;
    font-size: 16px;
    flex-shrink: 0
}

.si-fb {
    background: rgba(24,119,242,.12);
    border: 1px solid rgba(24,119,242,.2)
}

.si-ig {
    background: rgba(225,48,108,.12);
    border: 1px solid rgba(225,48,108,.2)
}

.si-wa {
    background: rgba(37,211,102,.12);
    border: 1px solid rgba(37,211,102,.2)
}

.si-vb {
    background: rgba(127,83,172,.12);
    border: 1px solid rgba(127,83,172,.2)
}

.soc-name {
    font-size: 13px;
    font-weight: 600;
    color: rgba(255,255,255,.8)
}

.soc-handle {
    font-size: 11px;
    color: var(--muted);
    margin-top: 1px
}

.form-card {
    background: rgba(0,183,225,.03);
    border: 1px solid rgba(0,183,225,.1);
    border-radius: 20px;
    padding: 30px 26px;
    position: sticky;
    top: 80px
}

@media (max-width:991px) {
    .form-card {
        position: static
    }
}

.form-card-title {
    font-family: "Fraunces",sans-serif;
    font-size: 24px;
    font-weight: 700;
    font-style: italic;
    line-height: 1.15;
    margin-bottom: 6px
}

.form-card-sub {
    font-size: 13px;
    color: var(--muted);
    margin-bottom: 24px;
    line-height: 1.6;
    font-weight: 300
}

.fg,.tab-text p {
    margin-bottom: 14px
}

.fl {
    display: block;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: rgba(160,205,228,.4);
    margin-bottom: 7px
}

.fi {
    width: 100%;
    background: rgba(0,183,225,.04);
    border: 1px solid rgba(0,183,225,.12);
    border-radius: 10px;
    padding: 11px 14px;
    font-size: 13.5px;
    color: var(--text);
    font-family: "Barlow",sans-serif;
    outline: 0;
    transition: border-color .2s
}

.fi::placeholder {
    color: rgba(160,205,228,.2)
}

.fi:focus {
    border-color: rgba(0,183,225,.4);
    background: rgba(0,183,225,.06)
}

.consent {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin-bottom: 18px;
    cursor: pointer
}

.consent input,.s-eyebrow.centered::before {
    display: none
}

.cbox {
    width: 17px;
    height: 17px;
    border-radius: 4px;
    border: 1px solid rgba(0,183,225,.2);
    background: rgba(0,183,225,.03);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 1px;
    transition: all .15s
}

.consent:has(input:checked) .cbox {
    background: rgba(0,183,225,.18);
    border-color: rgba(0,183,225,.5)
}

.consent:has(input:checked) .cbox::after {
    content: "✓";
    font-size: 10px;
    color: var(--c);
    font-weight: 700
}

.consent-text {
    font-size: 11px;
    color: rgba(160,205,228,.35);
    line-height: 1.55
}

.btn-submit,.response-badge {
    display: flex;
    align-items: center;
    gap: 8px
}

.btn-submit {
    width: 100%;
    background: var(--c);
    color: #0e1117;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .5px;
    padding: 14px;
    border-radius: 12px;
    border: 0;
    cursor: pointer;
    box-shadow: 0 0 28px rgba(0,183,225,.25);
    transition: all .25s;
    font-family: "Barlow",sans-serif;
    justify-content: center
}

.btn-submit:hover {
    background: var(--c2);
    box-shadow: 0 0 44px rgba(0,183,225,.45);
    transform: translateY(-1px)
}

.response-badge {
    margin-top: 12px;
    background: rgba(34,197,94,.07);
    border: 1px solid rgba(34,197,94,.15);
    border-radius: 9px;
    padding: 9px 13px;
    font-size: 12px;
    color: rgba(74,222,128,.7)
}

.rb-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #4ade80;
    animation: blink 2s ease infinite;
    flex-shrink: 0
}

.form-success {
    display: none;
    text-align: center;
    padding: 36px 16px
}

.fs-icon {
    font-size: 52px;
    margin-bottom: 14px;
    animation: popIn .5s ease
}

.fs-title {
    font-family: "Fraunces",sans-serif;
    font-size: 22px;
    font-weight: 700;
    font-style: italic;
    margin-bottom: 8px
}

.fs-desc {
    font-size: 13px;
    color: var(--muted);
    line-height: 1.65
}

.faq-section {
    position: relative;
    z-index: 2;
    padding: 0 0 72px
}

.faq-item {
    background: rgba(0,183,225,.025);
    border: 1px solid rgba(0,183,225,.08);
    border-radius: 14px;
    padding: 20px 18px;
    cursor: pointer;
    transition: all .22s;
    height: 100%
}

.faq-item:hover {
    border-color: rgba(0,183,225,.22);
    transform: translateY(-2px)
}

.faq-q {
    font-size: 13.5px;
    font-weight: 600;
    color: rgba(255,255,255,.82);
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 8px
}

.faq-arrow {
    color: var(--c);
    font-size: 15px;
    transition: transform .2s;
    flex-shrink: 0
}

.faq-item.open .faq-arrow {
    transform: rotate(90deg)
}

.faq-a {
    font-size: 12.5px;
    color: rgba(160,205,228,.5);
    line-height: 1.65;
    display: none;
    margin-top: 10px;
    font-weight: 300
}

.faq-item.open .faq-a {
    display: block
}

.stats-strip {
    display: flex;
    justify-content: center;
    gap: 0;
    max-width: 560px;
    margin: 0 auto
}

.ss-item {
    flex: 1;
    padding: 18px 24px;
    border: 1px solid rgba(0,183,225,.1);
    background: rgba(0,183,225,.025);
    text-align: center
}

.ss-item:first-child {
    border-radius: 12px 0 0 12px
}

.ss-item:last-child {
    border-radius: 0 12px 12px 0
}

.ss-item+.ss-item {
    border-left: none
}

.ss-num {
    font-family: "Fraunces",sans-serif;
    font-size: 30px;
    font-weight: 700;
    font-style: italic;
    background: linear-gradient(135deg,#fff,var(--c));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    line-height: 1
}

.ss-lbl {
    font-size: 11px;
    color: var(--muted);
    margin-top: 3px
}

.filter-tabs,.filter-wrap {
    display: flex;
    justify-content: center
}

.filter-wrap {
    position: relative;
    z-index: 2;
    padding: 0 0 40px
}

.filter-tabs {
    gap: 6px;
    background: rgba(0,183,225,.03);
    border: 1px solid rgba(0,183,225,.1);
    border-radius: 12px;
    padding: 5px;
    flex-wrap: wrap
}

.ftab {
    padding: 9px 20px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all .2s;
    border: 0;
    background: 0 0;
    color: rgba(160,205,228,.5);
    font-family: "Barlow",sans-serif;
    white-space: nowrap
}

.ftab:hover {
    color: rgba(160,205,228,.85)
}

.ftab.active {
    background: rgba(0,183,225,.14);
    border: 1px solid rgba(0,183,225,.3);
    color: var(--c)
}

.ftab-count {
    font-size: 9px;
    background: rgba(0,183,225,.12);
    padding: 1px 6px;
    border-radius: 100px;
    margin-left: 4px
}

.ftab.active .ftab-count {
    background: rgba(0,183,225,.2);
    color: var(--c)
}

.portfolio-section {
    position: relative;
    z-index: 2;
    padding: 0 0 80px
}

.mosaic-row {
    display: grid;
    gap: 14px;
    margin-bottom: 14px
}

.mr-1 {
    grid-template-columns: 2fr 1fr 1fr;
    grid-template-rows: 340px 240px
}

.mr-2 {
    grid-template-columns: 1fr 1fr 2fr;
    grid-template-rows: 300px 260px
}

.mr-3 {
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 280px
}

.pi {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    cursor: pointer;
    border: 1px solid rgba(255,255,255,.06);
    transition: all .3s
}

.pi:hover {
    border-color: rgba(0,183,225,.3);
    box-shadow: 0 0 0 1px rgba(0,183,225,.08),0 20px 60px rgba(0,0,0,.5);
    transform: translateY(-3px)
}

.pi img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .5s
}

.pi:hover img {
    transform: scale(1.06)
}

.pi-grad,.pi-shine {
    position: absolute;
    inset: 0
}

.pi-shine {
    background: linear-gradient(135deg,rgba(255,255,255,.04)0,transparent 50%);
    pointer-events: none
}

.pi-grad {
    background: linear-gradient(to top,rgba(11,14,22,.88)0,rgba(11,14,22,.2) 50%,transparent 80%);
    transition: background .3s
}

.pi:hover .pi-grad {
    background: linear-gradient(to top,rgba(11,14,22,.95)0,rgba(11,14,22,.4) 55%,rgba(0,183,225,.04) 100%)
}

.pi-expand {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 34px;
    height: 34px;
    border-radius: 9px;
    background: rgba(11,14,22,.7);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(0,183,225,.2);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    color: rgba(0,183,225,.5);
    opacity: 0;
    transition: all .25s
}

.pi:hover .pi-expand {
    opacity: 1;
    color: var(--c)
}

.pi-info {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 20px;
    transform: translateY(4px);
    transition: transform .3s
}

.pi:hover .pi-info {
    transform: translateY(0)
}

.pi-tag {
    display: inline-block;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--c);
    background: rgba(0,183,225,.1);
    border: 1px solid rgba(0,183,225,.2);
    padding: 3px 10px;
    border-radius: 100px;
    margin-bottom: 7px
}

.pi-title {
    font-family: "Fraunces",sans-serif;
    font-size: 16px;
    font-weight: 400;
    font-style: italic;
    color: #fff;
    line-height: 1.2;
    margin-bottom: 5px
}

.pi-big .pi-title {
    font-size: 22px
}

.pi-meta {
    font-size: 11.5px;
    color: rgba(160,205,228,.5);
    display: flex;
    gap: 10px;
    align-items: center
}

.pi-meta-sep {
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: rgba(0,183,225,.35)
}

.pi-desc {
    font-size: 12px;
    color: rgba(160,205,228,.45);
    line-height: 1.55;
    max-height: 0;
    overflow: hidden;
    transition: max-height .35s;
    font-weight: 300
}

.pi:hover .pi-desc {
    max-height: 60px
}

.mr-1 .pi:nth-child(1) {
    grid-column: 1;
    grid-row: 1/3
}

.mr-2 .pi:nth-child(3) {
    grid-column: 3;
    grid-row: 1/3
}

.lb,.main-img::after {
    inset: 0;
    pointer-events: none
}

.lb {
    position: fixed;
    z-index: 1000;
    background: rgba(8,11,18,.96);
    backdrop-filter: blur(24px);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity .3s
}

.lb.open {
    opacity: 1;
    pointer-events: all
}

.lb-inner {
    position: relative;
    max-width: 1100px;
    width: 95vw;
    display: grid;
    grid-template-columns: 1fr 360px;
    border-radius: 22px;
    overflow: hidden;
    border: 1px solid rgba(0,183,225,.15);
    box-shadow: 0 40px 120px rgba(0,0,0,.8);
    transform: scale(.96);
    transition: transform .3s
}

.lb.open .lb-inner {
    transform: scale(1)
}

.lb-img {
    position: relative;
    background: #0b0e16
}

.lb-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    max-height: 84vh
}

.lb-next,.lb-prev {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 42px;
    height: 42px;
    border-radius: 11px;
    background: rgba(11,14,22,.7);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(0,183,225,.2);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: rgba(0,183,225,.6);
    cursor: pointer;
    transition: all .2s
}

.lb-close:hover,.lb-next:hover,.lb-prev:hover {
    background: rgba(0,183,225,.15);
    color: var(--c)
}

.lb-prev {
    left: 14px
}

.lb-next {
    right: 14px
}

.lb-counter {
    position: absolute;
    bottom: 14px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 11px;
    color: rgba(0,183,225,.5);
    background: rgba(11,14,22,.65);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(0,183,225,.15);
    padding: 4px 14px;
    border-radius: 100px
}

.lb-info {
    background: rgba(13,16,24,.98);
    border-left: 1px solid rgba(0,183,225,.1);
    padding: 36px 30px;
    display: flex;
    flex-direction: column;
    overflow-y: auto
}

.lb-close {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 10;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: rgba(11,14,22,.7);
    border: 1px solid rgba(0,183,225,.15);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    color: rgba(0,183,225,.5);
    cursor: pointer;
    transition: all .2s
}

.lb-tag {
    display: inline-block;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--c);
    background: rgba(0,183,225,.1);
    border: 1px solid rgba(0,183,225,.2);
    padding: 4px 12px;
    border-radius: 100px;
    margin-bottom: 14px
}

.lb-title {
    font-family: "Fraunces",sans-serif;
    font-size: 24px;
    font-weight: 400;
    font-style: italic;
    line-height: 1.15;
    margin-bottom: 10px
}

.lb-desc {
    font-size: 13px;
    color: rgba(160,205,228,.55);
    line-height: 1.75;
    margin-bottom: 22px;
    font-weight: 300
}

.lb-details {
    display: flex;
    flex-direction: column;
    gap: 9px;
    margin-bottom: 24px
}

.lb-det {
    display: flex;
    justify-content: space-between;
    padding: 9px 0;
    border-bottom: 1px solid rgba(0,183,225,.07);
    font-size: 12.5px
}

.lb-det-k {
    color: var(--muted)
}

.lb-det-v {
    color: rgba(255,255,255,.8);
    font-weight: 500
}

.lb-thumbs {
    display: flex;
    gap: 7px;
    margin-bottom: 24px;
    flex-wrap: wrap
}

.lb-thumb {
    width: 52px;
    height: 52px;
    border-radius: 8px;
    object-fit: cover;
    border: 2px solid transparent;
    cursor: pointer;
    transition: all .2s;
    opacity: .5
}

.lb-thumb:hover {
    opacity: .8
}

.lb-thumb.active {
    border-color: var(--c);
    opacity: 1;
    box-shadow: 0 0 10px rgba(0,183,225,.3)
}

.lb-spacer {
    flex: 1
}

.lb-info .btn-c,.lb-info .btn-outline-c {
    display: flex;
    justify-content: center;
    width: 100%
}

.btn-outline-c {
    align-items: center;
    gap: 8px;
    background: rgba(0,183,225,.06);
    border: 1px solid rgba(0,183,225,.2);
    color: var(--c);
    font-size: 12.5px;
    font-weight: 600;
    padding: 11px;
    border-radius: 10px;
    cursor: pointer;
    transition: all .2s;
    font-family: "Barlow",sans-serif;
    text-decoration: none;
    margin-top: 8px
}

.btn-outline-c:hover {
    background: rgba(0,183,225,.14)
}

.cta-eyebrow {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: rgba(0,183,225,.7);
    margin-bottom: 12px
}

.btn-c-full,.btn-outline-full {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 14px;
    border-radius: 11px;
    text-decoration: none;
    transition: all .25s
}

.btn-c-full {
    background: var(--c);
    color: #0e1117;
    font-weight: 700;
    padding: 14px;
    border: 0;
    cursor: pointer;
    box-shadow: 0 0 32px rgba(0,183,225,.3);
    font-family: "Barlow",sans-serif
}

.btn-c-full:hover {
    background: var(--c2);
    box-shadow: 0 0 52px rgba(0,183,225,.5)
}

.btn-outline-full {
    background: rgba(0,183,225,.06);
    border: 1px solid rgba(0,183,225,.2);
    color: var(--c);
    font-weight: 600;
    padding: 13px
}

.btn-outline-full:hover {
    background: rgba(0,183,225,.14)
}

@media (max-width:991px) {
    .mr-1,.mr-2 {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto
    }

    .mr-1 .pi:nth-child(1),.mr-2 .pi:nth-child(3) {
        grid-column: 1/-1;
        grid-row: auto
    }

    .pi {
        min-height: 220px
    }

    .lb-inner {
        grid-template-columns: 1fr
    }

    .lb-info {
        border-left: none;
        border-top: 1px solid rgba(0,183,225,.1);
        max-height: 50vh
    }

    .cta-inner {
        grid-template-columns: 1fr
    }

    .cta-img {
        min-height: 220px
    }

    .h-nav-col {
        display: none!important
    }
}

@media (max-width:767px) {
    .mr-3 {
        grid-template-columns: 1fr
    }

    .footer-links {
        grid-template-columns: 1fr 1fr
    }

    .footer-contacts {
        grid-template-columns: 1fr
    }

    .fc-item {
        border-right: none;
        padding: 0 0 16px!important;
        margin-bottom: 8px
    }
}

@media (max-width:575px) {
 

    .stats-strip {
        flex-direction: column;
        gap: 8px
    }

    .ss-item {
        border-radius: 12px!important;
        border: 1px solid rgba(0,183,225,.1)
    }

    .ss-item+.ss-item {
        border-left: 1px solid rgba(0,183,225,.1)
    }
}

.bc-inner {
    flex-wrap: wrap;
    overflow: hidden
}

.bc-cur {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis
}

.prod-section {
    position: relative;
    z-index: 2;
    padding: 36px 0 64px
}

.gallery-col {
    position: sticky;
    top: 80px
}

@media (max-width:991px) {
    .gallery-col {
        position: static
    }
}

.main-img {
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid rgba(0,183,225,.12);
    aspect-ratio: 1/1;
    position: relative;
    background: rgba(0,183,225,.02);
    cursor: zoom-in
}

.main-img img {
    transition: transform .4s
}

.main-img:hover img,.team-card:hover .team-photo img {
    transform: scale(1.04)
}

.main-img::after {
    content: "";
    position: absolute;
    background: linear-gradient(135deg,rgba(255,255,255,.04),transparent 50%)
}

.img-badges {
    position: absolute;
    top: 14px;
    left: 14px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    z-index: 2
}

.badge {
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    padding: 3px 9px;
    border-radius: 100px
}

.b-new,.img-wish.on,.img-wish:hover {
    background: rgba(0,183,225,.15);
    color: var(--c)
}

.b-new {
    border: 1px solid rgba(0,183,225,.3)
}

.b-sale {
    background: rgba(239,68,68,.14);
    border: 1px solid rgba(239,68,68,.28);
    color: #f87171
}

.b-ce {
    background: rgba(251,191,36,.1);
    border: 1px solid rgba(251,191,36,.25);
    color: #fbbf24
}

.b-free {
    background: rgba(34,197,94,.1);
    border: 1px solid rgba(34,197,94,.25);
    color: #4ade80
}

.img-wish {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 2;
    width: 34px;
    height: 34px;
    border-radius: 9px;
    background: rgba(11,14,22,.65);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(0,183,225,.18);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    cursor: pointer;
    transition: all .2s;
    color: rgba(0,183,225,.45)
}

.img-wish.on,.img-wish:hover {
    border-color: rgba(0,183,225,.4)
}

.thumbs {
    display: flex;
    gap: 9px;
    margin-top: 12px;
    flex-wrap: wrap
}

.thumb {
    width: 68px;
    height: 68px;
    border-radius: 10px;
    overflow: hidden;
    border: 2px solid transparent;
    cursor: pointer;
    transition: all .2s;
    opacity: .5
}

.main-img img,.thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.thumb:hover {
    opacity: .85
}

.thumb.active {
    border-color: var(--c);
    opacity: 1;
    box-shadow: 0 0 10px rgba(0,183,225,.3)
}

.p-cat {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: rgba(0,183,225,.7);
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px
}

.p-cat::before {
    content: "";
    width: 20px;
    height: 1px;
    background: rgba(0,183,225,.5);
    display: block
}

.p-title {
    font-family: "Fraunces",sans-serif;
    font-size: clamp(26px,3.5vw,42px);
    font-weight: 700;
    font-style: italic;
    line-height: 1.1;
    margin-bottom: 8px
}

.p-subtitle {
    font-size: 14px;
    color: var(--muted);
    margin-bottom: 18px;
    line-height: 1.6;
    font-weight: 300
}

.rating-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 22px;
    flex-wrap: wrap
}

.stars {
    color: var(--c);
    font-size: 14px;
    letter-spacing: 1px
}

.price-block {
    background: rgba(0,183,225,.04);
    border: 1px solid rgba(0,183,225,.12);
    border-radius: 14px;
    padding: 18px 20px;
    margin-bottom: 20px
}

.price-lbl {
    font-size: 9.5px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: rgba(0,183,225,.5);
    margin-bottom: 8px
}

.price-main {
    display: flex;
    align-items: baseline;
    gap: 7px;
    flex-wrap: wrap
}

.p-from {
    font-size: 13px;
    color: var(--muted)
}

.p-val {
    font-size: 38px;
    font-weight: 800;
    background: linear-gradient(135deg,#fff,var(--c));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    transition: all .3s
}

.p-unit {
    font-size: 15px;
    color: var(--c);
    font-weight: 600
}

.p-note {
    font-size: 11px;
    color: rgba(0,183,225,.35);
    margin-top: 6px
}

.p-tags {
    display: flex;
    gap: 7px;
    margin-top: 10px;
    flex-wrap: wrap
}

.p-tag {
    font-size: 10px;
    font-weight: 700;
    background: rgba(34,197,94,.08);
    border: 1px solid rgba(34,197,94,.2);
    color: #4ade80;
    padding: 3px 10px;
    border-radius: 100px
}

.calc-title {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: rgba(255,255,255,.5);
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 8px
}

.calc-title::after {
    content: "";
    flex: 1;
    height: 1px;
    background: rgba(0,183,225,.1)
}

.size-presets {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 13px
}

.size-preset {
    padding: 7px 13px;
    border-radius: 7px;
    font-size: 12px;
    font-weight: 600;
    border: 1px solid rgba(0,183,225,.12);
    background: rgba(0,183,225,.03);
    color: rgba(160,205,228,.5);
    cursor: pointer;
    transition: all .18s
}

.size-preset:hover {
    border-color: rgba(0,183,225,.25);
    color: rgba(160,205,228,.85)
}

.size-preset.active {
    background: rgba(0,183,225,.12);
    border-color: rgba(0,183,225,.35);
    color: var(--c)
}

.custom-row {
    display: grid;
    grid-template-columns: 1fr 24px 1fr;
    align-items: center;
    gap: 8px;
    margin-bottom: 13px
}

.size-inp-wrap {
    position: relative
}

.size-inp {
    width: 100%;
    background: rgba(0,183,225,.04);
    border: 1px solid rgba(0,183,225,.12);
    border-radius: 9px;
    padding: 10px 40px 10px 12px;
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    font-family: "Barlow",sans-serif;
    outline: 0;
    transition: border-color .2s;
    -moz-appearance: textfield
}

.size-inp::-webkit-inner-spin-button,.size-inp::-webkit-outer-spin-button {
    -webkit-appearance: none
}

.size-inp:focus {
    border-color: rgba(0,183,225,.4)
}

.size-unit-lbl {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 11px;
    color: rgba(0,183,225,.35);
    pointer-events: none
}

.size-x {
    text-align: center;
    color: rgba(0,183,225,.3);
    font-size: 18px;
    font-weight: 700
}

.preview-bar,.preview-visual {
    display: flex;
    align-items: center
}

.preview-bar {
    margin-top: 12px;
    background: rgba(0,183,225,.025);
    border: 1px solid rgba(0,183,225,.1);
    border-radius: 10px;
    padding: 13px 15px;
    gap: 14px
}

.preview-visual {
    width: 90px;
    height: 72px;
    flex-shrink: 0;
    justify-content: center
}

.preview-rect {
    background: rgba(0,183,225,.1);
    border: 1.5px solid rgba(0,183,225,.35);
    border-radius: 3px;
    transition: all .3s;
    box-shadow: 0 0 10px rgba(0,183,225,.15)
}

.preview-dim {
    font-size: 15px;
    font-weight: 700;
    color: #fff
}

.preview-area {
    font-size: 11px;
    color: var(--muted);
    margin-top: 2px
}

.preview-price {
    font-size: 12px;
    color: rgba(0,183,225,.6);
    margin-top: 5px
}

.preview-price strong {
    color: var(--c);
    font-size: 14px
}

.opt-group {
    margin-bottom: 16px
}

.opt-lbl {
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: rgba(160,205,228,.4);
    margin-bottom: 9px;
    display: flex;
    justify-content: space-between;
    align-items: center
}

.opt-lbl span {
    font-size: 12px;
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0
}

.opt-chips {
    display: flex;
    gap: 7px;
    flex-wrap: wrap
}

.opt-chip {
    padding: 7px 14px;
    border-radius: 8px;
    font-size: 12.5px;
    font-weight: 500;
    border: 1px solid rgba(0,183,225,.12);
    background: rgba(0,183,225,.03);
    color: rgba(160,205,228,.55);
    cursor: pointer;
    transition: all .18s
}

.opt-chip:hover {
    border-color: rgba(0,183,225,.25);
    color: rgba(160,205,228,.85)
}

.opt-chip.active {
    background: rgba(0,183,225,.12);
    border-color: rgba(0,183,225,.35);
    color: var(--c)
}

.del-bar {
    background: rgba(34,197,94,.05);
    border: 1px solid rgba(34,197,94,.15);
    border-radius: 10px;
    padding: 11px 15px;
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 18px
}

.del-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #4ade80;
    flex-shrink: 0;
    animation: blink 2s ease infinite
}

.del-text {
    font-size: 12.5px;
    color: rgba(255,255,255,.7)
}

.del-text strong {
    color: #4ade80
}

.cta-block {
    display: flex;
    flex-direction: column;
    gap: 9px;
    margin-bottom: 18px
}

.btn-order,.btn-quote {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    font-size: 14px;
    border-radius: 12px;
    cursor: pointer;
    transition: all .25s;
    font-family: "Barlow",sans-serif;
    text-decoration: none
}

.btn-order {
    background: var(--c);
    color: #0e1117;
    font-weight: 700;
    padding: 15px 28px;
    border: 0;
    box-shadow: 0 0 28px rgba(0,183,225,.3)
}

.btn-order:hover {
    background: var(--c2);
    transform: translateY(-1px);
    color: #0e1117
}

.btn-quote {
    background: rgba(0,183,225,.07);
    border: 1px solid rgba(0,183,225,.2);
    color: var(--c);
    font-weight: 600;
    padding: 14px 28px
}

.btn-quote:hover {
    background: rgba(0,183,225,.14);
    color: var(--c)
}

.trust-row {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    margin-bottom: 16px
}

.trust-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11.5px;
    color: rgba(160,205,228,.45)
}

.tabs-section {
    position: relative;
    z-index: 2;
    padding: 5px 0 64px
}

.tabs-nav {
    display: flex;
    border-bottom: 1px solid rgba(0,183,225,.1);
    margin-bottom: 36px;
    flex-wrap: wrap
}

.tab-btn {
    padding: 12px 22px;
    font-size: 13px;
    font-weight: 600;
    color: rgba(160,205,228,.45);
    cursor: pointer;
    border-bottom: 2px solid transparent;
    transition: all .2s;
    white-space: nowrap;
    background: 0 0;
    border-top: none;
    border-left: none;
    border-right: none;
    font-family: "Barlow",sans-serif
}

.tab-btn:hover {
    color: rgba(160,205,228,.8)
}

.tab-btn.active {
    color: var(--c);
    border-bottom-color: var(--c)
}

.tab-panel {
    display: none;
    animation: fadeIn .3s ease
}

.tab-panel.active {
    display: block
}

.tab-text {
    font-size: 14px;
    color: rgba(160,205,228,.6);
    line-height: 1.85;
    font-weight: 300
}

.tab-img {
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid rgba(0,183,225,.1)
}

.sim-card img,.tab-img img {
    width: 100%;
    display: block
}

.spec-row {
    display: flex;
    justify-content: space-between;
    padding: 11px 14px;
    background: rgba(0,183,225,.025);
    border: 1px solid rgba(0,183,225,.08);
    border-radius: 9px;
    gap: 16px;
    font-size: 13px
}

.spec-key {
    color: rgba(160,205,228,.45)
}

.spec-val {
    color: rgba(255,255,255,.8);
    font-weight: 500;
    text-align: right
}

.del-card {
    background: rgba(0,183,225,.03);
    border: 1px solid rgba(0,183,225,.09);
    border-radius: 13px;
    padding: 20px 18px
}

.del-icon {
    font-size: 26px;
    margin-bottom: 10px
}

.del-title {
    font-size: 14px;
    font-weight: 600;
    color: rgba(255,255,255,.8);
    margin-bottom: 6px
}

.del-desc {
    font-size: 12.5px;
    color: var(--muted);
    line-height: 1.65;
    font-weight: 300
}

.wi {
    display: flex;
    gap: 13px;
    background: rgba(0,183,225,.025);
    border: 1px solid rgba(0,183,225,.08);
    border-radius: 12px;
    padding: 15px 16px
}

.wi-icon {
    font-size: 20px;
    flex-shrink: 0
}

.wi-title {
    font-size: 14px;
    font-weight: 600;
    color: rgba(255,255,255,.85);
    margin-bottom: 4px
}

.wi-desc {
    font-size: 12.5px;
    color: var(--muted);
    line-height: 1.6;
    font-weight: 300
}

.similar-section {
    position: relative;
    z-index: 2;
    padding: 0 0 72px
}

.sim-title {
    font-family: "Fraunces",sans-serif;
    font-size: 26px;
    font-weight: 700;
    font-style: italic
}

.sim-card {
    background: rgba(255,255,255,.03);
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 14px;
    overflow: hidden;
    cursor: pointer;
    transition: all .28s
}

.sim-card:hover {
    border-color: rgba(0,183,225,.25);
    transform: translateY(-4px);
    box-shadow: 0 14px 40px rgba(0,0,0,.4)
}

.sim-img-wrap {
    position: relative;
    overflow: hidden
}

.sim-card img {
    aspect-ratio: 1/1;
    object-fit: cover;
    transition: transform .4s
}

.sim-card:hover img {
    transform: scale(1.05)
}

.sim-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom,transparent 50%,rgba(11,14,22,.85) 100%)
}

.sim-body {
    padding: 12px 14px 15px
}

.sim-cat {
    font-size: 9.5px;
    color: var(--muted);
    text-transform: uppercase;
    letter-spacing: 1.5px
}

.sim-name {
    font-family: "Fraunces",sans-serif;
    font-size: 14px;
    font-weight: 400;
    font-style: italic;
    color: #fff;
    margin: 3px 0 6px
}

.sim-price {
    font-size: 12px;
    color: var(--muted)
}

.sim-price strong {
    font-size: 15px;
    font-weight: 700;
    color: #fff
}

.opt-lbl span,.sim-price span,.util-item a:hover {
    color: var(--c)
}

.mobile-cta-bar {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 50;
    background: rgba(11,14,22,.96);
    backdrop-filter: blur(20px);
    border-top: 1px solid rgba(0,183,225,.15);
    padding: 12px 16px;
    gap: 10px
}

@media (max-width:991px) {
    .mobile-cta-bar {
        display: flex
    }
}

.glow2 {
    position: fixed;
    bottom: -150px;
    left: -100px;
    width: 600px;
    height: 600px;
    border-radius: 50%;
    z-index: 0;
    pointer-events: none;
    background: radial-gradient(circle,rgba(0,183,225,.04),transparent 70%);
    animation: pulse 18s ease-in-out infinite reverse
}

.grad {
    background: linear-gradient(120deg,#fff,var(--c2) 55%,var(--c))
}

.util-item a {
    color: inherit;
    text-decoration: none;
    transition: color .2s
}

.h-nav-col {
    display: flex;
    align-items: stretch
}

.ha-btn {
    position: relative
}

.bc-inner,.cart-badge {
    display: flex;
    align-items: center
}

.cart-badge {
    position: absolute;
    top: -4px;
    right: -4px;
    width: 16px;
    height: 16px;
    background: var(--c);
    color: #0e1117;
    border-radius: 50%;
    font-size: 9px;
    font-weight: 700;
    justify-content: center
}

.mob-nav-link.active {
    color: var(--c);
    background: rgba(0,183,225,.04)
}

.bc-inner {
    height: 44px
}

.bc-link,.btn-border,.btn-g {
    align-items: center;
    text-decoration: none
}

.bc-link {
    display: flex;
    padding: 0 16px;
    font-size: 12px;
    color: var(--muted);
    border-right: 1px solid rgba(0,183,225,.08);
    height: 100%;
    gap: 5px;
    transition: color .2s;
    white-space: nowrap
}

.bc-link:hover {
    color: var(--c)
}

.btn-border,.btn-g {
    display: inline-flex;
    font-weight: 600
}

.btn-g {
    gap: 8px;
    background: rgba(0,183,225,.07);
    border: 1px solid rgba(0,183,225,.2);
    color: var(--c);
    font-size: 13px;
    padding: 12px 22px;
    border-radius: 10px;
    transition: all .25s
}

.btn-g:hover {
    background: rgba(0,183,225,.14);
    color: var(--c)
}

.btn-border {
    gap: 7px;
    border: 1px solid rgba(0,183,225,.25);
    color: rgba(0,183,225,.8);
    font-size: 12px;
    padding: 9px 18px;
    border-radius: 8px;
    letter-spacing: .5px;
    transition: all .2s
}

.btn-border:hover {
    background: rgba(0,183,225,.08);
    border-color: rgba(0,183,225,.5);
    color: var(--c)
}

.s-eyebrow.centered {
    justify-content: center
}

.s-title {
    font-family: "Fraunces",sans-serif;
    font-size: clamp(26px,3.5vw,42px);
    font-weight: 700;
    font-style: italic;
    line-height: 1.1
}

.ph-h1 strong,.s-title strong {
    font-style: normal
}

.ph-eyebrow {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: rgba(0,183,225,.7);
    margin-bottom: 22px
}

.ph-eyebrow span {
    width: 28px;
    height: 1px;
    background: rgba(0,183,225,.5);
    display: block
}

.ph-h1,.ph-p {
    font-weight: 300
}

.ph-h1 {
    font-family: "Fraunces",sans-serif;
    font-size: clamp(32px,4.5vw,62px);
    font-style: italic;
    line-height: 1.08;
    margin-bottom: 18px
}

.ph-h1 strong {
    font-weight: 700;
    color: var(--c);
    display: block
}

.ph-p {
    font-size: 15px;
    color: var(--muted);
    line-height: 1.8;
    margin-bottom: 26px
}

.ph-sig,.sig-av {
    display: flex;
    align-items: center
}

.ph-sig {
    gap: 14px;
    background: rgba(0,183,225,.04);
    border: 1px solid rgba(0,183,225,.1);
    border-radius: 13px;
    padding: 14px 18px
}

.sig-av {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: linear-gradient(135deg,rgba(0,183,225,.3),rgba(0,183,225,.1));
    justify-content: center;
    font-family: "Fraunces",sans-serif;
    font-size: 17px;
    font-weight: 700;
    color: var(--c);
    flex-shrink: 0;
    border: 1px solid rgba(0,183,225,.2)
}

.sig-name {
    font-size: 14px;
    font-weight: 600;
    color: rgba(255,255,255,.85)
}

.sig-role {
    font-size: 11px;
    color: var(--muted);
    margin-top: 1px
}

.ph-collage {
    position: relative;
    height: 460px
}

.col-img {
    position: absolute;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid rgba(0,183,225,.14);
    box-shadow: 0 20px 60px rgba(0,0,0,.5)
}

.col-img img,.prod-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.col-main {
    top: 0;
    left: 0;
    width: 70%;
    height: 66%
}

.col-sec {
    bottom: 0;
    right: 0;
    width: 54%;
    height: 54%
}

.col-sm {
    top: 42%;
    left: 52%;
    width: 34%;
    height: 32%
}

.col-tag {
    position: absolute;
    background: rgba(14,17,23,.88);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(0,183,225,.22);
    border-radius: 12px;
    padding: 10px 16px;
    z-index: 3;
    box-shadow: 0 8px 32px rgba(0,0,0,.5)
}

.col-tag-num {
    font-family: "Fraunces",sans-serif;
    font-size: 20px;
    font-weight: 700;
    background: linear-gradient(135deg,#fff,var(--c));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent
}

.col-tag-lbl {
    font-size: 10px;
    color: var(--muted);
    margin-top: 2px
}

.stats-band {
    position: relative;
    z-index: 2;
    background: rgba(0,183,225,.025);
    border-top: 1px solid rgba(0,183,225,.08);
    border-bottom: 1px solid rgba(0,183,225,.08)
}

.stat-cell {
    padding: 28px 20px;
    text-align: center;
    border-right: 1px solid rgba(0,183,225,.08);
    position: relative;
    overflow: hidden;
    transition: background .25s
}

.stat-cell:last-child {
    border-right: none
}

.stat-cell:hover {
    background: rgba(0,183,225,.04)
}

.stat-cell::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg,var(--c),transparent);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .35s
}

.pstep-card:hover::before,.stat-cell:hover::before {
    transform: scaleX(1)
}

.stat-n {
    font-family: "Fraunces",sans-serif;
    font-size: 38px;
    font-weight: 700;
    font-style: italic;
    background: linear-gradient(135deg,#fff,var(--c));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    line-height: 1
}

.stat-l {
    font-size: 13px;
    color: var(--muted);
    margin-top: 5px
}

.stat-s {
    font-size: 10px;
    color: rgba(0,183,225,.35);
    margin-top: 2px
}

@media (max-width:767px) {
    .stat-cell {
        border-right: none;
        border-bottom: 1px solid rgba(0,183,225,.08)
    }

    .stat-cell:last-child {
        border-bottom: none
    }
}

.tl-section {
    position: relative;
    z-index: 2;
    padding: 80px 0
}

.tl-desktop {
    position: relative;
    max-width: 860px;
    margin: 48px auto 0
}

.tl-desktop::before,.tl-mobile::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 1px
}

.tl-desktop::before {
    left: 50%;
    background: linear-gradient(to bottom,transparent,rgba(0,183,225,.3) 10%,rgba(0,183,225,.3) 90%,transparent);
    transform: translateX(-50%)
}

.tl-item {
    display: grid;
    grid-template-columns: 1fr 56px 1fr;
    gap: 0;
    align-items: start;
    margin-bottom: 48px
}

.tl-left {
    padding-right: 32px;
    text-align: right
}

.tl-item.even .tl-left,.tl-right {
    padding-left: 32px;
    text-align: left
}

.tl-item.even .tl-left {
    order: 3;
    padding-right: 0
}

.tl-item.even .tl-center {
    order: 2
}

.tl-item.even .tl-right {
    order: 1;
    padding-left: 0;
    padding-right: 32px;
    text-align: right
}

.tl-center,.tl-dot {
    display: flex;
    align-items: center
}

.tl-center {
    flex-direction: column;
    gap: 4px;
    padding-top: 8px
}

.tl-dot {
    width: 42px;
    height: 42px;
    border-radius: 11px;
    background: rgba(0,183,225,.04);
    border: 1px solid rgba(0,183,225,.22);
    justify-content: center;
    font-size: 17px;
    position: relative;
    z-index: 1;
    transition: all .3s
}

.tl-dot:hover {
    background: rgba(0,183,225,.12);
    border-color: rgba(0,183,225,.4)
}

.tl-year {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
    color: var(--c);
    text-align: center
}

.tl-card {
    background: rgba(0,183,225,.025);
    border: 1px solid rgba(0,183,225,.09);
    border-radius: 14px;
    padding: 18px 20px;
    transition: all .25s
}

.tl-card:hover {
    border-color: rgba(0,183,225,.22);
    box-shadow: 0 8px 28px rgba(0,0,0,.3)
}

.tl-card-yr {
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--c);
    margin-bottom: 7px;
    display: block
}

.tl-card-title {
    font-family: "Fraunces",sans-serif;
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 6px
}

.tl-card-desc {
    font-size: 12.5px;
    color: rgba(160,205,228,.5);
    line-height: 1.65;
    font-weight: 300
}

.tl-mobile {
    display: none;
    position: relative;
    padding-left: 32px
}

.tl-mobile::before {
    left: 14px;
    background: linear-gradient(to bottom,transparent,rgba(0,183,225,.3) 5%,rgba(0,183,225,.3) 95%,transparent)
}

.tl-mob-item {
    position: relative;
    margin-bottom: 32px
}

.tl-mob-item::before {
    content: "";
    position: absolute;
    left: -24px;
    top: 12px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--c);
    border: 2px solid var(--bg);
    box-shadow: 0 0 8px rgba(0,183,225,.4)
}

@media (max-width:767px) {
    .tl-desktop {
        display: none
    }

    .tl-mobile {
        display: block
    }
}

.prod-section2 {
    position: relative;
    z-index: 2;
    padding: 80px 0;
    background: rgba(0,183,225,.018)
}

.pstep-card {
    background: rgba(0,183,225,.03);
    border: 1px solid rgba(0,183,225,.08);
    border-radius: 16px;
    padding: 22px 18px;
    position: relative;
    overflow: hidden;
    transition: all .25s;
    height: 100%
}

.pstep-card:hover {
    border-color: rgba(0,183,225,.25);
    transform: translateY(-3px)
}

.pstep-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg,var(--c),var(--c2));
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .3s
}

.pstep-num {
    font-family: "Fraunces",sans-serif;
    font-size: 42px;
    font-weight: 700;
    font-style: italic;
    color: rgba(0,183,225,.07);
    line-height: 1;
    margin-bottom: -2px
}

.pstep-icon {
    font-size: 26px;
    margin-bottom: 10px
}

.pstep-title {
    font-size: 14px;
    font-weight: 600;
    color: rgba(255,255,255,.8);
    margin-bottom: 7px
}

.pstep-desc {
    font-size: 12.5px;
    color: var(--muted);
    line-height: 1.65;
    font-weight: 300
}

.prod-img-wrap {
    border-radius: 14px;
    overflow: hidden;
    aspect-ratio: 1/1;
    border: 1px solid rgba(0,183,225,.1)
}

.prod-img-offset {
    margin-top: 18px
}

.gallery-section {
    position: relative;
    z-index: 2;
    padding: 80px 0
}

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(6,1fr);
    grid-template-rows: 220px 200px;
    gap: 12px;
    margin-top: 28px
}

.gal-item {
    border-radius: 13px;
    overflow: hidden;
    position: relative;
    cursor: pointer;
    border: 1px solid rgba(255,255,255,.06)
}

.gal-item img,.team-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .5s
}

.gal-item:hover img {
    transform: scale(1.06)
}

.gal-item::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top,rgba(11,14,22,.7),transparent 60%);
    opacity: 0;
    transition: opacity .3s
}

.gal-item:hover::after {
    opacity: 1
}

.gal-item:nth-child(1) {
    grid-column: span 2;
    grid-row: span 2
}

.gal-item:nth-child(2),.gal-item:nth-child(3) {
    grid-column: span 2
}

.gal-item:nth-child(4) {
    grid-column: span 1
}

.gal-item:nth-child(5) {
    grid-column: span 2
}

.gal-item:nth-child(6) {
    grid-column: span 1
}

@media (max-width:767px) {
    .gallery-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
        gap: 8px
    }

    .gal-item {
        aspect-ratio: 1/1
    }

    .gal-item:nth-child(n) {
        grid-column: span 1;
        grid-row: span 1
    }
}

.team-section {
    position: relative;
    z-index: 2;
    padding: 80px 0
}

.team-card {
    background: rgba(0,183,225,.025);
    border: 1px solid rgba(0,183,225,.08);
    border-radius: 18px;
    overflow: hidden;
    transition: all .28s;
    height: 100%
}

.cert-card:hover,.team-card:hover {
    border-color: rgba(0,183,225,.25);
    transform: translateY(-4px);
    box-shadow: 0 18px 56px rgba(0,0,0,.4)
}

.team-photo {
    position: relative;
    overflow: hidden;
    aspect-ratio: 3/4
}

.team-photo-grad {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top,rgba(11,14,22,.9),transparent 55%)
}

.team-exp {
    position: absolute;
    top: 10px;
    right: 10px;
    background: rgba(11,14,22,.8);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(0,183,225,.2);
    border-radius: 7px;
    padding: 3px 9px;
    font-size: 10px;
    font-weight: 700;
    color: var(--c)
}

.team-info {
    padding: 15px 17px 18px
}

.team-name {
    font-family: "Fraunces",sans-serif;
    font-size: 16px;
    font-weight: 700;
    font-style: italic;
    margin-bottom: 3px
}

.team-role {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: rgba(0,183,225,.7);
    margin-bottom: 10px
}

.team-bio {
    font-size: 12px;
    color: rgba(160,205,228,.5);
    line-height: 1.65;
    font-weight: 300
}

.certs-section {
    position: relative;
    z-index: 2;
    padding: 80px 0;
    background: rgba(0,183,225,.018)
}

.cert-card {
    background: rgba(0,183,225,.03);
    border: 1px solid rgba(0,183,225,.1);
    border-radius: 16px;
    padding: 24px 20px;
    display: flex;
    align-items: flex-start;
    gap: 14px;
    transition: all .25s;
    height: 100%
}

.cert-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 36px rgba(0,0,0,.3)
}

.cert-icon {
    font-size: 30px;
    flex-shrink: 0
}

.cert-name {
    font-family: "Fraunces",sans-serif;
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 5px
}

.cert-desc {
    font-size: 12.5px;
    color: rgba(160,205,228,.5);
    line-height: 1.6;
    font-weight: 300
}

.cert-year {
    font-size: 10px;
    color: var(--c);
    font-weight: 700;
    letter-spacing: 1.5px;
    margin-top: 7px;
    display: block
}

.partners-strip {
    margin-top: 44px
}

.partners-label {
    font-size: 9.5px;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: rgba(0,183,225,.35);
    text-align: center;
    margin-bottom: 18px
}

.partners-logos {
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap
}

.p-logo {
    background: rgba(0,183,225,.03);
    border: 1px solid rgba(0,183,225,.09);
    border-radius: 10px;
    padding: 11px 20px;
    font-size: 12.5px;
    font-weight: 600;
    color: rgba(160,205,228,.35);
    letter-spacing: 1px;
    transition: all .2s
}

.p-logo:hover {
    border-color: rgba(0,183,225,.2);
    color: rgba(160,205,228,.65)
}

.cta-section {
    position: relative;
    z-index: 2;
    padding: 72px 0 96px
}

.cta-inner {
    background: rgba(0,183,225,.04);
    padding: 56px 48px
}

.cta-inner::after,.cta-inner::before {
    content: "";
    position: absolute;
    pointer-events: none
}

.cta-inner::before {
    top: -60px;
    left: -60px;
    width: 300px;
    height: 300px;
    border-radius: 50%;
    background: radial-gradient(circle,rgba(0,183,225,.08),transparent 70%)
}

.cta-inner::after {
    inset: -1px;
    border-radius: 24px;
    background: linear-gradient(135deg,rgba(0,183,225,.08),transparent 40%,transparent 60%,rgba(0,183,225,.04))
}

.cta-h {
    font-family: "Fraunces",sans-serif;
    font-size: clamp(24px,3vw,38px);
    font-weight: 700;
    line-height: 1.15;
    margin-bottom: 12px
}

.cta-contacts,.cta-right {
    display: flex;
    flex-direction: column;
    gap: 10px
}

.cta-contacts {
    gap: 9px;
    margin-top: 6px
}

.cta-ci,.cta-ci-icon {
    display: flex;
    align-items: center
}

.cta-ci {
    gap: 10px;
    font-size: 13px;
    color: var(--muted)
}

.cta-ci-icon {
    width: 34px;
    height: 34px;
    border-radius: 9px;
    background: rgba(0,183,225,.08);
    border: 1px solid rgba(0,183,225,.15);
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0
}

.cta-ci strong {
    display: block;
    color: rgba(255,255,255,.8);
    font-size: 13px;
    font-weight: 600
}

.cta-ci span {
    font-size: 11px
}

.ticker:hover .ticker-track {
    animation-play-state: paused
}

.scene {
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    overflow: hidden
}

.scene::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(rgba(0,183,225,.016) 1px,transparent 1px),linear-gradient(90deg,rgba(0,183,225,.016) 1px,transparent 1px);
    background-size: 72px 72px
}

.scene::after {
    content: "";
    position: absolute;
    width: 600px;
    height: 600px;
    border-radius: 50%;
    top: -150px;
    right: -100px;
    background: radial-gradient(circle,rgba(0,183,225,.06),transparent 70%);
    animation: pulse 14s ease-in-out infinite
}

.grad {
    background: linear-gradient(120deg,#fff 0%,var(--c2) 55%,var(--c) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent
}

.hr,.util-strip {
    position: relative
}

.hr {
    height: 1px;
    background: linear-gradient(90deg,transparent,rgba(0,183,225,.3),transparent);
    z-index: 2
}

.util-strip {
    z-index: 100;
    background: rgba(11,14,22,.98);
    border-bottom: 1px solid rgba(0,183,225,.07);
    height: 36px
}

.util-item {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 0 14px;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .3px;
    color: rgba(160,205,228,.45);
    border-right: 1px solid rgba(0,183,225,.06);
    white-space: nowrap;
    height: 36px
}

.util-item:last-child {
    border-right: none
}

.util-dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--c);
    opacity: .5;
    flex-shrink: 0;
    animation: blink 2s ease infinite
}

.util-lang a {
    display: flex;
    align-items: center;
    padding: 0 14px;
    height: 36px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
    color: rgba(160,205,228,.4);
    text-decoration: none;
    transition: all .2s;
    border-left: 1px solid rgba(0,183,225,.07)
}

.util-lang a.active,.util-lang a:hover {
    color: var(--c);
    background: rgba(0,183,225,.06)
}

.main-header {
    position: sticky;
    top: 0;
    z-index: 99;
    background: rgba(12,15,22,.92);
    backdrop-filter: blur(40px) saturate(160%);
    border-bottom: 1px solid rgba(0,183,225,.1)
}

.h-logo-col {
    border-right: 1px solid rgba(0,183,225,.1);
    padding: 0 28px;
    min-width: 200px;
    height: 64px
}

.h-logo-col,.logo-diamond,.logo-link {
    display: flex;
    align-items: center
}

.logo-link {
    gap: 0;
    text-decoration: none
}

.logo-diamond {
    width: 36px;
    height: 36px;
    background: linear-gradient(135deg,rgba(0,183,225,.25),rgba(0,183,225,.08));
    border: 1px solid rgba(0,183,225,.35);
    transform: rotate(45deg);
    justify-content: center;
    flex-shrink: 0;
    margin-right: 14px
}

.logo-diamond-inner {
    transform: rotate(-45deg);
    font-size: 16px;
    line-height: 1
}

.logo-wordmark {
    display: flex;
    flex-direction: column;
    line-height: 1
}

.logo-w1 {
    font-family: "Barlow",sans-serif;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 3px;
    color: #fff
}

.hdrop-col h5,.logo-w1,.logo-w2 {
    text-transform: uppercase
}

.logo-w2 {
    font-family: "Barlow",sans-serif;
    font-size: 11px;
    font-weight: 300;
    letter-spacing: 4px;
    color: var(--c);
    margin-top: 2px
}

.h-nav-col {
    flex: 1;
    padding: 0 8px;
    height: 64px
}

.hni {
    position: relative;
    height: 100%
}

.hdrop-col a,.hni>a {
    font-size: 12.5px;
    text-decoration: none
}

.hni>a {
    align-items: center;
    gap: 5px;
    height: 100%;
    padding: 0 16px;
    font-weight: 500;
    letter-spacing: .4px;
    color: rgba(160,205,228,.5);
    transition: color .2s;
    white-space: nowrap
}

.hni.active>a,.hni>a:hover {
    color: #fff
}

.hni.active>a {
    color: var(--c);
    box-shadow: inset 0-2px 0 var(--c)
}

.hdrop-arrow {
    font-size: 9px;
    opacity: .5
}

.hdrop {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: rgba(10,13,20,.99);
    backdrop-filter: blur(40px);
    border: 1px solid rgba(0,183,225,.12);
    border-top: 2px solid var(--c);
    min-width: 520px;
    z-index: 200;
    padding: 24px;
    gap: 24px;
    box-shadow: 0 24px 64px rgba(0,0,0,.7)
}

.hni:hover .hdrop,.hni>a {
    display: flex
}

.hdrop-col h5 {
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2.5px;
    color: rgba(0,183,225,.7);
    margin-bottom: 10px
}

.hdrop-col a {
    display: block;
    color: rgba(160,205,228,.45);
    padding: 5px 0;
    transition: color .15s
}

.hdrop-col a:hover {
    color: #fff
}

.h-actions-col {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 0 16px;
    border-left: 1px solid rgba(0,183,225,.1);
    height: 64px
}

.ha-btn,.ha-call {
    display: inline-flex;
    align-items: center;
    border-radius: 8px;
    text-decoration: none;
    transition: all .2s
}

.ha-btn {
    justify-content: center;
    width: 36px;
    height: 36px;
    background: 0 0;
    border: 1px solid rgba(255,255,255,.06);
    color: var(--muted);
    font-size: 14px;
    cursor: pointer
}

.ha-btn:hover {
    background: rgba(0,183,225,.1);
    border-color: rgba(0,183,225,.3);
    color: var(--c)
}

.ha-call {
    gap: 7px;
    background: var(--c);
    color: #0e1117;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .5px;
    padding: 8px 16px;
    white-space: nowrap
}

.ha-call:hover {
    background: var(--c2);
    box-shadow: 0 0 20px rgba(0,183,225,.35)
}

.navbar-toggler-custom {
    background: rgba(0,183,225,.08);
    border: 1px solid rgba(0,183,225,.2);
    border-radius: 8px;
    padding: 6px 10px;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 4px
}

.toggler-bar {
    display: block;
    width: 20px;
    height: 2px;
    background: var(--c);
    border-radius: 1px;
    transition: all .3s
}

.mobile-menu {
    display: none;
    position: fixed;
    top: 70px;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(10,13,20,.98);
    backdrop-filter: blur(40px);
    z-index: 200;
    overflow-y: auto;
    border-top: 1px solid rgba(0,183,225,.1)
}

.mobile-menu.open {
    display: block
}

.mob-nav-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 24px;
    font-size: 15px;
    font-weight: 500;
    color: rgba(160,205,228,.6);
    text-decoration: none;
    border-bottom: 1px solid rgba(255,255,255,.04);
    transition: color .2s
}

.mob-nav-link:hover {
    color: var(--c);
    background: rgba(0,183,225,.04)
}

.mob-actions {
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 10px
}

.breadcrumb-bar {
    position: relative;
    z-index: 5;
    background: rgba(11,14,22,.7);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(0,183,225,.07)
}

.bc-a {
    display: flex;
    align-items: center;
    padding: 0 16px;
    font-size: 12px;
    color: var(--muted);
    text-decoration: none;
    border-right: 1px solid rgba(0,183,225,.08);
    height: 44px;
    transition: color .2s
}

.bc-a:hover,.fc-val a:hover,.fl-col a:hover,.footer-brand span {
    color: var(--c)
}

.bc-sep {
    padding: 0 12px;
    color: rgba(0,183,225,.25);
    font-size: 11px
}

.bc-cur {
    font-size: 12px;
    font-weight: 600;
    color: rgba(255,255,255,.65)
}

.page-hero {
    position: relative;
    z-index: 2;
    padding: 72px 0 60px;
    text-align: center
}

.s-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: rgba(0,183,225,.7);
    margin-bottom: 16px
}

.s-eyebrow::after,.s-eyebrow::before {
    content: "";
    width: 20px;
    height: 1px;
    background: rgba(0,183,225,.5);
    display: block
}

.page-title {
    font-family: "Fraunces",sans-serif;
    font-size: clamp(38px,5vw,72px);
    font-weight: 400;
    font-style: italic;
    line-height: 1.05;
    margin-bottom: 14px
}

.page-sub {
    font-size: 15px;
    color: var(--muted);
    max-width: 500px;
    margin: 0 auto;
    line-height: 1.75;
    font-weight: 300
}

.service-nav {
    display: flex;
    justify-content: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 36px
}

.snav {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: rgba(0,183,225,.04);
    border: 1px solid rgba(0,183,225,.12);
    border-radius: 100px;
    padding: 9px 18px;
    font-size: 12px;
    font-weight: 500;
    color: var(--muted);
    text-decoration: none;
    transition: all .22s;
    cursor: pointer
}

.snav:hover {
    background: rgba(0,183,225,.1);
    border-color: rgba(0,183,225,.3);
    color: rgba(255,255,255,.85)
}

.svc-section {
    position: relative;
    z-index: 2;
    padding: 88px 0;
    overflow: hidden
}

.svc-section:nth-child(even) {
    background: rgba(0,183,225,.015)
}

.svc-section::before {
    content: "";
    position: absolute;
    width: 450px;
    height: 450px;
    border-radius: 50%;
    filter: blur(140px);
    opacity: .08;
    pointer-events: none
}

.svc-section:nth-child(odd)::before {
    background: radial-gradient(circle,#00b7e1,transparent);
    top: -80px;
    right: -80px
}

.svc-section:nth-child(even)::before {
    background: radial-gradient(circle,#00b7e1,transparent);
    bottom: -80px;
    left: -80px
}

.svc-img,.svc-visual {
    position: relative
}

.svc-img {
    border-radius: 22px;
    overflow: hidden;
    border: 1px solid rgba(0,183,225,.12);
    box-shadow: 0 24px 80px rgba(0,0,0,.4)
}

.cta-img img,.svc-img img {
    width: 100%;
    object-fit: cover;
    display: block
}

.svc-img img {
    aspect-ratio: 4/3
}

.svc-img::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg,rgba(0,183,225,.07),transparent 60%);
    pointer-events: none
}

.svc-corner,.svc-corner-br {
    position: absolute;
    width: 44px;
    height: 44px
}

.svc-corner {
    top: -10px;
    left: -10px;
    border-top: 2px solid rgba(0,183,225,.3);
    border-left: 2px solid rgba(0,183,225,.3);
    border-radius: 3px 0 0 0
}

.svc-corner-br {
    bottom: -10px;
    right: -10px;
    border-bottom: 2px solid rgba(0,183,225,.2);
    border-right: 2px solid rgba(0,183,225,.2);
    border-radius: 0 0 3px 0
}

.svc-float {
    position: absolute;
    bottom: -16px;
    right: 24px;
    background: rgba(13,16,24,.95);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(0,183,225,.2);
    border-radius: 14px;
    padding: 13px 18px;
    display: flex;
    align-items: center;
    gap: 12px;
    box-shadow: 0 8px 32px rgba(0,0,0,.4)
}

.svc-float-icon {
    font-size: 22px
}

.svc-float-num {
    font-family: "Fraunces",sans-serif;
    font-size: 20px;
    font-weight: 700;
    font-style: italic;
    background: linear-gradient(135deg,#fff,var(--c));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    line-height: 1
}

.svc-float-lbl {
    font-size: 10px;
    color: var(--muted)
}

.svc-num-bg {
    font-family: "Fraunces",sans-serif;
    font-size: 96px;
    font-weight: 700;
    font-style: italic;
    color: rgba(0,183,225,.06);
    line-height: 1;
    margin-bottom: -24px;
    display: block;
    user-select: none
}

.svc-label {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: rgba(0,183,225,.7);
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 8px
}

.svc-label::before {
    content: "";
    width: 24px;
    height: 1px;
    background: rgba(0,183,225,.5);
    display: block
}

.svc-title {
    font-family: "Fraunces",sans-serif;
    font-size: clamp(24px,2.8vw,38px);
    font-weight: 400;
    font-style: italic;
    line-height: 1.1;
    margin-bottom: 18px
}

.svc-desc {
    font-size: 14.5px;
    color: rgba(160,205,228,.55);
    line-height: 1.85;
    margin-bottom: 28px;
    font-weight: 300
}

.svc-feats {
    display: flex;
    flex-direction: column;
    gap: 9px;
    margin-bottom: 28px
}

.svc-feat {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    background: rgba(0,183,225,.03);
    border: 1px solid rgba(0,183,225,.08);
    border-radius: 10px;
    padding: 11px 15px;
    transition: border-color .2s
}

.svc-feat:hover {
    border-color: rgba(0,183,225,.2)
}

.svc-feat-check {
    width: 19px;
    height: 19px;
    border-radius: 5px;
    background: rgba(0,183,225,.1);
    border: 1px solid rgba(0,183,225,.25);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    color: var(--c);
    flex-shrink: 0;
    margin-top: 1px
}

.svc-feat-text {
    font-size: 13px;
    color: rgba(160,205,228,.65);
    line-height: 1.5
}

.svc-feat-text strong {
    color: rgba(255,255,255,.85);
    font-weight: 600
}

.btn-c,.btn-ghost {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    border-radius: 100px;
    text-decoration: none;
    cursor: pointer
}

.btn-c {
    background: var(--c);
    color: #0e1117;
    font-weight: 700;
    letter-spacing: .5px;
    padding: 13px 28px;
    border: 0;
    box-shadow: 0 0 32px rgba(0,183,225,.3);
    transition: all .25s;
    font-family: "Barlow",sans-serif
}

.btn-c:hover {
    background: var(--c2);
    box-shadow: 0 0 52px rgba(0,183,225,.5);
    transform: translateY(-1px)
}

.btn-ghost {
    background: 0 0;
    border: 1px solid rgba(0,183,225,.2);
    color: var(--muted);
    font-weight: 500;
    padding: 12px 22px;
    transition: all .2s;
    margin-left: 10px
}

.btn-ghost:hover {
    border-color: rgba(0,183,225,.4);
    color: var(--text)
}

.hiw-section {
    position: relative;
    z-index: 2;
    padding: 88px 0
}

.hiw-steps {
    display: grid;
    grid-template-columns: repeat(5,1fr);
    gap: 20px;
    margin-top: 52px;
    position: relative
}

.hiw-steps::before {
    content: "";
    position: absolute;
    top: 40px;
    left: calc(10% + 20px);
    right: calc(10% + 20px);
    height: 1px;
    background: linear-gradient(90deg,rgba(0,183,225,.25),rgba(0,183,225,.15));
    z-index: 0
}

.hiw-dot,.hiw-step {
    display: flex;
    align-items: center
}

.hiw-step {
    flex-direction: column;
    text-align: center;
    position: relative;
    z-index: 1
}

.hiw-dot {
    width: 80px;
    height: 80px;
    border-radius: 20px;
    background: rgba(0,183,225,.04);
    border: 1px solid rgba(0,183,225,.12);
    justify-content: center;
    margin-bottom: 18px;
    transition: all .3s
}

.hiw-step:hover .hiw-dot {
    background: rgba(0,183,225,.1);
    border-color: rgba(0,183,225,.3);
    box-shadow: 0 0 28px rgba(0,183,225,.15)
}

.hiw-icon {
    font-size: 28px
}

.hiw-title {
    font-family: "Fraunces",sans-serif;
    font-size: 14px;
    font-weight: 400;
    font-style: italic;
    margin-bottom: 6px;
    color: #fff
}

.hiw-desc,.pricing-custom-text p {
    color: var(--muted);
    font-weight: 300
}

.hiw-desc {
    font-size: 12px;
    line-height: 1.6
}

.pricing-section {
    position: relative;
    z-index: 2;
    padding: 88px 0;
    background: rgba(0,183,225,.015)
}

.pricing-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 18px;
    margin-top: 48px
}

.pcard {
    background: rgba(255,255,255,.03);
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 20px;
    padding: 30px 26px;
    display: flex;
    flex-direction: column;
    gap: 0;
    transition: all .28s;
    position: relative
}

.pcard:hover {
    border-color: rgba(0,183,225,.22);
    box-shadow: 0 16px 56px rgba(0,0,0,.35);
    transform: translateY(-4px)
}

.pcard.featured {
    border-color: rgba(0,183,225,.28);
    background: rgba(0,183,225,.05)
}

.pcard-btn.main,.pcard-pop {
    background: var(--c);
    color: #0e1117
}

.pcard-pop {
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    padding: 4px 18px;
    border-radius: 100px;
    white-space: nowrap
}

.pcard-icon {
    font-size: 30px;
    margin-bottom: 14px
}

.pcard-name {
    font-family: "Fraunces",sans-serif;
    font-size: 18px;
    font-weight: 400;
    font-style: italic;
    margin-bottom: 6px
}

.pcard-desc {
    font-size: 12.5px;
    color: var(--muted);
    line-height: 1.6;
    margin-bottom: 22px;
    font-weight: 300
}

.pcard-price {
    margin-bottom: 20px
}

.pcard-from {
    font-size: 11px;
    color: var(--muted);
    display: block;
    margin-bottom: 2px
}

.pcard-val {
    font-family: "Fraunces",sans-serif;
    font-size: 36px;
    font-weight: 700;
    font-style: italic;
    background: linear-gradient(135deg,#fff,var(--c));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent
}

.pcard-unit {
    font-size: 13px;
    color: var(--muted);
    margin-left: 4px
}

.pcard-free,.pricing-custom-text h4 {
    font-family: "Fraunces",sans-serif;
    font-style: italic
}

.pcard-free {
    font-size: 26px;
    font-weight: 700;
    color: #4ade80
}

.pcard-div {
    height: 1px;
    background: rgba(0,183,225,.08);
    margin-bottom: 18px
}

.pcard-feats,.pf {
    display: flex;
    gap: 8px
}

.pcard-feats {
    flex-direction: column;
    flex: 1
}

.pf {
    align-items: flex-start;
    font-size: 12.5px;
    color: rgba(160,205,228,.6)
}

.pf-no,.pf-ok {
    font-size: 12px;
    flex-shrink: 0;
    margin-top: 1px
}

.pf-ok {
    color: var(--c)
}

.pf-no {
    color: rgba(160,100,80,.4)
}

.pcard-btn {
    display: block;
    width: 100%;
    margin-top: 24px;
    padding: 12px;
    border-radius: 11px;
    font-size: 12px;
    font-weight: 600;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    border: 0;
    transition: all .2s;
    font-family: "Barlow",sans-serif
}

.pcard-btn.main {
    box-shadow: 0 0 24px rgba(0,183,225,.3)
}

.pcard-btn.main:hover {
    background: var(--c2);
    box-shadow: 0 0 40px rgba(0,183,225,.5)
}

.pcard-btn.ghost {
    background: 0 0;
    border: 1px solid rgba(0,183,225,.18);
    color: var(--muted)
}

.pcard-btn.ghost:hover {
    border-color: rgba(0,183,225,.3);
    color: var(--text)
}

.pricing-custom {
    grid-column: 1/-1;
    background: rgba(0,183,225,.04);
    border: 1px solid rgba(0,183,225,.15);
    border-radius: 16px;
    padding: 26px 30px;
    display: flex;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap
}

.pricing-custom-icon {
    font-size: 36px;
    flex-shrink: 0
}

.pricing-custom-text {
    flex: 1;
    min-width: 200px
}

.pricing-custom-text h4 {
    font-size: 18px;
    font-weight: 400;
    margin-bottom: 5px
}

.pricing-custom-text p {
    font-size: 13px
}

.cta-band {
    position: relative;
    z-index: 2;
    padding: 80px 0 100px
}

.cta-inner {
    border-radius: 20px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 340px;
    border: 1px solid rgba(0,183,225,.12)
}

.cta-img,.cta-inner {
    position: relative;
    overflow: hidden
}

.cta-img img {
    height: 100%
}

.cta-img::after,.cta-txt::before {
    content: "";
    position: absolute;
    inset: 0
}

.cta-img::after {
    background: linear-gradient(to right,rgba(11,14,22,.2),rgba(11,14,22,.6))
}

.cta-txt {
    background: rgba(0,183,225,.05);
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 52px 48px;
    position: relative
}

.cta-txt::before {
    background: linear-gradient(135deg,rgba(0,183,225,.07),transparent 60%);
    pointer-events: none
}

.cta-ey {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: rgba(0,183,225,.7);
    margin-bottom: 12px
}

.cta-title {
    font-family: "Fraunces",sans-serif;
    font-size: clamp(24px,2.5vw,38px);
    font-weight: 400;
    font-style: italic;
    line-height: 1.15;
    margin-bottom: 12px
}

.cta-sub {
    font-size: 13.5px;
    color: var(--muted);
    line-height: 1.75;
    margin-bottom: 28px;
    font-weight: 300
}

.cta-btns {
    display: flex;
    flex-direction: column;
    gap: 9px
}

.btn-cf {
    justify-content: center;
    gap: 8px;
    background: var(--c);
    color: #0e1117;
    font-size: 14px;
    font-weight: 700;
    padding: 14px;
    border-radius: 11px;
    border: 0;
    cursor: pointer;
    box-shadow: 0 0 32px rgba(0,183,225,.3);
    transition: all .25s;
    font-family: "Barlow",sans-serif;
    text-decoration: none
}

.btn-cf:hover {
    background: var(--c2)
}

.btn-cf,.btn-of,.ticker {
    display: flex;
    align-items: center
}

.btn-of {
    justify-content: center;
    gap: 8px;
    background: rgba(0,183,225,.06);
    border: 1px solid rgba(0,183,225,.2);
    color: var(--c);
    font-size: 14px;
    font-weight: 600;
    padding: 13px;
    border-radius: 11px;
    text-decoration: none;
    transition: all .25s
}

.btn-of:hover {
    background: rgba(0,183,225,.14)
}

.ticker {
    position: relative;
    z-index: 2;
    height: 36px;
    background: var(--c);
    overflow: hidden
}

.ticker-track {
    display: flex;
    width: max-content;
    animation: tick 30s linear infinite
}

.fl-col h5,.tick-item {
    font-weight: 700;
    text-transform: uppercase
}

.tick-item {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 0 28px;
    font-size: 10.5px;
    letter-spacing: 2px;
    color: #0e1117;
    white-space: nowrap
}

.tick-sep {
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: rgba(14,17,23,.3)
}

.footer-crown {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 32px 0 28px;
    border-bottom: 1px solid rgba(255,255,255,.05);
    flex-wrap: wrap;
    gap: 20px
}

.footer-logo-wrap {
    display: flex;
    align-items: center;
    gap: 14px
}

.footer-diamond {
    width: 40px;
    height: 40px;
    background: linear-gradient(135deg,rgba(0,183,225,.2),rgba(0,183,225,.05));
    border: 1px solid rgba(0,183,225,.3);
    transform: rotate(45deg);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.footer-diamond-inner {
    transform: rotate(-45deg);
    font-size: 17px
}

.footer-brand {
    font-family: "Fraunces",sans-serif;
    font-size: 20px;
    font-weight: 700;
    font-style: italic;
    color: #fff
}

.footer-tag {
    font-size: 11px;
    font-weight: 300;
    color: var(--muted);
    letter-spacing: 1px;
    margin-top: 2px
}

.footer-certs {
    display: flex;
    gap: 7px;
    flex-wrap: wrap
}

.cert-pill {
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.5px;
    background: rgba(0,183,225,.06);
    border: 1px solid rgba(0,183,225,.15);
    color: rgba(0,183,225,.6);
    padding: 4px 10px;
    border-radius: 100px
}

.footer-socs {
    display: flex;
    gap: 6px
}

.fl-col a,.fsoc {
    color: var(--muted);
    text-decoration: none;
    font-size: 13px
}

.fsoc {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .2s
}

.fsoc:hover {
    background: rgba(0,183,225,.12);
    border-color: rgba(0,183,225,.3);
    color: var(--c)
}

.footer-contacts,.footer-links {
    display: grid;
    border-bottom: 1px solid rgba(255,255,255,.05)
}

.footer-links {
    grid-template-columns: repeat(4,1fr);
    gap: 36px;
    padding: 32px 0
}

.fl-col h5 {
    font-size: 9.5px;
    letter-spacing: 2.5px;
    color: rgba(0,183,225,.55);
    margin-bottom: 14px
}

.fl-col a {
    display: block;
    padding: 3px 0;
    transition: color .2s;
    font-weight: 300
}

.footer-contacts {
    grid-template-columns: repeat(3,1fr);
    padding: 24px 0
}

.fc-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 0 28px 0 0;
    border-right: 1px solid rgba(255,255,255,.05)
}

.fc-item:last-child {
    border-right: none;
    padding-left: 28px;
    padding-right: 0
}

.fc-item:nth-child(2) {
    padding-left: 28px
}

.fc-icon {
    width: 36px;
    height: 36px;
    border-radius: 9px;
    flex-shrink: 0;
    background: rgba(0,183,225,.08);
    border: 1px solid rgba(0,183,225,.15);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px
}

.fc-label {
    font-size: 9.5px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: rgba(0,183,225,.45);
    margin-bottom: 3px
}

.fc-val {
    font-size: 14px;
    font-weight: 600;
    color: rgba(255,255,255,.8)
}

.fc-val a {
    color: inherit;
    text-decoration: none
}

.fc-note {
    font-size: 11px;
    color: var(--muted);
    margin-top: 2px;
    font-weight: 300
}

.footer-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 0;
    flex-wrap: wrap;
    gap: 10px
}

.footer-bar span {
    font-size: 11.5px;
    color: rgba(160,205,228,.2)
}

.footer-bar a {
    color: var(--c);
    text-decoration: none
}

::-webkit-scrollbar {
    width: 4px
}

::-webkit-scrollbar-thumb {
    background: rgba(0,183,225,.4);
    border-radius: 2px
}

.container {
    max-width: 1360px
}

@media (max-width:991px) {
    .h-nav-col {
        display: none!important
    }

    .hiw-steps {
        grid-template-columns: repeat(2,1fr)
    }

    .hiw-steps::before {
        display: none
    }

    .cta-inner,.pricing-grid {
        grid-template-columns: 1fr
    }

    .cta-img {
        min-height: 220px
    }
}

@media (max-width:767px) {
    .footer-links {
        grid-template-columns: 1fr 1fr
    }

    .footer-contacts {
        grid-template-columns: 1fr
    }

    .fc-item {
        border-right: none;
        padding: 0 0 16px!important;
        margin-bottom: 8px
    }

    .svc-num-bg {
        font-size: 64px
    }

    .pricing-custom {
        flex-direction: column
    }
}

@media (max-width:575px) {
 

    .service-nav {
        padding: 0 16px
    }
}