/* ══════════════════════════════════════════════════════
   YorTech — Luxury Design System
   Dark foundation · Gold accent · Inter headings
══════════════════════════════════════════════════════ */

/* ── Variables ───────────────────────────────────────── */
:root {
    /* Gold palette */
    --g:       #C9A84B;
    --g-light: #E2C46E;
    --g-dark:  #96772A;
    --g-alpha: rgba(201,168,75,.07);
    --g-bdr:   rgba(201,168,75,.18);

    /* Dark surfaces */
    --d0: #03040A;
    --d1: #080914;
    --d2: #0C0D1C;
    --d3: #100F26;
    --d4: #141433;

    /* Light surfaces */
    --l0: #FFFFFF;
    --l1: #F7F8FC;
    --l2: #EEF0F8;

    /* Borders */
    --bdr-d: rgba(255,255,255,.07);
    --bdr-l: #E4E8F2;

    /* Text */
    --t-inv:  #E8EFF8;
    --t-inv2: #8D9BB4;
    --t-mute: #5E6A80;
    --t-dk:   #111827;
    --t-dk2:  #4B5563;

    /* Accent colors */
    --blue:   #4A7CF7;
    --teal:   #00C4B4;
    --purple: #8B5CF6;
    --green:  #10B981;

    /* Shadows */
    --sh:      0 4px 24px rgba(6,7,14,.18);
    --sh-lg:   0 16px 64px rgba(6,7,14,.28);
    --sh-gold: 0 0 40px rgba(201,168,75,.1);

    /* Layout */
    --r:    12px;
    --r-lg: 20px;
    --r-xl: 28px;

    --fh: 'Inter', 'Poppins', sans-serif;
    --fb: 'Poppins', sans-serif;
}

/* ── Reset / Base ────────────────────────────────────── */
html { scroll-behavior: smooth; }
*, *::before, *::after { box-sizing: border-box; }
body { font-family: var(--fb); color: var(--t-dk); background: #fff; overflow-x: hidden; }
a { color: inherit; }
img { max-width: 100%; }

/* ── Reveal animations ───────────────────────────────── */
.rv, .rv-l, .rv-r {
    opacity: 0;
    transition: opacity .72s cubic-bezier(.22,1,.36,1),
                transform .72s cubic-bezier(.22,1,.36,1);
}
.rv   { transform: translateY(28px); }
.rv-l { transform: translateX(-28px); }
.rv-r { transform: translateX(28px); }
.rv.on, .rv-l.on, .rv-r.on { opacity: 1; transform: none; }
.d1{transition-delay:.08s!important} .d2{transition-delay:.16s!important}
.d3{transition-delay:.24s!important} .d4{transition-delay:.32s!important}
.d5{transition-delay:.40s!important} .d6{transition-delay:.48s!important}

/* ── Button base: touch-friendly minimum target ──────── */
.btn-gold, .btn-glass, .btn-nav-gold, .btn-nav-ghost,
.btn-price-gold, .btn-price-outline, .btn-submit {
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
}

/* ── Gold decorative helpers ─────────────────────────── */
.gold-bar {
    display: block;
    width: 28px; height: 1.5px;
    background: linear-gradient(90deg, var(--g-light), var(--g));
    border-radius: 1px;
    margin-bottom: 16px;
}
.gold-bar.mx { margin-left: auto; margin-right: auto; }

.eyebrow {
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--g);
    font-family: var(--fh);
    margin-bottom: 14px;
}

.sec-title {
    font-size: clamp(1.85rem,3.5vw,2.55rem);
    font-weight: 800;
    letter-spacing: -.65px;
    line-height: 1.2;
    font-family: var(--fh);
    margin-bottom: 16px;
}
.sec-title-inv { color: #fff; }
.sec-title-dk  { color: var(--t-dk); }
.sec-title .accent {
    background: linear-gradient(90deg, var(--g-light), var(--g));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.sec-sub { font-size: .975rem; line-height: 1.75; max-width: 520px; }
.sec-sub-inv { color: var(--t-inv2); }
.sec-sub-dk  { color: var(--t-mute); }

/* ══════════════════════════════════════════════════════
   NAVBAR
══════════════════════════════════════════════════════ */

/*
 * Metronic's style.bundle CSS hides #kt_header on mobile breakpoints
 * (it expects a separate #kt_header_mobile). We override that here and
 * also neutralise the body padding-top that header-fixed/header-mobile-fixed add.
 */
body.header-fixed,
body.header-mobile-fixed { padding-top: 0 !important; }

#kt_header {
    /* Force always visible, fixed at top — override Metronic's mobile hide */
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    display: flex !important;
    align-items: center;
    height: 68px;
    background: transparent;
    border-bottom: 1px solid transparent;
    transition: background .35s, border-color .35s, box-shadow .35s;
    z-index: 9999;
}
#kt_header.solid {
    background: rgba(6,7,14,.92);
    border-color: var(--bdr-d);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

/* Logo */
.nav-logo {
    font-size: 1.5rem;
    font-weight: 800;
    color: #fff;
    text-decoration: none;
    font-family: var(--fh);
    letter-spacing: -.9px;
    flex-shrink: 0;
}
.nav-logo .la { color: var(--g); }
.nav-logo:hover { text-decoration: none; color: #fff; }

/* Nav links */
.nav-links { display: flex; align-items: center; gap: 2px; }
.nav-links a {
    font-size: .84rem;
    font-weight: 500;
    color: rgba(255,255,255,.65);
    padding: 7px 13px;
    border-radius: 8px;
    text-decoration: none;
    transition: color .2s, background .2s;
    white-space: nowrap;
    font-family: var(--fh);
}
.nav-links a:hover, .nav-links a.active {
    color: #fff;
    background: rgba(255,255,255,.08);
}

/* Nav buttons */
.btn-nav-ghost {
    font-size: .84rem;
    font-weight: 600;
    color: rgba(255,255,255,.75);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 9px;
    padding: 9px 22px;
    text-decoration: none;
    font-family: var(--fh);
    transition: color .2s, border-color .2s;
}
.btn-nav-ghost:hover { color: #fff; border-color: rgba(255,255,255,.45); text-decoration: none; }

.btn-nav-gold {
    font-size: .84rem;
    font-weight: 700;
    color: var(--d0);
    background: linear-gradient(135deg, var(--g-light), var(--g) 60%, var(--g-dark));
    border-radius: 9px;
    padding: 9px 22px;
    text-decoration: none;
    font-family: var(--fh);
    box-shadow: 0 2px 14px rgba(201,168,75,.32);
    transition: transform .2s, box-shadow .2s;
}
.btn-nav-gold:hover { transform: translateY(-1px); box-shadow: 0 6px 22px rgba(201,168,75,.44); color: var(--d0); text-decoration: none; }

/* Mobile */
.mob-toggle {
    background: none;
    border: none;
    cursor: pointer;
    padding: 6px;
    display: none;
    flex-direction: column;
    gap: 5px;
}
.mob-toggle span {
    display: block;
    width: 22px; height: 2px;
    background: rgba(255,255,255,.85);
    border-radius: 2px;
    transition: .3s;
}
.mob-menu {
    display: none;
    position: fixed;
    top: 68px; left: 0; right: 0;
    background: rgba(6,7,14,.97);
    backdrop-filter: blur(20px);
    padding: 20px 24px 28px;
    z-index: 9998;
    border-top: 1px solid var(--bdr-d);
    max-height: calc(100vh - 68px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
.mob-menu.open { display: block; }
.mob-menu a {
    display: block;
    padding: 11px 0;
    border-bottom: 1px solid var(--bdr-d);
    font-size: .9rem;
    font-weight: 500;
    color: var(--t-inv2);
    text-decoration: none;
    font-family: var(--fh);
    transition: color .2s;
}
.mob-menu a:hover { color: var(--g); }

/* ══════════════════════════════════════════════════════
   HERO
══════════════════════════════════════════════════════ */
#hero {
    position: relative;
    background: var(--d0);
    min-height: 100vh;
    display: flex;
    align-items: center;
    padding: 136px 0 120px; /* 68px header + 68px breathing room top */
    overflow: hidden;
}

/* Aurora orbs */
.orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(90px);
    pointer-events: none;
    will-change: transform;
}
.orb-1 {
    width: 560px; height: 560px;
    background: radial-gradient(circle, rgba(75,124,247,.11) 0%, transparent 70%);
    top: -180px; right: -140px;
    animation: orbA 14s ease-in-out infinite alternate;
}
.orb-2 {
    width: 440px; height: 440px;
    background: radial-gradient(circle, rgba(139,92,246,.08) 0%, transparent 70%);
    bottom: -120px; left: -120px;
    animation: orbA 18s ease-in-out infinite alternate-reverse;
}
.orb-3 {
    width: 300px; height: 300px;
    background: radial-gradient(circle, rgba(0,196,180,.06) 0%, transparent 70%);
    top: 45%; left: 28%;
    animation: orbA 11s ease-in-out infinite alternate;
    animation-delay: -5s;
}
@keyframes orbA {
    from { transform: translate(0,0) scale(1); }
    to   { transform: translate(36px,28px) scale(1.1); }
}

/* Dot grid */
.hero-dots {
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle, rgba(255,255,255,.07) 1px, transparent 1px);
    background-size: 34px 34px;
    pointer-events: none;
    mask-image: radial-gradient(ellipse at 55% 50%, rgba(0,0,0,.55) 0%, transparent 68%);
    -webkit-mask-image: radial-gradient(ellipse at 55% 50%, rgba(0,0,0,.55) 0%, transparent 68%);
}

/* Hero eyebrow */
.hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--g);
    font-family: var(--fh);
    margin-bottom: 26px;
}
.hero-eyebrow .eline {
    display: block;
    width: 48px; height: 1px;
    background: linear-gradient(90deg, var(--g), transparent);
}

/* Hero headline */
.hero-h1 {
    font-size: clamp(2.4rem,5.5vw,4.1rem);
    font-weight: 900;
    line-height: 1.1;
    color: #fff;
    letter-spacing: -2px;
    font-family: var(--fh);
    margin-bottom: 24px;
}
.hero-h1 .gw {
    background: linear-gradient(90deg, var(--g-light) 0%, var(--g) 55%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Hero sub */
.hero-p {
    font-size: 1.06rem;
    color: var(--t-inv2);
    line-height: 1.76;
    max-width: 490px;
    margin-bottom: 40px;
}

/* Buttons */
.btn-gold {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, var(--g-light), var(--g) 55%, var(--g-dark));
    color: var(--d0);
    font-weight: 700;
    font-size: .93rem;
    font-family: var(--fh);
    padding: 14px 30px;
    border-radius: 10px;
    text-decoration: none;
    box-shadow: 0 4px 22px rgba(201,168,75,.38);
    transition: transform .22s, box-shadow .22s;
    letter-spacing: .1px;
}
.btn-gold:hover { transform: translateY(-2px); box-shadow: 0 9px 32px rgba(201,168,75,.52); color: var(--d0); text-decoration: none; }

.btn-glass {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.16);
    color: rgba(255,255,255,.88);
    font-weight: 600;
    font-size: .93rem;
    font-family: var(--fh);
    padding: 14px 30px;
    border-radius: 10px;
    text-decoration: none;
    backdrop-filter: blur(4px);
    transition: background .2s, border-color .2s;
}
.btn-glass:hover { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.3); color: #fff; text-decoration: none; }

/* Trust micro-list */
.trust-row {
    display: flex;
    flex-wrap: wrap;
    gap: 22px;
    margin-top: 38px;
}
.trust-item {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: .76rem;
    color: var(--t-inv2);
    font-family: var(--fh);
}
.trust-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--g); flex-shrink: 0; }

/* Hero panel (mockup) */
.hero-panel-wrap {
    position: relative;
    z-index: 2;
}

.hero-panel {
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: var(--r-xl);
    padding: 28px;
    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);
}

.panel-top {
    display: flex;
    align-items: center;
    gap: 8px;
    padding-bottom: 18px;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--bdr-d);
}
.panel-dots span {
    display: inline-block;
    width: 10px; height: 10px;
    border-radius: 50%;
}
.panel-dots span:nth-child(1){background:#FF5F57}
.panel-dots span:nth-child(2){background:#FEBC2E}
.panel-dots span:nth-child(3){background:#28C840}
.panel-title-bar {
    font-size: .76rem;
    color: var(--t-inv2);
    font-weight: 500;
    font-family: var(--fh);
    margin-left: auto;
}

.kpi-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 11px;
    margin-bottom: 18px;
}
.kpi-card {
    background: rgba(255,255,255,.05);
    border: 1px solid var(--bdr-d);
    border-radius: 12px;
    padding: 14px 16px;
    transition: border-color .25s;
}
.kpi-card:hover { border-color: var(--g-bdr); }
.kpi-lbl { font-size: .63rem; color: var(--t-inv2); text-transform: uppercase; letter-spacing: .8px; margin-bottom: 7px; }
.kpi-val { font-size: 1.45rem; font-weight: 800; color: #fff; font-family: var(--fh); line-height: 1; letter-spacing: -.5px; }
.kpi-delta { font-size: .68rem; color: #4ADE80; margin-top: 5px; font-weight: 600; }

.chart-section { margin-top: 4px; }
.chart-lbl { font-size: .64rem; color: var(--t-inv2); margin-bottom: 10px; }
.chart-bars { display: flex; align-items: flex-end; gap: 5px; height: 52px; }
.chart-bars div { flex: 1; border-radius: 4px 4px 0 0; }
.chart-bars div:nth-child(1){background:#4A7CF7;height:45%;opacity:.8}
.chart-bars div:nth-child(2){background:#8B5CF6;height:72%;opacity:.8}
.chart-bars div:nth-child(3){background:#00C4B4;height:54%;opacity:.8}
.chart-bars div:nth-child(4){background:#C9A84B;height:91%;opacity:.9}
.chart-bars div:nth-child(5){background:#4A7CF7;height:63%;opacity:.8}
.chart-bars div:nth-child(6){background:#8B5CF6;height:100%;opacity:.9}
.chart-bars div:nth-child(7){background:#00C4B4;height:77%;opacity:.8}

/* Floating badges */
.float-badge {
    position: absolute;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.14);
    backdrop-filter: blur(12px);
    border-radius: 50px;
    padding: 9px 16px 9px 10px;
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: .78rem;
    font-weight: 600;
    color: #fff;
    white-space: nowrap;
    z-index: 4;
    font-family: var(--fh);
}
.fb-ico { width: 28px; height: 28px; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: .9rem; flex-shrink: 0; }
.fb-sub { font-size: .66rem; font-weight: 400; color: var(--t-inv2); display: block; }
.fb-1 { top: -18px; right: 14px; animation: floatY 4.5s ease-in-out infinite; }
.fb-2 { bottom: -14px; left: 10px; animation: floatY 5.5s ease-in-out infinite; animation-delay: -2.2s; }
@keyframes floatY { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-9px)} }

/* Wave separator */
.hero-wave { position: absolute; bottom: -1px; left: 0; width: 100%; pointer-events: none; line-height: 0; }

/* ══════════════════════════════════════════════════════
   STATS BAR
══════════════════════════════════════════════════════ */
#stats {
    background: var(--d1);
    padding: 60px 0;
    border-bottom: 1px solid var(--bdr-d);
    position: relative;
}
#stats::before {
    content: '';
    position: absolute;
    top: 0; left: 50%; transform: translateX(-50%);
    width: 100px; height: 1px;
    background: linear-gradient(90deg, transparent, var(--g), transparent);
}

.stat-box { text-align: center; padding: 0 28px; }
.stat-num {
    font-size: 2.75rem;
    font-weight: 900;
    color: #fff;
    font-family: var(--fh);
    letter-spacing: -1.5px;
    line-height: 1;
    margin-bottom: 9px;
}
.stat-num .sfx { color: var(--g); }
.stat-cap { font-size: .8rem; color: var(--t-inv2); }
.stat-sep { width: 1px; background: var(--bdr-d); align-self: stretch; }

/* ══════════════════════════════════════════════════════
   CLIENTS MARQUEE
══════════════════════════════════════════════════════ */
#clients {
    background: var(--d2);
    padding: 52px 0;
    border-bottom: 1px solid var(--bdr-d);
}
.marquee-label {
    text-align: center;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: var(--t-mute);
    margin-bottom: 30px;
    font-family: var(--fh);
}
.marquee-track {
    overflow: hidden;
    mask-image: linear-gradient(90deg, transparent, #000 14%, #000 86%, transparent);
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 14%, #000 86%, transparent);
}
.marquee-inner {
    display: flex;
    animation: marquee 26s linear infinite;
    flex-shrink: 0;
}
@keyframes marquee { from{transform:translateX(0)} to{transform:translateX(-50%)} }
.cl-pill { display: flex; align-items: center; padding: 0 24px; flex-shrink: 0; height: 46px; }
.cl-pill-in {
    background: rgba(255,255,255,.04);
    border: 1px solid var(--bdr-d);
    color: var(--t-inv2);
    font-size: .8rem;
    font-weight: 600;
    padding: 7px 18px;
    border-radius: 50px;
    white-space: nowrap;
    transition: border-color .2s, color .2s;
    font-family: var(--fh);
    letter-spacing: .15px;
}
.cl-pill-in:hover { border-color: var(--g-bdr); color: var(--g); }

/* ══════════════════════════════════════════════════════
   SECTION WRAPPERS
══════════════════════════════════════════════════════ */
.sec { padding: 88px 0; }
.sec-white { background: #fff; }
.sec-soft  { background: var(--l1); }
.sec-dark  { background: var(--d1); }
.sec-dark2 { background: var(--d2); }
.sec-darkest { background: var(--d0); }

/* ══════════════════════════════════════════════════════
   PRODUCTS (white)
══════════════════════════════════════════════════════ */
.prod-card {
    background: #fff;
    border: 1.5px solid var(--bdr-l);
    border-radius: var(--r-lg);
    padding: 32px 28px 28px;
    height: 100%;
    position: relative;
    overflow: hidden;
    transition: border-color .3s, box-shadow .3s, transform .3s;
}
.prod-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--g-light), var(--g));
    opacity: 0;
    transition: opacity .3s;
}
.prod-card:hover { border-color: transparent; box-shadow: 0 14px 48px rgba(6,7,14,.1); transform: translateY(-5px); }
.prod-card:hover::before { opacity: 1; }

.prod-tag {
    position: absolute;
    top: 20px; right: 20px;
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .7px;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 50px;
    background: #FDF8EE;
    color: var(--g-dark);
    border: 1px solid var(--g-bdr);
    font-family: var(--fh);
}

.prod-icon { width: 50px; height: 50px; border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 1.4rem; margin-bottom: 18px; }
.pi-b { background: #EEF2FF; }
.pi-g { background: #ECFDF5; }
.pi-a { background: #FFFBEB; }
.pi-c { background: #F0FDFA; }
.pi-r { background: #FFF1F2; }
.pi-p { background: #F5F3FF; }

.prod-card h4 { font-size: .97rem; font-weight: 700; color: var(--t-dk); margin-bottom: 10px; font-family: var(--fh); letter-spacing: -.2px; }
.prod-card p  { font-size: .845rem; color: var(--t-mute); line-height: 1.7; margin-bottom: 18px; }

.prod-feats { list-style: none; padding: 0; margin: 0 0 22px; }
.prod-feats li {
    font-size: .795rem;
    color: #475569;
    padding: 4px 0;
    display: flex;
    align-items: center;
    gap: 9px;
}
.prod-feats li::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: var(--g); flex-shrink: 0; }

.prod-link { font-size: .82rem; font-weight: 700; color: var(--g-dark); text-decoration: none; font-family: var(--fh); display: inline-flex; align-items: center; gap: 5px; transition: gap .2s, color .2s; }
.prod-link:hover { gap: 10px; color: var(--g); text-decoration: none; }

/* ══════════════════════════════════════════════════════
   HOW IT WORKS (dark)
══════════════════════════════════════════════════════ */
.how-step { display: flex; gap: 20px; margin-bottom: 42px; position: relative; }
.how-step:last-child { margin-bottom: 0; }
.how-step::before {
    content: '';
    position: absolute;
    left: 21px; top: 50px; bottom: -42px;
    width: 1px;
    background: linear-gradient(to bottom, var(--g-bdr), transparent);
}
.how-step:last-child::before { display: none; }

.how-num {
    width: 44px; height: 44px;
    border-radius: 12px;
    background: var(--g-alpha);
    border: 1px solid var(--g-bdr);
    color: var(--g);
    font-weight: 800;
    font-size: .92rem;
    font-family: var(--fh);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.how-content h4 { font-size: .99rem; font-weight: 700; color: #fff; margin-bottom: 7px; font-family: var(--fh); letter-spacing: -.15px; padding-top: 10px; }
.how-content p  { font-size: .855rem; color: var(--t-inv2); line-height: 1.72; margin: 0; }

/* How visual panel */
.how-panel {
    background: rgba(255,255,255,.03);
    border: 1px solid var(--bdr-d);
    border-radius: var(--r-xl);
    overflow: hidden;
}
.how-panel-bar {
    background: var(--d0);
    padding: 12px 18px;
    display: flex;
    align-items: center;
    gap: 7px;
    border-bottom: 1px solid var(--bdr-d);
}
.how-panel-bar span { width: 9px; height: 9px; border-radius: 50%; display: inline-block; }
.how-panel-bar span:nth-child(1){background:#FF5F57}
.how-panel-bar span:nth-child(2){background:#FEBC2E}
.how-panel-bar span:nth-child(3){background:#28C840}
.hpb-url {
    flex: 1; background: rgba(255,255,255,.04); border-radius: 6px;
    height: 24px; margin: 0 8px;
    display: flex; align-items: center; padding: 0 10px;
    font-size: .66rem; color: var(--t-mute); font-family: monospace;
}
.how-panel-body { padding: 22px; }

.act-row { display: flex; align-items: center; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--bdr-d); }
.act-row:last-child { border-bottom: none; }
.act-ico { width: 32px; height: 32px; border-radius: 9px; display: flex; align-items: center; justify-content: center; font-size: .88rem; flex-shrink: 0; }
.act-txt { flex: 1; font-size: .79rem; color: var(--t-inv2); line-height: 1.4; }
.act-txt strong { color: var(--t-inv); font-weight: 600; }
.act-bdg { font-size: .63rem; font-weight: 700; padding: 3px 9px; border-radius: 50px; white-space: nowrap; font-family: var(--fh); }

.bd-b { background: rgba(75,124,247,.15);  color: #7DA5FA; }
.bd-g { background: rgba(16,185,129,.15);  color: #34D399; }
.bd-a { background: rgba(201,168,75,.15);  color: #D4AF5A; }
.bd-t { background: rgba(0,196,180,.15);   color: #2DD4CF; }
.bd-p { background: rgba(139,92,246,.15);  color: #A78BFA; }
.bg-bd { background: rgba(75,124,247,.1);  }
.bg-bg { background: rgba(16,185,129,.1);  }
.bg-ba { background: rgba(201,168,75,.1);  }
.bg-bt { background: rgba(0,196,180,.1);   }
.bg-bp { background: rgba(139,92,246,.1);  }

.panel-sum {
    margin-top: 18px;
    background: linear-gradient(135deg, var(--g-alpha), rgba(201,168,75,.04));
    border: 1px solid var(--g-bdr);
    border-radius: 12px;
    padding: 15px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.ps-lbl { font-size: .76rem; color: var(--g); font-weight: 600; font-family: var(--fh); }
.ps-val { font-size: 1.08rem; font-weight: 800; color: var(--g-light); font-family: var(--fh); }

/* ══════════════════════════════════════════════════════
   FEATURES (soft)
══════════════════════════════════════════════════════ */
.feat-card {
    background: #fff;
    border: 1.5px solid var(--bdr-l);
    border-radius: var(--r);
    padding: 28px 24px;
    height: 100%;
    transition: border-color .25s, box-shadow .25s;
}
.feat-card:hover { border-color: var(--g-bdr); box-shadow: 0 0 0 3px var(--g-alpha), 0 8px 32px rgba(6,7,14,.06); }
.feat-icon { width: 46px; height: 46px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 1.3rem; margin-bottom: 16px; }
.feat-card h5 { font-size: .945rem; font-weight: 700; color: var(--t-dk); margin-bottom: 8px; font-family: var(--fh); letter-spacing: -.15px; }
.feat-card p  { font-size: .845rem; color: var(--t-mute); line-height: 1.7; margin: 0; }

/* ══════════════════════════════════════════════════════
   TESTIMONIALS (dark)
══════════════════════════════════════════════════════ */
.testi-card {
    background: rgba(255,255,255,.03);
    border: 1px solid var(--bdr-d);
    border-radius: var(--r-lg);
    padding: 32px 28px;
    height: 100%;
    position: relative;
    overflow: hidden;
    transition: border-color .3s, box-shadow .3s;
}
.testi-card::before {
    content: '"';
    position: absolute;
    top: 12px; right: 18px;
    font-size: 5.5rem;
    font-family: Georgia, serif;
    color: rgba(201,168,75,.07);
    line-height: 1;
    font-weight: 900;
}
.testi-card:hover { border-color: var(--g-bdr); box-shadow: var(--sh-gold); }

.testi-stars { color: var(--g); font-size: .82rem; letter-spacing: 2px; margin-bottom: 14px; }
.testi-text { font-size: .875rem; color: var(--t-inv2); line-height: 1.78; margin-bottom: 24px; font-style: italic; }

.testi-foot {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-top: 18px;
    border-top: 1px solid var(--bdr-d);
}
.testi-av {
    width: 42px; height: 42px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: .88rem; font-weight: 800; color: var(--d0);
    font-family: var(--fh); flex-shrink: 0;
}
.testi-name { font-size: .88rem; font-weight: 700; color: #fff; font-family: var(--fh); }
.testi-role { font-size: .74rem; color: var(--t-inv2); }

/* ══════════════════════════════════════════════════════
   PRICING (soft)
══════════════════════════════════════════════════════ */
.price-card {
    background: #fff;
    border: 1.5px solid var(--bdr-l);
    border-radius: var(--r-xl);
    padding: 40px 32px;
    text-align: center;
    position: relative;
    height: 100%;
    transition: box-shadow .3s, transform .3s;
}
.price-card:not(.featured-plan):hover { box-shadow: 0 14px 48px rgba(6,7,14,.1); transform: translateY(-4px); }

.price-card.featured-plan {
    border: 2px solid transparent;
    background: linear-gradient(#fff, #fff) padding-box,
                linear-gradient(145deg, var(--g-light), var(--g), var(--g-dark)) border-box;
    box-shadow: 0 12px 52px rgba(201,168,75,.18);
}

.price-badge {
    position: absolute;
    top: -14px; left: 50%; transform: translateX(-50%);
    background: linear-gradient(135deg, var(--g-light), var(--g));
    color: var(--d0);
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    padding: 5px 18px;
    border-radius: 50px;
    white-space: nowrap;
    font-family: var(--fh);
    box-shadow: 0 4px 16px rgba(201,168,75,.36);
}

.price-plan { font-size: .68rem; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--t-mute); font-family: var(--fh); margin-bottom: 12px; }
.featured-plan .price-plan { color: var(--g-dark); }

.price-amt { font-size: 3.2rem; font-weight: 900; color: var(--t-dk); line-height: 1; letter-spacing: -2px; font-family: var(--fh); }
.price-amt sup { font-size: 1.2rem; font-weight: 600; vertical-align: super; letter-spacing: 0; }
.price-per { font-size: .79rem; color: var(--t-mute); margin: 8px 0 28px; }

.price-hr { height: 1px; background: var(--bdr-l); margin: 0 0 24px; }

.price-list { list-style: none; padding: 0; margin: 0 0 32px; text-align: left; }
.price-list li { font-size: .86rem; color: #334155; padding: 8px 0; border-bottom: 1px solid var(--l1); display: flex; align-items: center; gap: 10px; }
.price-list li:last-child { border-bottom: none; }
.pl-yes { color: var(--green); font-weight: 800; }
.pl-no  { color: #CBD5E1; }

.btn-price-gold {
    display: block; width: 100%; padding: 13px; border-radius: 10px;
    background: linear-gradient(135deg, var(--g-light), var(--g));
    color: var(--d0); font-weight: 700; font-size: .88rem;
    text-align: center; text-decoration: none; font-family: var(--fh);
    box-shadow: 0 4px 16px rgba(201,168,75,.3);
    transition: transform .2s, box-shadow .2s;
}
.btn-price-gold:hover { transform: translateY(-1px); box-shadow: 0 8px 24px rgba(201,168,75,.42); color: var(--d0); text-decoration: none; }

.btn-price-outline {
    display: block; width: 100%; padding: 13px; border-radius: 10px;
    border: 1.5px solid var(--bdr-l);
    color: var(--t-dk); font-weight: 600; font-size: .88rem;
    text-align: center; text-decoration: none; font-family: var(--fh);
    transition: border-color .2s, background .2s;
}
.btn-price-outline:hover { border-color: var(--g-bdr); background: var(--g-alpha); color: var(--t-dk); text-decoration: none; }

/* ══════════════════════════════════════════════════════
   CTA BAND — Luxury gold-dark signature section
══════════════════════════════════════════════════════ */
#cta-band {
    background: var(--d0);
    padding: 90px 0;
    position: relative;
    z-index: 1;      /* establish stacking context above neighbouring sections */
    overflow: hidden;
}
#cta-band::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, var(--g) 50%, transparent 100%);
}
#cta-band::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, var(--g) 50%, transparent 100%);
}
.cta-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(100px);
    pointer-events: none;
    z-index: 0;
}
.cta-orb-1 { width: 500px; height: 500px; background: radial-gradient(circle, rgba(201,168,75,.05) 0%, transparent 70%); top: -150px; right: -100px; }
.cta-orb-2 { width: 400px; height: 400px; background: radial-gradient(circle, rgba(75,124,247,.05) 0%, transparent 70%); bottom: -100px; left: -100px; }

.cta-inner { position: relative; z-index: 2; }
.cta-h { font-size: clamp(1.9rem,3.5vw,2.7rem); font-weight: 900; letter-spacing: -1px; line-height: 1.2; font-family: var(--fh); color: #fff; margin-bottom: 14px; }
.cta-h .cta-g { background: linear-gradient(90deg, var(--g-light), var(--g)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.cta-p { font-size: .975rem; color: var(--t-inv2); max-width: 440px; line-height: 1.72; }

/* ══════════════════════════════════════════════════════
   FAQ (white)
══════════════════════════════════════════════════════ */
.faq-item {
    border: 1.5px solid var(--bdr-l);
    border-radius: var(--r);
    margin-bottom: 10px;
    overflow: hidden;
    transition: border-color .25s, box-shadow .25s;
}
.faq-item.open { border-color: var(--g-bdr); box-shadow: 0 0 0 3px var(--g-alpha); }

.faq-q {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 24px;
    cursor: pointer;
    font-size: .92rem;
    font-weight: 600;
    color: var(--t-dk);
    font-family: var(--fh);
    user-select: none;
    letter-spacing: -.1px;
}
.faq-icon {
    width: 28px; height: 28px;
    border-radius: 50%;
    border: 1.5px solid var(--bdr-l);
    display: flex; align-items: center; justify-content: center;
    font-size: 1rem; color: var(--t-mute);
    flex-shrink: 0;
    transition: background .25s, border-color .25s, transform .35s;
    line-height: 1;
}
.faq-item.open .faq-icon { background: var(--g); border-color: var(--g); color: var(--d0); transform: rotate(45deg); }

.faq-a {
    max-height: 0;
    overflow: hidden;
    transition: max-height .4s ease, padding .3s;
    padding: 0 24px;
    font-size: .875rem;
    color: var(--t-mute);
    line-height: 1.78;
}
.faq-item.open .faq-a { max-height: 400px; padding: 0 24px 22px; }

/* ══════════════════════════════════════════════════════
   CONTACT (dark)
══════════════════════════════════════════════════════ */
.contact-grid {
    display: grid;
    grid-template-columns: 1fr 1.6fr;
    gap: 56px;
    align-items: start;
}
@media(max-width:991px){ .contact-grid{ grid-template-columns:1fr; gap:40px; } }

.cl-h { font-size: 1.8rem; font-weight: 800; color: #fff; font-family: var(--fh); letter-spacing: -.75px; line-height: 1.25; margin-bottom: 14px; }
.cl-p { font-size: .9rem; color: var(--t-inv2); line-height: 1.75; margin-bottom: 36px; }

.cl-row { display: flex; align-items: center; gap: 16px; margin-bottom: 20px; }
.cl-ico { width: 44px; height: 44px; border-radius: 12px; background: var(--g-alpha); border: 1px solid var(--g-bdr); color: var(--g); display: flex; align-items: center; justify-content: center; font-size: 1.1rem; flex-shrink: 0; }
.cl-lbl { font-size: .7rem; color: var(--t-mute); font-weight: 500; text-transform: uppercase; letter-spacing: .5px; font-family: var(--fh); }
.cl-val { font-size: .88rem; font-weight: 600; color: var(--t-inv); }

.contact-form-card {
    background: rgba(255,255,255,.03);
    border: 1px solid var(--bdr-d);
    border-radius: var(--r-xl);
    padding: 40px;
    backdrop-filter: blur(8px);
}
@media(max-width:576px){ .contact-form-card{ padding:28px 20px; } }

.f-lbl { display: block; font-size: .77rem; font-weight: 600; color: var(--t-inv2); margin-bottom: 7px; font-family: var(--fh); }
.f-fld {
    width: 100%;
    background: rgba(255,255,255,.05);
    border: 1px solid var(--bdr-d);
    border-radius: 9px;
    padding: 12px 16px;
    font-size: .875rem;
    color: var(--t-inv);
    font-family: var(--fb);
    outline: none;
    transition: border-color .2s, box-shadow .2s, background .2s;
}
.f-fld:focus { border-color: var(--g-bdr); background: rgba(255,255,255,.07); box-shadow: 0 0 0 3px var(--g-alpha); }
.f-fld::placeholder { color: var(--t-mute); }
.f-fld option { background: var(--d1); color: var(--t-inv); }

.btn-submit {
    width: 100%; padding: 14px; border: none; border-radius: 10px;
    background: linear-gradient(135deg, var(--g-light), var(--g) 55%, var(--g-dark));
    color: var(--d0); font-size: .93rem; font-weight: 700;
    font-family: var(--fh); cursor: pointer;
    box-shadow: 0 4px 22px rgba(201,168,75,.36);
    transition: transform .22s, box-shadow .22s, opacity .2s;
    letter-spacing: .15px;
}
.btn-submit:hover { transform: translateY(-2px); box-shadow: 0 9px 32px rgba(201,168,75,.5); }
.btn-submit:disabled { opacity: .6; cursor: not-allowed; transform: none; }

.f-alert { border-radius: 10px; padding: 13px 18px; font-size: .855rem; font-weight: 500; margin-bottom: 20px; display: flex; align-items: center; gap: 10px; }
.f-ok  { background: rgba(16,185,129,.08); color: #34D399; border: 1px solid rgba(16,185,129,.25); }
.f-err { background: rgba(239,68,68,.08);  color: #F87171; border: 1px solid rgba(239,68,68,.25); }

/* ══════════════════════════════════════════════════════
   FOOTER
══════════════════════════════════════════════════════ */
#footer { background: var(--d0); padding: 80px 0 0; border-top: 1px solid var(--bdr-d); }

.ft-logo { font-size: 1.45rem; font-weight: 800; color: #fff; font-family: var(--fh); letter-spacing: -.75px; margin-bottom: 12px; }
.ft-logo .la { color: var(--g); }
.ft-about { font-size: .845rem; color: var(--t-mute); line-height: 1.75; max-width: 260px; margin-bottom: 24px; }

.ft-social { display: flex; gap: 9px; }
.ft-social a {
    width: 36px; height: 36px; border-radius: 9px;
    background: rgba(255,255,255,.05); border: 1px solid var(--bdr-d);
    display: flex; align-items: center; justify-content: center;
    color: var(--t-mute); font-size: .88rem; text-decoration: none;
    font-weight: 700; font-family: var(--fh);
    transition: background .2s, border-color .2s, color .2s;
}
.ft-social a:hover { background: var(--g); border-color: var(--g); color: var(--d0); }

.ft-col-hd { font-size: .68rem; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: var(--t-inv2); font-family: var(--fh); margin-bottom: 18px; }
.ft-nav { list-style: none; padding: 0; margin: 0; }
.ft-nav li { margin-bottom: 11px; }
.ft-nav a { font-size: .845rem; color: var(--t-mute); text-decoration: none; transition: color .2s; }
.ft-nav a:hover { color: var(--g); }

.ft-bottom {
    margin-top: 64px;
    padding: 24px 0;
    border-top: 1px solid var(--bdr-d);
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}
.ft-copy { font-size: .79rem; color: var(--t-mute); }
.ft-legal { display: flex; gap: 22px; }
.ft-legal a { font-size: .79rem; color: var(--t-mute); text-decoration: none; transition: color .2s; }
.ft-legal a:hover { color: var(--g); }

/* ══════════════════════════════════════════════════════
   LANGUAGE VISIBILITY HELPERS
══════════════════════════════════════════════════════ */
.t-id { display: none; }
body.lang-id .t-en { display: none !important; }
body.lang-id .t-id { display: block; }
span.t-id, a.t-id { display: none; }
body.lang-id span.t-en, body.lang-id a.t-en { display: none !important; }
body.lang-id span.t-id, body.lang-id a.t-id { display: inline; }

/* ══════════════════════════════════════════════════════
   PRODUCT PREVIEW
══════════════════════════════════════════════════════ */
.pv-browser {
    border-radius: 16px; overflow: hidden;
    border: 1px solid rgba(255,255,255,.1);
    box-shadow: 0 40px 100px rgba(0,0,0,.55);
    background: #0E0F1A;
}
.pvb-chrome {
    background: #16172A; border-bottom: 1px solid rgba(255,255,255,.07);
    padding: 10px 16px; display: flex; align-items: center; gap: 12px;
}
.pvb-dots { display: flex; gap: 6px; flex-shrink: 0; }
.pvb-dots span { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
.pvb-dots span:nth-child(1){background:#FF5F57}
.pvb-dots span:nth-child(2){background:#FEBC2E}
.pvb-dots span:nth-child(3){background:#28C840}
.pvb-addr {
    flex: 1; background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.07); border-radius: 6px;
    height: 26px; display: flex; align-items: center; padding: 0 12px;
    font-size: .7rem; color: #5E6A80; font-family: monospace; transition: color .3s;
}
.pvb-ctrl { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.pvb-video {
    background: rgba(201,168,75,.08); border: 1px solid rgba(201,168,75,.18);
    color: var(--g); font-size: .75rem; font-weight: 700; font-family: var(--fh);
    padding: 5px 14px; border-radius: 6px; cursor: pointer; text-decoration: none;
    display: inline-flex; align-items: center; gap: 6px;
    transition: background .2s; white-space: nowrap;
}
.pvb-video:hover { background: rgba(201,168,75,.14); color: var(--g); text-decoration: none; }
.pv-tabs {
    background: #111220; border-bottom: 1px solid rgba(255,255,255,.06);
    display: flex; overflow-x: auto; scrollbar-width: none; padding: 0 8px;
}
.pv-tabs::-webkit-scrollbar { display: none; }
.pvt {
    background: none; border: none; border-bottom: 2px solid transparent;
    color: #5E6A80; font-size: .8rem; font-weight: 600; font-family: var(--fh);
    padding: 10px 18px; cursor: pointer; white-space: nowrap;
    display: inline-flex; align-items: center; gap: 7px;
    transition: color .2s, border-color .2s; flex-shrink: 0;
}
.pvt:hover { color: #8D9BB4; }
.pvt.active { color: #fff; border-bottom-color: var(--g); }
.pvt-dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }
.pv-screen { position: relative; height: 440px; overflow: hidden; background: #F4F6FB; }
.sp { position: absolute; inset: 0; display: none; }
.sp.active { display: flex; }
.app-sb {
    width: 158px; background: #1A1F35; flex-shrink: 0;
    display: flex; flex-direction: column; height: 100%; overflow: hidden;
}
.asb-logo {
    padding: 14px 16px 12px; font-size: .9rem; font-weight: 800; color: #fff;
    font-family: var(--fh); letter-spacing: -.5px;
    border-bottom: 1px solid rgba(255,255,255,.06);
}
.asb-logo span { color: var(--g); }
.asb-module-tag {
    padding: 10px 16px 4px; font-size: .57rem; font-weight: 700;
    letter-spacing: 1.5px; text-transform: uppercase;
    color: rgba(255,255,255,.28); font-family: var(--fh);
}
.asb-nav { padding: 6px 8px; flex: 1; }
.asb-item {
    display: flex; align-items: center; gap: 8px; padding: 7px 9px;
    border-radius: 7px; font-size: .76rem; font-weight: 500;
    color: rgba(255,255,255,.38); font-family: var(--fh); margin-bottom: 2px; cursor: default;
}
.asb-item.active { background: rgba(201,168,75,.1); color: var(--g-light); font-weight: 600; }
.asb-icon { font-size: .78rem; width: 16px; text-align: center; flex-shrink: 0; }
.app-main { flex: 1; background: #F4F6FB; display: flex; flex-direction: column; overflow: hidden; }
.app-topbar {
    background: #fff; border-bottom: 1px solid #E8ECF4; padding: 10px 18px;
    display: flex; align-items: center; gap: 10px; flex-shrink: 0;
}
.app-page-title { font-size: .88rem; font-weight: 700; color: #111827; font-family: var(--fh); flex: 1; }
.app-breadcrumb { font-size: .68rem; color: #9CA3AF; font-family: var(--fh); white-space: nowrap; }
.ab-btn {
    background: #F4F6FB; border: 1px solid #E8ECF4; color: #374151;
    font-size: .7rem; font-weight: 600; font-family: var(--fh);
    padding: 5px 11px; border-radius: 6px; cursor: default; white-space: nowrap;
}
.ab-btn-primary {
    background: linear-gradient(135deg, var(--g-light), var(--g));
    border: none; color: var(--d0); font-size: .7rem; font-weight: 700;
    font-family: var(--fh); padding: 5px 11px; border-radius: 6px; cursor: default; white-space: nowrap;
}
.app-body { flex: 1; padding: 14px 18px; overflow: hidden; }
.kpi-row { display: grid; grid-template-columns: repeat(4,1fr); gap: 9px; margin-bottom: 12px; }
.km { background: #fff; border: 1px solid #E8ECF4; border-radius: 9px; padding: 10px 13px; }
.km-v { font-size: 1.12rem; font-weight: 800; color: #111827; font-family: var(--fh); letter-spacing: -.4px; line-height: 1; }
.km-l { font-size: .61rem; color: #6B7280; margin-top: 4px; font-family: var(--fh); }
.km-d { font-size: .6rem; font-weight: 600; margin-top: 2px; }
.km-d.up { color: #10B981; } .km-d.down { color: #EF4444; } .km-d.neutral { color: #9CA3AF; }
.dt { background: #fff; border: 1px solid #E8ECF4; border-radius: 9px; overflow: hidden; }
.dt-hd {
    display: grid; padding: 8px 13px; background: #F9FAFB;
    border-bottom: 1px solid #E8ECF4; font-size: .6rem; font-weight: 700;
    color: #9CA3AF; text-transform: uppercase; letter-spacing: .5px; font-family: var(--fh);
}
.dt-r {
    display: grid; padding: 8px 13px; border-bottom: 1px solid #F3F4F6;
    align-items: center; font-size: .74rem; color: #374151; font-family: var(--fh);
}
.dt-r:last-child { border-bottom: none; }
.dt-av { display: flex; align-items: center; gap: 7px; }
.mini-av {
    width: 22px; height: 22px; border-radius: 6px; font-size: .58rem;
    font-weight: 800; color: #fff; font-family: var(--fh);
    display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.dt-name { font-weight: 600; color: #111827; }
.badge {
    display: inline-flex; align-items: center; padding: 2px 8px;
    border-radius: 50px; font-size: .6rem; font-weight: 700; font-family: var(--fh);
}
.badge-green  { background: rgba(16,185,129,.1); color: #059669; }
.badge-yellow { background: rgba(245,158,11,.1);  color: #D97706; }
.badge-red    { background: rgba(239,68,68,.1);   color: #DC2626; }
.badge-blue   { background: rgba(75,124,247,.1);  color: #2563EB; }
.badge-purple { background: rgba(139,92,246,.1);  color: #7C3AED; }
.badge-gray   { background: rgba(107,114,128,.1); color: #4B5563; }
.hotspot { position: absolute; z-index: 10; }
.hs-ring {
    position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
    width: 26px; height: 26px; border-radius: 50%; border: 2px solid var(--g);
    opacity: .5; animation: hsPulse 2.2s ease-in-out infinite;
}
.hs-dot {
    width: 11px; height: 11px; border-radius: 50%; background: var(--g);
    border: 2px solid #fff; box-shadow: 0 0 8px rgba(201,168,75,.7);
    cursor: pointer; position: relative; z-index: 1;
}
@keyframes hsPulse {
    0%,100% { transform:translate(-50%,-50%) scale(1); opacity:.5; }
    50%      { transform:translate(-50%,-50%) scale(1.7); opacity:0; }
}
.hs-tip {
    position: absolute; bottom: calc(100% + 8px); left: 50%;
    transform: translateX(-50%);
    background: #080914; border: 1px solid rgba(201,168,75,.25);
    color: #E8EFF8; font-size: .7rem; font-weight: 600; font-family: var(--fh);
    padding: 6px 12px; border-radius: 8px; white-space: nowrap;
    box-shadow: 0 6px 24px rgba(0,0,0,.5); pointer-events: none;
    opacity: 0; transition: opacity .2s;
}
.hs-tip::after {
    content: ''; position: absolute; top: 100%; left: 50%;
    transform: translateX(-50%); border: 5px solid transparent;
    border-top-color: rgba(201,168,75,.25);
}
.hotspot:hover .hs-tip { opacity: 1; }
.pv-bottom {
    display: flex; align-items: center; justify-content: space-between;
    margin-top: 44px; gap: 40px; flex-wrap: wrap;
}
.pv-bottom-left { flex: 1; min-width: 260px; }
.pv-bottom-left h3 {
    font-size: 1.2rem; font-weight: 800; color: #fff;
    font-family: var(--fh); letter-spacing: -.4px; margin-bottom: 10px;
}
.pv-bottom-left p { font-size: .875rem; color: var(--t-inv2); line-height: 1.72; margin-bottom: 20px; max-width: 380px; }
.btn-video-lg {
    display: inline-flex; align-items: center; gap: 12px;
    background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14);
    color: #fff; font-size: .875rem; font-weight: 600; font-family: var(--fh);
    padding: 11px 22px; border-radius: 10px; text-decoration: none;
    transition: background .2s, border-color .2s;
}
.btn-video-lg:hover { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.25); color: #fff; text-decoration: none; }
.btn-video-icon {
    width: 30px; height: 30px; border-radius: 50%; background: var(--g);
    display: flex; align-items: center; justify-content: center;
    font-size: .75rem; color: var(--d0); flex-shrink: 0;
}
.pv-mobile-frame {
    width: 178px; background: #1A1B26; border-radius: 28px;
    border: 6px solid #2A2B36; overflow: hidden; flex-shrink: 0;
    box-shadow: 0 20px 60px rgba(0,0,0,.5);
}
.pmf-notch { height: 18px; background: #111220; display: flex; align-items: center; justify-content: center; }
.pmf-notch-pill { width: 56px; height: 5px; background: #2A2B36; border-radius: 3px; }
.pmf-screen { background: #F4F6FB; padding: 7px; }
.pmf-topbar {
    background: #fff; border-radius: 6px; padding: 5px 8px;
    display: flex; align-items: center; gap: 6px; margin-bottom: 5px; border: 1px solid #E8ECF4;
}
.pmf-logo { font-size: .55rem; font-weight: 800; color: #111827; font-family: var(--fh); }
.pmf-avatar { width: 13px; height: 13px; border-radius: 50%; background: linear-gradient(135deg, var(--g-light), var(--g)); margin-left: auto; }
.pmf-kpi-row { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin-bottom: 5px; }
.pmf-kpi { background: #fff; border-radius: 5px; padding: 5px 6px; border: 1px solid #E8ECF4; }
.pmf-kpi-v { font-size: .62rem; font-weight: 800; color: #111827; font-family: var(--fh); }
.pmf-kpi-l { font-size: .48rem; color: #9CA3AF; font-family: var(--fh); }
.pmf-chart { background: #fff; border-radius: 5px; padding: 6px 7px; border: 1px solid #E8ECF4; }
.pmf-bar-row { display: flex; align-items: flex-end; gap: 2px; height: 26px; margin-top: 3px; }
.pmf-bar-row div { flex: 1; border-radius: 2px 2px 0 0; opacity: .85; }
@media(max-width:767px) {
    .pv-screen { height: 360px; }
    .app-sb { width: 110px; }
    .kpi-row { grid-template-columns: 1fr 1fr; gap: 7px; }
    .kpi-row .km:nth-child(3),.kpi-row .km:nth-child(4) { display: none; }
    .pv-bottom { flex-direction: column; align-items: flex-start; }
    .pv-mobile-frame { display: none; }
}
@media(max-width:576px) {
    .pv-screen { height: 300px; }
    .app-sb { display: none; }
    .pvb-video { display: none; }
}

/* ══════════════════════════════════════════════════════
   BILLING TOGGLE
══════════════════════════════════════════════════════ */
.billing-switch {
    display: inline-flex;
    background: var(--l2);
    border: 1.5px solid var(--bdr-l);
    border-radius: 50px;
    padding: 4px;
    gap: 2px;
}
.bsw-btn {
    border: none;
    background: transparent;
    border-radius: 50px;
    padding: 9px 22px;
    font-size: .84rem;
    font-weight: 600;
    color: var(--t-mute);
    cursor: pointer;
    font-family: var(--fh);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: background .22s, color .22s, box-shadow .22s;
    -webkit-tap-highlight-color: transparent;
}
.bsw-btn.active {
    background: #fff;
    color: var(--t-dk);
    box-shadow: 0 2px 12px rgba(6,7,14,.1);
}
.hemat-badge {
    background: linear-gradient(135deg, var(--g-light), var(--g));
    color: var(--d0);
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .5px;
    padding: 3px 9px;
    border-radius: 50px;
    white-space: nowrap;
    font-family: var(--fh);
}

/* Annual billing period helper lines */
.p-annual  { display: none; }
.pp-annual { display: none; }
.price-amt .pdec { font-size: 1.4rem; font-weight: 700; letter-spacing: 0; }

/* Annual card ribbon */
.annual-ribbon {
    display: none;
    position: absolute;
    top: 14px; right: -4px;
    background: linear-gradient(135deg, var(--g-light), var(--g));
    color: var(--d0);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .4px;
    padding: 4px 12px 4px 10px;
    border-radius: 4px 0 0 4px;
    font-family: var(--fh);
}
.billing-annual .annual-ribbon { display: block; }
.billing-annual .p-monthly  { display: none; }
.billing-annual .p-annual   { display: inline; }
.billing-annual .pp-monthly { display: none; }
.billing-annual .pp-annual  { display: inline; }

/* PPN notice */
.ppn-notice {
    font-size: .78rem;
    color: var(--t-mute);
    font-family: var(--fh);
    font-weight: 500;
    margin-top: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}
.ppn-notice::before {
    content: '※';
    color: var(--g);
    font-size: .8rem;
}

/* ══════════════════════════════════════════════════════
   LANGUAGE PILL
══════════════════════════════════════════════════════ */
.lang-pill {
    display: inline-flex;
    align-items: center;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 50px;
    padding: 3px;
    gap: 0;
    flex-shrink: 0;
}
#kt_header.solid .lang-pill {
    background: rgba(255,255,255,.08);
    border-color: var(--bdr-d);
}
.lp-opt {
    background: transparent;
    border: none;
    color: rgba(255,255,255,.55);
    font-size: .72rem;
    font-weight: 700;
    font-family: var(--fh);
    letter-spacing: .5px;
    padding: 5px 10px;
    border-radius: 50px;
    cursor: pointer;
    transition: background .2s, color .2s;
    line-height: 1;
    -webkit-tap-highlight-color: transparent;
}
.lp-opt.active {
    background: rgba(255,255,255,.15);
    color: #fff;
}
.lp-opt:hover:not(.active) { color: rgba(255,255,255,.8); }

/* ══════════════════════════════════════════════════════
   RESULT TAG (testimonials)
══════════════════════════════════════════════════════ */
.result-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(201,168,75,.08);
    border: 1px solid rgba(201,168,75,.22);
    color: var(--g-light);
    font-size: .69rem;
    font-weight: 700;
    padding: 4px 12px;
    border-radius: 50px;
    font-family: var(--fh);
    letter-spacing: .25px;
    margin-bottom: 14px;
}
.result-tag::before { content: '↑'; color: #4ADE80; }

/* ══════════════════════════════════════════════════════
   CLIENT LOGO ITEMS (marquee redesign)
══════════════════════════════════════════════════════ */
.cl-logo-item {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 0 24px;
    flex-shrink: 0;
    height: 56px;
}
.cl-logo-badge {
    background: rgba(255,255,255,.035);
    border: 1px solid var(--bdr-d);
    border-radius: 10px;
    padding: 10px 16px;
    display: flex;
    align-items: center;
    gap: 11px;
    white-space: nowrap;
    transition: border-color .22s, background .22s;
    cursor: default;
}
.cl-logo-badge:hover {
    border-color: rgba(201,168,75,.18);
    background: rgba(255,255,255,.055);
}
.cl-logo-init {
    width: 30px; height: 30px;
    border-radius: 7px;
    display: flex; align-items: center; justify-content: center;
    font-weight: 800; font-size: .76rem;
    font-family: var(--fh); flex-shrink: 0;
    letter-spacing: -.3px;
}
.cl-logo-info { display: flex; flex-direction: column; gap: 2px; }
.cl-logo-name { font-size: .8rem; font-weight: 600; color: var(--t-inv2); font-family: var(--fh); }
.cl-logo-cat  { font-size: .63rem; color: var(--t-mute); font-family: var(--fh); letter-spacing: .2px; }

/* ══════════════════════════════════════════════════════
   SECURITY BADGE (features)
══════════════════════════════════════════════════════ */
.feat-card .sec-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: rgba(16,185,129,.08);
    border: 1px solid rgba(16,185,129,.2);
    color: #34D399;
    font-size: .62rem;
    font-weight: 700;
    padding: 3px 9px;
    border-radius: 50px;
    font-family: var(--fh);
    margin-top: 12px;
    letter-spacing: .3px;
}

/* ══════════════════════════════════════════════════════
   RESPONSIVE — Mobile-first fixes
══════════════════════════════════════════════════════ */

/* ── Tablet ≤ 991px ──────────────────────────────── */
@media(max-width:991px){
    /* Navbar */
    .nav-links, .nav-actions { display: none !important; }
    .mob-toggle { display: flex; }

    /* Hero — stacks to single column, panel drops below copy */
    #hero { padding: 110px 0 80px; min-height: auto; }
    .hero-h1 { font-size: 2.2rem; letter-spacing: -.75px; }
    .hero-p  { max-width: 100%; }
    .hero-panel-wrap { margin-top: 52px; }
    /* orbs too wide for tablet — shrink */
    .orb-1 { width: 400px; height: 400px; }
    .orb-2 { width: 340px; height: 340px; }
    .orb-3 { display: none; }

    /* How it works */
    .how-panel { margin-top: 40px; }

    /* CTA band */
    .cta-p { max-width: 100%; }
}

/* ── Large phone / landscape ≤ 767px ─────────────── */
@media(max-width:767px){
    .sec { padding: 64px 0; }

    /* Stats: wrap 2-per-row */
    .stat-sep { display: none; }
    #stats .d-flex { flex-wrap: wrap; gap: 28px 0; justify-content: center !important; }
    .stat-box { min-width: 45%; padding: 0 16px; }

    /* Hero */
    #hero { padding: 96px 0 64px; }
    .trust-row { gap: 12px; }

    /* Section titles */
    .sec-title { font-size: 1.9rem; }

    /* How-it-works panel */
    .how-panel-body { padding: 18px; }
    .act-txt { font-size: .76rem; }

    /* Footer */
    #footer { padding: 56px 0 0; }
    .ft-about { max-width: 100%; }
}

/* ── Phone ≤ 576px ───────────────────────────────── */
@media(max-width:576px){
    /* ─ Navbar ─ */
    #kt_header { height: 60px !important; }
    .mob-menu  { top: 60px; max-height: calc(100vh - 60px); padding: 16px 18px 24px; }
    .nav-logo  { font-size: 1.3rem; }

    /* ─ Hero ─ */
    #hero {
        padding: 88px 0 56px; /* 60px header + 28px gap */
        min-height: auto;
        align-items: flex-start;
    }
    /* hide giant orbs — too costly on mobile */
    .orb-1, .orb-2, .orb-3 { display: none; }
    /* simple gradient fallback */
    #hero::after {
        content: '';
        position: absolute;
        inset: 0;
        background: radial-gradient(ellipse at 80% 10%, rgba(75,124,247,.18) 0%, transparent 60%),
                    radial-gradient(ellipse at 10% 90%, rgba(139,92,246,.12) 0%, transparent 60%);
        pointer-events: none;
    }

    .hero-eyebrow { font-size: .66rem; gap: 8px; margin-bottom: 18px; }
    .eline { width: 28px; }
    .hero-h1 { font-size: 1.8rem; letter-spacing: -.4px; line-height: 1.15; margin-bottom: 16px; }
    .hero-p  { font-size: .9rem; margin-bottom: 24px; }
    .float-badge { display: none; }

    /* Buttons: stack full-width */
    .hero-cta-wrap { flex-direction: column; gap: 10px !important; }
    .hero-cta-wrap .btn-gold,
    .hero-cta-wrap .btn-glass {
        width: 100%;
        justify-content: center;
        text-align: center;
        padding: 14px 20px;
    }

    /* Trust row */
    .trust-row { gap: 8px; margin-top: 24px; }
    .trust-item { font-size: .71rem; }
    .trust-dot  { width: 4px; height: 4px; }

    /* Hero panel: compact */
    .hero-panel-wrap { margin-top: 36px; }
    .hero-panel { padding: 16px; border-radius: 16px; }
    .panel-top { padding-bottom: 13px; margin-bottom: 14px; }
    .kpi-grid { gap: 8px; margin-bottom: 12px; grid-template-columns: 1fr 1fr; }
    .kpi-card { padding: 10px 12px; border-radius: 9px; }
    .kpi-lbl  { font-size: .57rem; margin-bottom: 5px; }
    .kpi-val  { font-size: 1.15rem; }
    .kpi-delta { font-size: .61rem; margin-top: 3px; }
    .chart-section { display: none; }

    /* ─ Stats ─ */
    #stats { padding: 44px 0; }
    .stat-box { min-width: 48%; padding: 0 10px; }
    .stat-num { font-size: 2rem; letter-spacing: -1px; }
    .stat-cap { font-size: .74rem; }
    .stat-num { font-size: 2rem; letter-spacing: -1px; }
    .stat-cap { font-size: .75rem; }

    /* ─ Clients ─ */
    #clients { padding: 36px 0; }

    /* ─ Sections ─ */
    .sec { padding: 56px 0; }
    .sec-title { font-size: 1.72rem; letter-spacing: -.4px; }
    .sec-sub { font-size: .9rem; }

    /* ─ Products ─ */
    .prod-card { padding: 22px 18px 20px; border-radius: 14px; }
    .prod-icon { width: 44px; height: 44px; font-size: 1.2rem; margin-bottom: 14px; border-radius: 11px; }
    .prod-feats { display: none; } /* hide bullet list, keep description */

    /* ─ How it works ─ */
    .how-step { gap: 14px; margin-bottom: 32px; }
    .how-step::before { left: 18px; }
    .how-num { width: 38px; height: 38px; font-size: .84rem; border-radius: 10px; }
    .how-content h4 { font-size: .9rem; padding-top: 7px; }
    .how-content p { font-size: .82rem; }
    .how-panel-bar .hpb-url { display: none; }
    .act-txt { font-size: .75rem; }
    .act-bdg { display: none; } /* hide right-side badges on tiny screens */
    .panel-sum { padding: 12px 14px; }
    .ps-lbl { font-size: .72rem; }
    .ps-val { font-size: .95rem; }

    /* ─ Features ─ */
    .feat-card { padding: 22px 18px; border-radius: 10px; }
    .feat-icon { width: 40px; height: 40px; font-size: 1.15rem; border-radius: 10px; }

    /* ─ Testimonials ─ */
    .testi-card { padding: 22px 18px; border-radius: 14px; }
    .testi-text { font-size: .845rem; }

    /* ─ Pricing ─ */
    .price-card { padding: 32px 22px 28px; }
    .price-amt  { font-size: 2.6rem; }

    /* ─ CTA Band ─ */
    #cta-band { padding: 68px 0; }
    .cta-h { font-size: 1.65rem; letter-spacing: -.5px; }
    .cta-p { font-size: .9rem; }
    /* buttons: full-width stack */
    .cta-btns { flex-direction: column !important; gap: 12px !important; }
    .cta-btns .btn-gold,
    .cta-btns .btn-glass { width: 100%; justify-content: center; }

    /* ─ FAQ ─ */
    .faq-q { font-size: .875rem; padding: 16px 18px; }
    .faq-a  { font-size: .845rem; }
    .faq-item.open .faq-a { padding: 0 18px 18px; }

    /* ─ Contact ─ */
    .cl-h { font-size: 1.5rem; letter-spacing: -.5px; }
    .contact-form-card { padding: 24px 18px; border-radius: 16px; }
    .btn-submit { font-size: .88rem; padding: 13px; }

    /* ─ Footer ─ */
    #footer { padding: 48px 0 0; }
    .ft-bottom { flex-direction: column; text-align: center; gap: 8px; }
    .ft-legal { justify-content: center; }
    .ft-social { margin-bottom: 8px; }
}
