/* Extracted from app/Views/welcome_message.php; keep cascade position in the view. */

        /* Kababali Mobile VPS promotion — revised to match the current single-phone mobile workflow. */
        .kvps-section {
            position: relative;
            overflow: hidden;
            border: 1px solid rgba(68, 190, 255, .18);
            border-radius: 30px;
            background:
                radial-gradient(circle at 86% 22%, rgba(37, 228, 176, .14), transparent 24%),
                radial-gradient(circle at 14% 10%, rgba(34, 132, 255, .12), transparent 30%),
                linear-gradient(145deg, #071322 0%, #05111d 46%, #06101a 100%);
            box-shadow: 0 28px 80px rgba(0, 0, 0, .34);
            padding: clamp(28px, 3.5vw, 58px);
        }
        .kvps-section::before,
        .kvps-section::after {
            content: "";
            position: absolute;
            border-radius: 50%;
            pointer-events: none;
        }
        .kvps-section::before {
            width: 520px;
            height: 520px;
            right: -140px;
            top: -150px;
            border: 1px solid rgba(74, 233, 192, .09);
            box-shadow: 0 0 0 72px rgba(74, 233, 192, .03), 0 0 0 146px rgba(74, 233, 192, .02);
        }
        .kvps-section::after {
            width: 340px;
            height: 340px;
            right: 12%;
            top: 10%;
            background: radial-gradient(circle, rgba(40, 228, 178, .14), transparent 68%);
            filter: blur(6px);
            opacity: .9;
        }
        .kvps-hero {
            position: relative;
            z-index: 1;
            display: grid;
            grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
            gap: clamp(26px, 4.4vw, 72px);
            align-items: center;
        }
        .kvps-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            border: 1px solid rgba(58, 229, 190, .38);
            border-radius: 999px;
            background: rgba(30, 206, 164, .07);
            color: #79f0d2;
            padding: 8px 13px;
            font-size: 11px;
            font-weight: 800;
            letter-spacing: .08em;
            text-transform: uppercase;
        }
        .kvps-copy h2 {
            margin: 18px 0 14px;
            max-width: 640px;
            color: #f5f9ff;
            font-size: clamp(40px, 5vw, 66px);
            line-height: .98;
            letter-spacing: -.05em;
        }
        .kvps-copy h2 span {
            display: block;
            background: linear-gradient(90deg, #74f3d6 0%, #55def7 55%, #61d7ff 100%);
            -webkit-background-clip: text;
            background-clip: text;
            color: transparent;
        }
        .kvps-copy > p {
            max-width: 600px;
            margin: 0;
            color: #b1c0d2;
            font-size: 15px;
            line-height: 1.72;
        }
        .kvps-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 12px;
            margin-top: 24px;
        }
        .kvps-actions .button { min-height: 48px; justify-content: center; }
        .kvps-secondary {
            border: 1px solid rgba(88, 177, 255, .34);
            background: rgba(8, 28, 48, .72);
            color: #e9f5ff;
        }
        .kvps-secondary:hover {
            border-color: rgba(88, 177, 255, .62);
            background: rgba(18, 54, 84, .82);
            color: #fff;
        }
        .kvps-features {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 14px;
            margin-top: 26px;
        }
        .kvps-feature {
            min-height: 126px;
            padding: 16px;
            border: 1px solid rgba(113, 165, 205, .16);
            border-radius: 16px;
            background: linear-gradient(155deg, rgba(12, 32, 52, .82), rgba(5, 18, 31, .82));
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, .02);
        }
        .kvps-feature-icon {
            width: 34px;
            height: 34px;
            display: grid;
            place-items: center;
            margin-bottom: 12px;
            border: 1px solid rgba(70, 230, 190, .30);
            border-radius: 10px;
            background: rgba(41, 220, 174, .08);
            color: #65e9c7;
            font-size: 16px;
            font-weight: 800;
        }
        .kvps-feature h3 { margin: 0 0 6px; color: #f3f8ff; font-size: 14px; }
        .kvps-feature p { margin: 0; color: #90a6bd; font-size: 12px; line-height: 1.55; }
        .kvps-visual {
            position: relative;
            min-height: 620px;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .kvps-orbit {
            position: absolute;
            border-radius: 50%;
            border: 1px solid rgba(67, 226, 182, .12);
        }
        .kvps-orbit-large {
            width: 510px;
            height: 510px;
            right: 3%;
            top: 4%;
            box-shadow: 0 0 0 52px rgba(67, 226, 182, .03), 0 0 0 108px rgba(67, 226, 182, .018);
        }
        .kvps-orbit-small {
            width: 320px;
            height: 320px;
            right: 14%;
            top: 18%;
            background: radial-gradient(circle at center, rgba(39, 227, 177, .12), transparent 65%);
            border-color: rgba(67, 226, 182, .08);
        }
        .kvps-phone {
            position: relative;
            z-index: 2;
            width: min(325px, 78%);
            margin: 0;
            padding: 12px;
            border: 1px solid rgba(201, 231, 255, .40);
            border-radius: 38px;
            background: linear-gradient(145deg, #2b3a46, #05090e 34%, #263641 100%);
            box-shadow: 0 38px 72px rgba(0, 0, 0, .52), 0 0 70px rgba(32, 222, 177, .10);
            transform: rotate(-7deg);
        }
        .kvps-phone::before {
            content: "";
            position: absolute;
            top: 8px;
            left: 50%;
            z-index: 2;
            width: 32%;
            height: 14px;
            transform: translateX(-50%);
            border-radius: 0 0 12px 12px;
            background: #05080c;
        }
        .kvps-phone img {
            display: block;
            width: 100%;
            height: auto;
            border-radius: 28px;
            background: #030b14;
        }
        .kvps-caption {
            position: absolute;
            left: 50%;
            bottom: 62px;
            transform: translateX(-50%);
            color: #91a7bc;
            font-size: 11px;
            white-space: nowrap;
        }
        .kvps-live-chip {
            position: absolute;
            z-index: 4;
            left: 50%;
            bottom: 16px;
            transform: translateX(-50%);
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 10px 13px;
            border: 1px solid rgba(45, 226, 170, .36);
            border-radius: 999px;
            background: rgba(5, 20, 33, .92);
            color: #7cf1c7;
            font-size: 11px;
            font-weight: 800;
            box-shadow: 0 14px 32px rgba(0, 0, 0, .3);
            white-space: nowrap;
        }
        .kvps-live-chip i {
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: #25e584;
            box-shadow: 0 0 0 5px rgba(37, 229, 132, .11);
        }
        .kvps-workflow-wrap { position: relative; z-index: 1; margin-top: 20px; }
        .kvps-workflow-title {
            display: flex;
            align-items: center;
            gap: 12px;
            justify-content: center;
            margin-bottom: 14px;
            color: #63e7ca;
            font-size: 12px;
            font-weight: 800;
            letter-spacing: .12em;
        }
        .kvps-workflow-title span {
            flex: 1 1 0;
            max-width: 150px;
            height: 1px;
            background: linear-gradient(90deg, transparent, rgba(89, 206, 255, .35), transparent);
        }
        .kvps-workflow {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 12px;
        }
        .kvps-step {
            position: relative;
            display: grid;
            grid-template-columns: 38px 1fr;
            gap: 12px;
            align-items: start;
            min-height: 86px;
            padding: 14px 16px;
            border: 1px solid rgba(49, 216, 178, .18);
            border-radius: 14px;
            background: rgba(4, 22, 36, .68);
        }
        .kvps-step:not(:last-child)::after {
            content: "→";
            position: absolute;
            right: -10px;
            top: 50%;
            transform: translateY(-50%);
            color: #42e1bf;
            font-size: 18px;
            font-weight: 700;
        }
        .kvps-step-number {
            width: 38px;
            height: 38px;
            display: grid;
            place-items: center;
            border: 1px solid rgba(71, 207, 255, .30);
            border-radius: 10px;
            color: #6dd9ff;
            background: rgba(50, 151, 219, .08);
            font-size: 13px;
            font-weight: 900;
        }
        .kvps-step strong,
        .kvps-step small { display: block; }
        .kvps-step strong { color: #eef7ff; font-size: 13px; }
        .kvps-step small { margin-top: 3px; color: #8fa5ba; line-height: 1.45; }
        .kvps-download-row {
            position: relative;
            z-index: 1;
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 14px;
            margin-top: 14px;
        }
        .kvps-download-card {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 18px;
            padding: 16px 18px;
            border: 1px solid rgba(119, 167, 207, .16);
            border-radius: 14px;
            background: rgba(8, 25, 42, .72);
        }
        .kvps-download-copy span,
        .kvps-download-copy small { display: block; }
        .kvps-download-copy span { margin-bottom: 3px; color: #f5f9ff; font-weight: 800; }
        .kvps-download-copy small { color: #8fa3b8; }
        .kvps-download-card .button { flex: 0 0 auto; white-space: nowrap; }
        .kvps-note {
            position: relative;
            z-index: 1;
            display: flex;
            align-items: center;
            gap: 10px;
            margin-top: 12px;
            padding: 12px 14px;
            border: 1px solid rgba(86, 166, 224, .18);
            border-radius: 12px;
            background: rgba(5, 18, 31, .74);
            color: #98aec3;
            font-size: 12px;
        }
        .kvps-note strong { color: #cfe4f5; }
        @media (max-width: 1180px) {
            .kvps-hero { grid-template-columns: 1fr; }
            .kvps-visual { min-height: 560px; max-width: 620px; margin: 0 auto; }
            .kvps-features { grid-template-columns: repeat(3, minmax(0, 1fr)); }
        }
        @media (max-width: 860px) {
            .kvps-section { border-radius: 22px; padding: 22px 18px; }
            .kvps-copy h2 { font-size: clamp(36px, 11vw, 56px); }
            .kvps-features, .kvps-workflow, .kvps-download-row { grid-template-columns: 1fr; }
            .kvps-visual { min-height: 500px; }
            .kvps-phone { width: min(310px, 86%); }
            .kvps-step:not(:last-child)::after { content: "⌄"; right: 50%; top: auto; bottom: -18px; transform: translateX(50%); }
            .kvps-download-card { align-items: flex-start; flex-direction: column; }
            .kvps-download-card .button { width: 100%; }
            .kvps-workflow-title span { max-width: 80px; }
        }
        @media (max-width: 560px) {
            .kvps-actions { flex-direction: column; }
            .kvps-actions .button { width: 100%; }
            .kvps-features { gap: 10px; }
            .kvps-feature { min-height: 0; }
            .kvps-visual { min-height: 400px; }
            .kvps-orbit-large { width: 320px; height: 320px; box-shadow: 0 0 0 34px rgba(67, 226, 182, .03), 0 0 0 70px rgba(67, 226, 182, .018); }
            .kvps-orbit-small { width: 210px; height: 210px; }
            .kvps-phone { width: min(270px, 88%); padding: 10px; border-radius: 30px; }
            .kvps-phone img { border-radius: 23px; }
            .kvps-caption { font-size: 10px; bottom: 55px; }
            .kvps-live-chip { font-size: 10px; padding: 8px 10px; }
        }

/* Professional readability update for the welcome page — 2026-08-06 */
.primary-nav a { font-size: 13px; }
.button { font-size: 13px; }
.button-small { font-size: 12px; }
.release-pill, .section-label, .download-label, .sample-pill { font-size: 10px; }
.hero-description { font-size: clamp(15px, 1.15vw, 17px); line-height: 1.7; }
.hero-checks li { font-size: 13px; line-height: 1.55; }
.platform-line { font-size: 11px; }
.trust-strip strong { font-size: 12px; }
.trust-strip small { font-size: 9.5px; line-height: 1.4; }
.performance-title h2 { font-size: 12px; }
.sample-pill { font-size: 8px; }
.micro-label { font-size: 9px; }
.strategy-tags span { font-size: 8.5px; }
.profile-owner strong { font-size: 11px; }
.profile-owner small, .growth-block > span, .growth-block > small { font-size: 9px; }
.profile-owner span { font-size: 8px; }
.metric-cards span, .side-stat span { font-size: 10px; }
.metric-cards small, .trade-balance p span { font-size: 9px; }
.capability-strip strong { font-size: 11px; line-height: 1.35; }
.capability-strip small { font-size: 9px; line-height: 1.45; }
.section-heading p { font-size: 13px; line-height: 1.65; }
.workflow-grid h3, .protection-grid h3 { font-size: 13px; }
.workflow-grid p, .protection-grid p { font-size: 10.5px; line-height: 1.55; }
.download-copy p { font-size: 12px; line-height: 1.65; }
.download-copy small, .download-tags span { font-size: 9px; }
.risk-disclosure p { font-size: 10.5px; line-height: 1.6; }
.footer-brand p { font-size: 11px; line-height: 1.6; }
.footer-brand > span, .footer-grid > div:not(.footer-brand) a, .footer-bottom { font-size: 9.5px; }

@media (max-width: 720px) {
    .primary-nav a { font-size: 14px; }
    .hero-description { font-size: 15px; }
    .hero-checks li { font-size: 13px; }
    .capability-strip strong { font-size: 12px; }
    .capability-strip small, .workflow-grid p, .protection-grid p { font-size: 10.5px; }
}


/* Mobile showcase V3 — mockup-faithful spacing + self-contained SVG icons (no icon-font dependency). */
.kvps-section { max-width: 1280px; margin: 0 auto; padding: clamp(34px, 4vw, 62px); }
.kvps-hero { grid-template-columns: minmax(0, .98fr) minmax(430px, 1.02fr); gap: clamp(36px, 5vw, 78px); }
.kvps-copy h2 { max-width: 650px; font-size: clamp(44px, 4.9vw, 72px); line-height: .96; }
.kvps-copy > p { max-width: 610px; }
.kvps-features { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.kvps-feature { padding: 17px; min-height: 138px; }
.kvps-feature-icon { width: 38px; height: 38px; padding: 8px; }
.kvps-feature-icon svg,
.kvps-download-icon svg,
.kvps-note-icon svg { width: 100%; height: 100%; display: block; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.kvps-visual { min-height: 650px; }
.kvps-phone { width: min(350px, 78%); transform: rotate(-6deg); }
.kvps-caption { bottom: 62px; }
.kvps-live-chip { bottom: 14px; }
.kvps-workflow-wrap { margin-top: 18px; }
.kvps-workflow-title { margin-bottom: 16px; }
.kvps-step { min-height: 92px; padding: 16px 18px; }
.kvps-download-row { margin-top: 16px; gap: 16px; }
.kvps-download-card {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    min-height: 92px;
    padding: 16px 18px;
    background: linear-gradient(145deg, rgba(9,28,46,.9), rgba(5,19,33,.88));
}
.kvps-download-icon {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    padding: 10px;
    border: 1px solid rgba(65, 211, 255, .38);
    border-radius: 12px;
    color: #55d5ff;
    background: rgba(44, 163, 226, .07);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
}
.kvps-download-icon-android { color: #6ef0ad; border-color: rgba(65, 235, 166, .38); background: rgba(45, 221, 155, .07); }
.kvps-download-copy span,
.kvps-download-copy strong,
.kvps-download-copy small { display: block; }
.kvps-download-copy span { margin: 0 0 3px; color: #f5f9ff; font-size: 13px; font-weight: 800; }
.kvps-download-copy strong { margin: 0 0 2px; color: #55c8ff; font-size: 12px; font-weight: 800; }
.kvps-download-card-app .kvps-download-copy strong { color: #69eeb1; }
.kvps-download-copy small { color: #8fa3b8; font-size: 10px; }
.kvps-download-card .button { min-width: 132px; justify-content: center; }
.kvps-note { margin-top: 14px; }
.kvps-note-icon { flex: 0 0 auto; width: 20px; height: 20px; padding: 2px; color: #77d9ff; }
@media (max-width: 1180px) {
  .kvps-hero { grid-template-columns: 1fr; }
  .kvps-visual { min-height: 590px; }
}
@media (max-width: 860px) {
  .kvps-features { grid-template-columns: 1fr; }
  .kvps-download-card { grid-template-columns: 44px minmax(0,1fr); }
  .kvps-download-card .button { grid-column: 1 / -1; width: 100%; }
}
@media (max-width: 560px) {
  .kvps-section { padding: 24px 16px; }
  .kvps-copy h2 { font-size: clamp(38px, 12vw, 52px); }
  .kvps-visual { min-height: 420px; }
  .kvps-phone { width: min(285px, 88%); }
  .kvps-download-card { min-height: 0; }
}
