/* =========================================================
   Home v2 — home2.css
   ========================================================= */

/* Reset contenitore GeneratePress */
body.page-template-home2 .site-content,
body.page-template-home2 #primary,
body.page-template-home2 #content,
body.page-template-home2 .content-area,
body.page-template-home2 article,
body.page-template-home2-php .site-content,
body.page-template-home2-php #primary,
body.page-template-home2-php #content,
body.page-template-home2-php .content-area,
body.page-template-home2-php article {
    background: #0a0a0a !important;
    padding: 0 !important; margin: 0 !important;
    max-width: 100% !important; width: 100% !important;
}

.pk-hm2-wrapper {
    --hm2-black: #0a0a0a;
    --hm2-dark: #141416;
    --hm2-card: rgba(255,255,255,0.03);
    --hm2-border: rgba(255,255,255,0.08);
    --hm2-red: #ff4444;
    --hm2-red-glow: rgba(255,68,68,0.25);
    --hm2-white: #ffffff;
    --hm2-gray: #cccccc;
    --hm2-gray-dark: #777777;
    --hm2-mono: ui-monospace, 'SF Mono', Menlo, Consolas, monospace;

    background: var(--hm2-black) !important;
    width: 100% !important; margin: 0 !important; padding: 0 !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    color: var(--hm2-white) !important; line-height: 1.6 !important;
    overflow-x: hidden !important;
}
.pk-hm2-wrapper * { box-sizing: border-box !important; }
.pk-hm2-wrapper h1, .pk-hm2-wrapper h2, .pk-hm2-wrapper h3,
.pk-hm2-wrapper p, .pk-hm2-wrapper a, .pk-hm2-wrapper li, .pk-hm2-wrapper span,
.pk-hm2-wrapper div, .pk-hm2-wrapper button, .pk-hm2-wrapper small, .pk-hm2-wrapper strong {
    font-family: inherit !important;
}
.pk-hm2-wrapper h1, .pk-hm2-wrapper h2, .pk-hm2-wrapper h3 { color: var(--hm2-white) !important; margin-top: 0 !important; }
.pk-hm2-wrapper p { color: var(--hm2-gray) !important; }
.pk-hm2-wrapper strong { color: var(--hm2-white) !important; }
.pk-hm2-wrapper a { text-decoration: none !important; }
.pk-hm2-wrapper svg { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.pk-hm2-wrapper ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }

/* LAYOUT */
.pk-hm2-wrapper .hm2-container { max-width: 1480px !important; margin: 0 auto !important; padding: 0 40px !important; position: relative !important; z-index: 2 !important; }
@media (max-width: 900px) { .pk-hm2-wrapper .hm2-container { padding: 0 20px !important; } }
.pk-hm2-wrapper .hm2-section { padding: 100px 0 !important; position: relative !important; }
.pk-hm2-wrapper .hm2-bg-black { background: var(--hm2-black) !important; }
.pk-hm2-wrapper .hm2-bg-dark { background: var(--hm2-dark) !important; }
.pk-hm2-wrapper .hm2-red { color: var(--hm2-red) !important; }
.pk-hm2-wrapper .hm2-center { text-align: center !important; margin-top: 50px !important; }

.pk-hm2-wrapper .hm2-title {
    font-size: 4rem !important; font-weight: 900 !important; text-align: center !important;
    line-height: 1.15 !important; margin-bottom: 20px !important;
    background: linear-gradient(135deg, #ffffff 0%, #cccccc 100%) !important;
    -webkit-background-clip: text !important; background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}
.pk-hm2-wrapper .hm2-subtitle {
    text-align: center !important; font-size: 1.8rem !important; line-height: 1.6 !important;
    max-width: 780px !important; margin: 0 auto 60px !important;
}

/* TAG */
.pk-hm2-wrapper .hm2-tag {
    display: inline-flex !important; align-items: center !important; gap: 8px !important;
    padding: 8px 20px !important; border-radius: 30px !important;
    font-family: var(--hm2-mono) !important; font-size: 1.4rem !important; font-weight: 700 !important;
    letter-spacing: 3px !important; margin-bottom: 25px !important;
}
.pk-hm2-wrapper .hm2-tag-red { background: var(--hm2-red) !important; color: #fff !important; }
.pk-hm2-wrapper .hm2-tag-outline { background: rgba(255,68,68,0.08) !important; color: var(--hm2-red) !important; border: 1px solid rgba(255,68,68,0.4) !important; }
.pk-hm2-wrapper .hm2-tag-center { display: flex !important; width: max-content !important; max-width: 100% !important; margin-left: auto !important; margin-right: auto !important; text-align: center !important; }

/* BUTTONS */
.pk-hm2-wrapper .hm2-btn {
    display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 10px !important;
    padding: 16px 40px !important; border-radius: 8px !important;
    font-size: 1.5rem !important; font-weight: 700 !important; letter-spacing: 1px !important;
    transition: transform .25s ease, background .25s ease, box-shadow .25s ease, color .25s ease !important;
    cursor: pointer !important; border: none !important;
}
.pk-hm2-wrapper .hm2-btn svg { width: 20px !important; height: 20px !important; }
.pk-hm2-wrapper .hm2-btn-primary { background: var(--hm2-red) !important; color: #fff !important; box-shadow: 0 4px 20px var(--hm2-red-glow) !important; }
.pk-hm2-wrapper .hm2-btn-primary:hover { background: #ff5555 !important; transform: translateY(-2px) !important; }
.pk-hm2-wrapper .hm2-btn-ghost { background: transparent !important; color: #fff !important; border: 2px solid rgba(255,255,255,0.5) !important; }
.pk-hm2-wrapper .hm2-btn-ghost:hover { background: #fff !important; color: #0a0a0a !important; }
.pk-hm2-wrapper .hm2-btn-white { background: #fff !important; color: #0a0a0a !important; }
.pk-hm2-wrapper .hm2-btn-white:hover { transform: translateY(-2px) !important; }
.pk-hm2-wrapper .hm2-btn-xl { padding: 22px 56px !important; font-size: 1.8rem !important; }

/* PLACEHOLDER */
.pk-hm2-wrapper .hm2-ph {
    width: 100% !important; height: 100% !important; min-height: 260px !important;
    display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important;
    gap: 8px !important; text-align: center !important; padding: 20px !important;
    background: repeating-linear-gradient(45deg, rgba(255,255,255,0.03) 0 12px, rgba(255,255,255,0.015) 12px 24px) !important;
    border: 2px dashed rgba(255,255,255,0.15) !important; border-radius: 16px !important;
}
.pk-hm2-wrapper .hm2-ph span { font-size: 1.5rem !important; font-weight: 700 !important; color: var(--hm2-gray) !important; }
.pk-hm2-wrapper .hm2-ph small { font-size: 1.4rem !important; font-family: var(--hm2-mono) !important; color: var(--hm2-gray-dark) !important; }

/* ================= HERO ================= */
.pk-hm2-wrapper .hm2-hero {
    position: relative !important; min-height: 92vh !important; display: flex !important; flex-direction: column !important; justify-content: center !important;
    padding: 140px 0 90px !important; overflow: hidden !important; background: #000 !important;
}
.pk-hm2-wrapper .hm2-hero-bg { position: absolute !important; inset: 0 !important; z-index: 0 !important; }
.pk-hm2-wrapper .hm2-hero-img { width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: center !important; display: block !important; animation: hm2-zoom 22s ease-out forwards !important; }
.pk-hm2-wrapper .hm2-hero-bg .hm2-ph { border-radius: 0 !important; border: none !important; }
@keyframes hm2-zoom { from { transform: scale(1.12); } to { transform: scale(1); } }
.pk-hm2-wrapper .hm2-hero::before {
    content: '' !important; position: absolute !important; inset: 0 !important; z-index: 1 !important;
    background:
        linear-gradient(90deg, rgba(0,0,0,0.92) 0%, rgba(0,0,0,0.7) 45%, rgba(0,0,0,0.2) 100%),
        linear-gradient(0deg, #0a0a0a 0%, rgba(10,10,10,0) 40%),
        radial-gradient(circle at 15% 55%, rgba(255,68,68,0.25) 0%, transparent 45%) !important;
}
.pk-hm2-wrapper .hm2-hero-inner { flex: 1 !important; display: flex !important; align-items: center !important; width: 100% !important; }
.pk-hm2-wrapper .hm2-hero-text { max-width: 780px !important; }
.pk-hm2-wrapper .hm2-hero-text h1 { font-size: 7rem !important; font-weight: 900 !important; line-height: 0.98 !important; letter-spacing: -2px !important; margin-bottom: 26px !important; }
.pk-hm2-wrapper .hm2-hero-what { display: flex !important; flex-wrap: wrap !important; align-items: center !important; gap: 14px !important; font-family: var(--hm2-mono) !important; font-size: 1.5rem !important; font-weight: 700 !important; letter-spacing: 3px !important; color: #fff !important; margin-bottom: 22px !important; }
.pk-hm2-wrapper .hm2-hero-what i { width: 7px !important; height: 7px !important; border-radius: 50% !important; background: var(--hm2-red) !important; box-shadow: 0 0 10px var(--hm2-red) !important; }
.pk-hm2-wrapper .hm2-lead { font-size: 2rem !important; line-height: 1.55 !important; color: #e6e6e6 !important; margin-bottom: 36px !important; max-width: 640px !important; }
.pk-hm2-wrapper .hm2-intro-cta { display: flex !important; flex-wrap: wrap !important; gap: 14px !important; }
.pk-hm2-wrapper .hm2-intro-cta .hm2-btn { padding: 16px 28px !important; }

/* ================= DUE STRADE ================= */
.pk-hm2-wrapper .hm2-ways { background: radial-gradient(circle at 50% 0%, rgba(255,68,68,0.08) 0%, transparent 50%), var(--hm2-black) !important; }
.pk-hm2-wrapper .hm2-ways .hm2-title { font-size: 4.8rem !important; line-height: 1.05 !important; }
.pk-hm2-wrapper .hm2-paths-join { display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; gap: 12px !important; position: relative !important; }
.pk-hm2-wrapper .hm2-paths-join::before { content: '' !important; position: absolute !important; top: 10% !important; bottom: 10% !important; left: 50% !important; width: 1px !important; background: linear-gradient(180deg, transparent, rgba(255,68,68,0.6), transparent) !important; }
.pk-hm2-wrapper .hm2-paths-join span { position: relative !important; width: 64px !important; height: 64px !important; border-radius: 50% !important; display: flex !important; align-items: center !important; justify-content: center !important; background: #0a0a0a !important; border: 2px solid var(--hm2-red) !important; color: var(--hm2-red) !important; box-shadow: 0 0 30px rgba(255,68,68,0.35) !important; }
.pk-hm2-wrapper .hm2-paths-join span svg { width: 30px !important; height: 30px !important; }
.pk-hm2-wrapper .hm2-paths-join small { position: relative !important; background: #0a0a0a !important; padding: 6px 0 !important; font-family: var(--hm2-mono) !important; font-size: 1.4rem !important; letter-spacing: 2px !important; color: #fff !important; text-align: center !important; line-height: 1.5 !important; }

.pk-hm2-wrapper .hm2-stats {
    display: grid !important; grid-template-columns: repeat(4, 1fr) !important; margin-top: 70px !important;
    border-top: 1px solid var(--hm2-border) !important; border-bottom: 1px solid var(--hm2-border) !important;
}
.pk-hm2-wrapper .hm2-stats > div { padding: 30px 20px !important; text-align: center !important; border-right: 1px solid var(--hm2-border) !important; }
.pk-hm2-wrapper .hm2-stats > div:last-child { border-right: none !important; }
.pk-hm2-wrapper .hm2-stats strong { display: block !important; font-family: var(--hm2-mono) !important; font-size: 3.4rem !important; font-weight: 800 !important; color: var(--hm2-red) !important; line-height: 1.1 !important; margin-bottom: 6px !important; }
.pk-hm2-wrapper .hm2-stats span { font-size: 1.4rem !important; color: var(--hm2-gray) !important; line-height: 1.4 !important; }

.pk-hm2-wrapper .hm2-paths { display: grid !important; grid-template-columns: 1fr 150px 1fr !important; gap: 0 !important; }
.pk-hm2-wrapper .hm2-path {
    position: relative !important; display: block !important; min-height: 380px !important; border-radius: 22px !important;
    overflow: hidden !important; border: 1px solid var(--hm2-border) !important; background: #000 !important;
    transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease !important;
}
.pk-hm2-wrapper .hm2-path:hover { transform: translateY(-6px) !important; border-color: rgba(255,68,68,0.5) !important; box-shadow: 0 25px 60px rgba(255,68,68,0.18) !important; }
.pk-hm2-wrapper .hm2-path-bg { position: absolute !important; inset: 0 !important; background-size: cover !important; background-position: center !important; opacity: 0.45 !important; transition: opacity .4s ease, transform .6s ease !important; }
.pk-hm2-wrapper .hm2-path:hover .hm2-path-bg { opacity: 0.6 !important; transform: scale(1.04) !important; }
.pk-hm2-wrapper .hm2-path::after { content: '' !important; position: absolute !important; inset: 0 !important; background: linear-gradient(180deg, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.9) 75%) !important; }
.pk-hm2-wrapper .hm2-path-body { position: absolute !important; left: 0 !important; right: 0 !important; bottom: 0 !important; z-index: 2 !important; padding: 40px !important; }
.pk-hm2-wrapper .hm2-path-ic { display: inline-flex !important; width: 56px !important; height: 56px !important; border-radius: 50% !important; align-items: center !important; justify-content: center !important; background: rgba(255,68,68,0.15) !important; color: var(--hm2-red) !important; margin-bottom: 18px !important; }
.pk-hm2-wrapper .hm2-path-ic svg { width: 28px !important; height: 28px !important; }
.pk-hm2-wrapper .hm2-path small { display: block !important; font-family: var(--hm2-mono) !important; font-size: 1.4rem !important; letter-spacing: 3px !important; color: var(--hm2-gray-dark) !important; margin-bottom: 8px !important; }
.pk-hm2-wrapper .hm2-path h3 { font-size: 2.8rem !important; font-weight: 900 !important; line-height: 1.15 !important; margin-bottom: 12px !important; }
.pk-hm2-wrapper .hm2-path p { font-size: 1.6rem !important; margin-bottom: 18px !important; max-width: 460px !important; }
.pk-hm2-wrapper .hm2-path-link, .pk-hm2-wrapper .hm2-card-link {
    display: inline-flex !important; align-items: center !important; gap: 8px !important;
    font-family: var(--hm2-mono) !important; font-size: 1.4rem !important; font-weight: 700 !important; letter-spacing: 2px !important; color: var(--hm2-red) !important;
}
.pk-hm2-wrapper .hm2-path-link svg, .pk-hm2-wrapper .hm2-card-link svg { width: 18px !important; height: 18px !important; transition: transform .25s ease !important; }
.pk-hm2-wrapper .hm2-path:hover .hm2-path-link svg, .pk-hm2-wrapper a:hover > .hm2-card-link svg, .pk-hm2-wrapper .hm2-card-link:hover svg { transform: translateX(5px) !important; }

/* foto prodotto in sovraimpressione sui box */
.pk-hm2-wrapper .hm2-path { overflow: visible !important; }
.pk-hm2-wrapper .hm2-path-bg, .pk-hm2-wrapper .hm2-path::after { border-radius: 22px !important; }
.pk-hm2-wrapper .hm2-path-bg { overflow: hidden !important; }
.pk-hm2-wrapper .hm2-path:hover .hm2-path-bg { transform: none !important; }
.pk-hm2-wrapper .hm2-path-prod { position: absolute !important; right: -30px !important; bottom: -34px !important; width: 52% !important; height: 72% !important; z-index: 3 !important; pointer-events: none !important; transition: transform .4s ease !important; }
.pk-hm2-wrapper .hm2-path-prod-img { width: 100% !important; height: 100% !important; object-fit: contain !important; object-position: right bottom !important; filter: drop-shadow(0 24px 34px rgba(0,0,0,0.75)) !important; }
.pk-hm2-wrapper .hm2-path-prod .hm2-ph { min-height: 0 !important; }
.pk-hm2-wrapper .hm2-path:hover .hm2-path-prod { transform: translateY(-8px) scale(1.03) !important; }
.pk-hm2-wrapper .hm2-path-body { z-index: 4 !important; }
.pk-hm2-wrapper .hm2-path p { max-width: 55% !important; }
@media (max-width: 900px) {
    .pk-hm2-wrapper .hm2-path-prod { top: 10px !important; bottom: auto !important; right: -14px !important; width: 55% !important; height: 160px !important; }
    .pk-hm2-wrapper .hm2-path-prod-img { object-position: right top !important; }
    .pk-hm2-wrapper .hm2-path p { max-width: none !important; }
}

/* ================= PRODOTTI ================= */
.pk-hm2-wrapper .hm2-products { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 24px !important; }
.pk-hm2-wrapper .hm2-product {
    position: relative !important; display: grid !important; grid-template-columns: 42% 1fr !important;
    border-radius: 22px !important; overflow: hidden !important; background: #0f0f11 !important;
    border: 1px solid rgba(var(--pc-rgb), 0.25) !important;
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease !important;
}
.pk-hm2-wrapper .hm2-product::before {
    content: '' !important; position: absolute !important; top: 0 !important; left: 0 !important; right: 0 !important; height: 3px !important;
    background: var(--pc) !important; z-index: 3 !important;
}
.pk-hm2-wrapper .hm2-product:hover { transform: translateY(-6px) !important; border-color: rgba(var(--pc-rgb), 0.6) !important; box-shadow: 0 25px 60px rgba(var(--pc-rgb), 0.18) !important; }
.pk-hm2-wrapper .hm2-product-media { position: relative !important; min-height: 320px !important; background-size: cover !important; background-position: center !important; }
.pk-hm2-wrapper .hm2-product-media::after { content: '' !important; position: absolute !important; inset: 0 !important; background: linear-gradient(90deg, transparent 50%, #0f0f11 100%) !important; }
.pk-hm2-wrapper .hm2-product-body {
    position: relative !important; padding: 34px 30px !important; display: flex !important; flex-direction: column !important;
    background: radial-gradient(circle at 100% 0%, rgba(var(--pc-rgb), 0.12) 0%, transparent 55%) !important;
}
.pk-hm2-wrapper .hm2-product-tag { font-family: var(--hm2-mono) !important; font-size: 1.4rem !important; font-weight: 700 !important; letter-spacing: 3px !important; color: var(--pc) !important; margin-bottom: 8px !important; }
.pk-hm2-wrapper .hm2-product h3 { font-size: 2.6rem !important; font-weight: 900 !important; line-height: 1.1 !important; margin-bottom: 12px !important; }
.pk-hm2-wrapper .hm2-product p { font-size: 1.6rem !important; line-height: 1.5 !important; margin-bottom: 18px !important; }
.pk-hm2-wrapper .hm2-product li { display: flex !important; align-items: flex-start !important; gap: 10px !important; font-size: 1.4rem !important; color: var(--hm2-gray) !important; margin-bottom: 8px !important; line-height: 1.4 !important; }
.pk-hm2-wrapper .hm2-product li svg { flex: 0 0 18px !important; width: 18px !important; height: 18px !important; color: var(--pc) !important; margin-top: 2px !important; }
.pk-hm2-wrapper .hm2-product-link {
    margin-top: auto !important; padding-top: 18px !important; display: inline-flex !important; align-items: center !important; gap: 8px !important;
    font-family: var(--hm2-mono) !important; font-size: 1.4rem !important; font-weight: 700 !important; letter-spacing: 2px !important; color: var(--pc) !important;
}
.pk-hm2-wrapper .hm2-product-link svg { width: 18px !important; height: 18px !important; transition: transform .25s ease !important; }
.pk-hm2-wrapper .hm2-product:hover .hm2-product-link svg { transform: translateX(5px) !important; }

/* ================= ECOSISTEMA ================= */
.pk-hm2-wrapper .hm2-eco {
    --mode: #ff4444;
    position: relative !important; padding: 120px 0 !important; overflow: hidden !important;
    background: radial-gradient(ellipse at 50% 75%, color-mix(in srgb, var(--mode) 22%, transparent) 0%, transparent 60%), #000 !important;
    transition: background .5s ease !important;
}
.pk-hm2-wrapper .hm2-eco-head { display: grid !important; grid-template-columns: 1.2fr 1fr !important; gap: 60px !important; align-items: end !important; margin-bottom: 100px !important; }
.pk-hm2-wrapper .hm2-tag-eco { background: rgba(255,255,255,0.06) !important; color: #fff !important; border: 1px solid var(--mode) !important; box-shadow: 0 0 20px color-mix(in srgb, var(--mode) 35%, transparent) !important; transition: border-color .4s ease, box-shadow .4s ease !important; }
.pk-hm2-wrapper .hm2-eco-head h2 { font-size: 5rem !important; font-weight: 900 !important; line-height: 1.02 !important; margin: 0 !important; }
.pk-hm2-wrapper .hm2-eco-accent { color: var(--mode) !important; transition: color .4s ease !important; }
.pk-hm2-wrapper .hm2-eco-head p { font-size: 1.8rem !important; line-height: 1.6 !important; margin-bottom: 28px !important; }
.pk-hm2-wrapper .hm2-btn-eco { background: var(--mode) !important; color: #000 !important; box-shadow: 0 6px 26px color-mix(in srgb, var(--mode) 40%, transparent) !important; transition: background .4s ease, box-shadow .4s ease, transform .25s ease !important; }
.pk-hm2-wrapper .hm2-btn-eco:hover { transform: translateY(-2px) !important; }

.pk-hm2-wrapper .hm2-eco-stage { position: relative !important; padding-right: 250px !important; }
.pk-hm2-wrapper .hm2-eco-car {
    position: relative !important; border-radius: 26px !important; overflow: hidden !important; background: #0c0c0e !important;
    border: 1px solid color-mix(in srgb, var(--mode) 55%, transparent) !important;
    box-shadow: 0 0 80px color-mix(in srgb, var(--mode) 28%, transparent), 0 40px 80px rgba(0,0,0,0.6) !important;
    transition: border-color .4s ease, box-shadow .4s ease !important;
}
.pk-hm2-wrapper .hm2-eco-car picture { position: relative !important; display: block !important; }
.pk-hm2-wrapper .hm2-eco-img { position: relative !important; width: 100% !important; height: auto !important; display: block !important; }
.pk-hm2-wrapper .hm2-eco-car .hm2-ph { aspect-ratio: 16 / 9 !important; height: auto !important; border-radius: 0 !important; border: none !important; }

/* pallini prodotto sulla foto */
.pk-hm2-wrapper .hm2-spot { --spd: 1.1s; position: absolute !important; z-index: 3 !important; width: 0 !important; height: 0 !important; }
.pk-hm2-wrapper .hm2-spot-dot { position: absolute !important; left: -12px !important; top: -12px !important; width: 24px !important; height: 24px !important; border-radius: 50% !important; background: var(--c) !important; border: 3px solid #fff !important; box-shadow: 0 0 16px var(--c) !important; }
.pk-hm2-wrapper .hm2-spot-ring { position: absolute !important; left: -12px !important; top: -12px !important; width: 24px !important; height: 24px !important; border-radius: 50% !important; border: 3px solid var(--c) !important; animation: hm2-ring var(--spd) ease-out infinite !important; }
.pk-hm2-wrapper .hm2-spot-ring.r2 { animation-delay: calc(var(--spd) / 2) !important; }
@keyframes hm2-ring { 0% { transform: scale(1); opacity: 0.9; } 100% { transform: scale(3.2); opacity: 0; } }
.pk-hm2-wrapper .hm2-eco-stage[data-mode="sport"] .hm2-spot { --spd: 1.6s; }
.pk-hm2-wrapper .hm2-eco-stage[data-mode="eco"] .hm2-spot { --spd: 2.4s; }
.pk-hm2-wrapper .hm2-eco-stage[data-mode="ori"] .hm2-spot-ring { animation: none !important; opacity: 0 !important; }
.pk-hm2-wrapper .hm2-eco-stage[data-mode="ori"] .hm2-spot-dot { box-shadow: none !important; }
.pk-hm2-wrapper .hm2-spot-tag { position: absolute !important; left: 22px !important; top: -16px !important; padding: 5px 12px !important; border-radius: 10px !important; white-space: nowrap !important; font-style: normal !important; font-family: var(--hm2-mono) !important; font-size: 1.4rem !important; font-weight: 800 !important; letter-spacing: 1px !important; color: var(--c) !important; background: rgba(0,0,0,0.75) !important; border: 1px solid color-mix(in srgb, var(--c) 50%, transparent) !important; }
.pk-hm2-wrapper .hm2-spot-tag.is-left { left: auto !important; right: 22px !important; }
.pk-hm2-wrapper .hm2-eco-car::after {
    content: '' !important; position: absolute !important; inset: 0 !important; z-index: 1 !important; pointer-events: none !important;
    background: linear-gradient(0deg, rgba(0,0,0,0.85) 0%, transparent 38%), linear-gradient(0deg, color-mix(in srgb, var(--mode) 30%, transparent) 0%, transparent 55%) !important;
}
.pk-hm2-wrapper .hm2-eco-sweep { position: absolute !important; inset: 0 !important; z-index: 2 !important; pointer-events: none !important; background: linear-gradient(100deg, transparent 30%, color-mix(in srgb, var(--mode) 45%, transparent) 50%, transparent 70%) !important; transform: translateX(-110%) !important; opacity: 0 !important; }
.pk-hm2-wrapper .hm2-eco-stage.is-sweep .hm2-eco-sweep { animation: hm2-sweep .9s ease-out !important; }
@keyframes hm2-sweep { 0% { transform: translateX(-110%); opacity: 1; } 100% { transform: translateX(110%); opacity: 0; } }
.pk-hm2-wrapper .hm2-eco-active { position: absolute !important; z-index: 3 !important; top: 22px !important; left: 22px !important; display: flex !important; align-items: center !important; gap: 10px !important; padding: 10px 18px !important; border-radius: 30px !important; background: rgba(0,0,0,0.65) !important; border: 1px solid color-mix(in srgb, var(--mode) 60%, transparent) !important; font-family: var(--hm2-mono) !important; font-size: 1.4rem !important; letter-spacing: 2px !important; color: var(--hm2-gray) !important; }
.pk-hm2-wrapper .hm2-eco-active b { color: var(--mode) !important; transition: color .4s ease !important; }
.pk-hm2-wrapper .hm2-eco-led { width: 10px !important; height: 10px !important; border-radius: 50% !important; background: var(--mode) !important; box-shadow: 0 0 12px var(--mode) !important; animation: hm2-blink 1.6s ease-in-out infinite !important; }
.pk-hm2-wrapper .hm2-eco-readout { position: absolute !important; z-index: 3 !important; left: 22px !important; bottom: 22px !important; display: flex !important; gap: 10px !important; }
.pk-hm2-wrapper .hm2-eco-readout > div { min-width: 150px !important; padding: 12px 16px !important; border-radius: 14px !important; background: rgba(0,0,0,0.72) !important; backdrop-filter: blur(10px) !important; -webkit-backdrop-filter: blur(10px) !important; border: 1px solid rgba(255,255,255,0.1) !important; border-top: 3px solid var(--pc) !important; }
.pk-hm2-wrapper .hm2-eco-readout span { display: block !important; font-family: var(--hm2-mono) !important; font-size: 1.4rem !important; letter-spacing: 1px !important; color: var(--hm2-gray-dark) !important; margin-bottom: 4px !important; }
.pk-hm2-wrapper .hm2-eco-readout b { display: block !important; font-family: var(--hm2-mono) !important; font-size: 2rem !important; font-weight: 800 !important; color: #fff !important; }
.pk-hm2-wrapper .hm2-eco-readout b.is-flip { animation: hm2-flip .45s ease !important; }
@keyframes hm2-flip { 0% { opacity: 0; transform: translateY(8px); } 100% { opacity: 1; transform: none; } }

.pk-hm2-wrapper .hm2-eco-phonewrap { position: absolute !important; right: 0 !important; top: -44px !important; z-index: 4 !important; width: 300px !important; }
.pk-hm2-wrapper .hm2-eco-stage { margin-bottom: 110px !important; }
.pk-hm2-wrapper .hm2-eco-hint { display: flex !important; align-items: center !important; justify-content: center !important; gap: 10px !important; font-family: var(--hm2-mono) !important; font-size: 1.4rem !important; letter-spacing: 3px !important; color: var(--hm2-gray) !important; margin-bottom: 14px !important; }
.pk-hm2-wrapper .hm2-eco-hint svg { width: 22px !important; height: 22px !important; color: var(--mode) !important; animation: hm2-tap 1.8s ease-in-out infinite !important; }
@keyframes hm2-tap { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
.pk-hm2-wrapper .hm2-eco-phone {
    position: relative !important; width: 300px !important; height: 620px !important; border-radius: 48px !important; background: #1c1c1e !important;
    box-shadow: 0 0 0 2px #3a3a3c, 0 0 60px color-mix(in srgb, var(--mode) 30%, transparent), 0 40px 80px rgba(0,0,0,0.7) !important;
    transition: box-shadow .4s ease !important;
}
.pk-hm2-wrapper .hm2-eco-screen { position: absolute !important; inset: 10px !important; border-radius: 39px !important; overflow: hidden !important; background: #050506 !important; padding: 50px 16px 18px !important; display: flex !important; flex-direction: column !important; }
.pk-hm2-wrapper .hm2-eco-screen::before { content: '' !important; position: absolute !important; top: 10px !important; left: 50% !important; transform: translateX(-50%) !important; width: 32% !important; height: 24px !important; background: #000 !important; border-radius: 20px !important; }
.pk-hm2-wrapper .hm2-eco-app-top { display: flex !important; justify-content: space-between !important; align-items: center !important; font-family: var(--hm2-mono) !important; font-size: 1.4rem !important; font-weight: 700 !important; color: #fff !important; margin-bottom: 14px !important; }
.pk-hm2-wrapper .hm2-eco-app-sys { display: flex !important; align-items: center !important; gap: 6px !important; color: var(--hm2-gray-dark) !important; font-weight: 400 !important; }
.pk-hm2-wrapper .hm2-eco-app-sys i { width: 8px !important; height: 8px !important; border-radius: 50% !important; background: #5fd34a !important; box-shadow: 0 0 8px #5fd34a !important; }
.pk-hm2-wrapper .hm2-eco-app-title { font-size: 2.2rem !important; font-weight: 900 !important; line-height: 1.05 !important; color: #fff !important; margin-bottom: 16px !important; }
.pk-hm2-wrapper .hm2-eco-modes { display: flex !important; flex-direction: column !important; gap: 9px !important; flex: 1 !important; }
.pk-hm2-wrapper .hm2-eco-mode {
    text-align: left !important; padding: 12px 14px !important; border-radius: 14px !important; cursor: pointer !important;
    background: #121214 !important; border: 1px solid #222 !important; border-left: 4px solid var(--mc) !important; color: #fff !important;
    transition: background .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}
.pk-hm2-wrapper .hm2-eco-mode strong { display: block !important; font-family: var(--hm2-mono) !important; font-size: 1.4rem !important; letter-spacing: 1px !important; color: var(--mc) !important; }
.pk-hm2-wrapper .hm2-eco-mode small { display: block !important; font-size: 1.4rem !important; color: var(--hm2-gray-dark) !important; line-height: 1.3 !important; margin-top: 2px !important; }
.pk-hm2-wrapper .hm2-eco-mode.is-active { background: color-mix(in srgb, var(--mc) 16%, #0a0a0a) !important; border-color: var(--mc) !important; box-shadow: 0 0 22px color-mix(in srgb, var(--mc) 35%, transparent) !important; }
.pk-hm2-wrapper .hm2-eco-mode.is-active small { color: #ddd !important; }
.pk-hm2-wrapper .hm2-eco-app-foot { display: flex !important; align-items: center !important; gap: 6px !important; margin-top: 12px !important; font-family: var(--hm2-mono) !important; font-size: 1.4rem !important; color: var(--hm2-gray-dark) !important; white-space: nowrap !important; overflow: hidden !important; }
.pk-hm2-wrapper .hm2-eco-app-foot i { flex: 0 0 8px !important; width: 8px !important; height: 8px !important; border-radius: 50% !important; background: var(--pc) !important; }
.pk-hm2-wrapper .hm2-eco-photo { position: relative !important; }

/* ecosistema: toggle benzina / diesel */
.pk-hm2-wrapper .hm2-eco-fuel { position: relative !important; }
.pk-hm2-wrapper .hm2-eco-stage[data-fuel="benzina"] .is-diesel,
.pk-hm2-wrapper .hm2-eco-stage[data-fuel="diesel"] .is-benzina { display: none !important; }
.pk-hm2-wrapper .hm2-eco-fuel { animation: hm2-fuel-in .5s ease !important; }
@keyframes hm2-fuel-in { from { opacity: 0; } to { opacity: 1; } }
.pk-hm2-wrapper .hm2-eco-fueltg { position: absolute !important; z-index: 3 !important; top: 22px !important; right: 72px !important; display: flex !important; gap: 4px !important; padding: 4px !important; border-radius: 30px !important; background: rgba(0,0,0,0.65) !important; border: 1px solid rgba(255,255,255,0.15) !important; }
.pk-hm2-wrapper .hm2-eco-fueltg button { padding: 8px 18px !important; border-radius: 30px !important; border: none !important; cursor: pointer !important; background: transparent !important; font-family: var(--hm2-mono) !important; font-size: 1.4rem !important; font-weight: 800 !important; letter-spacing: 2px !important; color: var(--hm2-gray-dark) !important; transition: background .25s ease, color .25s ease, box-shadow .25s ease !important; }
.pk-hm2-wrapper .hm2-eco-fueltg button:hover { color: #fff !important; }
.pk-hm2-wrapper .hm2-eco-fueltg button.is-active { background: var(--fc) !important; color: #000 !important; box-shadow: 0 0 16px color-mix(in srgb, var(--fc) 50%, transparent) !important; }
.pk-hm2-wrapper .hm2-eco-app-sys > span { color: inherit !important; }
@media (max-width: 1100px) {
    .pk-hm2-wrapper .hm2-eco-fueltg { right: 22px !important; }
}
@media (max-width: 600px) {
    .pk-hm2-wrapper .hm2-eco-car { display: flex !important; flex-direction: column !important; }
    .pk-hm2-wrapper .hm2-eco-fueltg { position: relative !important; top: auto !important; right: auto !important; order: -1 !important; margin: 10px !important; }
    .pk-hm2-wrapper .hm2-eco-fueltg button { flex: 1 1 0 !important; padding: 8px 10px !important; }
    .pk-hm2-wrapper .hm2-eco-car .hm2-eco-active { top: 70px !important; }
    .pk-hm2-wrapper .hm2-eco-car .hm2-eco-readout b { font-size: 1.4rem !important; white-space: nowrap !important; }
    .pk-hm2-wrapper .hm2-eco-car .hm2-eco-readout { display: flex !important; }
    .pk-hm2-wrapper .hm2-eco-car .hm2-eco-readout > div { flex: 1 1 0 !important; }
}

/* ================= REPARTO ELABORAZIONI ================= */
.pk-hm2-wrapper .hm2-remap { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 24px !important; }
.pk-hm2-wrapper .hm2-remap-card {
    position: relative !important; display: block !important; border-radius: 22px !important; overflow: hidden !important;
    background: #0f0f11 !important; border: 1px solid var(--hm2-border) !important;
    transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease !important;
}
.pk-hm2-wrapper .hm2-remap-card:hover { transform: translateY(-6px) !important; border-color: rgba(255,68,68,0.5) !important; box-shadow: 0 25px 60px rgba(255,68,68,0.18) !important; }
.pk-hm2-wrapper .hm2-remap-bg { position: absolute !important; inset: 0 !important; background-size: cover !important; background-position: center !important; opacity: 0.22 !important; transition: opacity .4s ease !important; }
.pk-hm2-wrapper .hm2-remap-card:hover .hm2-remap-bg { opacity: 0.32 !important; }
.pk-hm2-wrapper .hm2-remap-body { position: relative !important; z-index: 2 !important; padding: 44px 40px !important; }
.pk-hm2-wrapper .hm2-remap-icon { width: 80px !important; height: 80px !important; object-fit: contain !important; margin-bottom: 20px !important; filter: drop-shadow(0 0 12px rgba(255,68,68,0.35)) !important; }
.pk-hm2-wrapper .hm2-remap-body small, .pk-hm2-wrapper .hm2-part-body small { display: block !important; font-family: var(--hm2-mono) !important; font-size: 1.4rem !important; letter-spacing: 3px !important; color: var(--hm2-red) !important; margin-bottom: 8px !important; }
.pk-hm2-wrapper .hm2-remap-body h3 { font-size: 3rem !important; font-weight: 900 !important; margin-bottom: 14px !important; }
.pk-hm2-wrapper .hm2-remap-body p { font-size: 1.6rem !important; line-height: 1.6 !important; margin-bottom: 20px !important; max-width: 480px !important; }
.pk-hm2-wrapper .hm2-chips { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; margin-bottom: 24px !important; }
.pk-hm2-wrapper .hm2-chips span { padding: 6px 14px !important; border-radius: 20px !important; font-family: var(--hm2-mono) !important; font-size: 1.4rem !important; font-weight: 700 !important; letter-spacing: 1px !important; color: #fff !important; background: rgba(255,68,68,0.12) !important; border: 1px solid rgba(255,68,68,0.35) !important; }

.pk-hm2-wrapper .hm2-parts { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 24px !important; margin-top: 24px !important; }
.pk-hm2-wrapper .hm2-part { border-radius: 22px !important; overflow: hidden !important; background: #0f0f11 !important; border: 1px solid var(--hm2-border) !important; display: flex !important; flex-direction: column !important; }
.pk-hm2-wrapper .hm2-part-photo { position: relative !important; display: block !important; height: 260px !important; background-size: cover !important; background-position: center !important; }
.pk-hm2-wrapper .hm2-part-photo::after { content: '' !important; position: absolute !important; inset: 0 !important; background: linear-gradient(0deg, #0f0f11 0%, transparent 55%) !important; }
.pk-hm2-wrapper .hm2-part-go { position: absolute !important; right: 20px !important; top: 20px !important; z-index: 2 !important; width: 48px !important; height: 48px !important; border-radius: 50% !important; display: flex !important; align-items: center !important; justify-content: center !important; background: rgba(0,0,0,0.6) !important; color: #fff !important; border: 1px solid rgba(255,255,255,0.25) !important; transition: background .25s ease !important; }
.pk-hm2-wrapper .hm2-part-go svg { width: 22px !important; height: 22px !important; }
.pk-hm2-wrapper .hm2-part-photo:hover .hm2-part-go { background: var(--hm2-red) !important; border-color: var(--hm2-red) !important; }
.pk-hm2-wrapper .hm2-part-body { padding: 10px 36px 36px !important; display: flex !important; flex-direction: column !important; flex: 1 !important; }
.pk-hm2-wrapper .hm2-part-body h3 { font-size: 2.6rem !important; font-weight: 900 !important; margin-bottom: 12px !important; }
.pk-hm2-wrapper .hm2-part-body p { font-size: 1.6rem !important; line-height: 1.6 !important; margin-bottom: 22px !important; }
.pk-hm2-wrapper .hm2-logos { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 10px !important; margin-bottom: 24px !important; }
.pk-hm2-wrapper .hm2-logos span { height: 70px !important; display: flex !important; align-items: center !important; justify-content: center !important; padding: 12px !important; border-radius: 12px !important; background: rgba(255,255,255,0.03) !important; border: 1px solid var(--hm2-border) !important; }
.pk-hm2-wrapper .hm2-logos img { max-height: 40px !important; max-width: 100% !important; width: auto !important; height: auto !important; object-fit: contain !important; opacity: 0.85 !important; transition: opacity .25s ease !important; }
.pk-hm2-wrapper .hm2-logos span:hover img { opacity: 1 !important; }
.pk-hm2-wrapper .hm2-part-body .hm2-card-link { margin-top: auto !important; }

/* ================= BANCO PROVA ================= */
.pk-hm2-wrapper .hm2-dyno { position: relative !important; padding: 120px 0 100px !important; overflow: hidden !important; background: #070708 !important; }
.pk-hm2-wrapper .hm2-dyno-bg { position: absolute !important; inset: 0 !important; background-size: cover !important; background-position: center !important; opacity: 0.35 !important; z-index: 0 !important; }
.pk-hm2-wrapper .hm2-dyno::before { content: '' !important; position: absolute !important; inset: 0 !important; z-index: 1 !important; background: linear-gradient(180deg, #070708 0%, rgba(7,7,8,0.7) 30%, rgba(7,7,8,0.85) 70%, #070708 100%) !important; }
.pk-hm2-wrapper .hm2-dyno-head { text-align: center !important; max-width: 820px !important; margin: 0 auto 50px !important; }
.pk-hm2-wrapper .hm2-dyno-head h2 { font-size: 5rem !important; font-weight: 900 !important; line-height: 1.02 !important; margin-bottom: 22px !important; }
.pk-hm2-wrapper .hm2-dyno-head p { font-size: 1.8rem !important; line-height: 1.6 !important; }
.pk-hm2-wrapper .hm2-led { display: inline-block !important; width: 10px !important; height: 10px !important; border-radius: 50% !important; background: var(--hm2-red) !important; box-shadow: 0 0 10px var(--hm2-red) !important; animation: hm2-blink 1.6s ease-in-out infinite !important; }
@keyframes hm2-blink { 0%, 100% { opacity: 1; } 50% { opacity: 0.3; } }

.pk-hm2-wrapper .hm2-dyno-panel {
    --dc: #ff5a3c;
    border-radius: 26px !important; padding: 28px !important; background: rgba(12,12,14,0.85) !important;
    backdrop-filter: blur(12px) !important; -webkit-backdrop-filter: blur(12px) !important;
    border: 1px solid rgba(255,255,255,0.08) !important; box-shadow: 0 0 80px color-mix(in srgb, var(--dc) 14%, transparent), 0 40px 80px rgba(0,0,0,0.5) !important;
    transition: box-shadow .4s ease !important;
}
.pk-hm2-wrapper .hm2-dyno-top { display: flex !important; justify-content: space-between !important; align-items: center !important; gap: 20px !important; flex-wrap: wrap !important; margin-bottom: 22px !important; }
.pk-hm2-wrapper .hm2-dyno-tabs { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 10px !important; width: 100% !important; }
.pk-hm2-wrapper .hm2-dyno-tab { min-width: 0 !important; }
.pk-hm2-wrapper .hm2-dyno-tab small { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }
.pk-hm2-wrapper .hm2-dyno-tab { text-align: left !important; padding: 12px 18px !important; border-radius: 14px !important; cursor: pointer !important; background: rgba(255,255,255,0.03) !important; border: 1px solid rgba(255,255,255,0.1) !important; color: #fff !important; transition: border-color .25s ease, background .25s ease !important; }
.pk-hm2-wrapper .hm2-dyno-tab strong { display: block !important; font-size: 1.6rem !important; font-weight: 800 !important; }
.pk-hm2-wrapper .hm2-dyno-tab small { display: block !important; font-family: var(--hm2-mono) !important; font-size: 1.4rem !important; letter-spacing: 1px !important; color: var(--hm2-gray-dark) !important; }
.pk-hm2-wrapper .hm2-dyno-tab.is-active { border-color: var(--tc) !important; background: color-mix(in srgb, var(--tc) 10%, transparent) !important; }
.pk-hm2-wrapper .hm2-dyno-tab.is-active small { color: var(--tc) !important; }
.pk-hm2-wrapper .hm2-dyno-tab strong { color: var(--tc) !important; }
.pk-hm2-wrapper .hm2-provv { margin-left: 6px !important; padding: 2px 8px !important; border-radius: 6px !important; font-style: normal !important; font-family: var(--hm2-mono) !important; font-size: 1.4rem !important; font-weight: 700 !important; letter-spacing: 1px !important; color: #000 !important; background: #ffc43d !important; vertical-align: middle !important; }
.pk-hm2-wrapper .hm2-dyno-legend { display: flex !important; gap: 22px !important; font-family: var(--hm2-mono) !important; font-size: 1.4rem !important; letter-spacing: 2px !important; color: var(--hm2-gray) !important; }
.pk-hm2-wrapper .hm2-dyno-legend span { display: flex !important; align-items: center !important; gap: 8px !important; }
.pk-hm2-wrapper .hm2-dyno-legend i { width: 26px !important; height: 3px !important; border-radius: 2px !important; }
.pk-hm2-wrapper .hm2-dyno-legend .is-ori i { background: #8a8a90 !important; }
.pk-hm2-wrapper .hm2-dyno-legend .is-mod i { background: var(--dc) !important; box-shadow: 0 0 8px var(--dc) !important; }
.pk-hm2-wrapper .hm2-dyno-legend b { color: var(--dc) !important; }
.pk-hm2-wrapper .hm2-dyno-legend .is-kind { color: var(--hm2-gray-dark) !important; letter-spacing: 1px !important; }
.pk-hm2-wrapper .hm2-dyno-body { display: grid !important; grid-template-columns: 1fr 280px !important; gap: 26px !important; align-items: stretch !important; }
.pk-hm2-wrapper .hm2-dyno-chart { position: relative !important; height: 380px !important; padding-bottom: 30px !important; }
.pk-hm2-wrapper .hm2-dyno-chart svg { width: 100% !important; height: 350px !important; display: block !important; overflow: visible !important; }
.pk-hm2-wrapper .hm2-dg { stroke: rgba(255,255,255,0.06) !important; stroke-width: 1 !important; }
.pk-hm2-wrapper .hm2-dl { fill: none !important; stroke-linecap: round !important; stroke-linejoin: round !important; vector-effect: non-scaling-stroke !important; }
.pk-hm2-wrapper .hm2-dl.is-cv { stroke-width: 3.5 !important; }
.pk-hm2-wrapper .hm2-dl.is-nm { stroke-width: 2 !important; stroke-dasharray: none; opacity: 0.55 !important; }
.pk-hm2-wrapper .hm2-dl.is-ori { stroke: #8a8a90 !important; }
.pk-hm2-wrapper .hm2-dl.is-mod { stroke: var(--dc) !important; filter: drop-shadow(0 0 6px var(--dc)) !important; }
.pk-hm2-wrapper .hm2-dyno-axis { position: absolute !important; left: 0 !important; right: 0 !important; bottom: 0 !important; height: 24px !important; }
.pk-hm2-wrapper .hm2-dyno-axis span { position: absolute !important; transform: translateX(-50%) !important; font-family: var(--hm2-mono) !important; font-size: 1.4rem !important; color: var(--hm2-gray-dark) !important; }
.pk-hm2-wrapper .hm2-dyno-axis em { position: absolute !important; right: 0 !important; top: -26px !important; font-style: normal !important; font-family: var(--hm2-mono) !important; font-size: 1.4rem !important; color: var(--hm2-gray-dark) !important; letter-spacing: 2px !important; }
.pk-hm2-wrapper .hm2-dyno-peaks { display: flex !important; flex-direction: column !important; gap: 14px !important; }
.pk-hm2-wrapper .hm2-dyno-peaks > div { flex: 1 !important; display: flex !important; flex-direction: column !important; justify-content: center !important; padding: 20px 22px !important; border-radius: 18px !important; background: #000 !important; border: 1px solid rgba(255,255,255,0.08) !important; border-left: 4px solid var(--dc) !important; }
.pk-hm2-wrapper .hm2-dyno-peaks small { font-family: var(--hm2-mono) !important; font-size: 1.4rem !important; letter-spacing: 2px !important; color: var(--hm2-gray-dark) !important; margin-bottom: 6px !important; }
.pk-hm2-wrapper .hm2-dyno-peaks span { font-family: var(--hm2-mono) !important; font-size: 1.6rem !important; color: var(--hm2-gray) !important; }
.pk-hm2-wrapper .hm2-dyno-peaks em { font-style: normal !important; color: #8a8a90 !important; }
.pk-hm2-wrapper .hm2-dyno-peaks strong { font-size: 3.4rem !important; font-weight: 900 !important; color: #fff !important; }
.pk-hm2-wrapper .hm2-dyno-peaks b { margin-top: 6px !important; font-family: var(--hm2-mono) !important; font-size: 1.8rem !important; font-weight: 800 !important; color: var(--dc) !important; }
.pk-hm2-wrapper .hm2-dyno-note { margin: 18px 0 0 !important; font-size: 1.4rem !important; line-height: 1.5 !important; color: var(--hm2-gray-dark) !important; }
.pk-hm2-wrapper .hm2-dyno-foot { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 24px !important; margin-top: 40px !important; flex-wrap: wrap !important; }
.pk-hm2-wrapper .hm2-dyno-specs { display: flex !important; gap: 14px !important; flex-wrap: wrap !important; }
.pk-hm2-wrapper .hm2-dyno-specs > div { display: flex !important; align-items: center !important; gap: 14px !important; padding: 14px 18px !important; border-radius: 14px !important; background: var(--hm2-card) !important; border: 1px solid var(--hm2-border) !important; }
.pk-hm2-wrapper .hm2-dyno-specs svg { flex: 0 0 26px !important; width: 26px !important; height: 26px !important; color: var(--hm2-red) !important; }
.pk-hm2-wrapper .hm2-dyno-specs span { font-size: 1.4rem !important; color: var(--hm2-gray) !important; line-height: 1.35 !important; }
.pk-hm2-wrapper .hm2-dyno-specs strong { display: block !important; font-family: var(--hm2-mono) !important; font-size: 1.4rem !important; letter-spacing: 2px !important; }

/* assi Y e filigrana */
.pk-hm2-wrapper .hm2-dyno-chart { padding: 0 56px 30px !important; }
.pk-hm2-wrapper .hm2-dyno-chart svg { position: relative !important; z-index: 1 !important; }
.pk-hm2-wrapper .hm2-dyno-axis { left: 56px !important; right: 56px !important; }
.pk-hm2-wrapper .hm2-dyno-yax { position: absolute !important; top: 0 !important; width: 48px !important; height: 350px !important; z-index: 1 !important; }
.pk-hm2-wrapper .hm2-dyno-yax.is-l { left: 0 !important; text-align: right !important; }
.pk-hm2-wrapper .hm2-dyno-yax.is-r { right: 0 !important; text-align: left !important; }
.pk-hm2-wrapper .hm2-dyno-yax span { position: absolute !important; left: 0 !important; right: 0 !important; transform: translateY(-50%) !important; font-family: var(--hm2-mono) !important; font-size: 1.4rem !important; color: var(--hm2-gray-dark) !important; }
.pk-hm2-wrapper .hm2-dyno-yax.is-r span { color: color-mix(in srgb, var(--dc) 70%, #777) !important; }
.pk-hm2-wrapper .hm2-dyno-yax em { position: absolute !important; top: -24px !important; left: 0 !important; right: 0 !important; font-style: normal !important; font-family: var(--hm2-mono) !important; font-size: 1.4rem !important; font-weight: 800 !important; letter-spacing: 1px !important; color: #fff !important; }
.pk-hm2-wrapper .hm2-dyno-yax.is-r em { color: var(--dc) !important; }
.pk-hm2-wrapper .hm2-dyno-wm { position: absolute !important; left: 56px !important; right: 56px !important; top: 0 !important; height: 350px !important; width: calc(100% - 112px) !important; object-fit: contain !important; padding: 90px 22% !important; opacity: 0.07 !important; z-index: 0 !important; pointer-events: none !important; }
@media (max-width: 900px) {
    .pk-hm2-wrapper .hm2-dyno-chart { padding: 0 44px 30px !important; }
    .pk-hm2-wrapper .hm2-dyno-axis { left: 44px !important; right: 44px !important; }
    .pk-hm2-wrapper .hm2-dyno-yax { width: 40px !important; height: 230px !important; }
    .pk-hm2-wrapper .hm2-dyno-wm { left: 44px !important; right: 44px !important; width: calc(100% - 88px) !important; height: 230px !important; padding: 50px 15% !important; }
}

/* ================= STORE ================= */
.pk-hm2-wrapper .hm2-store { position: relative !important; padding: 130px 0 !important; overflow: hidden !important; text-align: center !important; }
.pk-hm2-wrapper .hm2-store-bg { position: absolute !important; inset: 0 !important; background-size: cover !important; background-position: center !important; background-attachment: fixed !important; z-index: 0 !important; }
.pk-hm2-wrapper .hm2-store::before { content: '' !important; position: absolute !important; inset: 0 !important; z-index: 1 !important; background: radial-gradient(circle at 50% 50%, rgba(10,10,10,0.7) 0%, rgba(10,10,10,0.94) 70%) !important; }
.pk-hm2-wrapper .hm2-store-inner { max-width: 900px !important; }
.pk-hm2-wrapper .hm2-store h2 { font-size: 5rem !important; font-weight: 900 !important; line-height: 1.05 !important; margin-bottom: 25px !important; }
.pk-hm2-wrapper .hm2-store p { font-size: 1.9rem !important; line-height: 1.6 !important; margin: 0 auto 40px !important; max-width: 700px !important; }
.pk-hm2-wrapper .hm2-store-steps { display: flex !important; align-items: center !important; justify-content: center !important; gap: 14px !important; margin-bottom: 40px !important; flex-wrap: wrap !important; }
.pk-hm2-wrapper .hm2-store-steps span { display: inline-flex !important; align-items: center !important; gap: 10px !important; padding: 10px 20px !important; border-radius: 30px !important; background: rgba(255,255,255,0.05) !important; border: 1px solid rgba(255,255,255,0.15) !important; font-family: var(--hm2-mono) !important; font-size: 1.5rem !important; font-weight: 700 !important; letter-spacing: 2px !important; color: #fff !important; }
.pk-hm2-wrapper .hm2-store-steps b { width: 28px !important; height: 28px !important; border-radius: 50% !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; background: var(--hm2-red) !important; color: #fff !important; font-size: 1.4rem !important; }
.pk-hm2-wrapper .hm2-store-steps i { width: 30px !important; height: 2px !important; background: rgba(255,255,255,0.25) !important; }
.pk-hm2-wrapper .hm2-store-dots { display: flex !important; flex-wrap: wrap !important; justify-content: center !important; gap: 10px 26px !important; margin-top: 40px !important; }
.pk-hm2-wrapper .hm2-store-dots span { display: inline-flex !important; align-items: center !important; gap: 8px !important; font-family: var(--hm2-mono) !important; font-size: 1.4rem !important; letter-spacing: 2px !important; color: var(--hm2-gray) !important; }
.pk-hm2-wrapper .hm2-store-dots i { width: 10px !important; height: 10px !important; border-radius: 50% !important; background: var(--pc) !important; box-shadow: 0 0 10px var(--pc) !important; }

/* ================= CONTATTI ================= */
.pk-hm2-wrapper .hm2-cta { position: relative !important; padding: 100px 0 !important; overflow: hidden !important; }
.pk-hm2-wrapper .hm2-cta-bg { position: absolute !important; inset: 0 !important; background-size: cover !important; background-position: center !important; z-index: 0 !important; }
.pk-hm2-wrapper .hm2-cta::before { content: '' !important; position: absolute !important; inset: 0 !important; z-index: 1 !important; background: linear-gradient(135deg, rgba(200,30,30,0.92) 0%, rgba(120,15,15,0.9) 100%) !important; }
.pk-hm2-wrapper .hm2-cta-inner { display: grid !important; grid-template-columns: 1.4fr 1fr !important; gap: 50px !important; align-items: center !important; }
.pk-hm2-wrapper .hm2-cta h2 { font-size: 4rem !important; font-weight: 900 !important; line-height: 1.1 !important; margin-bottom: 18px !important; }
.pk-hm2-wrapper .hm2-cta p { font-size: 1.8rem !important; color: rgba(255,255,255,0.9) !important; margin-bottom: 30px !important; }
.pk-hm2-wrapper .hm2-cta .hm2-btn-ghost { border-color: #fff !important; }
.pk-hm2-wrapper .hm2-cta-partner { position: relative !important; display: block !important; padding: 34px 80px 34px 34px !important; border-radius: 20px !important; background: rgba(0,0,0,0.35) !important; border: 1px solid rgba(255,255,255,0.25) !important; transition: background .25s ease, transform .25s ease !important; }
.pk-hm2-wrapper .hm2-cta-partner:hover { background: rgba(0,0,0,0.55) !important; transform: translateY(-3px) !important; }
.pk-hm2-wrapper .hm2-cta-partner small { display: block !important; font-family: var(--hm2-mono) !important; font-size: 1.4rem !important; letter-spacing: 2px !important; color: rgba(255,255,255,0.75) !important; margin-bottom: 8px !important; }
.pk-hm2-wrapper .hm2-cta-partner strong { display: block !important; font-size: 2.2rem !important; font-weight: 900 !important; line-height: 1.2 !important; }
.pk-hm2-wrapper .hm2-cta-partner > span { position: absolute !important; right: 26px !important; top: 50% !important; transform: translateY(-50%) !important; width: 44px !important; height: 44px !important; border-radius: 50% !important; background: #fff !important; color: #c81e1e !important; display: flex !important; align-items: center !important; justify-content: center !important; }
.pk-hm2-wrapper .hm2-cta-partner > span svg { width: 22px !important; height: 22px !important; }

/* ================= RESPONSIVE ================= */
@media (max-width: 1100px) {
    .pk-hm2-wrapper .hm2-eco-stage { padding-right: 0 !important; }
    .pk-hm2-wrapper .hm2-eco-stage { margin-bottom: 0 !important; }
    .pk-hm2-wrapper .hm2-eco-phonewrap { position: relative !important; top: auto !important; right: auto !important; transform: none !important; margin: 40px auto 0 !important; }
    .pk-hm2-wrapper .hm2-eco-head { margin-bottom: 50px !important; }
}
@media (max-width: 1024px) {
    .pk-hm2-wrapper .hm2-product { grid-template-columns: 1fr !important; }
    .pk-hm2-wrapper .hm2-product-media { min-height: 220px !important; }
    .pk-hm2-wrapper .hm2-product-media::after { background: linear-gradient(0deg, #0f0f11 0%, transparent 50%) !important; }
    .pk-hm2-wrapper .hm2-dyno-body { grid-template-columns: 1fr !important; }
    .pk-hm2-wrapper .hm2-dyno-peaks { flex-direction: row !important; }
}
@media (max-width: 900px) {
    .pk-hm2-wrapper .hm2-section { padding: 70px 0 !important; }
    .pk-hm2-wrapper .hm2-hero { min-height: 0 !important; padding: 110px 0 40px !important; }
    .pk-hm2-wrapper .hm2-hero::before { background: linear-gradient(180deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.85) 50%, #0a0a0a 100%) !important; }
    .pk-hm2-wrapper .hm2-hero-text h1 { font-size: 4.4rem !important; letter-spacing: -1px !important; }
    .pk-hm2-wrapper .hm2-hero-what { font-size: 1.4rem !important; letter-spacing: 1.5px !important; gap: 10px !important; }
    .pk-hm2-wrapper .hm2-lead { font-size: 1.7rem !important; }
    .pk-hm2-wrapper .hm2-ways .hm2-title { font-size: 3.4rem !important; }
    .pk-hm2-wrapper .hm2-paths { grid-template-columns: 1fr !important; }
    .pk-hm2-wrapper .hm2-paths-join { flex-direction: row !important; padding: 18px 0 !important; }
    .pk-hm2-wrapper .hm2-paths-join::before { top: 0 !important; bottom: 0 !important; }
    .pk-hm2-wrapper .hm2-paths-join span { width: 52px !important; height: 52px !important; }
    .pk-hm2-wrapper .hm2-paths-join small { padding: 6px 10px !important; }
    .pk-hm2-wrapper .hm2-eco-head, .pk-hm2-wrapper .hm2-remap, .pk-hm2-wrapper .hm2-parts,
    .pk-hm2-wrapper .hm2-cta-inner { grid-template-columns: 1fr !important; gap: 30px !important; }
    .pk-hm2-wrapper .hm2-stats { grid-template-columns: 1fr 1fr !important; margin-top: 50px !important; }
    .pk-hm2-wrapper .hm2-stats > div:nth-child(2) { border-right: none !important; }
    .pk-hm2-wrapper .hm2-stats > div:nth-child(-n+2) { border-bottom: 1px solid var(--hm2-border) !important; }
    .pk-hm2-wrapper .hm2-stats strong { font-size: 2.8rem !important; }
    .pk-hm2-wrapper .hm2-path { min-height: 0 !important; padding-top: 150px !important; }
    .pk-hm2-wrapper .hm2-path-body { position: relative !important; padding: 28px !important; }
    .pk-hm2-wrapper .hm2-path h3 { font-size: 2.4rem !important; }
    .pk-hm2-wrapper .hm2-title { font-size: 3rem !important; }
    .pk-hm2-wrapper .hm2-subtitle { font-size: 1.6rem !important; margin-bottom: 40px !important; }
    .pk-hm2-wrapper .hm2-products { grid-template-columns: 1fr !important; }
    .pk-hm2-wrapper .hm2-eco { padding: 80px 0 !important; }
    .pk-hm2-wrapper .hm2-eco-head { margin-bottom: 40px !important; }
    .pk-hm2-wrapper .hm2-eco-head h2 { font-size: 3.4rem !important; }
    .pk-hm2-wrapper .hm2-eco-head p { font-size: 1.6rem !important; }
    .pk-hm2-wrapper .hm2-remap-body { padding: 32px 26px !important; }
    .pk-hm2-wrapper .hm2-remap-body h3 { font-size: 2.4rem !important; }
    .pk-hm2-wrapper .hm2-part-body { padding: 6px 26px 30px !important; }
    .pk-hm2-wrapper .hm2-dyno { padding: 80px 0 70px !important; }
    .pk-hm2-wrapper .hm2-dyno-head h2, .pk-hm2-wrapper .hm2-cta h2 { font-size: 3.2rem !important; }
    .pk-hm2-wrapper .hm2-dyno-head p { font-size: 1.6rem !important; }
    .pk-hm2-wrapper .hm2-dyno-panel { padding: 18px !important; }
    .pk-hm2-wrapper .hm2-dyno-chart { height: 260px !important; }
    .pk-hm2-wrapper .hm2-dyno-chart svg { height: 230px !important; }
    .pk-hm2-wrapper .hm2-store { padding: 90px 0 !important; }
    .pk-hm2-wrapper .hm2-store h2 { font-size: 3.4rem !important; }
    .pk-hm2-wrapper .hm2-store p { font-size: 1.6rem !important; }
    .pk-hm2-wrapper .hm2-store-steps i { display: none !important; }
    .pk-hm2-wrapper .hm2-btn-xl { padding: 18px 30px !important; font-size: 1.6rem !important; width: 100% !important; }
}
@media (max-width: 600px) {
    .pk-hm2-wrapper .hm2-hero-text h1 { font-size: 3.6rem !important; }
    .pk-hm2-wrapper .hm2-intro-cta .hm2-btn { width: 100% !important; }
    .pk-hm2-wrapper .hm2-tag { letter-spacing: 1.5px !important; padding: 8px 14px !important; }
    .pk-hm2-wrapper .hm2-dyno-legend { flex-wrap: wrap !important; gap: 10px 18px !important; }
    /* ecosistema compatto: foto, modalità e valori in un'unica schermata */
    .pk-hm2-wrapper .hm2-eco { padding: 60px 0 !important; }
    .pk-hm2-wrapper .hm2-eco-head { gap: 18px !important; margin-bottom: 28px !important; }
    .pk-hm2-wrapper .hm2-eco-head h2 { font-size: 3rem !important; }
    .pk-hm2-wrapper .hm2-eco-head p { margin-bottom: 20px !important; }
    .pk-hm2-wrapper .hm2-eco-car { border-radius: 18px 18px 0 0 !important; border-bottom: none !important; }
    .pk-hm2-wrapper .hm2-eco-active { top: 10px !important; left: 10px !important; padding: 6px 12px !important; letter-spacing: 1px !important; }
    .pk-hm2-wrapper .hm2-eco-active-lbl { display: none !important; }
    .pk-hm2-wrapper .hm2-spot-tag { display: none !important; }
    .pk-hm2-wrapper .hm2-spot-dot, .pk-hm2-wrapper .hm2-spot-ring { left: -9px !important; top: -9px !important; width: 18px !important; height: 18px !important; border-width: 2px !important; }
    .pk-hm2-wrapper .hm2-eco-car::after { background: linear-gradient(0deg, color-mix(in srgb, var(--mode) 25%, transparent) 0%, transparent 45%) !important; }
    .pk-hm2-wrapper .hm2-eco-readout { position: relative !important; left: auto !important; bottom: auto !important; display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 0 !important; background: #0c0c0e !important; }
    .pk-hm2-wrapper .hm2-eco-readout > div { min-width: 0 !important; padding: 10px 8px !important; border-radius: 0 !important; border: none !important; border-top: 3px solid var(--pc) !important; background: transparent !important; text-align: center !important; backdrop-filter: none !important; }
    .pk-hm2-wrapper .hm2-eco-readout span { font-size: 1.4rem !important; letter-spacing: 0 !important; line-height: 1.2 !important; margin-bottom: 4px !important; }
    .pk-hm2-wrapper .hm2-eco-readout b { font-size: 1.6rem !important; }
    .pk-hm2-wrapper .hm2-eco-phonewrap { width: 100% !important; margin: 0 !important; }
    .pk-hm2-wrapper .hm2-eco-hint { display: none !important; }
    .pk-hm2-wrapper .hm2-eco-phone { width: 100% !important; height: auto !important; border-radius: 0 0 18px 18px !important; background: #0c0c0e !important; border: 1px solid color-mix(in srgb, var(--mode) 55%, transparent) !important; border-top: none !important; box-shadow: 0 0 50px color-mix(in srgb, var(--mode) 22%, transparent) !important; }
    .pk-hm2-wrapper .hm2-eco-screen { position: relative !important; inset: auto !important; border-radius: 0 0 18px 18px !important; padding: 12px !important; background: transparent !important; }
    .pk-hm2-wrapper .hm2-eco-screen::before, .pk-hm2-wrapper .hm2-eco-app-top, .pk-hm2-wrapper .hm2-eco-app-title, .pk-hm2-wrapper .hm2-eco-app-foot { display: none !important; }
    .pk-hm2-wrapper .hm2-eco-modes { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 8px !important; }
    .pk-hm2-wrapper .hm2-eco-mode { padding: 10px 12px !important; }
    .pk-hm2-wrapper .hm2-eco-mode strong { font-size: 1.4rem !important; letter-spacing: 0 !important; }
    .pk-hm2-wrapper .hm2-eco-mode small { display: none !important; }
    .pk-hm2-wrapper .hm2-dyno-peaks { flex-direction: column !important; }
    .pk-hm2-wrapper .hm2-dyno-tabs { grid-template-columns: 1fr 1fr !important; }
    .pk-hm2-wrapper .hm2-dyno-tab { padding: 10px 12px !important; }
    .pk-hm2-wrapper .hm2-provv { display: table !important; margin: 4px 0 0 !important; }
    .pk-hm2-wrapper .hm2-dyno-specs > div { flex: 1 1 100% !important; }
    .pk-hm2-wrapper .hm2-dyno-foot .hm2-btn { width: 100% !important; }
    .pk-hm2-wrapper .hm2-logos span { height: 58px !important; padding: 8px !important; }
}
@media (hover: none) and (pointer: coarse) {
    .pk-hm2-wrapper .hm2-store-bg { background-attachment: scroll !important; }
}

/* ================= DRIVING EXPERIENCES · schermata app PKMap ================= */
.pkde { --de-c: #ff4444; position: relative !important; display: flex !important; flex-direction: column !important; width: 100% !important; height: 100% !important; padding: 44px 12px 10px !important; overflow: hidden !important; text-align: center !important;
    background: radial-gradient(ellipse at 50% 18%, #3a3a3e 0%, #1d1d20 45%, #0e0e10 100%) !important; color: #fff !important; font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important; box-sizing: border-box !important; }
.pkde *, .pkde *::before, .pkde *::after { box-sizing: border-box !important; font-family: inherit !important; }
.pkde svg { width: 100% !important; height: 100% !important; display: block !important; }
.pkde svg.is-fill { fill: currentColor !important; stroke: none !important; }
.pkde svg.is-line { fill: none !important; stroke: currentColor !important; stroke-width: 2.2 !important; stroke-linecap: round !important; stroke-linejoin: round !important; }
.pkde button { margin: 0 !important; -webkit-tap-highlight-color: transparent !important; text-transform: none !important; letter-spacing: normal !important; line-height: normal !important; }

.pkde-head { flex: 0 0 auto !important; transition: opacity .35s ease, filter .35s ease !important; }
.pkde-logo { display: block !important; width: 76% !important; height: auto !important; max-height: 96px !important; margin: 6px auto 12px !important; object-fit: contain !important; }
.pkde-logo-txt { display: block !important; margin: 6px auto 12px !important; font-size: 3.4rem !important; font-weight: 900 !important; font-style: italic !important; letter-spacing: -1px !important; line-height: 1.1 !important; color: #e8262b !important; }
.pkde-logo-txt b { color: #3b5bd6 !important; font-weight: 400 !important; }
.pkde-dots { display: flex !important; justify-content: center !important; gap: 5px !important; margin-bottom: 8px !important; }
.pkde-dots i { width: 6px !important; height: 6px !important; border-radius: 3px !important; background: #5a5a60 !important; }
.pkde-dots i.on { width: 18px !important; background: #fff !important; }
.pkde-title { font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace !important; font-size: 1.5rem !important; font-weight: 800 !important; letter-spacing: 3px !important; line-height: 1.2 !important; color: #fff !important; }
.pkde-sub { font-size: 1.4rem !important; line-height: 1.3 !important; color: #a9a9ae !important; margin: 4px 0 10px !important; }

.pkde-grid { flex: 0 0 auto !important; display: grid !important; grid-template-columns: 1fr 1fr !important; grid-auto-rows: auto !important; gap: 8px !important; margin: 24px 0 0 !important; transition: opacity .35s ease, filter .35s ease !important; }
.pkde-card { position: relative !important; display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: space-between !important; gap: 4px !important; min-height: 0 !important; aspect-ratio: 1.1 / 1 !important; padding: 12px 6px 10px !important; border-radius: 16px !important; cursor: pointer !important;
    background: #050506 !important; border: 1.5px solid rgba(255,255,255,0.12) !important; color: #fff !important; transition: border-color .35s ease, box-shadow .35s ease, background .35s ease, transform .15s ease !important; }
.pkde-card:active { transform: scale(.97) !important; }
.pkde-card.is-on { border: 2px solid var(--c) !important; background: radial-gradient(ellipse at 50% 30%, color-mix(in srgb, var(--c) 30%, #0a0a0a) 0%, color-mix(in srgb, var(--c) 10%, #050505) 70%) !important;
    box-shadow: 0 0 22px color-mix(in srgb, var(--c) 55%, transparent), inset 0 0 18px color-mix(in srgb, var(--c) 25%, transparent) !important; }
.pkde-card.is-pulse { animation: pkde-pulse .5s ease !important; }
@keyframes pkde-pulse { 0%, 100% { transform: scale(1); } 40% { transform: scale(1.04); } }
.pkde-ic { display: flex !important; align-items: center !important; justify-content: center !important; flex: 0 0 auto !important; width: 44px !important; height: 44px !important; padding: 10px !important; border-radius: 50% !important;
    background: color-mix(in srgb, var(--c) 28%, #000) !important; color: var(--c) !important; transition: background .35s ease, color .35s ease, box-shadow .35s ease !important; }
.pkde-card.is-on .pkde-ic, .pkde-ori.is-on .pkde-ic { background: var(--c) !important; color: #fff !important; box-shadow: 0 0 16px color-mix(in srgb, var(--c) 70%, transparent) !important; }
.pkde-name { display: block !important; font-size: 1.4rem !important; font-weight: 800 !important; line-height: 1.15 !important; letter-spacing: 0 !important; color: #fff !important; text-transform: uppercase !important; }
.pkde-st { display: inline-flex !important; align-items: center !important; gap: 5px !important; font-size: 1.1rem !important; font-weight: 500 !important; letter-spacing: 0.02em !important; line-height: 1 !important; color: #b9b9be !important; white-space: nowrap !important; }
.pkde-st i { width: 6px !important; height: 6px !important; border-radius: 50% !important; background: var(--c) !important; }
.pkde-st em { font-style: normal !important; }
.pkde-card.is-on .pkde-st { color: #fff !important; }
.pkde-card.is-on .pkde-st i { background: #fff !important; }
.pkde-more { position: absolute !important; top: 6px !important; right: 6px !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 2px !important; width: 22px !important; height: 22px !important; border-radius: 50% !important; background: rgba(255,255,255,0.08) !important; border: 1px solid rgba(255,255,255,0.14) !important; }
.pkde-more i { width: 3px !important; height: 3px !important; border-radius: 50% !important; background: #fff !important; }
.pkde-gear { position: absolute !important; top: 6px !important; right: 31px !important; width: 22px !important; height: 22px !important; padding: 4px !important; border-radius: 50% !important; background: rgba(255,255,255,0.12) !important; color: #fff !important; }

.pkde-ori { position: relative !important; flex: 0 0 auto !important; display: flex !important; align-items: center !important; gap: 10px !important; margin-top: 0 !important; margin-bottom: auto !important; padding: 10px 40px 10px 10px !important; border-radius: 16px !important; cursor: pointer !important; text-align: left !important;
    background: #050506 !important; border: 1.5px solid rgba(255,255,255,0.12) !important; color: #fff !important; transition: border-color .35s ease, box-shadow .35s ease !important; }
.pkde-ori .pkde-ic { width: 38px !important; height: 38px !important; padding: 9px !important; }
.pkde-ori.is-on { border: 2px solid var(--c) !important; box-shadow: 0 0 22px color-mix(in srgb, var(--c) 50%, transparent) !important; }
.pkde-ori-txt { display: flex !important; flex-direction: column !important; min-width: 0 !important; }
.pkde-ori-txt b { font-size: 1.4rem !important; font-weight: 800 !important; line-height: 1.2 !important; color: #fff !important; }
.pkde-ori-txt small { font-size: 1.4rem !important; line-height: 1.25 !important; color: #a9a9ae !important; }
.pkde-ori .pkde-more { top: 50% !important; right: 10px !important; transform: translateY(-50%) !important; }
.pkde-set { flex: 0 0 auto !important; display: flex !important; align-items: center !important; justify-content: center !important; width: 46px !important; height: 46px !important; margin: 14px auto 0 !important; padding: 12px !important; border-radius: 50% !important; background: #2c2c30 !important; border: 1px solid rgba(255,255,255,0.12) !important; color: #fff !important; }
.pkde-home { flex: 0 0 auto !important; margin-top: auto !important; padding-top: 8px !important; font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace !important; font-size: 1.4rem !important; letter-spacing: 3px !important; color: #77777d !important; }

/* applicazione in corso */
.pkde.is-busy .pkde-head, .pkde.is-busy .pkde-grid, .pkde.is-busy .pkde-set, .pkde.is-busy .pkde-home { opacity: .22 !important; filter: blur(1px) !important; }
.pkde-modal { --c: var(--mc, #ff4444); position: absolute !important; inset: 0 !important; z-index: 5 !important; display: flex !important; align-items: center !important; justify-content: center !important; padding: 10px !important; background: rgba(0,0,0,0.45) !important; opacity: 0 !important; visibility: hidden !important; transition: opacity .3s ease, visibility .3s ease !important; }
.pkde-modal.is-open { opacity: 1 !important; visibility: visible !important; }
.pkde-modal.is-done { --c: #39d353; }
.pkde-box { width: 100% !important; padding: 12px 12px 14px !important; border-radius: 18px !important; background: color-mix(in srgb, var(--c) 7%, #0b0b0c) !important; border: 2px solid var(--c) !important;
    box-shadow: 0 0 30px color-mix(in srgb, var(--c) 45%, transparent) !important; transform: scale(.94) !important; transition: transform .3s ease, border-color .4s ease, box-shadow .4s ease, background .4s ease !important; }
.pkde-modal.is-open .pkde-box { transform: scale(1) !important; }
.pkde-box-top { display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace !important; font-size: 1.4rem !important; letter-spacing: 1px !important; line-height: 1.25 !important; color: #b9b9be !important; text-align: left !important; }
.pkde-box-top b { color: var(--c) !important; font-weight: 800 !important; transition: color .4s ease !important; }
.pkde-box-mi { flex: 0 0 14px !important; width: 14px !important; height: 14px !important; color: #fff !important; }
.pkde-box-ic { position: relative !important; width: 58px !important; height: 58px !important; margin: 12px auto 10px !important; border-radius: 50% !important; border: 2px solid var(--c) !important; background: color-mix(in srgb, var(--c) 20%, #000) !important; color: var(--c) !important;
    box-shadow: 0 0 20px color-mix(in srgb, var(--c) 50%, transparent) !important; transition: border-color .4s ease, color .4s ease, background .4s ease !important; }
.pkde-modal.is-open:not(.is-done) .pkde-box-ic { animation: pkde-ring 1.3s ease-out infinite !important; }
@keyframes pkde-ring { 0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--c) 55%, transparent); } 100% { box-shadow: 0 0 0 14px transparent; } }
.pkde-box-ant, .pkde-box-ok { position: absolute !important; inset: 14px !important; transition: opacity .3s ease, transform .3s ease !important; }
.pkde-box-ok { opacity: 0 !important; transform: scale(.5) !important; }
.pkde-modal.is-done .pkde-box-ant { opacity: 0 !important; }
.pkde-modal.is-done .pkde-box-ok { opacity: 1 !important; transform: scale(1) !important; }
.pkde-box-h { font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace !important; font-size: 1.5rem !important; font-weight: 800 !important; letter-spacing: 2px !important; line-height: 1.2 !important; color: var(--c) !important; margin-bottom: 10px !important; transition: color .4s ease !important; }
.pkde-list { display: flex !important; flex-direction: column !important; gap: 6px !important; }
.pkde-it { display: flex !important; align-items: center !important; gap: 10px !important; padding: 8px 10px !important; border-radius: 10px !important; background: rgba(255,255,255,0.04) !important; border: 1px solid rgba(255,255,255,0.14) !important; text-align: left !important; transition: border-color .3s ease, background .3s ease !important; }
.pkde-it.is-ok { border-color: rgba(57,211,83,0.45) !important; background: rgba(57,211,83,0.06) !important; }
.pkde-it-ic { flex: 0 0 20px !important; width: 20px !important; height: 20px !important; color: #8a8a90 !important; }
.pkde-it.is-conn .pkde-it-ic { color: #fff !important; }
.pkde-it.is-ok .pkde-it-ic { padding: 3px !important; border-radius: 50% !important; background: #39d353 !important; color: #0a0a0a !important; }
.pkde-it.is-ok .pkde-it-ic svg { stroke-width: 3.2 !important; }
.pkde-spin { animation: pkde-spin 1s linear infinite !important; }
@keyframes pkde-spin { to { transform: rotate(360deg); } }
.pkde-it-txt { display: flex !important; flex-direction: column !important; min-width: 0 !important; }
.pkde-it-txt b { font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace !important; font-size: 1.4rem !important; font-weight: 800 !important; letter-spacing: 1px !important; line-height: 1.2 !important; color: #fff !important; white-space: nowrap !important; }
.pkde-it-txt small { font-size: 1.4rem !important; line-height: 1.2 !important; color: #a9a9ae !important; }
.pkde-okbtn { display: none !important; align-items: center !important; justify-content: center !important; gap: 8px !important; width: 100% !important; margin-top: 10px !important; padding: 10px !important; border: none !important; border-radius: 12px !important; cursor: pointer !important;
    background: linear-gradient(180deg, #4be35f, #26b83c) !important; color: #fff !important; font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace !important; font-size: 1.5rem !important; font-weight: 800 !important; letter-spacing: 2px !important; box-shadow: 0 0 18px rgba(57,211,83,0.5) !important; }
.pkde-okbtn svg { width: 18px !important; height: 18px !important; }
.pkde-modal.is-done .pkde-okbtn { display: flex !important; animation: pkde-in .3s ease !important; }
@keyframes pkde-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.pkde-tpl-icons { display: none !important; }
@media (prefers-reduced-motion: reduce) {
    .pkde *, .pkde { animation: none !important; transition: none !important; }
}

/* home: schermata Driving Experiences dentro l'iPhone */
.pk-hm2-wrapper .hm2-eco-screen { padding: 0 !important; display: block !important; }
.pk-hm2-wrapper .hm2-eco-screen::before { z-index: 6 !important; }
@media (max-width: 900px) {
    .pk-hm2-wrapper .hm2-eco-screen { padding: 0 !important; }
    .pk-hm2-wrapper .hm2-eco-screen .pkde { height: auto !important; min-height: 300px !important; padding: 12px !important; background: transparent !important; border-radius: 0 0 18px 18px !important; }
    .pk-hm2-wrapper .hm2-eco-screen .pkde-head, .pk-hm2-wrapper .hm2-eco-screen .pkde-home, .pk-hm2-wrapper .hm2-eco-screen .pkde-set { display: none !important; }
    .pk-hm2-wrapper .hm2-eco-screen .pkde-grid { margin: 0 !important; }
    .pk-hm2-wrapper .hm2-eco-screen .pkde-card { aspect-ratio: 5 / 4 !important; }
}

/* HERO HOME: "SVILUPPATE AL BANCO." con contorno rosso come in centraline aggiuntive */
.pk-hm2-wrapper .hm2-hero-text h1 .hm2-red {
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-text-stroke: 2px var(--hm2-red) !important;
    text-shadow: 0 0 40px rgba(255,68,68,0.35) !important;
}
@media (max-width: 968px) {
    .pk-hm2-wrapper .hm2-hero-text h1 .hm2-red { -webkit-text-stroke-width: 1.5px !important; }
}