/* ============================================================
   YOULINGUA – ANTIGRAVITY-INSPIRED REDESIGN
   Clean white/light-gray, colorful particles, pill buttons
   ============================================================ */

/* ---------- Google Fonts ---------- */
@import url('https://fonts.googleapis.com/css2?family=Google+Sans:wght@400;500;700&family=Inter:wght@400;500;600;700&display=swap');

/* ---------- Tokens ---------- */
html {
    scroll-behavior: smooth;
}

:root {
    --bg: #f8f9fc;
    --bg-2: #ffffff;
    --bg-3: #f0f1f6;
    --border: #e2e4ec;
    --border-dark: #c8ccd8;
    --text-1: #0d0d0d;
    --text-2: #5f6368;
    --text-3: #9aa0ac;

    /* Google brand palette (used for particles & accents) */
    --g-blue: #305282;
    --g-red: #e0282c;
    --g-yellow: #cb9b49;
    --g-green: #2a3d54;
    --g-purple: #cb9b49;

    --radius-sm: 999px;
    /* pill */
    --radius-md: 999px;
    --radius-lg: 24px;
    --radius-xl: 32px;
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);
    --shadow-md: 0 8px 32px rgba(0, 0, 0, 0.10);
    --shadow-lg: 0 20px 60px rgba(0, 0, 0, 0.12);
    --transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);

    --font-display: 'Google Sans', 'Inter', -apple-system, sans-serif;
    --font-body: 'Inter', -apple-system, sans-serif;
}

/* ---------- Reset ---------- */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 120px;
    -webkit-text-size-adjust: 100%;
}

body {
    font-family: var(--font-body);
    background: var(--bg);
    color: var(--text-1);
    line-height: 1.6;
    font-size: 1rem;
    overflow-x: hidden;
}

a {
    text-decoration: none;
    color: inherit;
}

img {
    max-width: 100%;
    display: block;
}

strong {
    font-weight: 700;
}

em {
    font-style: italic;
}

.container {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 2rem;
}

/* ---------- Typography ---------- */
.section-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--g-red);
    margin-bottom: 1rem;
}

.section-title {
    font-family: var(--font-display);
    font-size: clamp(2rem, 3.5vw, 2.8rem);
    font-weight: 700;
    line-height: 1.18;
    letter-spacing: -0.5px;
    margin-bottom: 1rem;
    color: var(--text-1);
}

.section-title::after {
    content: '.';
    color: var(--g-red);
    margin-left: 0.35rem;
}

.section-subtitle {
    color: var(--text-2);
    font-size: 1.05rem;
    max-width: 520px;
    margin-bottom: 2.5rem;
    line-height: 1.7;
}

/* ---------- Pill Buttons ---------- */
.btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-body);
    font-weight: 500;
    font-size: 0.92rem;
    border-radius: 999px;
    padding: 0.68rem 1.6rem;
    border: none;
    cursor: pointer;
    transition: var(--transition);
    white-space: nowrap;
    letter-spacing: 0.01em;
}

.btn-primary {
    background: var(--g-blue);
    color: #fff;
    box-shadow: 0 6px 18px rgba(48, 82, 130, 0.25);
}

.btn-primary:hover {
    background: #25426c;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(48, 82, 130, 0.35);
}


/* Subtle breathing for Hero CTA */
.hero .btn-primary {
    animation: softPulse 3s infinite ease-in-out;
    will-change: transform, box-shadow;
}

@keyframes softPulse {
    0%, 100% { 
        transform: scale(1); 
        box-shadow: 0 6px 18px rgba(48, 82, 130, 0.25); 
    }
    50% { 
        transform: scale(1.03); 
        box-shadow: 0 10px 25px rgba(48, 82, 130, 0.4); 
    }
}
.btn-ghost {
    background: #fdfdfe;
    border: 1px solid var(--border);
    color: var(--text-2);
}


.btn-ghost:hover {
    background: var(--bg-2);
    border-color: #999;
    color: var(--text-1);
    transform: translateY(-2px);
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.08);
}


.btn-lg {
    padding: 0.85rem 2rem;
    font-size: 0.95rem;
}

.btn-block {
    width: 100%;
    justify-content: center;
}

/* ---------- Nav ---------- */
/* ---------- Header Container & Navbar ---------- */
.navbar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 2.5rem;
    height: 60px;
    background: rgba(255, 255, 255, 0.9); /* More opaque, less blur intensive */
    backdrop-filter: blur(8px); /* Reduced from 20px */
    -webkit-backdrop-filter: blur(8px);
    border-bottom: 1px solid var(--border);
    transition: all 0.3s ease;
    will-change: transform, background; /* Hardware acceleration hint */
}

/* Scroll adjustments */
.navbar.scrolled {
    box-shadow: 0 1px 12px rgba(0, 0, 0, 0.06);
}


.logo {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 1rem;
    color: var(--text-1);
}

.logo-icon {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    background: linear-gradient(135deg, var(--g-blue) 0%, var(--g-purple) 100%);
    font-size: 0.6rem;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    letter-spacing: 0;
    flex-shrink: 0;
}

.nav-links {
    display: flex;
    list-style: none;
    align-items: center;
    gap: 2rem;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.nav-links a {
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--text-2);
    padding: 0.5rem 0.8rem;
    position: relative;
    transition: var(--transition);
    white-space: nowrap;
}

.nav-links a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 0;
    height: 2px;
    background: var(--g-blue);
    transition: all 0.3s ease;
    transform: translateX(-50%);
    border-radius: 2px;
}

.nav-links a:hover {
    color: var(--g-blue);
    background: rgba(48, 82, 130, 0.05); /* very light blue highlight */
    border-radius: 8px;
}

.nav-links a:hover::after {
    width: 20px;
}

.nav-cta {
    background: var(--g-blue) !important;
    color: #fff !important;
    padding: 0.45rem 1.4rem !important;
    border-radius: 999px !important;
    font-weight: 700 !important;
    font-size: 0.82rem !important;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: var(--transition);
    box-shadow: 0 4px 12px rgba(48, 82, 130, 0.2);
}

.nav-cta:hover {
    background: #25426c !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(48, 82, 130, 0.3) !important;
}

/* ---------- Language Switcher ---------- */
.lang-switcher {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    background: var(--bg-3);
    border: 1px solid var(--border);
    border-radius: 999px;
    padding: 3px;
    height: 34px; 
    box-sizing: border-box;
    margin-left: auto; /* Pushes to the right on desktop flex */
}

.lang-btn {
    font-family: var(--font-body);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: var(--text-3);
    background: transparent;
    border: none;
    cursor: pointer;
    width: 88px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    transition: var(--transition);
    line-height: 1;
    user-select: none;
    padding: 0;
}

.lang-btn:hover {
    color: var(--text-1);
    background: rgba(255, 255, 255, 0.7);
}

.lang-btn.active {
    background: #fff;
    color: var(--text-1);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
}

/* mobile: lang switcher inside the vertical list */
@media (max-width: 900px) {
    .lang-switcher {
        margin: 1.5rem auto 1rem; /* Center vertically in mobile dropdown */
        align-self: center;
        width: fit-content;
        background: rgba(0, 0, 0, 0.05);
    }
}

.hamburger {
    display: none;
    flex-direction: column;
    gap: 5px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
}

.hamburger span {
    display: block;
    width: 22px;
    height: 1.5px;
    background: var(--text-1);
    border-radius: 2px;
    transition: var(--transition);
}

.hamburger.open span:nth-child(1) {
    transform: translateY(6.5px) rotate(45deg);
}

.hamburger.open span:nth-child(2) {
    opacity: 0;
}

.hamburger.open span:nth-child(3) {
    transform: translateY(-6.5px) rotate(-45deg);
}



/* ---------- Hero ---------- */
.hero {
    position: relative;
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    text-align: left;
    padding: 100px 5vw 60px;
    gap: 4rem;
    max-width: 1300px;
    margin: 0 auto;
    width: 100%;
    z-index: 1;
    background: transparent;
}

.hero-left {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
}

.hero-right {
    flex: 0 0 500px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.hero-photo-wrap {
    position: relative;
    width: 100%;
    max-width: 480px;
    height: 680px;
    margin-left: auto;
    border-radius: 40px;
    overflow: hidden;
    box-shadow: 0 40px 80px rgba(0, 0, 0, 0.1), 0 10px 20px rgba(0, 0, 0, 0.05);
    background: #fff;
    transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
    border: 1px solid rgba(255, 255, 255, 0.8);
}

.hero-photo-wrap:hover {
    transform: translateY(-10px) scale(1.005);
    box-shadow: 0 50px 100px rgba(0, 0, 0, 0.12);
}

.hero-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    transition: transform 1.5s ease;
}

.hero-photo-wrap:hover .hero-photo {
    transform: scale(1.04);
}

.hero-photo-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, transparent 70%, rgba(0, 0, 0, 0.05));
    pointer-events: none;
}
}





.hero h1 {
    font-family: var(--font-display);
    font-size: clamp(3rem, 6.5vw, 6.5rem);

    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -2px;
    color: var(--text-1);
    margin-bottom: 1.5rem;
    min-height: 2.2em;
}

.hero h1 em {
    font-style: normal;
    color: var(--g-blue);
}

.hero-subtitle {
    font-size: 1.05rem;
    color: var(--text-2);
    max-width: 440px;
    margin-bottom: 1.2rem;
    line-height: 1.65;
}

.hero-features {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin-bottom: 2.5rem;
}

.feature-chip {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--text-1);
    background: var(--bg-2);
    padding: 0.45rem 1rem;
    border-radius: 999px;
    border: 1px solid var(--border);
    transition: var(--transition);
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.feature-chip::before {
    content: '';
    width: 6px;
    height: 6px;
    background: var(--text-3); /* Default neutral color */
    border-radius: 50%;
    flex-shrink: 0; /* Prevent squishing */
    transition: background 0.25s ease;
}

.feature-chip:hover {
    border-color: var(--g-red);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

.feature-chip:hover::before {
    background: var(--g-red); /* Dots turn red on hover */
}

.hero-actions {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 3.5rem;
}

.hero-contact-info {
    display: flex;
    flex-direction: column; /* Stack them vertically for better control */
    align-items: flex-start; /* Align pills to the left */
    gap: 0.8rem;
    margin-top: 2rem;
    width: 100%;
}

.contact-pill {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.8rem; /* Tight, professional gap */
    padding: 0.8rem 1.5rem;
    background: #ffffff;
    border: 1.5px solid rgba(48, 82, 130, 0.12);
    box-shadow: 0 4px 12px rgba(48, 82, 130, 0.05); /* Soft shadow for depth */
    border-radius: 12px;
    color: var(--g-blue);
    font-size: 1.05rem;
    font-weight: 600;
    text-decoration: none;
    transition: var(--transition);
    width: 100%;
    max-width: 380px;
}

.pill-marker {
    display: none; /* Removed as requested */
}

.contact-pill:hover {
    background: rgba(48, 82, 130, 0.08);
    border-color: var(--g-blue);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(48, 82, 130, 0.1);
}

.contact-pill:hover .pill-marker {
    opacity: 1;
    left: -15px;
}

.contact-pill svg {
    transition: transform 0.3s ease;
}

.contact-pill:hover svg {
    transform: scale(1.1);
}

.pill-text-wrap {
    display: flex;
    flex-direction: column;
    text-align: left;
    align-items: flex-start;
}

.action-hint-text {
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--text-3);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    display: block;
    margin-top: 2px;
    transition: color 0.3s ease;
}

.contact-pill:hover .action-hint-text {
    color: var(--g-blue);
}

.pill-icons {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 52px; /* Fixed width to keep flags aligned, but tight enough for the number */
    justify-content: flex-start;
    flex-shrink: 0;
}

.pill-divider {
    width: 1px;
    height: 16px;
    background: rgba(0, 0, 0, 0.1);
    flex-shrink: 0;
}

.phone-icon-mini {
    color: var(--text-2);
    opacity: 0.8;
    transition: var(--transition);
    flex-shrink: 0;
    width: 16px;
}

.contact-pill:hover .phone-icon-mini {
    color: var(--g-blue);
    transform: scale(1.1);
}

.flag-emoji {
    font-size: 1.15rem;
    line-height: 1;
    flex-shrink: 0;
    display: inline-flex;
    justify-content: center;
    width: 20px;
}

.stat {
    text-align: center;
}

.stat-row {
    display: flex;
    align-items: baseline;
    gap: 2px;
    justify-content: center;
}

.stat-number {
    font-family: var(--font-display);
    font-size: 2.2rem;
    font-weight: 700;
    color: var(--text-1);
    line-height: 1;
}

.stat-suffix {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--g-blue);
}

.stat-label {
    display: block;
    font-size: 0.75rem;
    color: var(--text-3);
    font-weight: 500;
    margin-top: 4px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.stat-divider {
    width: 1px;
    height: 32px;
    background: var(--border);
}

/* ---------- Clients Strip ---------- */
.clients-strip {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 2rem;
    padding: 1rem 2.5rem;
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(8px);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    overflow: hidden;
}

.strip-label {
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--text-3);
    white-space: nowrap;
}

.strip-items {
    display: flex;
    gap: 2rem;
    font-size: 0.85rem;
    color: var(--text-2);
    font-weight: 500;
}

@media (max-width: 900px) {
    .clients-strip {
        flex-direction: column;
        justify-content: center;
        padding: 1.2rem 1.5rem;
        gap: 0.8rem;
    }
    .strip-items {
        flex-wrap: wrap;
        justify-content: center;
        gap: 0.8rem 1.5rem;
    }
}

.strip-items .dot {
    color: var(--g-blue);
}

/* ---------- Services ---------- */
.services {
    position: relative;
    z-index: 1;
    padding: 7rem 0;
    background: var(--bg-2);
    border-top: 1px solid var(--border);
}

.services .container {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 6rem;
    align-items: start;
}

.services-header {
    position: sticky;
    top: 80px;
}

.service-list {
    display: flex;
    flex-direction: column;
}

.service-row {
    display: flex;
    gap: 3rem;
    padding: 3.5rem 0;
    border-top: 1px solid var(--border);
    transition: var(--transition);
    position: relative;
    cursor: default;
}

.service-row:last-child {
    border-bottom: 1px solid var(--border);
}

.svc-marker {
    position: absolute;
    left: -20px;
    top: 4rem;
    width: 6px;
    height: 6px;
    background: var(--g-blue);
    border-radius: 50%;
    opacity: 0;
    transition: var(--transition);
}

.service-row:hover .svc-marker {
    opacity: 1;
    left: -35px;
}

.svc-icon-main {
    flex-shrink: 0;
    color: var(--text-2);
    transition: var(--transition);
    padding-top: 0.3rem;
}

.service-row:hover .svc-icon-main {
    color: var(--g-blue);
    transform: scale(1.1);
}

.svc-content {
    flex: 1;
    display: grid;
    grid-template-columns: 1fr 1.25fr;
    gap: 5rem;
}

.svc-main-info h3 {
    font-size: 1.35rem;
    font-weight: 700;
    margin-bottom: 1rem;
    color: var(--text-1);
    font-family: var(--font-display);
    transition: var(--transition);
}

.service-row:hover .svc-main-info h3 {
    color: var(--g-blue);
}

.svc-main-info p {
    color: var(--text-2);
    font-size: 1rem;
    line-height: 1.6;
}

.svc-details-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
}

.svc-details-list li {
    font-size: 0.92rem;
    color: var(--text-2);
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    line-height: 1.45;
}

.svc-details-list li::before {
    content: "•";
    color: var(--g-blue);
    font-weight: bold;
    font-size: 1.2rem;
    line-height: 1;
    margin-top: -1px;
}

@media (max-width: 900px) {
    .svc-content {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    .service-row {
        gap: 2rem;
        padding: 2.5rem 0;
    }
    .svc-icon-main {
        display: none;
    }
    .svc-marker {
        display: none;
    }
}

/* ---------- Why Us ---------- */
.why-us {
    position: relative;
    z-index: 1;
    padding: 7rem 0;
    background: var(--bg);
    border-top: 1px solid var(--border);
}

.why-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 7rem;
    align-items: center;
}

.why-left {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.why-right {
    flex: 1;
}

.benefit-grid {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    margin-top: 2rem;
}

.workflow-step {
    background: var(--bg-2);
    border: 1px solid var(--border);
    padding: 2rem;
    border-radius: var(--radius-lg);
    text-align: center;
    position: relative;
    transition: var(--transition);
    will-change: transform, border-color;
}

.benefit-card {
    background: var(--bg);
    padding: 1.25rem 2rem;
    border-radius: var(--radius-lg);
    border: 1px solid var(--border);
    position: relative;
    transition: var(--transition);
    display: flex;
    flex-direction: row;
    align-items: center; /* Perfect vertical alignment */
    justify-content: flex-start; /* Start from the left margin */
    gap: 1.5rem;
}

.benefit-icon {
    flex-shrink: 0;
}

.benefit-marker {
    position: absolute;
    top: 50%;
    right: 1.5rem;
    width: 6px;
    height: 6px;
    background: var(--text-3); /* Default neutral color */
    border-radius: 50%;
    transform: translateY(-50%);
    transition: var(--transition);
}

.benefit-card:hover {
    box-shadow: var(--shadow-md);
    transform: translateY(-5px);
    border-color: var(--g-red); /* Border becomes red on hover */
}

.benefit-card:hover .benefit-marker {
    background: var(--g-red); /* Marker becomes red on hover */
    opacity: 1;
}

.benefit-icon {
    width: 48px;
    height: 48px;
    background: rgba(48, 82, 130, 0.05); /* Soft blue circle background */
    color: var(--g-blue);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: var(--transition);
}

.benefit-card h4 {
    font-family: var(--font-display);
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1.4;
    color: var(--text-1);
    margin: 0;
}

@media (max-width: 560px) {
    .benefit-grid {
        grid-template-columns: 1fr;
    }
    .benefit-card {
        padding: 1rem 0;
        gap: 1rem;
    }
    .benefit-dot {
        display: none; /* Hide hover dots on mobile */
    }
}


.pillar-body p {
    font-size: 0.88rem;
    color: var(--text-2);
}

/* ---------- Languages Marquee ---------- */
.languages-section {
    position: relative;
    z-index: 1;
    background: var(--bg-2);
    padding: 0.5rem 0;
    overflow: hidden;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.marquee-wrapper {
    position: relative;
    overflow: hidden;
}

.marquee-wrapper::before,
.marquee-wrapper::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 120px;
    z-index: 2;
}

.marquee-wrapper::before {
    left: 0;
    background: linear-gradient(to right, var(--bg-2), transparent);
}

.marquee-wrapper::after {
    right: 0;
    background: linear-gradient(to left, var(--bg-2), transparent);
}

.marquee-track {
    display: flex;
    animation: marquee 45s linear infinite;
    width: max-content;
}

.marquee-track span {
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--text-3);
    height: 60px;
    padding: 0 2.5rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    border-right: 1px solid var(--border);
    transition: color 0.3s;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    line-height: 1;
}

.marquee-track span .flag {
    font-size: 1.4rem;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    transform: translateY(-1px);
}

.marquee-track span:hover {
    color: var(--g-blue);
}

/* ---------- Reviews ---------- */
.reviews {
    position: relative;
    z-index: 1;
    padding: 7rem 0;
    background: var(--bg);
    border-top: 1px solid var(--border);
}

.reviews-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 3rem;
}

.stars-overall {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.rating-score {
    font-size: 2.5rem;
    font-weight: 700;
    font-family: var(--font-display);
    color: var(--text-1);
}

.stars {
    font-size: 1rem;
    color: var(--g-yellow);
    letter-spacing: 3px;
}

.rating-label {
    font-size: 0.8rem;
    color: var(--text-3);
}

.reviews-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.2rem;
}

.review-card {
    background: var(--bg-2);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: 1.6rem;
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    transition: var(--transition);
}

.review-card:hover {
    border-color: var(--border-dark);
    transform: translateY(-3px);
    box-shadow: var(--shadow-md);
}

.review-stars {
    font-size: 0.82rem;
    color: var(--g-yellow);
    letter-spacing: 2px;
}

.review-card p {
    font-size: 0.9rem;
    color: var(--text-2);
    font-style: italic;
    line-height: 1.72;
    flex: 1;
}

.reviewer {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-top: 0.8rem;
    border-top: 1px solid var(--border);
}

.reviewer-avatar {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    font-size: 0.65rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    flex-shrink: 0;
}

/* Colorful avatars using Google palette */
.review-card:nth-child(1) .reviewer-avatar {
    background: var(--g-blue);
}

.review-card:nth-child(2) .reviewer-avatar {
    background: var(--g-green);
}

.review-card:nth-child(3) .reviewer-avatar {
    background: var(--g-red);
}

.review-card:nth-child(4) .reviewer-avatar {
    background: var(--g-yellow);
    color: #444;
}

.review-card:nth-child(5) .reviewer-avatar {
    background: var(--g-purple);
}

.review-card:nth-child(6) .reviewer-avatar {
    background: var(--g-blue);
}

.reviewer strong {
    display: block;
    font-size: 0.87rem;
    color: var(--text-1);
}

.reviewer span {
    font-size: 0.73rem;
    color: var(--text-3);
}

/* ---------- Contact ---------- */
.contact {
    position: relative;
    z-index: 1;
    padding: 7rem 0;
    background: var(--bg-2);
    border-top: 1px solid var(--border);
}

.contact-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6rem;
    align-items: start;
}

.contact-info .section-subtitle {
    margin-bottom: 2rem;
}

.contact-details {
    margin-bottom: 2rem;
}

.contact-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0.7rem 0;
    color: var(--text-2);
    font-size: 0.92rem;
}

.c-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: var(--bg-3);
    border: 1px solid var(--border);
    color: var(--g-blue);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.pricing-callout {
    background: #0d0d0d;
    color: #fff;
    border-radius: var(--radius-lg);
    padding: 1.5rem 2rem;
    display: inline-block;
}

.price-from {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    opacity: 0.5;
    margin-bottom: 4px;
}

.price-big {
    font-family: var(--font-display);
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1;
}

.price-big span {
    font-size: 1rem;
    font-weight: 400;
    opacity: 0.6;
}

.price-note {
    font-size: 0.78rem;
    opacity: 0.5;
    margin-top: 6px;
}

.contact-form-wrap {
    background: var(--bg-2);
    border: 1px solid var(--border);
    border-radius: var(--radius-xl);
    padding: 2.5rem;
}

.contact-form {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.form-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.form-group label {
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--text-1);
    letter-spacing: 0.01em;
}

.form-group input,
.form-group textarea {
    font-family: var(--font-body);
    font-size: 1rem;
    padding: 0.75rem 1rem;
    border: 1.5px solid var(--border);
    border-radius: 12px;
    background: var(--bg);
    color: var(--text-1);
    outline: none;
    transition: border-color 0.2s;
    resize: vertical;
}

.form-group input:focus,
.form-group textarea:focus {
    border-color: var(--g-blue);
    background: var(--bg-2);
}

.form-group input::placeholder,
.form-group textarea::placeholder {
    color: var(--text-3);
}

.form-note {
    font-size: 0.78rem;
    color: var(--text-3);
    text-align: center;
    margin-top: -0.4rem;
}

.form-success {
    display: inline-flex;
    align-items: flex-start;
    gap: 10px;
    background: #f0fdf4;
    border: 1px solid #86efac;
    border-radius: 10px;
    padding: 0.8rem 1.2rem;
    color: #166534;
    font-size: 0.85rem;
    font-weight: 500;
    margin-top: 1.5rem;
    line-height: 1.4;
}

.form-success svg {
    margin-top: 1px;
    flex-shrink: 0;
    width: 16px;
    height: 16px;
}



.form-success.hidden {
    display: none;
}

/* ---------- Footer ---------- */
.footer {
    position: relative;
    z-index: 1;
    background: #0d0d0d;
    color: rgba(255, 255, 255, 0.7);
    padding: 2rem 0;
}

.footer-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
}

.footer-logo {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 0.9rem;
    color: #fff;
}

.footer-logo .logo-icon {
    width: 24px;
    height: 24px;
    font-size: 0.5rem;
    border-radius: 6px;
}

.footer-nav {
    display: flex;
    gap: 1.5rem;
}

.footer-nav a {
    font-size: 0.82rem;
    color: rgba(255, 255, 255, 0.5);
    transition: color 0.2s;
}

.footer-nav a:hover {
    color: #fff;
}

.footer-copy {
    font-size: 0.78rem;
    color: rgba(255, 255, 255, 0.35);
}

/* ---------- Animations ---------- */
@keyframes marquee {
    from {
        transform: translateX(0);
    }

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

@keyframes blink {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.3;
    }
}

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(24px);
    }

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

/* Scroll-reveal */
[data-animate] {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.55s ease, transform 0.55s ease;
}

[data-animate].in-view {
    opacity: 1;
    transform: none;
}

[data-animate][data-delay="100"] {
    transition-delay: 0.1s;
}

[data-animate][data-delay="200"] {
    transition-delay: 0.2s;
}

[data-animate][data-delay="300"] {
    transition-delay: 0.3s;
}

[data-animate][data-delay="400"] {
    transition-delay: 0.4s;
}

[data-animate][data-delay="500"] {
    transition-delay: 0.5s;
}

/* ---------- Services Grid Revised ---------- */
.service-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    margin-top: 3rem;
}

.service-card-new {
    background: var(--bg);
    padding: 2.5rem 2rem;
    border-radius: var(--radius-lg);
    border: 1px solid var(--border);
    position: relative;
    transition: var(--transition);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.25rem;
}

.service-row:last-child {
    border-bottom: none;
}

.svc-marker {
    position: absolute;
    left: -24px;
    top: 50%;
    transform: translateY(-50%);
    width: 6px;
    height: 6px;
    background: var(--g-blue);
    border-radius: 50%;
    opacity: 0;
    transition: var(--transition);
}

.service-card-new:hover {
    box-shadow: var(--shadow-md);
    transform: translateY(-5px);
    border-color: var(--g-red); /* border becomes red */
}

.svc-marker-new {
    position: absolute;
    top: 1.5rem;
    right: 1.5rem;
    width: 6px;
    height: 6px;
    background: var(--text-3); /* neutral default */
    border-radius: 50%;
    transition: var(--transition);
}

.service-card-new:hover .svc-marker-new {
    background: var(--g-red); /* marker becomes red */
}

.svc-icon-box {
    width: 54px;
    height: 54px;
    background: rgba(48, 82, 130, 0.05);
    color: var(--g-blue);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-md);
    margin-bottom: 0.5rem;
}

.service-card-new h3 {
    font-family: var(--font-display);
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--text-1);
    margin: 0;
}

.svc-card-desc {
    color: var(--text-2);
    font-size: 0.95rem;
    line-height: 1.5;
    margin-bottom: 0.5rem;
}

.svc-card-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
}

.svc-card-list li {
    font-size: 0.88rem;
    color: var(--text-3);
    padding-left: 1.25rem; /* Space for the absolute dot */
    line-height: 1.5;
    position: relative;
    margin: 0;
}

.svc-card-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.65em; /* Position relative to font size for perfect alignment */
    width: 4px;
    height: 4px;
    background: var(--g-blue);
    border-radius: 50%;
    transform: translateY(-50%);
}

.svc-details-list li {
    font-size: 0.95rem;
    color: var(--text-2);
    padding-left: 1.5rem; /* Space for absolute marker */
    line-height: 1.6;
    position: relative;
}

.svc-details-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.7em; /* Center vertically with the first line */
    width: 4px;
    height: 4px;
    background: var(--g-blue);
    border-radius: 50%;
    transform: translateY(-50%);
}

@media (max-width: 900px) {
    .service-row {
        flex-direction: column;
        gap: 1.5rem;
        padding: 2rem 0;
    }
    
    .svc-content {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    .svc-marker {
        display: none;
    }
}

.svc-card-list li {
    font-size: 0.88rem;
    color: var(--text-3);
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.svc-card-list li::before {
    content: "";
    width: 4px;
    height: 4px;
    background: var(--g-blue);
    border-radius: 50%;
    flex-shrink: 0;
}

/* ---------- Responsive Logic ---------- */
@media (max-width: 1024px) {
    .service-grid {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }
    
    .benefit-grid {
        gap: 1rem;
    }

    .benefit-card {
        flex-direction: column;
        align-items: center; /* Center icon and text on mobile */
        text-align: center;
        padding: 2rem 1.5rem;
        gap: 1rem;
    }
    
    .benefit-icon {
        margin-top: 0;
    }
    
    .svc-details-list li, .svc-card-list li {
        padding-left: 1.25rem;
        font-size: 0.9rem;
    }
}

@media (max-width: 480px) {
    .section-title {
        font-size: 1.75rem;
    }
    
    .benefit-card h3 {
        font-size: 1.1rem;
    }
}

/* ---------- Founder & Mission ---------- */
.founder-box {
    background: var(--bg);
    padding: 2.5rem;
    border-radius: var(--radius-lg);
    border: 1px solid var(--border);
    position: relative;
    overflow: hidden;
    box-shadow: var(--shadow-sm);
}

.founder-box::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: var(--g-blue);
}

.founder-name {
    font-family: var(--font-display);
    font-size: 1.75rem;
    font-weight: 800;
    margin: 0.5rem 0 1rem;
    color: var(--text-1);
}

.founder-bio {
    color: var(--text-2);
    font-size: 1.05rem;
    line-height: 1.6;
    margin-bottom: 2rem;
}

.mission-box {
    background: rgba(48, 82, 130, 0.03);
    padding: 1.5rem;
    border-radius: var(--radius-md);
    border-left: 3px solid var(--g-red);
}

.mission-box h4 {
    font-size: 0.85rem;
    letter-spacing: 0.05em;
    color: var(--g-red);
    margin-bottom: 0.5rem;
}

.mission-box p {
    font-size: 0.95rem;
    color: var(--text-2);
    margin: 0;
}

.mission-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
}

.mission-card {
    background: var(--bg);
    padding: 2rem;
    border-radius: var(--radius-md);
    border: 1px solid var(--border);
    position: relative;
    transition: var(--transition);
}

.mission-card:hover {
    border-color: var(--g-blue);
    transform: translateY(-3px);
}

.bc-marker {
    width: 32px;
    height: 2px;
    background: var(--g-blue);
    margin-bottom: 1.25rem;
}

.mission-card h3 {
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 0.75rem;
}

.mission-card p {
    font-size: 0.95rem;
    color: var(--text-2);
    line-height: 1.5;
}

/* ---------- Trust & Guarantees ---------- */
.trust-section {
    padding: 6rem 0;
    background: #fcfdfe;
    border-top: 1px solid var(--border);
}

.trust-layout {
    display: flex;
    flex-direction: column;
    gap: 3rem;
}

.trust-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
}

.trust-card {
    padding: 2.5rem;
    border-radius: var(--radius-lg);
    background: var(--bg);
    border: 1px solid var(--border);
}

.trust-card.positive {
    border-top: 4px solid var(--g-blue);
}

.trust-card.negative {
    background: rgba(0,0,0,0.01);
}

.trust-card h3 {
    font-size: 1.2rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
}

.trust-card ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.trust-card li {
    font-size: 0.95rem;
    color: var(--text-2);
    padding-left: 1.75rem;
    position: relative;
}

.trust-card.positive li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--g-blue);
    font-weight: 800;
}

.trust-card.negative li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: var(--text-3);
    font-size: 1.5rem;
    top: -0.3rem;
}

/* ---------- Hero Enhancement ---------- */
.hero h1 {
    font-size: clamp(2.8rem, 8vw, 4.5rem); /* Increased scale */
    font-weight: 900;
    letter-spacing: -0.02em;
    line-height: 1.05;
    text-shadow: 0 10px 30px rgba(48, 82, 130, 0.05); /* Subtle depth */
}

.hero h1 em {
    color: var(--g-blue);
    font-family: var(--font-display);
    font-style: normal;
    background: linear-gradient(120deg, var(--g-blue), #5078af);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* ---------- Contacts Polishing ---------- */
.email-card {
    border: 1px solid var(--border);
    background: var(--bg);
}

.social-mini-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
}

.contact-pill.mini {
    padding: 0.6rem;
    font-size: 0.85rem;
    justify-content: center;
    background: rgba(48, 82, 130, 0.02);
}

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
    .mission-grid, .trust-grid {
        grid-template-columns: 1fr;
    }
    
    .founder-box {
        padding: 1.5rem;
    }
    
    .hero h1 {
        font-size: clamp(2.2rem, 10vw, 3rem);
    }
}

/* Base styles for new components */
.section-tag-mini {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--g-blue);
    margin-bottom: 0.5rem;
}

@media (max-width: 900px) {
    .navbar {
        padding: 0 1.25rem;
    }

    .container {
        padding: 0 1.25rem;
    }

    .nav-links {
        position: fixed;
        top: 60px;
        left: 0;
        right: 0;
        background: rgba(255, 255, 255, 0.98);
        backdrop-filter: blur(10px); /* Reduced from 20px */
        display: none !important; 
        flex-direction: column;
        gap: 0;
        padding: 1rem 0;
        border-bottom: 1px solid var(--border);
        box-shadow: 0 12px 24px rgba(0,0,0,0.08);
        transform: none;
        z-index: 999;
        will-change: opacity, transform;
    }

    .nav-links.open {
        display: flex !important;
    }
    
    .nav-links::-webkit-scrollbar {
        display: none;
    }

    .nav-links.open {
        display: flex; /* Kept for JS safety */
    }

    .nav-links li {
        width: 100%;
        display: block;
    }

    .nav-links a {
        display: block;
        padding: 1rem 2rem;
        font-size: 1rem;
        font-weight: 500;
        color: var(--text-1);
        text-align: left;
        background: transparent;
        border-radius: 0;
    }

    .nav-links a:hover {
        background: rgba(48, 82, 130, 0.05);
        color: var(--g-blue);
    }

    .nav-links .nav-cta {
        display: none !important; /* Force hide on mobile */
    }

    .hamburger {
        display: flex;
        align-self: center;
        margin-top: -2px;
    }

    .hero h1 {
        font-size: clamp(2.2rem, 8vw, 3.5rem);
        letter-spacing: -1.5px;
    }

    .hero-stats {
        gap: 1.5rem;
    }

    .stat-number {
        font-size: 1.6rem;
    }

    .services .container {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .services-header {
        position: static;
        margin-bottom: 2rem;
    }

    .why-layout {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .why-layout {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .reviews-grid {
        grid-template-columns: 1fr 1fr;
    }

    .contact-layout {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .form-row {
        grid-template-columns: 1fr;
    }

    .services, .why-us, .reviews, .contact {
        padding: 4.5rem 0;
    }

    .footer-inner {
        flex-direction: column;
        text-align: center;
    }

    .footer-nav {
        flex-wrap: wrap;
        justify-content: center;
    }
}

@media (max-width: 560px) {
    .reviews-grid {
        grid-template-columns: 1fr;
    }

    .hero-actions {
        flex-direction: column;
        align-items: stretch;
        width: 100%;
    }

    .hero-contact-info {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.8rem;
        margin-top: 1rem;
        width: 100%;
    }

    .contact-pill {
        width: 100%;
        max-width: 320px;
        justify-content: flex-start;
        font-size: 0.95rem;
        padding: 0.75rem 1.5rem;
        transform: none !important;
    }

    .pill-marker {
        display: none; /* Hide hover markers on mobile to save space */
    }

    .hero-stats {
        flex-direction: column;
        gap: 1.5rem;
    }

    .stat-divider {
        width: 60px;
        height: 1px;
    }

    .service-card {
        flex-direction: column;
        padding: 1.5rem;
        gap: 1.25rem;
    }

    .svc-icon-wrap {
        width: 50px;
        height: 50px;
        flex-shrink: 0;
    }

    .lang-switcher {
        padding: 0.5rem 1rem;
        margin-top: 1rem;
    }

    .footer-bottom {
        padding-top: 2rem;
        margin-top: 2rem;
        border-top: 1px solid var(--border);
    }

    .section-title {
        font-size: 1.8rem;
    }

    .hero h1 {
        font-size: 2.2rem;
        margin-bottom: 1.2rem;
    }

    .benefit-card, .service-card-new {
        padding: 1.5rem;
        gap: 1rem;
    }

    .benefit-marker, .svc-marker-new {
        display: none;
    }

    .services, .why-us, .workflow-section, .pricing-section, .faq-section, .contact {
        padding: 3.5rem 0;
    }

    .pricing-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .pricing-card {
        padding: 2rem 1.5rem;
    }

    .pricing-card.featured {
        transform: scale(1) !important; /* Remove desktop scale-up on mobile */
    }

    .pricing-price {
        font-size: 2rem;
    }

    .workflow-grid {
        gap: 1.25rem;
    }

    .workflow-step {
        padding: 1.5rem;
    }

    .contact-form-wrap {
        padding: 1.5rem;
    }
}

/* ---------- Workflow Section ---------- */
.workflow-section {
    padding: 6rem 0;
    background: var(--bg-3); /* soft color to make white circles pop */
}
.workflow-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 2rem;
    margin-top: 4rem;
    position: relative;
}

.workflow-step {
    padding: 0;
    background: transparent;
    border: none;
    position: relative;
    transition: var(--transition);
    text-align: center;
    z-index: 2;
}
.workflow-step:hover {
    box-shadow: none;
    transform: none;
}
.step-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    background: #fff;
    color: var(--g-blue);
    font-size: 1.5rem;
    font-weight: 800;
    border-radius: 50%;
    margin: 0 auto 1.5rem;
    position: relative;
    z-index: 3;
    border: 3px solid var(--g-blue);
    box-shadow: 0 10px 25px rgba(48, 82, 130, 0.15);
    transition: var(--transition);
}
.workflow-step:hover .step-num {
    background: var(--g-blue);
    color: #fff;
    transform: none;
    box-shadow: 0 15px 30px rgba(48, 82, 130, 0.25);
}

@keyframes circleLight {
    0%   { background: #fff; color: var(--g-blue); border-color: var(--g-blue); box-shadow: 0 10px 25px rgba(48, 82, 130, 0.15); }
    3%   { background: var(--g-blue); color: #fff; border-color: var(--g-blue); box-shadow: 0 10px 25px rgba(48, 82, 130, 0.15); } 
    24%  { background: var(--g-blue); color: #fff; border-color: var(--g-blue); box-shadow: 0 10px 25px rgba(48, 82, 130, 0.15); }
    25%  { background: #fff; color: var(--g-blue); border-color: var(--g-blue); box-shadow: 0 10px 25px rgba(48, 82, 130, 0.15); }
    100% { background: #fff; color: var(--g-blue); border-color: var(--g-blue); box-shadow: 0 10px 25px rgba(48, 82, 130, 0.15); }
}

@keyframes circleLightGreen {
    0%   { background: #fff; color: var(--g-blue); border-color: var(--g-blue); box-shadow: 0 10px 25px rgba(48, 82, 130, 0.15); }
    3%   { background: #10b981; color: #fff; border-color: #10b981; box-shadow: 0 10px 25px rgba(48, 82, 130, 0.15); } 
    24%  { background: #10b981; color: #fff; border-color: #10b981; box-shadow: 0 10px 25px rgba(48, 82, 130, 0.15); }
    25%  { background: #fff; color: var(--g-blue); border-color: var(--g-blue); box-shadow: 0 10px 25px rgba(48, 82, 130, 0.15); }
    100% { background: #fff; color: var(--g-blue); border-color: var(--g-blue); box-shadow: 0 10px 25px rgba(48, 82, 130, 0.15); }
}

/* Static highlights for steps */
.workflow-step:nth-child(1) .step-num { 
    background: var(--g-blue); 
    color: #fff; 
    border-color: var(--g-blue); 
    box-shadow: 0 10px 25px rgba(48, 82, 130, 0.2); 
}
.workflow-step:nth-child(5) .step-num { 
    background: #10b981; 
    color: #fff; 
    border-color: #10b981; 
    box-shadow: 0 10px 25px rgba(16, 185, 129, 0.2); 
}

/* Steps 2 and 3 remain static with default border-only style */


@keyframes dashFlowX {
    from { background-position-x: 0; }
    to { background-position-x: 32px; }
}
@keyframes dashFlowY {
    from { background-position-y: 0; }
    to { background-position-y: 32px; }
}
@keyframes sequenceFlowX {
    0% { clip-path: inset(0 100% 0 0); opacity: 0; }
    3% { opacity: 1; clip-path: inset(0 100% 0 0); }
    22% { clip-path: inset(0 0 0 0); opacity: 1; }
    25% { opacity: 0; clip-path: inset(0 0 0 0); }
    100% { opacity: 0; clip-path: inset(0 0 0 0); }
}
@keyframes sequenceFlowY {
    0% { clip-path: inset(0 0 100% 0); opacity: 0; }
    3% { opacity: 1; clip-path: inset(0 0 100% 0); }
    22% { clip-path: inset(0 0 0 0); opacity: 1; }
    25% { opacity: 0; clip-path: inset(0 0 0 0); }
    100% { opacity: 0; clip-path: inset(0 0 0 0); }
}

/* Connecting Dashed Path - Desktop */
@media (min-width: 900px) {
    /* Base track - Dashed line */
    .workflow-step:not(:last-child)::before {
        content: '';
        position: absolute;
        top: 32px;
        left: 50%;
        width: calc(100% + 2rem);
        height: 3px;
        background-image: linear-gradient(90deg, var(--border-dark) 50%, transparent 50%);
        background-size: 16px 3px;
        opacity: 0.15;
        z-index: 1;
    }

    /* Animated flying path */
    .workflow-step:not(:last-child)::after {
        content: '';
        position: absolute;
        top: 32px;
        left: 50%; 
        width: calc(100% + 2rem);
        height: 3px;
        background-image: linear-gradient(90deg, var(--g-blue) 50%, transparent 50%); /* Blue dashes */
        background-size: 16px 3px;
        opacity: 0.6; /* Constant visibility */
        z-index: 2;
        animation: dashFlowX 1.5s linear infinite; /* All animate together */
    }
}

@media (max-width: 1100px) {
    .workflow-grid {
        display: flex;
        flex-direction: column;
        gap: 3rem;
        max-width: 500px;
        margin: 4rem auto 0;
    }
    
    .workflow-step {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
        padding-left: 5rem;
        padding-bottom: 0.5rem;
        position: relative;
        min-height: 60px;
    }

    .workflow-step .step-num {
        position: absolute;
        left: 0;
        top: 0;
        margin: 0;
        width: 56px;
        height: 56px;
        font-size: 1.25rem;
    }

    /* Vertical Connection Lines */
    .workflow-step:not(:last-child)::before,
    .workflow-step:not(:last-child)::after {
        left: 28px;
        transform: translateX(-50%);
        width: 3px;
        display: block !important;
    }

    .workflow-step:not(:last-child)::before {
        content: '';
        position: absolute;
        top: 56px;
        height: calc(100% + 3rem); 
        background-image: linear-gradient(to bottom, var(--border-dark) 50%, transparent 50%);
        background-size: 3px 16px;
        opacity: 0.15;
        z-index: 1;
    }

    .workflow-step:not(:last-child)::after {
        content: '';
        position: absolute;
        top: 56px;
        height: calc(100% + 3rem);
        background-image: linear-gradient(to bottom, var(--g-blue) 50%, transparent 50%);
        background-size: 3px 16px;
        opacity: 0.6;
        z-index: 2;
        animation: dashFlowY 1.5s linear infinite;
    }

    /* Ensure last child never has lines */
    .workflow-step:last-child::before,
    .workflow-step:last-child::after {
        display: none !important;
    }
}


@media (min-width: 1101px) {
     .workflow-grid {
        grid-template-columns: repeat(5, 1fr);
     }
}





.step-title {
    font-family: var(--font-display);
    font-size: 1.15rem;
    margin-bottom: 0.8rem;
    color: var(--text-1);
    font-weight: 700;
}
.step-desc {
    color: var(--text-2);
    font-size: 0.9rem;
    line-height: 1.5;
}


/* ---------- Pricing Section ---------- */
.pricing-section {
    padding: 6rem 0;
    background: var(--bg);
    border-top: 1px solid var(--border);
}
.pricing-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2.5rem;
    margin-top: 3rem;
}
.pricing-card {
    background: var(--bg-2);
    padding: 3rem 2.5rem;
    border-radius: var(--radius-xl);
    border: 1px solid var(--border);
    display: flex;
    flex-direction: column;
    transition: var(--transition);
    position: relative;
}
.pricing-card:hover {
    /* Hover highlight removed as requested */
}

.pricing-title {
    font-family: var(--font-display);
    font-size: 1.25rem;
    margin-bottom: 1rem;
    color: var(--text-1);
}
.pricing-price {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--g-blue);
    margin-bottom: 1rem;
}
.pricing-desc {
    color: var(--text-2);
    margin-bottom: 2rem;
    flex-grow: 1;
}

/* Featured Pricing Card */
.pricing-card.featured {
    border: 2px solid var(--g-blue);
    transform: scale(1.05);
    box-shadow: 0 20px 40px rgba(48, 82, 130, 0.1);
    z-index: 2;
}
.pricing-card.featured:hover {
    transform: scale(1.05);
}
.featured-badge {
    position: absolute;
    top: -14px;
    right: 24px;
    background: linear-gradient(135deg, var(--g-blue) 0%, var(--g-red) 100%);
    color: #fff;
    padding: 6px 16px;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    box-shadow: 0 6px 15px rgba(48, 82, 130, 0.25);
}

/* ---------- FAQ Section ---------- */
.faq-section {
    padding: 6rem 0;
    background: var(--bg-2);
}
.faq-container {
    max-width: 800px;
    margin: 0 auto;
    margin-top: 3rem;
}
.faq-item {
    border-bottom: 1px solid var(--border);
}
.faq-question {
    width: 100%;
    background: none;
    border: none;
    text-align: left;
    padding: 1.5rem 0;
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--text-1);
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    font-family: var(--font-display);
}
.faq-icon {
    transition: transform 0.3s;
    color: var(--g-blue);
}
.faq-item.active .faq-icon {
    transform: rotate(45deg);
}
.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
}
.faq-answer p {
    padding-bottom: 1.5rem;
    color: var(--text-2);
    line-height: 1.7;
}

/* ---------- Buttons Adjustment ---------- */
.btn-primary {
    background: var(--g-blue);
    color: #fff;
}
.btn-primary:hover {
    background: #254066;
}
.btn-whatsapp {
    background: #f2fcf5;
    color: #1c9b4a;
    border: 1px solid rgba(37, 211, 102, 0.25);
    box-shadow: 0 1px 3px rgba(37, 211, 102, 0.05);
}
.btn-whatsapp:hover {
    background: #e4faec;
    border-color: rgba(37, 211, 102, 0.4);
    transform: translateY(-2px);
}
.btn-viber {
    background: #f5f4fd;
    color: #5d4cd4;
    border: 1px solid rgba(115, 96, 242, 0.25);
    box-shadow: 0 1px 3px rgba(115, 96, 242, 0.05);
}
.btn-viber:hover {
    background: #ebe9fb;
    border-color: rgba(115, 96, 242, 0.4);
    transform: translateY(-2px);
}

.btn-instagram {
    background: #fdf2f5;
    color: #c9245c;
    border: 1px solid rgba(225, 48, 108, 0.25);
    box-shadow: 0 1px 3px rgba(225, 48, 108, 0.05);
}
.btn-instagram:hover {
    border-color: rgba(225, 48, 108, 0.4);
    color: #a31949;
    background: #fce4eb;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(225, 48, 108, 0.15);
}
.btn-telegram {
    background: #f0f9fd;
    color: #1c85b8;
    border: 1px solid rgba(34, 158, 217, 0.25);
    box-shadow: 0 1px 3px rgba(34, 158, 217, 0.05);
}
.btn-telegram:hover {
    border-color: rgba(34, 158, 217, 0.4);
    color: #0d6e9c;
    background: #e1f4fc;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(34, 158, 217, 0.15);
}

/* ---------- Accessibility: Focus States ---------- */
:focus-visible {
    outline: 2px solid var(--g-blue);
    outline-offset: 4px;
}

/* ---------- Scroll Snapping ---------- */
@media (min-width: 900px) {
    html {
        scroll-snap-type: y proximity;
    }
    section {
        scroll-snap-align: start;
        scroll-snap-stop: normal;
    }
}

/* ---------- Form Validation UI ---------- */
.form-group input:invalid:not(:placeholder-shown) {
    border-color: var(--g-red);
}

.form-group input:valid:not(:placeholder-shown) {
    border-color: var(--g-green);
}

/* ---------- Dark Mode Support ---------- */
@media (prefers-color-scheme: dark) {
    :root {
        --bg: #0d0d0d;
        --bg-2: #141414;
        --bg-3: #1a1a1a;
        --border: #2a2a2a;
        --border-dark: #3a3a3a;
        --text-1: #f8f9fc;
        --text-2: #bdc1c6;
        --text-3: #80868b;
    }

    .btn-ghost {
        background: rgba(20, 20, 20, 0.8);
        border-color: #333;
    }

    .btn-ghost:hover {
        background: #1a1a1a;
        border-color: #444;
    }

    .navbar {
        background: rgba(13, 13, 13, 0.85);
        border-bottom-color: #222;
    }

    .nav-links {
        background: rgba(13, 13, 13, 0.98);
        border-bottom-color: #222;
    }

    .nav-cta {
        background: var(--bg-2) !important;
        border: 1px solid #333;
    }

    .nav-cta:hover {
        background: #222 !important;
    }

    .service-card, .pillar-card, .review-card, .contact-form-wrap {
        background: #1a1a1a;
    }

    .service-card:hover, .pillar-card:hover, .review-card:hover {
        background: #202020;
    }

    .svc-icon-wrap, .c-icon {
        background: #222;
    }

    .marquee-wrapper::before {
        background: linear-gradient(to right, #141414, transparent);
    }
    .marquee-wrapper::after {
        background: linear-gradient(to left, #141414, transparent);
    }
    .languages-section {
        background: #141414;
    }

    .pricing-callout {
        background: #1a1a1a;
        border: 1px solid #333;
    }
    
    .form-group input, .form-group textarea {
        background: #222;
        border-color: #333;
    }
    .form-group input:focus, .form-group textarea:focus {
        background: #1a1a1a;
        border-color: var(--g-blue);
    }

    .form-success {
        background: #064e3b;
        border-color: #065f46;
        color: #d1fae5;
    }
}
/* ---------- Contacts Summary Section ---------- */
.contacts-summary {
    padding: 6rem 0;
    background: var(--bg);
    border-top: 1px solid var(--border);
}

.contacts-groups {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.5rem;
    align-items: start;
}

.contact-group {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}

.contact-group-title {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--g-blue);
    padding-bottom: 1rem;
    border-bottom: 2px solid var(--border);
    margin-bottom: 0.4rem;
}

.contact-group-title svg {
    color: var(--g-red);
    opacity: 0.8;
}

.contact-cards-stack {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.contact-card {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.65rem 1.2rem;
    background: #ffffff;
    border: 1px solid rgba(48, 82, 130, 0.1);
    border-radius: 12px;

    text-decoration: none;
    transition: var(--transition);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
    width: 100%;
}

.contact-card:hover {
    transform: translateY(-3px);
    border-color: var(--g-red);
    box-shadow: 0 8px 20px rgba(224, 40, 44, 0.1);
    background: rgba(224, 40, 44, 0.01);
}

.contact-card-icon {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    color: var(--g-blue);
    flex-shrink: 0;
    transition: var(--transition);
    border-right: 1px solid rgba(48, 82, 130, 0.08);
    padding-right: 0.8rem;
    margin-right: -0.2rem;

}

.contact-card-icon svg {
    width: 20px;
    height: 20px;
    stroke-width: 2.5;
}

.contact-card:hover .contact-card-icon {
    color: var(--g-red);
    border-right-color: rgba(224, 40, 44, 0.2);
}

.contact-card-info {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.contact-card-label {
    font-size: 0.7rem;
    color: var(--text-3);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
}

.contact-card-value {
    font-size: 0.9rem;
    color: var(--text-1);
    font-weight: 500;
}

@media (max-width: 991px) {
    .contacts-groups {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }
    .contact-group-title {
        border-bottom-width: 1px;
    }
}


/* Specific Brand Tones for Contact Cards */
.tg-card { background: #f0f9fd; border-color: rgba(34, 158, 217, 0.15); }
.tg-card .contact-card-icon { color: #1c85b8; border-right-color: rgba(34, 158, 217, 0.15); }

.wa-card { background: #f2fcf5; border-color: rgba(37, 211, 102, 0.15); }
.wa-card .contact-card-icon { color: #1c9b4a; border-right-color: rgba(37, 211, 102, 0.15); }

.viber-card { background: #f5f4fd; border-color: rgba(115, 96, 242, 0.15); }
.viber-card .contact-card-icon { color: #5d4cd4; border-right-color: rgba(115, 96, 242, 0.15); }


.ig-card { background: #fdf2f5; border-color: rgba(225, 48, 108, 0.15); }
.ig-card .contact-card-icon { color: #c9245c; border-right-color: rgba(225, 48, 108, 0.15); }

.map-card { background: #f8f8f8; }

/* Pulse animation for social cards on hover to make them even more interactive */
.contact-card:hover {
    background: #ffffff !important; /* Revert to white on hover for clean red accent look */
}

/* Ensure no transparency to block background particles */
.contacts-summary .contact-pill,
.contacts-summary .contact-card {
    position: relative;
    z-index: 5;
    background-color: #ffffff; /* Solid white base */
}

/* Restore brand tints with solid colors */
.tg-card { background-color: #f1faff !important; }
.wa-card { background-color: #f2fcf5 !important; }
.ig-card { background-color: #fdf2f5 !important; }
.map-card { background-color: #f9f9f9 !important; }

/* Office photo and schedule styling */
.office-photo-wrap {
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    cursor: pointer;
}
.office-photo-wrap:hover {
    transform: scale(1.02);
    box-shadow: 0 15px 35px rgba(0,0,0,0.1);
}
.office-photo-wrap img {
    transition: filter 0.5s ease;
    filter: grayscale(20%) brightness(0.95);
}
.office-photo-wrap:hover img {
    filter: grayscale(0%) brightness(1);
}

.schedule-pill {
    background: #fff !important;
    border: 1px dashed rgba(48, 82, 130, 0.2) !important;
    cursor: default;
}
.schedule-pill:hover {
    transform: none !important;
    box-shadow: none !important;
}

@media (max-width: 480px) {
    .contact-pill.map-contact-pill,
    .contact-pill.schedule-pill {
        width: 100%;
        justify-content: flex-start;
        padding: 1.2rem;
    }
    .office-photo-wrap {
        margin-top: 1.5rem;
    }
}


/* --- Trust & Guarantees Section --- */
.trust-section {
    padding: 120px 0;
    background: #fafafa;
    position: relative;
    overflow: hidden;
}

/* Abstract decorative shape */
.trust-section::before {
    content: '';
    position: absolute;
    top: -100px;
    right: -100px;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(48, 82, 130, 0.03) 0%, transparent 70%);
    border-radius: 50%;
    z-index: 1;
}

.trust-section .container {
    position: relative;
    z-index: 2;
}

.trust-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    max-width: 1100px;
    margin: 0 auto;
}

.trust-box {
    padding: 50px;
    background: #fff;
    border-radius: 24px;
    border: 1px solid rgba(0, 0, 0, 0.04);
    box-shadow: 0 10px 40px rgba(0,0,0,0.02), 0 2px 4px rgba(0,0,0,0.01);
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    position: relative;
}

.trust-box:hover {
    transform: translateY(-8px);
    box-shadow: 0 30px 60px rgba(0,0,0,0.06);
    border-color: rgba(0,0,0,0.08);
}

.guarantee-box::before, .disclaimer-box::before {
    content: '';
    position: absolute;
    top: 50px;
    left: 0;
    width: 6px;
    height: 40px;
    border-radius: 0 4px 4px 0;
}

.guarantee-box::before {
    background: #10b981;
}

.disclaimer-box::before {
    background: #ef4444;
}

.trust-box-title {
    display: flex;
    align-items: center;
    gap: 16px;
    font-size: 1.4rem;
    font-weight: 700;
    margin-bottom: 35px;
    color: var(--text-1);
    font-family: var(--font-display);
}

.trust-box-title svg {
    padding: 10px;
    background: #f8f8f8;
    border-radius: 12px;
    width: 44px;
    height: 44px;
}

.guarantee-box .trust-box-title svg {
    color: #10b981;
    background: rgba(16, 185, 129, 0.08);
}

.disclaimer-box .trust-box-title svg {
    color: #ef4444;
    background: rgba(239, 68, 68, 0.08);
}

.trust-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.trust-list li {
    position: relative;
    padding-left: 36px;
    margin-bottom: 20px;
    font-size: 1.1rem;
    line-height: 1.4;
    color: var(--text-2);
}

.trust-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 4px;
    width: 20px;
    height: 20px;
    background-size: contain;
    background-repeat: no-repeat;
}

.guarantee-box li::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2310b981' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
}

.disclaimer-box li::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ef4444' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");
}


@media (max-width: 900px) {
    .trust-grid {
        grid-template-columns: 1fr;
    }
    
    .trust-section {
        padding: 60px 0;
    }
    
    .trust-box {
        padding: 30px;
    }
}

/* ================= PREMIUM WHY US SECTION ================= */
.premium-why {
    position: relative;
    overflow: hidden;
    background: linear-gradient(180deg, #fAfCFF 0%, #FFFFFF 100%);
}
.why-glow-orb {
    position: absolute;
    top: -10%;
    right: -5%;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(16, 68, 169, 0.05) 0%, rgba(255,255,255,0) 70%);
    border-radius: 50%;
    z-index: 0;
    pointer-events: none;
}
.why-glow-orb-2 {
    position: absolute;
    bottom: -10%;
    left: -10%;
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, rgba(220, 38, 38, 0.03) 0%, rgba(255,255,255,0) 70%);
    border-radius: 50%;
    z-index: 0;
    pointer-events: none;
}

.founder-card-premium { padding: 2rem;
    position: relative;
    z-index: 2;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.founder-card-premium:hover {
    transform: translateY(-5px);
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.06), 0 4px 12px rgba(48,82,130,0.04);
}
.founder-avatar-wrap {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    margin-bottom: 2rem;
}
.founder-avatar {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--g-blue) 0%, #0d388e 100%);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: 1px;
    box-shadow: 0 8px 20px rgba(16, 68, 169, 0.25);
}
.founder-badge {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    padding: 0.4rem 0.8rem;
    background: rgba(16, 68, 169, 0.08);
    color: var(--g-blue);
    border-radius: 100px;
    text-transform: uppercase;
}
.founder-name {
    font-size: 1.8rem;
    font-family: var(--font-display);
    font-weight: 800;
    color: var(--text);
    margin-bottom: 1rem;
}
.founder-bio {
    font-size: 1.1rem;
    line-height: 1.6;
    color: var(--text-2);
    margin-bottom: 2rem;
}

.founder-quote-box {
    background: rgba(220, 38, 38, 0.04);
    border-radius: 16px;
    padding: 1.5rem;
    display: flex;
    gap: 1.25rem;
    border-left: 3px solid var(--g-red);
}
.quote-icon {
    color: var(--g-red);
    opacity: 0.4;
    flex-shrink: 0;
}
.founder-quote-box h4 {
    font-size: 0.85rem;
    letter-spacing: 0.05em;
    color: var(--g-red);
    margin-bottom: 0.4rem;
    text-transform: uppercase;
    font-weight: 700;
}
.founder-quote-box p {
    font-size: 0.95rem;
    color: var(--text-2);
    margin: 0;
    line-height: 1.5;
    font-style: italic;
}

.premium-mission-grid {
    column-gap: 3rem;
    align-items: start;
}
.premium-mission-card {
    background: white;
    border-radius: 20px;
    padding: 3rem;
    border: 1px solid rgba(48, 82, 130, 0.08);
    box-shadow: 0 10px 30px rgba(0,0,0,0.02);
    position: relative;
    overflow: hidden;
    transition: all 0.4s ease;
}
.premium-mission-card:hover {
    box-shadow: 0 20px 40px rgba(16,68,169,0.06);
    transform: translateY(-8px);
}
.pm-icon-wrap {
    width: 48px;
    height: 48px;
    background: rgba(16, 68, 169, 0.05);
    color: var(--g-blue);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
}
.premium-mission-card h3 {
    font-size: 1.35rem;
    font-family: var(--font-display);
    margin-bottom: 1rem;
    color: var(--text);
}
.premium-mission-card p {
    color: var(--text-2);
    line-height: 1.7;
    font-size: 1rem;
}
.pm-glow-line {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, var(--g-blue), transparent);
    opacity: 0;
    transition: opacity 0.4s ease;
}
.premium-mission-card:hover .pm-glow-line {
    opacity: 1;
}

@media (min-width: 900px) {
    .staggered-card {
        margin-top: 1.5rem;
    }
}
@media (max-width: 768px) {
    .founder-card-premium {
        padding: 2rem;
    }
    .premium-mission-grid {
        gap: 1.5rem;
    }
    .premium-mission-card {
        padding: 2rem;
    }
}

/* ================= PREMIUM NAVBAR & HERO ================= */
.navbar {
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(0, 0, 0, 0.04);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.03);
}

.hero {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #fAfCFF 0%, #FFFFFF 100%);
}
.hero::before {
    content: "";
    position: absolute;
    top: -20%;
    right: -10%;
    width: 800px;
    height: 800px;
    background: radial-gradient(circle, rgba(16, 68, 169, 0.04) 0%, rgba(255,255,255,0) 70%);
    border-radius: 50%;
    z-index: 0;
    pointer-events: none;
}
.hero::after {
    content: "";
    position: absolute;
    bottom: -10%;
    left: -10%;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(220, 38, 38, 0.03) 0%, rgba(255,255,255,0) 70%);
    border-radius: 50%;
    z-index: 0;
    pointer-events: none;
}

.hero-right {
    position: relative;
}
.hero-glass-badge {
    position: absolute;
    top: 10%;
    left: -5%;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    padding: 1rem 1.5rem;
    border-radius: 100px;
    box-shadow: 0 10px 30px rgba(16, 68, 169, 0.08), inset 0 0 0 1px rgba(255,255,255,0.5);
    display: flex;
    align-items: center;
    gap: 0.75rem;
    z-index: 10;
    font-weight: 700;
    color: var(--g-blue);
    font-size: 0.95rem;
    animation: float-badge 6s ease-in-out infinite;
}
.hero-glass-badge-2 {
    position: absolute;
    bottom: 20%;
    right: -5%;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    padding: 1rem 1.5rem;
    border-radius: 100px;
    box-shadow: 0 10px 30px rgba(220, 38, 38, 0.08), inset 0 0 0 1px rgba(255,255,255,0.5);
    display: flex;
    align-items: center;
    gap: 0.75rem;
    z-index: 10;
    font-weight: 700;
    color: var(--text);
    font-size: 0.95rem;
    animation: float-badge 7s ease-in-out infinite reverse;
}
@keyframes float-badge {
    0% { transform: translateY(0px); }
    50% { transform: translateY(-10px); }
    100% { transform: translateY(0px); }
}

.btn-primary {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, var(--g-blue) 0%, #0d388e 100%);
    box-shadow: 0 6px 20px rgba(16, 68, 169, 0.25);
    border: none;
    z-index: 1;
}
.btn-primary::before {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: linear-gradient(135deg, #185bf2 0%, var(--g-blue) 100%);
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: -1;
}
.btn-primary:hover::before {
    opacity: 1;
}
.btn-primary:hover {
    box-shadow: 0 10px 30px rgba(16, 68, 169, 0.35);
    transform: translateY(-2px);
}
.contact-pill {
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(48, 82, 130, 0.1);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
}
.contact-pill:hover {
    background: rgba(255, 255, 255, 0.95);
    box-shadow: 0 8px 25px rgba(16, 68, 169, 0.08);
    transform: translateY(-2px);
    border-color: rgba(48, 82, 130, 0.2);
}

/* ================= PREMIUM SERVICES ================= */
.service-card-new { padding: 2rem 1.5rem;
    position: relative;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.02);
    transition: all 0.4s ease;
    overflow: hidden;
    z-index: 1;
}
.service-card-new::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    border-radius: 20px;
    padding: 2px;
    background: linear-gradient(135deg, rgba(16,68,169,0) 0%, rgba(16,68,169,0) 50%, rgba(16,68,169,0.3) 100%);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
    z-index: -1;
}
.service-card-new:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 50px rgba(16, 68, 169, 0.08);
}
.service-card-new:hover::before {
    opacity: 1;
}
.svc-marker-new {
    width: 48px;
    height: 4px;
    background: linear-gradient(90deg, var(--g-blue), var(--g-red));
    border-radius: 2px;
    margin-bottom: 2rem;
}
.svc-icon-box {
    width: 60px;
    height: 60px;
    background: rgba(16, 68, 169, 0.04);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--g-blue);
    margin-bottom: 1.5rem;
    transition: transform 0.4s ease;
}
.service-card-new:hover .svc-icon-box {
    transform: scale(1.1) rotate(-5deg);
    background: rgba(16, 68, 169, 0.08);
}
.service-card-new h3 {
    font-size: 1.4rem;
    font-family: var(--font-display);
    font-weight: 800;
    margin-bottom: 1rem;
    color: var(--text);
}
.svc-card-desc {
    color: var(--text-2);
    font-size: 1.05rem;
    line-height: 1.5;
    margin-bottom: 2rem;
}
.svc-card-list li {
    font-size: 0.95rem;
    color: var(--text);
    padding: 0.5rem 0;
    border-bottom: 1px solid rgba(0,0,0,0.04);
}
.svc-card-list li:last-child {
    border-bottom: none;
}

/* ================= PREMIUM WORKFLOW TIMELINE ================= */
.workflow-section {
    background: linear-gradient(180deg, #FFFFFF 0%, #f9fbff 100%);
    position: relative;
    z-index: 1;
    overflow: hidden;
}
.workflow-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 3rem;
    margin-top: 4rem;
    position: relative;
}
@media (min-width: 900px) {
    .workflow-grid::before {
        content: '';
        position: absolute;
        top: 0px;
        left: 50px;
        right: 50px;
        height: 2px;
        background: linear-gradient(90deg, rgba(16,68,169,0.1) 0%, var(--g-blue) 50%, rgba(220,38,38,0.1) 100%);
        z-index: 0;
    }
}
.workflow-step {
    position: relative;
    z-index: 1;
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(48, 82, 130, 0.08);
    border-radius: 20px;
    padding: 3rem 2rem 2rem 2rem;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.workflow-step:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(16, 68, 169, 0.06);
}
.step-num {
    position: absolute;
    top: -36px;
    left: 50%;
    transform: translateX(-50%);
    width: 72px;
    height: 72px;
    background: linear-gradient(135deg, var(--g-blue) 0%, #0d388e 100%);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    font-family: var(--font-display);
    font-weight: 800;
    box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.8), 0 10px 20px rgba(16, 68, 169, 0.3);
    z-index: 2;
}
.workflow-step:nth-child(even) .step-num {
    background: linear-gradient(135deg, var(--g-red) 0%, #a81c1c 100%);
    box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.8), 0 10px 20px rgba(220, 38, 38, 0.3);
}
.step-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--text);
    margin-bottom: 0.75rem;
    margin-top: 1rem;
}
.step-desc {
    font-size: 0.95rem;
    color: var(--text-2);
    line-height: 1.5;
}

/* ================= PREMIUM TRUST & GUARANTEES ================= */
.trust-grid {
    gap: 2rem;
}
.trust-card {
    border-radius: 20px;
    padding: 3rem 2.5rem;
    position: relative;
    overflow: hidden;
    transition: transform 0.4s ease;
}
.trust-card:hover {
    transform: translateY(-5px);
}
.trust-card.positive {
    background: linear-gradient(135deg, var(--g-blue) 0%, #0d388e 100%);
    color: white;
    border: none;
    box-shadow: 0 15px 40px rgba(16, 68, 169, 0.25);
}
.trust-card.positive h3 {
    color: white;
    font-family: var(--font-display);
    font-size: 1.4rem;
}
.trust-card.positive li {
    font-size: 1.05rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.trust-card.positive li::before {
    background: rgba(255, 255, 255, 0.2);
    color: white;
}

.trust-card.negative {
    background: rgba(220, 38, 38, 0.02);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(220, 38, 38, 0.1);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02);
}
.trust-card.negative h3 {
    color: var(--text);
    font-family: var(--font-display);
    font-size: 1.4rem;
}
.trust-card.negative li {
    font-size: 1.05rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.04);
}

/* ================= PREMIUM PRICING ================= */
.pricing-card {
    background: white;
    border: 1px solid rgba(48, 82, 130, 0.08);
    border-radius: 24px;
    padding: 3rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
    transition: all 0.4s ease;
    position: relative;
    z-index: 1;
}
.pricing-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 50px rgba(16, 68, 169, 0.08);
}
.pricing-card.featured {
    border: 2px solid var(--g-blue);
    background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
    transform: scale(1.05);
    box-shadow: 0 20px 40px rgba(16, 68, 169, 0.15);
}
.pricing-card.featured:hover {
    transform: scale(1.05) translateY(-8px);
    box-shadow: 0 30px 60px rgba(16, 68, 169, 0.2);
}

/* ================= PREMIUM REVIEWS ================= */
.reviews {
    background: #f9fbff;
    position: relative;
    z-index: 1;
}
.review-card {
    background: white;
    border: 1px solid rgba(48, 82, 130, 0.05);
    border-radius: 20px;
    padding: 2.5rem;
    position: relative;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02);
    overflow: hidden;
    transition: transform 0.4s ease;
}
.review-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(16, 68, 169, 0.06);
}
.review-card::after {
    content: '"';
    position: absolute;
    top: -20px;
    right: 20px;
    font-size: 15rem;
    color: rgba(16, 68, 169, 0.03);
    font-family: Georgia, serif;
    font-weight: 900;
    line-height: 1;
    pointer-events: none;
    z-index: 0;
}
.review-card p {
    position: relative;
    z-index: 1;
    font-size: 1.05rem;
    line-height: 1.6;
    color: var(--text-2);
}

/* ================= PREMIUM FAQ ================= */
.faq-item {
    background: white;
    border: 1px solid rgba(48, 82, 130, 0.08);
    border-radius: 16px;
    margin-bottom: 1rem;
    overflow: hidden;
    transition: all 0.3s ease;
}
.faq-item:hover {
    border-color: rgba(16, 68, 169, 0.3);
}
.faq-question {
    padding: 1.5rem 2rem;
    font-size: 1.1rem;
    font-weight: 600;
}
.faq-icon {
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    color: var(--g-blue);
}
.faq-item.active .faq-question {
    background: rgba(16, 68, 169, 0.02);
}

/* ================= PREMIUM CONTACT FORM ================= */
.contact-form-wrap {
    background: white;
    border-radius: 24px;
    padding: 3.5rem;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.05);
    border: 1px solid rgba(48, 82, 130, 0.06);
}
.form-group input, 
.form-group textarea {
    background: #f8fafc;
    border: 1px solid transparent;
    border-radius: 12px;
    padding: 1rem 1.25rem;
    transition: all 0.3s ease;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.02);
}
.form-group input:focus, 
.form-group textarea:focus {
    background: white;
    border-color: rgba(16, 68, 169, 0.3);
    box-shadow: 0 0 0 4px rgba(16, 68, 169, 0.08);
}
.form-group label {
    font-size: 0.95rem;
    color: var(--text);
    margin-bottom: 0.5rem;
}

/* ================= ENHANCED FOOTER & PILLS ================= */
.contact-group-title {
    font-family: var(--font-display);
    font-size: 1.2rem;
    margin-bottom: 1.5rem;
}
.footer {
    border-top: 1px solid rgba(0, 0, 0, 0.05);
    background: #ffffff;
}

.hero-left h1 { line-height: 1.2; margin-bottom: 1rem; }

/* Bug fixes */
.hero-contact-info a {
    margin-bottom: 0.5rem;
}
.hero-left h1 {
    line-height: 1.15 !important;
}
.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 2rem;
}
.founder-quote-box {
    border: 1px solid rgba(220, 38, 38, 0.15);
    border-left: 4px solid var(--g-red);
    background: rgba(220, 38, 38, 0.03);
}
.svc-card-desc {
    margin-bottom: 1rem !important;
}
.featured-badge {
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--g-blue);
    color: white;
    padding: 0.25rem 1rem;
    border-radius: 100px;
    font-size: 0.85rem;
    font-weight: 700;
}
.trust-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
}
.trust-card {
    height: 100%;
    display: flex;
    flex-direction: column;
}
.trust-card ul {
    flex: 1;
}
.premium-why .container {
    position: relative;
    z-index: 2;
}
.hero .container {
    position: relative;
    z-index: 2;
}

/* ================= PREMIUM TRUST REDESIGN ================= */
.trust-premium-section {
    position: relative;
    padding: 7rem 0;
    background: linear-gradient(135deg, #091D42 0%, #173875 100%);
    overflow: hidden;
}
.tp-glow-bg {
    position: absolute;
    top: -20%;
    left: -10%;
    width: 60vw;
    height: 60vw;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0) 70%);
    border-radius: 50%;
    pointer-events: none;
    z-index: 1;
}

.tp-cards-wrap {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    align-items: stretch;
}
@media (min-width: 900px) {
    .tp-cards-wrap {
        grid-template-columns: 1fr 1fr;
        gap: 3rem;
    }
    .tp-card-glass {
        margin-top: 0 !important;
    }
}

.tp-card {
    border-radius: 24px;
    padding: 3rem;
    display: flex;
    flex-direction: column;
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.4s ease;
}
.tp-card:hover {
    transform: translateY(-8px);
}

.tp-card-solid {
    background: white;
    box-shadow: 0 20px 50px rgba(0,0,0,0.2);
}
.tp-card-glass {
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.15);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}

.tp-icon-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.25rem;
    margin-bottom: 2.5rem;
}
.tp-icon-shield {
    width: 56px;
    height: 56px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(16, 68, 169, 0.1);
    color: var(--g-blue);
}
.tp-icon-alert {
    background: rgba(255, 255, 255, 0.15);
    color: white;
}

.tp-card-solid h3 {
    font-size: 1.5rem;
    font-family: var(--font-display);
    color: var(--text);
}
.tp-card-glass h3 {
    font-size: 1.5rem;
    font-family: var(--font-display);
    color: white;
}

.tp-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    flex: 1;
}
.tp-list li {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    font-size: 1.05rem;
    line-height: 1.5;
}
.tp-positive-list li {
    color: var(--text-2);
}
.tp-neutral-list li {
    color: rgba(255, 255, 255, 0.85);
}
.tp-list-icon {
    flex-shrink: 0;
    margin-top: 2px;
}

/* ================= PREMIUM REVIEWS REDESIGN ================= */
.premium-reviews-section {
    padding: 7rem 0;
    background: #fdfdfe;
    position: relative;
    overflow: hidden;
}
.pr-bg-pattern {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-image: radial-gradient(rgba(16, 68, 169, 0.05) 1px, transparent 1px);
    background-size: 30px 30px;
    z-index: 1;
}

.pr-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 2.5rem;
    align-items: stretch;
}

.pr-card {
    background: white;
    border-radius: 20px;
    padding: 3rem 2.5rem;
    position: relative;
    display: flex;
    flex-direction: column;
    border: 1px solid rgba(16, 68, 169, 0.04);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.02);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    z-index: 2;
}
.pr-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 50px rgba(16, 68, 169, 0.06);
}

.pr-quote-icon {
    position: absolute;
    top: 2rem;
    right: 2rem;
    color: rgba(16, 68, 169, 0.05);
}

.pr-stars {
    display: flex;
    gap: 0.25rem;
    margin-bottom: 1.5rem;
}
.pr-stars svg {
    filter: drop-shadow(0 2px 4px rgba(251, 191, 36, 0.3));
}

.pr-text {
    font-size: 1.15rem;
    line-height: 1.6;
    color: var(--text-2);
    font-style: italic;
    margin-bottom: 2.5rem;
    flex: 1;
}

.pr-footer {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    border-top: 1px solid rgba(0,0,0,0.05);
    padding-top: 1.5rem;
}

.pr-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    font-weight: 700;
    box-shadow: 0 4px 15px rgba(16, 68, 169, 0.2);
}

.pr-author {
    display: flex;
    flex-direction: column;
}
.pr-author strong {
    font-size: 1.05rem;
    color: var(--text);
    font-family: var(--font-display);
}
.pr-author span {
    font-size: 0.85rem;
    color: var(--text-2);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-top: 2px;
}

/* ================= PREMIUM FINAL CONTACTS ================= */
.contacts-list {
    padding: 7rem 0;
    background: linear-gradient(180deg, #fAfCFF 0%, #FFFFFF 100%);
    position: relative;
    overflow: hidden;
    border-top: 1px solid rgba(48, 82, 130, 0.05);
}
.c-glow-orb {
    position: absolute;
    top: -100px;
    right: -100px;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(16, 68, 169, 0.03) 0%, rgba(255,255,255,0) 70%);
    border-radius: 50%;
    z-index: 0;
}

.c-premium-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 3rem;
}

.c-hub-card {
    background: white;
    border: 1px solid rgba(16, 68, 169, 0.06);
    border-radius: 24px;
    padding: 3rem;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.02);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    display: flex;
    flex-direction: column;
}
.c-hub-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 50px rgba(16, 68, 169, 0.08);
    border-color: rgba(16, 68, 169, 0.15);
}

.c-hub-icon {
    width: 56px;
    height: 56px;
    background: linear-gradient(135deg, rgba(16,68,169,0.05) 0%, rgba(16,68,169,0.1) 100%);
    color: var(--g-blue);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
}
.c-hub-card h3 {
    font-size: 1.5rem;
    font-family: var(--font-display);
    margin-bottom: 0.5rem;
    color: var(--text);
}
.c-hub-desc {
    color: var(--text-2);
    font-size: 0.95rem;
    margin-bottom: 2rem;
}

.c-hub-links {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    flex: 1;
}

.c-pill-link {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.25rem;
    background: rgba(16, 68, 169, 0.02);
    border: 1px solid rgba(16, 68, 169, 0.06);
    border-radius: 12px;
    color: var(--text);
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
}
.c-pill-link:hover {
    background: white;
    box-shadow: 0 8px 20px rgba(16, 68, 169, 0.06);
    border-color: rgba(16, 68, 169, 0.2);
    transform: translateY(-2px);
    color: var(--g-blue);
}
.flag-circle {
    font-size: 1.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
.c-pill-text {
    font-size: 1.05rem;
    letter-spacing: 0.5px;
}
.email-text {
    font-size: 0.9rem;
    letter-spacing: 1px;
}

.c-social-icons {
    display: flex;
    gap: 1rem;
    margin-bottom: auto;
}
.c-social-btn {
    flex: 1;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(16, 68, 169, 0.03);
    border: 1px solid rgba(16, 68, 169, 0.06);
    border-radius: 12px;
    color: var(--text-2);
    transition: all 0.3s ease;
}
.c-social-btn:hover {
    transform: translateY(-3px);
    color: white;
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}
.hover-telegram:hover { background: #0088cc; border-color: #0088cc; }
.hover-whatsapp:hover { background: #25D366; border-color: #25D366; }
.hover-viber:hover { background: #7360f2; border-color: #7360f2; }
.hover-instagram:hover { background: #E1306C; border-color: #E1306C; }

/* ================= PREMIUM FAQ REDESIGN ================= */
.premium-faq-section {
    padding: 7rem 0;
    background: #ffffff;
    position: relative;
    overflow: hidden;
    border-top: 1px solid rgba(48, 82, 130, 0.05);
}
.pf-glow-bg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 800px;
    height: 800px;
    background: radial-gradient(circle, rgba(16, 68, 169, 0.02) 0%, rgba(255,255,255,0) 70%);
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
}

.pf-container {
    max-width: 860px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.pf-item {
    background: #ffffff;
    border: 1px solid rgba(16, 68, 169, 0.08);
    border-radius: 20px;
    overflow: hidden;
    transition: all 0.4s ease;
    box-shadow: 0 4px 12px rgba(0,0,0,0.01);
}
.pf-item:hover {
    border-color: rgba(16, 68, 169, 0.2);
    box-shadow: 0 10px 30px rgba(16, 68, 169, 0.04);
}
.pf-item.active {
    border-color: rgba(16, 68, 169, 0.3);
    box-shadow: 0 15px 40px rgba(16, 68, 169, 0.06);
    background: linear-gradient(180deg, #FFFFFF 0%, #fAfcFF 100%);
}

.pf-question {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.75rem 2rem;
    background: transparent;
    border: none;
    cursor: pointer;
    text-align: left;
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--text);
    transition: color 0.3s ease;
}
.pf-question:hover {
    color: var(--g-blue);
}

.pf-icon-wrap {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(16, 68, 169, 0.04);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-left: 1.5rem;
    transition: all 0.4s ease;
    color: var(--g-blue);
}
.pf-item.active .pf-icon-wrap {
    background: var(--g-blue);
    color: white;
    transform: rotate(180deg);
}

.pf-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.pf-item.active .pf-answer {
    max-height: 250px;
}

.pf-answer-content {
    padding: 0 2rem 2rem 2rem;
    font-size: 1.05rem;
    line-height: 1.6;
    color: var(--text-2);
}

/* ================= PREMIUM WORKFLOW TIMELINE ================= */
.premium-workflow-section {
    padding: 8rem 0;
    background: #fafcff;
    position: relative;
    overflow: hidden;
}
.pw-bg-glow {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: radial-gradient(circle at 50% 50%, rgba(16, 68, 169, 0.02) 0%, transparent 60%);
    pointer-events: none;
    z-index: 0;
}

.pw-timeline {
    position: relative;
    max-width: 1000px;
    margin: 0 auto;
}
.pw-center-line {
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 2px;
    background: linear-gradient(180deg, rgba(16,68,169,0) 0%, var(--g-blue) 15%, var(--g-red) 85%, rgba(220,38,38,0) 100%);
    transform: translateX(-50%);
}

.pw-item {
    position: relative;
    width: 100%;
    margin-bottom: 2rem;
    display: flex;
    justify-content: center;
}
.pw-item:last-child {
    margin-bottom: 0;
}

.pw-node {
    position: absolute;
    left: 50%;
    top: 30px;
    transform: translate(-50%, -50%);
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--g-blue) 0%, #0d388e 100%);
    color: white;
    font-size: 1.4rem;
    font-weight: 800;
    font-family: var(--font-display);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 0 8px #fafcff, 0 8px 20px rgba(16,68,169,0.3);
    z-index: 2;
    transition: transform 0.4s ease;
}
.pw-item:hover .pw-node {
    transform: translate(-50%, -50%) scale(1.1);
}

.pw-card {
    width: 45%;
    background: white;
    padding: 2.5rem;
    border-radius: 24px;
    border: 1px solid rgba(16, 68, 169, 0.05);
    box-shadow: 0 10px 30px rgba(0,0,0,0.02);
    position: relative;
    transition: all 0.4s ease;
}
.pw-item:hover .pw-card {
    box-shadow: 0 20px 40px rgba(16,68,169,0.06);
    transform: translateY(-5px);
}

.pw-arrow {
    position: absolute;
    top: 30px;
    width: 20px;
    height: 20px;
    background: white;
    transform: translateY(-50%) rotate(45deg);
    border: 1px solid rgba(16, 68, 169, 0.05);
    z-index: -1;
}

.left-item { justify-content: flex-start; }
.right-item { justify-content: flex-end; }

.left-item .pw-arrow {
    right: -10px;
    border-bottom: none;
    border-left: none;
}
.right-item .pw-arrow {
    left: -10px;
    border-top: none;
    border-right: none;
}

.pw-title {
    font-size: 1.35rem;
    font-family: var(--font-display);
    color: var(--text);
    margin-bottom: 0.75rem;
}
.pw-desc {
    font-size: 1.05rem;
    line-height: 1.6;
    color: var(--text-2);
}

/* Alternate colors for steps */
.pw-item:nth-child(even) .pw-node {
    background: linear-gradient(135deg, var(--g-red) 0%, #a81c1c 100%);
    box-shadow: 0 0 0 8px #fafcff, 0 8px 20px rgba(220,38,38,0.3);
}

@media (max-width: 900px) {
    .pw-center-line {
        left: 24px;
        transform: none;
    }
    .pw-node {
        left: 24px;
        transform: translateY(-50%);
    }
    .pw-item:hover .pw-node {
        transform: translateY(-50%) scale(1.1);
    }
    .pw-item {
        justify-content: flex-end;
    }
    .pw-card {
        width: calc(100% - 70px);
    }
    .left-item .pw-arrow, .right-item .pw-arrow {
        left: -10px;
        border-top: none;
        border-right: none;
        border-bottom: 1px solid rgba(16, 68, 169, 0.05);
        border-left: 1px solid rgba(16, 68, 169, 0.05);
    }
}

/* ================= PREMIUM SERVICES REDESIGN ================= */
.ps-section {
    padding: 7rem 0 5rem 0;
    background: #fdfdfe;
    position: relative;
    overflow: hidden;
    border-top: 1px solid rgba(48, 82, 130, 0.05);
}
.ps-bg-glow {
    position: absolute;
    top: -20%;
    right: -20%;
    width: 80vw;
    height: 80vw;
    background: radial-gradient(circle, rgba(16, 68, 169, 0.02) 0%, rgba(255,255,255,0) 70%);
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
}

.services-header {
    text-align: center;
    max-width: 700px;
    margin: 0 auto 5rem;
}
.ps-cta-wrap {
    margin-top: 2rem;
}

.ps-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
}
@media (min-width: 768px) {
    .ps-grid { grid-template-columns: repeat(2, 1fr); gap: 2.5rem; }
}

.ps-card {
    background: white;
    border-radius: 20px;
    padding: 3rem 2.5rem;
    position: relative;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.02);
    border: 1px solid rgba(16, 68, 169, 0.04);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.ps-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 50px rgba(16, 68, 169, 0.08);
}

.ps-watermark {
    position: absolute;
    top: -20px;
    right: -10px;
    font-size: 8rem;
    font-weight: 900;
    font-family: var(--font-display);
    color: rgba(16, 68, 169, 0.02);
    line-height: 1;
    pointer-events: none;
    z-index: 0;
    transition: color 0.4s ease;
}
.ps-card:hover .ps-watermark {
    color: rgba(16, 68, 169, 0.04);
}

.ps-icon-wrap {
    width: 64px;
    height: 64px;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(16,68,169,0.05) 0%, rgba(16,68,169,0.1) 100%);
    color: var(--g-blue);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 2rem;
    position: relative;
    z-index: 1;
    transition: transform 0.4s ease, background 0.4s ease;
}
.ps-card:hover .ps-icon-wrap {
    transform: scale(1.1);
    background: linear-gradient(135deg, rgba(16,68,169,0.1) 0%, rgba(16,68,169,0.15) 100%);
}

.ps-card h3 {
    font-size: 1.5rem;
    font-family: var(--font-display);
    font-weight: 800;
    color: var(--text);
    margin-bottom: 1rem;
    position: relative;
    z-index: 1;
}

.ps-desc {
    font-size: 1.05rem;
    line-height: 1.6;
    color: var(--text-2);
    margin-bottom: 2rem;
    position: relative;
    z-index: 1;
}

.ps-list {
    list-style: none;
    padding: 0;
    margin: 0;
    margin-top: auto;
    position: relative;
    z-index: 1;
}
.ps-list li {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 1rem;
    color: var(--text);
    padding: 0.6rem 0;
    border-bottom: 1px solid rgba(0,0,0,0.04);
}
.ps-list li:last-child {
    border-bottom: none;
}
.ps-check {
    color: var(--g-blue);
    flex-shrink: 0;
}

.ps-card-border {
    position: absolute;
    bottom: 0; left: 0; right: 0; height: 4px;
    background: linear-gradient(90deg, var(--g-blue) 0%, var(--g-red) 100%);
    opacity: 0;
    transition: opacity 0.4s ease;
    z-index: 2;
}
.ps-card:hover .ps-card-border {
    opacity: 1;
}

/* ================= PREMIUM PRICING REDESIGN ================= */
.premium-pricing-section {
    padding: 7rem 0;
    background: linear-gradient(180deg, #FFFFFF 0%, #fafcff 100%);
    position: relative;
    overflow: hidden;
}
.pp-bg-glow {
    position: absolute;
    bottom: -20%;
    left: -20%;
    width: 60vw;
    height: 60vw;
    background: radial-gradient(circle, rgba(220, 38, 38, 0.02) 0%, rgba(255,255,255,0) 70%);
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
}

.pp-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    align-items: center;
}
@media (min-width: 992px) {
    .pp-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 0;
    }
}

.pp-card {
    position: relative;
    z-index: 1;
}
.pp-card-inner {
    background: white;
    padding: 3.5rem 2.5rem;
    border-radius: 24px;
    border: 1px solid rgba(16, 68, 169, 0.05);
    box-shadow: 0 10px 40px rgba(0,0,0,0.02);
    display: flex;
    flex-direction: column;
    height: 100%;
    transition: all 0.4s ease;
}
@media (min-width: 992px) {
    .pp-card:first-child .pp-card-inner {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
        border-right: none;
    }
    .pp-card:last-child .pp-card-inner {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
        border-left: none;
    }
}

.pp-card:not(.pp-featured):hover .pp-card-inner {
    background: #fafcff;
}

/* Featured Card */
.pp-featured {
    z-index: 10;
}
.pp-featured .pp-card-inner {
    background: linear-gradient(135deg, var(--g-blue) 0%, #0d388e 100%);
    color: white;
    border: none;
    padding: 4.5rem 3rem;
    box-shadow: 0 20px 60px rgba(16, 68, 169, 0.25);
    border-radius: 24px;
    transform: scale(1.02);
}
@media (min-width: 992px) {
    .pp-featured .pp-card-inner {
        transform: scale(1.08); /* Scales nicely over the side cards */
    }
}

.pp-featured-badge {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    background: var(--g-red);
    color: white;
    padding: 0.4rem 1.5rem;
    border-radius: 100px;
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    box-shadow: 0 4px 15px rgba(220, 38, 38, 0.3);
    z-index: 20;
}

.pp-title {
    font-size: 1.3rem;
    font-family: var(--font-display);
    color: var(--text);
    margin-bottom: 2rem;
}
.pp-price-box {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
    color: var(--g-blue);
}
.pp-amount {
    font-size: 3rem;
    font-weight: 800;
    line-height: 1;
}
.pp-currency {
    font-size: 1.25rem;
    font-weight: 600;
    opacity: 0.8;
}

.pp-desc {
    font-size: 1.05rem;
    line-height: 1.6;
    color: var(--text-2);
    margin-bottom: 2.5rem;
    flex: 1;
}
.pp-divider {
    height: 1px;
    background: rgba(16, 68, 169, 0.08);
    margin-bottom: 2.5rem;
}

.pp-btn {
    border-color: rgba(16, 68, 169, 0.2);
}
.pp-btn:hover {
    background: rgba(16, 68, 169, 0.05);
}

.pp-btn-featured {
    background: white;
    color: var(--g-blue);
    font-weight: 700;
}
.pp-btn-featured:hover {
    background: #f8fafc;
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}

/* ================= PREMIUM HERO (Full Editorial) ================= */
.premium-hero {
    position: relative;
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: #0a1628;
}

/* Background image layer */
.ph-image-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}
.ph-bg-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 25%;
    display: block;
    animation: ph-subtle-zoom 20s ease-in-out infinite alternate;
}
@keyframes ph-subtle-zoom {
    from { transform: scale(1); }
    to   { transform: scale(1.05); }
}
.ph-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        105deg,
        rgba(5, 15, 40, 0.88) 0%,
        rgba(10, 22, 60, 0.72) 45%,
        rgba(10, 22, 60, 0.35) 100%
    );
}

/* Ambient orbs */
.ph-orb-1 {
    position: absolute;
    top: -15%;
    right: 10%;
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, rgba(16, 68, 169, 0.18) 0%, transparent 70%);
    border-radius: 50%;
    z-index: 1;
    pointer-events: none;
    animation: float-badge 10s ease-in-out infinite;
}
.ph-orb-2 {
    position: absolute;
    bottom: -10%;
    left: -5%;
    width: 350px;
    height: 350px;
    background: radial-gradient(circle, rgba(220, 38, 38, 0.1) 0%, transparent 70%);
    border-radius: 50%;
    z-index: 1;
    pointer-events: none;
    animation: float-badge 13s ease-in-out infinite reverse;
}

/* Content positioning */
.ph-content {
    position: relative;
    z-index: 10;
    width: 100%;
    padding-top: 6rem;
    padding-bottom: 6rem;
}
.ph-left {
    max-width: 680px;
}

/* Brand chip */
.ph-brand-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(8px);
    padding: 0.5rem 1.2rem;
    border-radius: 100px;
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    margin-bottom: 2rem;
}
.ph-brand-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 8px rgba(34, 197, 94, 0.6);
    animation: pulse-dot 2s ease-in-out infinite;
}
@keyframes pulse-dot {
    0%, 100% { box-shadow: 0 0 6px rgba(34,197,94,0.6); }
    50%       { box-shadow: 0 0 16px rgba(34,197,94,0.9); }
}

/* Headings */
.ph-h1 {
    font-size: clamp(2.5rem, 5vw, 4rem);
    font-family: var(--font-display);
    font-weight: 900;
    line-height: 1.1;
    color: #ffffff;
    margin-bottom: 1.5rem;
    letter-spacing: -0.5px;
}
.ph-h1 em {
    font-style: normal;
    background: linear-gradient(90deg, #64a5ff 0%, #a5c4ff 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.ph-subtitle {
    font-size: 1.2rem;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.75);
    margin-bottom: 2.5rem;
    max-width: 520px;
}

/* Stats row */
.ph-stats-row {
    display: flex;
    align-items: center;
    gap: 2rem;
    margin-bottom: 3rem;
}
.ph-stat {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}
.ph-stat-num {
    font-size: 2rem;
    font-weight: 800;
    color: white;
    line-height: 1;
    font-family: var(--font-display);
}
.ph-stat-label {
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: rgba(255, 255, 255, 0.5);
}
.ph-stat-divider {
    width: 1px;
    height: 40px;
    background: rgba(255, 255, 255, 0.15);
}

/* Buttons */
.ph-actions {
    margin-bottom: 2.5rem;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}
.ph-btn-primary {
    background: linear-gradient(135deg, var(--g-blue) 0%, #1a56cc 100%);
    color: white;
    box-shadow: 0 8px 25px rgba(16, 68, 169, 0.4);
    display: flex;
    align-items: center;
    gap: 0.5rem;
    border: none;
    padding: 0.9rem 2rem;
    border-radius: 12px;
    font-weight: 700;
    transition: all 0.3s ease;
}
.ph-btn-primary:hover {
    box-shadow: 0 12px 35px rgba(16, 68, 169, 0.55);
    transform: translateY(-2px);
}
.ph-btn-ghost {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.25);
    backdrop-filter: blur(8px);
    color: white;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.9rem 1.5rem;
    border-radius: 12px;
    font-weight: 600;
    transition: all 0.3s ease;
}
.ph-btn-ghost:hover {
    background: rgba(255, 255, 255, 0.2);
    border-color: rgba(255, 255, 255, 0.4);
    transform: translateY(-2px);
    color: white;
}

/* Contact pills on dark hero */
.ph-pills {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.ph-pill {
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    color: white !important;
    backdrop-filter: blur(10px);
    max-width: 380px;
}
.ph-pill:hover {
    background: rgba(255, 255, 255, 0.16) !important;
    border-color: rgba(255, 255, 255, 0.3) !important;
    color: white !important;
}
.ph-pill .action-hint-text {
    color: rgba(255, 255, 255, 0.5) !important;
}
.ph-pill span {
    color: rgba(255, 255, 255, 0.9);
}

/* Scroll indicator */
.ph-scroll-hint {
    position: absolute;
    bottom: 2rem;
    left: 50%;
    transform: translateX(-50%);
    color: rgba(255, 255, 255, 0.4);
    font-size: 1.5rem;
    z-index: 10;
    animation: bounce-down 2s ease-in-out infinite;
}
@keyframes bounce-down {
    0%, 100% { transform: translateX(-50%) translateY(0); }
    50%       { transform: translateX(-50%) translateY(8px); }
}

/* Responsive hero */
@media (max-width: 768px) {
    .ph-left { max-width: 100%; }
    .ph-h1 { font-size: 2.2rem; }
    .ph-stats-row { gap: 1.25rem; }
    .ph-stat-num { font-size: 1.5rem; }
    .ph-pill { max-width: 100%; }
}

/* ===== FIX: Premium Hero full-width override ===== */
.premium-hero {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

/* ================= PREMIUM ABOUT / WHO WE ARE ================= */
.pa-section {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 85vh;
    overflow: hidden;
}

.pa-left-panel {
    background: linear-gradient(145deg, #071529 0%, #0d2250 100%);
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
}
.pa-left-panel::before {
    content: '';
    position: absolute;
    top: -30%;
    right: -20%;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(16,68,169,0.2) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}
.pa-left-inner {
    padding: 5rem 4rem;
    position: relative;
    z-index: 2;
}

.pa-tag {
    background: rgba(255,255,255,0.1) !important;
    color: rgba(255,255,255,0.85) !important;
    border: 1px solid rgba(255,255,255,0.2) !important;
}

.pa-h2 {
    font-size: clamp(2.2rem, 3.5vw, 3.2rem);
    font-family: var(--font-display);
    font-weight: 900;
    line-height: 1.1;
    color: white;
    margin-bottom: 1.5rem;
}
.pa-h2-accent {
    background: linear-gradient(90deg, #64a5ff 0%, #a5c4ff 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.pa-subtitle {
    font-size: 1.1rem;
    line-height: 1.7;
    color: rgba(255,255,255,0.65);
    margin-bottom: 3rem;
    max-width: 440px;
}

.pa-stats {
    display: flex;
    align-items: center;
    gap: 2rem;
    margin-bottom: 3rem;
}
.pa-stat {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}
.pa-stat-num {
    font-size: 2rem;
    font-weight: 800;
    font-family: var(--font-display);
    color: white;
    line-height: 1;
}
.pa-stat-label {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: rgba(255,255,255,0.4);
}
.pa-stat-div {
    width: 1px;
    height: 40px;
    background: rgba(255,255,255,0.12);
}

.pa-principle {
    display: flex;
    gap: 1.25rem;
    align-items: flex-start;
    padding: 1.5rem;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    border-left: 3px solid rgba(100,165,255,0.6);
    border-radius: 12px;
}
.pa-principle p {
    color: rgba(255,255,255,0.7);
    font-size: 1rem;
    line-height: 1.6;
    font-style: italic;
    margin: 0;
}

/* Right Panel — photo */
.pa-right-panel {
    position: relative;
    overflow: hidden;
}
.pa-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
    transition: transform 1.5s ease;
}
.pa-right-panel:hover .pa-photo {
    transform: scale(1.03);
}

/* Founder chip */
.pa-founder-chip {
    position: absolute;
    bottom: 2.5rem;
    left: 2rem;
    background: rgba(255,255,255,0.92);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-radius: 100px;
    padding: 0.75rem 1.5rem 0.75rem 0.75rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    box-shadow: 0 10px 30px rgba(0,0,0,0.12);
    animation: float-badge 7s ease-in-out infinite;
}
.pa-founder-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--g-blue) 0%, #0d388e 100%);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.9rem;
    letter-spacing: 0.5px;
    flex-shrink: 0;
}
.pa-founder-info {
    display: flex;
    flex-direction: column;
}
.pa-founder-info strong {
    font-size: 1rem;
    font-family: var(--font-display);
    color: var(--text);
}
.pa-founder-info span {
    font-size: 0.75rem;
    color: var(--text-2);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Experience badge */
.pa-exp-badge {
    position: absolute;
    top: 2.5rem;
    right: 2rem;
    background: var(--g-blue);
    color: white;
    border-radius: 20px;
    padding: 1.25rem 1.5rem;
    text-align: center;
    box-shadow: 0 10px 30px rgba(16,68,169,0.3);
    animation: float-badge 9s ease-in-out infinite reverse;
}
.pa-exp-num {
    display: block;
    font-size: 2.5rem;
    font-weight: 900;
    font-family: var(--font-display);
    line-height: 1;
}
.pa-exp-label {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    opacity: 0.8;
    line-height: 1.4;
}

/* Mission section below */
.pa-mission-section {
    padding: 5rem 0;
    background: #fafcff;
    border-top: 1px solid rgba(16,68,169,0.05);
}
.pa-mission-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem;
}
.pa-mission-card {
    background: white;
    border-radius: 20px;
    padding: 3rem;
    border: 1px solid rgba(16,68,169,0.05);
    box-shadow: 0 10px 30px rgba(0,0,0,0.02);
    position: relative;
    overflow: hidden;
    transition: all 0.4s ease;
}
.pa-mission-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 40px rgba(16,68,169,0.06);
}
.pa-mission-icon {
    width: 52px;
    height: 52px;
    background: rgba(16,68,169,0.05);
    color: var(--g-blue);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
}
.pa-mission-card h3 {
    font-size: 1.3rem;
    font-family: var(--font-display);
    margin-bottom: 1rem;
    color: var(--text);
    letter-spacing: 0.03em;
}
.pa-mission-card p {
    color: var(--text-2);
    line-height: 1.7;
    font-size: 1.05rem;
}
.pa-mission-line {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--g-blue), transparent);
    opacity: 0;
    transition: opacity 0.4s ease;
}
.pa-mission-card:hover .pa-mission-line { opacity: 1; }

/* Responsive */
@media (max-width: 900px) {
    .pa-section { grid-template-columns: 1fr; }
    .pa-right-panel { height: 450px; }
    .pa-left-inner { padding: 3rem 2rem; }
    .pa-mission-grid { grid-template-columns: 1fr; gap: 1.5rem; }
}

/* ================= PREMIUM NAVBAR ================= */
.premium-navbar {
    position: fixed;
    top: 0; left: 0; width: 100%;
    z-index: 1000;
    padding: 0;
    height: auto;
    background: rgba(255, 255, 255, 0.88);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.04);
    transition: all 0.35s ease;
}

.pnav-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 70px;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 3rem;
}

/* Logo */
.pnav-logo {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    text-decoration: none;
    flex-shrink: 0;
}
.pnav-logo-mark {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: linear-gradient(135deg, var(--g-blue) 0%, #0d388e 100%);
    color: white;
    font-size: 0.8rem;
    font-weight: 800;
    font-family: var(--font-display);
    display: flex;
    align-items: center;
    justify-content: center;
    letter-spacing: 0.5px;
    box-shadow: 0 4px 12px rgba(16, 68, 169, 0.25);
    flex-shrink: 0;
}
.pnav-logo-name {
    font-size: 1.1rem;
    font-weight: 800;
    font-family: var(--font-display);
    color: var(--text);
    letter-spacing: -0.2px;
}
.pnav-logo-thin {
    font-weight: 400;
    color: var(--text-2);
}

/* Nav links */
.pnav-links {
    position: static !important;
    transform: none !important;
    gap: 0.25rem !important;
    flex: 1;
    justify-content: center;
}
.pnav-links li a {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--text-2);
    text-decoration: none;
    padding: 0.5rem 0.85rem;
    border-radius: 8px;
    transition: all 0.25s ease;
    letter-spacing: 0.01em;
}
.pnav-links li a:hover {
    color: var(--g-blue);
    background: rgba(16, 68, 169, 0.06);
}
.pnav-links li a.active {
    color: var(--g-blue);
    background: rgba(16, 68, 169, 0.08);
}

/* Right side */
.pnav-actions {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    flex-shrink: 0;
}

/* Language switcher */
.pnav-lang {
    display: flex;
    align-items: center;
    gap: 0;
    background: rgba(16, 68, 169, 0.04);
    border: 1px solid rgba(16, 68, 169, 0.1);
    border-radius: 10px;
    padding: 4px;
    gap: 2px;
}
.pnav-lang .lang-btn {
    background: none;
    border: none;
    padding: 0.3rem 0.7rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    cursor: pointer;
    border-radius: 7px;
    color: var(--text-2);
    transition: all 0.2s ease;
}
.pnav-lang .lang-btn.active {
    background: white;
    color: var(--g-blue);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
}
.pnav-lang-div { display: none; }

/* CTA button */
.pnav-cta {
    background: linear-gradient(135deg, var(--g-blue) 0%, #1a56cc 100%);
    color: white !important;
    padding: 0.55rem 1.4rem;
    border-radius: 100px;
    font-size: 0.88rem;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 4px 15px rgba(16, 68, 169, 0.25);
    transition: all 0.3s ease;
    white-space: nowrap;
}
.pnav-cta:hover {
    box-shadow: 0 6px 20px rgba(16, 68, 169, 0.4);
    transform: translateY(-1px);
}

/* Hamburger */
.pnav-hamburger {
    display: none;
}

/* Scrolled state — slightly darker */
.premium-navbar.scrolled {
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.08);
}

/* Responsive */
@media (max-width: 1024px) {
    .pnav-links { display: none; }
    .pnav-hamburger { display: flex !important; }
}
@media (max-width: 480px) {
    .pnav-container { padding: 0 1.5rem; }
    .pnav-cta { display: none; }
}

/* ===== FIX: Who We Are — lighter, no frame ===== */
.pa-left-panel {
    background: linear-gradient(135deg, #1044a9 0%, #1a56cc 100%) !important;
}
.pa-left-panel::before {
    background: radial-gradient(circle, rgba(255,255,255,0.08) 0%, transparent 70%) !important;
}
.pa-tag {
    background: rgba(255,255,255,0.15) !important;
    border: 1px solid rgba(255,255,255,0.25) !important;
}
.pa-principle {
    background: rgba(255,255,255,0.1) !important;
    border: none !important;
    border-left: 3px solid rgba(255,255,255,0.4) !important;
}
.pa-stat-div {
    background: rgba(255,255,255,0.2) !important;
}

/* ===== FIX: Who We Are — remove section frame ===== */
.pa-section {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}
.why-us {
    border: none !important;
    outline: none !important;
}

/* ===== FIX: Trust & Guarantees — open layout, no frame ===== */
.trust-premium-section {
    background: linear-gradient(135deg, #f0f6ff 0%, #e8f0fe 100%) !important;
}
.tp-glow-bg {
    background: radial-gradient(circle, rgba(16, 68, 169, 0.06) 0%, transparent 70%) !important;
}
.trust-premium-section .section-title {
    color: var(--text) !important;
}
.trust-premium-section .section-tag {
    background: rgba(16, 68, 169, 0.08) !important;
    color: var(--g-blue) !important;
    border: 1px solid rgba(16, 68, 169, 0.15) !important;
}
.tp-card-solid {
    box-shadow: 0 20px 60px rgba(16, 68, 169, 0.12) !important;
}
.tp-card-glass {
    background: white !important;
    border: 1px solid rgba(16, 68, 169, 0.08) !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.04) !important;
    backdrop-filter: none !important;
}
.tp-card-glass h3 {
    color: var(--text) !important;
}
.tp-neutral-list li {
    color: var(--text-2) !important;
}
.tp-icon-alert {
    background: rgba(220, 38, 38, 0.06) !important;
    color: var(--g-red) !important;
}

/* ===== FIX: Nav layout - no overlapping ===== */
.pnav-container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1.5rem !important;
}
.pnav-links {
    position: static !important;
    transform: none !important;
    flex: 1 !important;
    display: flex !important;
    justify-content: center !important;
    gap: 0 !important;
    padding: 0 !important;
}
.pnav-actions {
    display: flex !important;
    align-items: center !important;
    gap: 1rem !important;
    flex-shrink: 0 !important;
}

/* i18n-injected lang switcher styles when inside pnav-actions */
#pnav-actions .lang-switcher {
    display: flex !important;
    align-items: center !important;
    background: rgba(16, 68, 169, 0.04) !important;
    border: 1px solid rgba(16, 68, 169, 0.1) !important;
    border-radius: 10px !important;
    padding: 4px !important;
    gap: 2px !important;
}
#pnav-actions .lang-btn {
    background: none !important;
    border: none !important;
    padding: 0.3rem 0.65rem !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    cursor: pointer !important;
    border-radius: 7px !important;
    color: var(--text-2) !important;
    transition: all 0.2s ease !important;
}
#pnav-actions .lang-btn.active,
#pnav-actions .lang-btn[data-active="true"] {
    background: white !important;
    color: var(--g-blue) !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06) !important;
}

/* ===== HERO: Two-Column Compact Layout ===== */
.ph-two-col {
    display: grid !important;
    grid-template-columns: 1fr 380px !important;
    gap: 4rem !important;
    align-items: center !important;
    max-width: 1400px !important;
}
.ph-left {
    max-width: 100% !important;
}
.ph-h1 {
    font-size: clamp(2rem, 4vw, 3.4rem) !important;
    margin-bottom: 1.2rem !important;
}
.ph-subtitle {
    margin-bottom: 2rem !important;
}
.ph-stats-row {
    margin-bottom: 2.5rem !important;
}
.ph-actions {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

/* RIGHT HUB */
.ph-right-hub {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

/* Socials row */
.ph-hub-socials {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
}
.ph-social-btn {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.8rem 1.1rem;
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.18);
    border-radius: 12px;
    color: white;
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    backdrop-filter: blur(8px);
}
.ph-social-btn:hover {
    background: rgba(255,255,255,0.2);
    border-color: rgba(255,255,255,0.35);
    transform: translateY(-2px);
    color: white;
}

/* Contact cards — premium style like "Прямий зв'язок" */
.ph-hub-cards {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}
.ph-contact-card {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.25rem;
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 14px;
    text-decoration: none;
    transition: all 0.3s ease;
    backdrop-filter: blur(10px);
}
.ph-contact-card:hover {
    background: rgba(255,255,255,0.18);
    border-color: rgba(255,255,255,0.3);
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}
.ph-contact-icon {
    font-size: 1.4rem;
    width: 36px;
    text-align: center;
    flex-shrink: 0;
}
.ph-contact-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.ph-contact-num {
    font-size: 0.95rem;
    font-weight: 700;
    color: white;
    letter-spacing: 0.3px;
}
.ph-contact-hint {
    font-size: 0.75rem;
    color: rgba(255,255,255,0.5);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

/* Mobile */
@media (max-width: 900px) {
    .ph-two-col {
        grid-template-columns: 1fr !important;
        gap: 2.5rem !important;
    }
    .ph-right-hub { order: -1; }
}

/* ===== FIX: Hero photo — show hands/laptop better ===== */
.ph-bg-img {
    object-position: center 55% !important;
}

/* ===== PREMIUM MISSION & EXPERIENCE ===== */
.pm-premium-section {
    padding: 5rem 0 !important;
    background: white !important;
    border-top: 1px solid rgba(16, 68, 169, 0.05) !important;
}
.pm-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem;
}
@media (max-width: 768px) {
    .pm-grid { grid-template-columns: 1fr; }
}

.pm-card {
    position: relative;
    background: white;
    border-radius: 24px;
    padding: 3.5rem 3rem 3rem 3rem;
    border: 1px solid rgba(16, 68, 169, 0.05);
    box-shadow: 0 15px 50px rgba(0, 0, 0, 0.03);
    overflow: hidden;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.pm-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 25px 60px rgba(16, 68, 169, 0.08);
}

/* Large bg number watermark */
.pm-card-bg-num {
    position: absolute;
    bottom: -20px;
    right: 10px;
    font-size: 10rem;
    font-weight: 900;
    font-family: var(--font-display);
    line-height: 1;
    color: rgba(16, 68, 169, 0.025);
    pointer-events: none;
    transition: color 0.4s ease;
    z-index: 0;
}
.pm-card:hover .pm-card-bg-num {
    color: rgba(16, 68, 169, 0.045);
}

/* Accent top bar */
.pm-top-bar {
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    border-radius: 24px 24px 0 0;
}
.pm-blue-bar { background: linear-gradient(90deg, var(--g-blue), #64a5ff); }
.pm-red-bar  { background: linear-gradient(90deg, var(--g-red), #f87171); }

/* Icon */
.pm-icon {
    width: 60px;
    height: 60px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.75rem;
    position: relative;
    z-index: 1;
    transition: transform 0.4s ease;
}
.pm-card:hover .pm-icon { transform: scale(1.1); }
.pm-icon-blue {
    background: rgba(16, 68, 169, 0.06);
    color: var(--g-blue);
}
.pm-icon-red {
    background: rgba(220, 38, 38, 0.06);
    color: var(--g-red);
}

.pm-title {
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--text-2);
    margin-bottom: 1.25rem;
    position: relative;
    z-index: 1;
}
.pm-text {
    font-size: 1.15rem;
    line-height: 1.7;
    color: var(--text);
    margin-bottom: 2.5rem;
    position: relative;
    z-index: 1;
}

/* Mission tags */
.pm-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    position: relative;
    z-index: 1;
}
.pm-tags span {
    padding: 0.35rem 0.9rem;
    background: rgba(16, 68, 169, 0.05);
    border: 1px solid rgba(16, 68, 169, 0.1);
    border-radius: 100px;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--g-blue);
}

/* Experience mini stats */
.pm-stats-row {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    position: relative;
    z-index: 1;
    padding: 1.5rem;
    background: rgba(220, 38, 38, 0.03);
    border: 1px solid rgba(220, 38, 38, 0.08);
    border-radius: 14px;
}
.pm-mini-stat {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.pm-mini-num {
    font-size: 1.6rem;
    font-weight: 800;
    font-family: var(--font-display);
    color: var(--text);
    line-height: 1;
}
.pm-mini-label {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--text-2);
}
.pm-mini-divider {
    width: 1px;
    height: 36px;
    background: rgba(220, 38, 38, 0.15);
}

/* ===== COMPACT WORKFLOW ===== */
.cw-section {
    padding: 6rem 0 !important;
    background: #fafcff !important;
    position: relative;
}

.cw-track {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    position: relative;
}

.cw-arrow {
    font-size: 1.4rem;
    color: rgba(16, 68, 169, 0.2);
    flex-shrink: 0;
    margin-top: 22px;  /* align with center of node */
    padding: 0 0.25rem;
}

.cw-step {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1rem;
    min-width: 0;
}

.cw-node {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    font-weight: 800;
    font-family: var(--font-display);
    color: white;
    position: relative;
    z-index: 2;
    flex-shrink: 0;
    transition: transform 0.3s ease;
}
.cw-step:hover .cw-node {
    transform: scale(1.12);
}
.cw-node-blue {
    background: linear-gradient(135deg, var(--g-blue) 0%, #1a56cc 100%);
    box-shadow: 0 6px 20px rgba(16, 68, 169, 0.3);
}
.cw-node-red {
    background: linear-gradient(135deg, var(--g-red) 0%, #dc2626 100%);
    box-shadow: 0 6px 20px rgba(220, 38, 38, 0.3);
}

.cw-card {
    background: white;
    border: 1px solid rgba(16, 68, 169, 0.06);
    border-radius: 16px;
    padding: 1.5rem 1.25rem;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.02);
    width: 100%;
    transition: all 0.35s ease;
}
.cw-step:hover .cw-card {
    box-shadow: 0 12px 30px rgba(16, 68, 169, 0.08);
    transform: translateY(-4px);
    border-color: rgba(16, 68, 169, 0.15);
}

.cw-title {
    font-size: 1rem;
    font-family: var(--font-display);
    font-weight: 700;
    color: var(--text);
    margin-bottom: 0.5rem;
}
.cw-desc {
    font-size: 0.88rem;
    line-height: 1.55;
    color: var(--text-2);
    margin: 0;
}

/* Mobile: vertical stack */
@media (max-width: 860px) {
    .cw-track {
        flex-direction: column;
        align-items: stretch;
        gap: 0.5rem;
    }
    .cw-step {
        flex-direction: row;
        text-align: left;
        align-items: flex-start;
        gap: 1.25rem;
    }
    .cw-arrow {
        text-align: center;
        transform: rotate(90deg);
        margin: 0 auto;
        color: rgba(16, 68, 169, 0.15);
    }
    .cw-node { flex-shrink: 0; margin-top: 0.25rem; }
    .cw-card { flex: 1; }
}

/* ===== PREMIUM MISSION V2 ===== */
.pm-v2-section {
    padding: 6rem 0 !important;
    background: #fafcff !important;
}
.pm-v2-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: center;
}
@media (max-width: 860px) {
    .pm-v2-grid { grid-template-columns: 1fr; gap: 2rem; }
}

/* Dark editorial left card */
.pm-v2-card {
    border-radius: 24px;
    min-height: 420px;
    position: relative;
    overflow: hidden;
}
.pm-v2-dark {
    background: linear-gradient(145deg, #1044a9 0%, #1a56cc 100%);
    box-shadow: 0 20px 60px rgba(16, 68, 169, 0.25);
}
.pm-v2-bg-orb {
    position: absolute;
    top: -30%;
    right: -20%;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(255,255,255,0.08) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}
.pm-v2-inner {
    padding: 3rem;
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    position: relative;
    z-index: 2;
}
.pm-v2-label {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: rgba(255,255,255,0.55);
    font-weight: 700;
}
.pm-v2-title {
    font-size: 2rem;
    font-family: var(--font-display);
    font-weight: 800;
    color: white;
    line-height: 1.2;
    margin: 0;
}
.pm-v2-text {
    font-size: 1.05rem;
    line-height: 1.65;
    color: rgba(255,255,255,0.75);
    margin: 0;
}
.pm-v2-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: auto;
}
.pm-v2-tags span {
    padding: 0.3rem 0.85rem;
    background: rgba(255,255,255,0.12);
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 100px;
    font-size: 0.8rem;
    font-weight: 600;
    color: rgba(255,255,255,0.9);
}
.pm-v2-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: white;
    font-weight: 700;
    font-size: 0.95rem;
    text-decoration: none;
    opacity: 0.8;
    transition: opacity 0.3s ease;
}
.pm-v2-link:hover { opacity: 1; }

/* Right: experience block */
.pm-v2-right {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}
.pm-v2-label-dark {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--text-2);
    font-weight: 700;
}
.pm-v2-text-dark {
    font-size: 1.1rem;
    line-height: 1.65;
    color: var(--text-2);
    margin: 0;
}
.pm-v2-stat-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}
.pm-v2-stat-card {
    background: white;
    border: 1px solid rgba(16, 68, 169, 0.06);
    border-radius: 18px;
    padding: 1.75rem 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    box-shadow: 0 6px 20px rgba(0,0,0,0.02);
    transition: all 0.35s ease;
}
.pm-v2-stat-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 35px rgba(16, 68, 169, 0.08);
}
.pm-v2-stat-accent {
    background: linear-gradient(135deg, var(--g-blue) 0%, #1a56cc 100%);
    border-color: transparent;
    box-shadow: 0 10px 30px rgba(16, 68, 169, 0.2);
}
.pm-v2-stat-accent .pm-v2-stat-num,
.pm-v2-stat-accent .pm-v2-stat-label {
    color: white !important;
}
.pm-v2-stat-num {
    font-size: 2.2rem;
    font-weight: 900;
    font-family: var(--font-display);
    color: var(--text);
    line-height: 1;
}
.pm-v2-stat-num sup {
    font-size: 1.1rem;
}
.pm-v2-stat-label {
    font-size: 0.78rem;
    line-height: 1.4;
    color: var(--text-2);
    font-weight: 500;
}

/* ===== PREMIUM SERVICES V2 ===== */
.sv2-section {
    padding: 7rem 0 !important;
    background: white !important;
    border-top: 1px solid rgba(16, 68, 169, 0.05) !important;
}

/* Two-row header */
.sv2-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 3rem;
    margin-bottom: 4rem;
}
.sv2-header-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 1.25rem;
    flex-shrink: 0;
    max-width: 420px;
}
@media (max-width: 768px) {
    .sv2-header { flex-direction: column; align-items: flex-start; }
    .sv2-header-right { align-items: flex-start; }
}

/* Bento grid */
.sv2-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: auto auto;
    gap: 1.5rem;
}
@media (max-width: 900px) {
    .sv2-grid { grid-template-columns: 1fr; }
}

/* FEATURED card spans 1 col, full height on left */
.sv2-featured {
    grid-column: 1;
    grid-row: 1 / 3;
    min-height: 500px;
    border-radius: 24px;
    position: relative;
    overflow: hidden;
    background: linear-gradient(145deg, #1044a9 0%, #1a56cc 100%);
    box-shadow: 0 25px 60px rgba(16, 68, 169, 0.22);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.sv2-featured:hover {
    transform: translateY(-6px);
    box-shadow: 0 35px 70px rgba(16, 68, 169, 0.3);
}
.sv2-featured-bg {
    position: absolute;
    top: -30%; right: -20%;
    width: 350px; height: 350px;
    background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}
.sv2-featured-inner {
    padding: 3rem;
    display: flex;
    flex-direction: column;
    height: 100%;
    position: relative;
    z-index: 2;
}
.sv2-icon-lg {
    width: 64px; height: 64px;
    background: rgba(255,255,255,0.15);
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    margin-bottom: 1.75rem;
    margin-top: 1rem;
}
.sv2-featured h3 {
    font-size: 1.6rem;
    font-family: var(--font-display);
    color: white;
    margin-bottom: 1rem;
}
.sv2-featured p {
    font-size: 1.05rem;
    line-height: 1.6;
    color: rgba(255,255,255,0.75);
    margin-bottom: 2.5rem;
}

/* Regular cards */
.sv2-regular {
    border-radius: 20px;
    padding: 2.5rem;
    background: white;
    border: 1px solid rgba(16, 68, 169, 0.06);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.02);
    transition: all 0.4s ease;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.sv2-regular:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 45px rgba(16, 68, 169, 0.07);
    border-color: rgba(16, 68, 169, 0.15);
}
.sv2-icon-sm {
    width: 50px; height: 50px;
    background: rgba(16, 68, 169, 0.05);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--g-blue);
    margin-bottom: 1.5rem;
    transition: transform 0.35s ease;
}
.sv2-regular:hover .sv2-icon-sm {
    transform: scale(1.1);
    background: rgba(16, 68, 169, 0.1);
}
.sv2-regular h3 {
    font-size: 1.25rem;
    font-family: var(--font-display);
    color: var(--text);
    margin-bottom: 0.75rem;
}
.sv2-regular p {
    font-size: 0.95rem;
    color: var(--text-2);
    line-height: 1.55;
    margin-bottom: 1.5rem;
}

/* Step number */
.sv2-num {
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.15em;
    color: rgba(255,255,255,0.35);
    margin-bottom: 1rem;
    text-transform: uppercase;
}
.sv2-num-dark {
    color: rgba(16, 68, 169, 0.2);
}

/* Service list */
.sv2-list {
    list-style: none;
    padding: 0; margin: 0;
    margin-top: auto;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.sv2-list li {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    font-size: 0.95rem;
    padding: 0.35rem 0;
    border-bottom: 1px solid rgba(0,0,0,0.04);
}
.sv2-list li:last-child { border: none; }
.sv2-list-light li {
    color: rgba(255,255,255,0.85);
    border-bottom-color: rgba(255,255,255,0.1);
}
.sv2-list-light svg { color: rgba(255,255,255,0.9); }
.sv2-list:not(.sv2-list-light) svg { color: var(--g-blue); }

/* ===== SERVICES V3: Simple, clear rows ===== */
.sv3-section {
    padding: 7rem 0;
    background: white;
    border-top: 1px solid rgba(16, 68, 169, 0.05);
}
.sv3-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 3rem;
    margin-bottom: 3rem;
}
.sv3-header-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 1.25rem;
    flex-shrink: 0;
    max-width: 380px;
    text-align: right;
}

/* Rows */
.sv3-row { display: flex; gap: 1.5rem; margin-bottom: 1.5rem; }
.sv3-row:last-child { margin-bottom: 0; }

/* Cards */
.sv3-card {
    border-radius: 20px;
    position: relative;
    overflow: hidden;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    flex: 1;
}
.sv3-card:hover { transform: translateY(-6px); }

/* Dark featured card (60% wide in row 1) */
.sv3-dark {
    flex: 1.6;
    background: linear-gradient(135deg, #1044a9 0%, #1a56cc 100%);
    box-shadow: 0 15px 40px rgba(16, 68, 169, 0.2);
}
.sv3-dark:hover { box-shadow: 0 25px 55px rgba(16, 68, 169, 0.3); }
.sv3-dark-orb {
    position: absolute;
    top: -30%; right: -15%;
    width: 280px; height: 280px;
    background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}

/* Light cards */
.sv3-light {
    background: white;
    border: 1px solid rgba(16, 68, 169, 0.06);
    box-shadow: 0 8px 25px rgba(0,0,0,0.02);
}
.sv3-light:hover {
    box-shadow: 0 20px 45px rgba(16, 68, 169, 0.07);
    border-color: rgba(16, 68, 169, 0.15);
}

.sv3-content {
    padding: 2.5rem;
    height: 100%;
    display: flex;
    flex-direction: column;
    position: relative;
    z-index: 2;
}

/* Step number */
.sv3-num {
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.3);
    margin-bottom: 1.25rem;
}
.sv3-num-dark { color: rgba(16, 68, 169, 0.2); }

/* Icons */
.sv3-icon-lg {
    width: 60px; height: 60px;
    background: rgba(255,255,255,0.15);
    border-radius: 16px;
    display: flex; align-items: center; justify-content: center;
    color: white;
    margin-bottom: 1.5rem;
}
.sv3-icon-sm {
    width: 48px; height: 48px;
    background: rgba(16, 68, 169, 0.06);
    border-radius: 13px;
    display: flex; align-items: center; justify-content: center;
    color: var(--g-blue);
    margin-bottom: 1.5rem;
    transition: transform 0.35s ease;
}
.sv3-card:hover .sv3-icon-sm { transform: scale(1.1); background: rgba(16, 68, 169, 0.1); }

.sv3-dark h3 { font-size: 1.4rem; font-family: var(--font-display); color: white; margin-bottom: 0.75rem; }
.sv3-dark p  { font-size: 1rem; line-height: 1.6; color: rgba(255,255,255,0.7); margin-bottom: 1.75rem; }
.sv3-light h3 { font-size: 1.25rem; font-family: var(--font-display); color: var(--text); margin-bottom: 0.65rem; }
.sv3-light p  { font-size: 0.95rem; line-height: 1.55; color: var(--text-2); margin-bottom: 1.5rem; }

/* Lists */
.sv3-list { list-style: none; padding: 0; margin: 0 0 0 0; margin-top: auto; display: flex; flex-direction: column; gap: 0.4rem; }
.sv3-list li { display: flex; align-items: center; gap: 0.6rem; font-size: 0.92rem; padding: 0.3rem 0; border-bottom: 1px solid rgba(0,0,0,0.04); }
.sv3-list li:last-child { border: none; }
.sv3-list-light li { color: rgba(255,255,255,0.85); border-bottom-color: rgba(255,255,255,0.1); }
.sv3-list-light svg { color: rgba(255,255,255,0.9); }
.sv3-list:not(.sv3-list-light) svg { color: var(--g-blue); }

/* Responsive */
@media (max-width: 900px) {
    .sv3-header { flex-direction: column; align-items: flex-start; }
    .sv3-header-right { align-items: flex-start; text-align: left; }
    .sv3-row { flex-direction: column; }
    .sv3-dark { flex: 1; }
}

/* ===== SERVICES FINAL: clean 2x2 grid ===== */
.sf-section {
    padding: 7rem 0;
    background: #fafcff;
    position: relative;
    overflow: hidden;
    border-top: 1px solid rgba(16,68,169,0.05);
}
.sf-bg-orb {
    position: absolute;
    top: -20%; right: -15%;
    width: 600px; height: 600px;
    background: radial-gradient(circle, rgba(16,68,169,0.025) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}

.sf-header {
    text-align: center;
    margin: 0 auto 4rem;
    max-width: 700px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

.sf-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.75rem;
}
@media (max-width: 768px) {
    .sf-grid { grid-template-columns: 1fr; }
}

.sf-card {
    border-radius: 22px;
    padding: 2.75rem;
    display: flex;
    flex-direction: column;
    gap: 0;
    position: relative;
    overflow: hidden;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.sf-card:hover { transform: translateY(-7px); }

/* Dark card */
.sf-card-dark {
    background: linear-gradient(135deg, #1044a9 0%, #1a56cc 100%);
    box-shadow: 0 15px 45px rgba(16,68,169,0.22);
}
.sf-card-dark:hover { box-shadow: 0 25px 60px rgba(16,68,169,0.32); }
.sf-card-orb {
    position: absolute;
    top: -30%; right: -20%;
    width: 280px; height: 280px;
    background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%);
    border-radius: 50%; pointer-events: none;
}

/* Light card */
.sf-card-light {
    background: white;
    border: 1px solid rgba(16,68,169,0.06);
    box-shadow: 0 8px 30px rgba(0,0,0,0.025);
}
.sf-card-light:hover {
    border-color: rgba(16,68,169,0.15);
    box-shadow: 0 20px 50px rgba(16,68,169,0.07);
}

/* Tag */
.sf-tag {
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.15em;
    color: rgba(255,255,255,0.35);
    margin-bottom: 1.5rem;
}
.sf-tag-dark { color: rgba(16,68,169,0.2); }

/* Icons */
.sf-icon {
    width: 56px; height: 56px;
    border-radius: 15px;
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 1.5rem;
    transition: transform 0.35s ease;
}
.sf-card:hover .sf-icon { transform: scale(1.09); }
.sf-icon-white { background: rgba(255,255,255,0.18); color: white; }
.sf-icon-blue { background: rgba(16,68,169,0.07); color: var(--g-blue); }
.sf-card-light:hover .sf-icon-blue { background: rgba(16,68,169,0.12); }

/* Text */
.sf-card-dark h3 { font-size: 1.4rem; font-family: var(--font-display); color: white; margin: 0 0 0.75rem; }
.sf-card-dark p  { font-size: 1rem; line-height: 1.6; color: rgba(255,255,255,0.72); margin: 0 0 1.75rem; }
.sf-card-light h3 { font-size: 1.3rem; font-family: var(--font-display); color: var(--text); margin: 0 0 0.65rem; }
.sf-card-light p  { font-size: 0.95rem; line-height: 1.6; color: var(--text-2); margin: 0 0 1.5rem; }

/* List */
.sf-list {
    list-style: none; padding: 0; margin: 0;
    margin-top: auto;
    display: flex; flex-direction: column; gap: 0.3rem;
}
.sf-list li {
    display: flex; align-items: center; gap: 0.65rem;
    font-size: 0.92rem; padding: 0.35rem 0;
    border-bottom: 1px solid rgba(0,0,0,0.05);
    color: var(--text);
}
.sf-list li:last-child { border: none; }
.sf-list svg { color: var(--g-blue); flex-shrink:0; }
.sf-list-white li { color: rgba(255,255,255,0.88); border-bottom-color: rgba(255,255,255,0.1); }
.sf-list-white svg { color: rgba(255,255,255,0.9); }

/* ===== PREMIUM WORKFLOW FINAL ===== */
.wf-section {
    padding: 7rem 0;
    background: white;
    border-top: 1px solid rgba(16,68,169,0.05);
}

.wf-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1.25rem;
}
@media (max-width: 1024px) {
    .wf-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 640px) {
    .wf-grid { grid-template-columns: 1fr 1fr; }
}

.wf-card {
    background: white;
    border: 1px solid rgba(16,68,169,0.06);
    border-radius: 20px;
    padding: 2rem 1.75rem;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    position: relative;
    overflow: hidden;
    transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.3s ease;
    box-shadow: 0 6px 20px rgba(0,0,0,0.02);
}
.wf-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 18px 40px rgba(16,68,169,0.08);
    border-color: rgba(16,68,169,0.18);
}

/* Accent (featured) card */
.wf-card-accent {
    background: linear-gradient(135deg, #1044a9 0%, #1a56cc 100%);
    border-color: transparent;
    box-shadow: 0 12px 35px rgba(16,68,169,0.25);
}
.wf-card-accent:hover {
    box-shadow: 0 22px 50px rgba(16,68,169,0.35);
    border-color: transparent;
}

/* Large step number */
.wf-number {
    font-size: 2.5rem;
    font-weight: 900;
    font-family: var(--font-display);
    color: rgba(16,68,169,0.08);
    line-height: 1;
    transition: color 0.3s ease;
}
.wf-card:hover .wf-number {
    color: rgba(16,68,169,0.15);
}
.wf-number-light { color: rgba(255,255,255,0.2); }
.wf-card-accent:hover .wf-number-light { color: rgba(255,255,255,0.3); }

.wf-title {
    font-size: 1.05rem;
    font-family: var(--font-display);
    font-weight: 700;
    color: var(--text);
    margin: 0 0 0.5rem;
}
.wf-desc {
    font-size: 0.9rem;
    line-height: 1.55;
    color: var(--text-2);
    margin: 0;
}
.wf-body { flex: 1; }

/* Decorative corner dot */
.wf-corner-dot {
    position: absolute;
    bottom: 1.25rem;
    right: 1.25rem;
    width: 8px; height: 8px;
    border-radius: 50%;
    background: rgba(16,68,169,0.1);
    transition: transform 0.35s ease, background 0.35s ease;
}
.wf-card:hover .wf-corner-dot {
    transform: scale(1.5);
    background: rgba(16,68,169,0.2);
}
.wf-corner-dot-light { background: rgba(255,255,255,0.25); }
.wf-card-accent:hover .wf-corner-dot-light {
    background: rgba(255,255,255,0.4);
}

/* ===== PREMIUM TRUST FINAL ===== */
.tg-section {
    padding: 7rem 0 !important;
    background: #fafcff !important;
    border-top: 1px solid rgba(16,68,169,0.05) !important;
    position: relative !important;
    overflow: hidden !important;
}
.tg-section::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: radial-gradient(circle at 80% 50%, rgba(16,68,169,0.03) 0%, transparent 55%);
    pointer-events: none;
    z-index: 0;
}
.tg-section .container { position: relative; z-index: 2; }

.tg-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
}
@media (max-width: 900px) { .tg-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .tg-grid { grid-template-columns: 1fr; } }

/* Individual guarantee cards */
.tg-guarantee-card {
    background: white;
    border: 1px solid rgba(16,68,169,0.06);
    border-radius: 20px;
    padding: 2.25rem 2rem;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    box-shadow: 0 6px 20px rgba(0,0,0,0.02);
    transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.3s ease;
    position: relative;
    overflow: hidden;
}
.tg-guarantee-card::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, #22c55e, #16a34a);
    opacity: 0;
    transition: opacity 0.4s ease;
}
.tg-guarantee-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 18px 40px rgba(34,197,94,0.1);
    border-color: rgba(34,197,94,0.2);
}
.tg-guarantee-card:hover::after { opacity: 1; }

.tg-check {
    width: 44px; height: 44px;
    border-radius: 12px;
    background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 4px 12px rgba(34,197,94,0.3);
    transition: transform 0.35s ease;
    flex-shrink: 0;
}
.tg-guarantee-card:hover .tg-check { transform: scale(1.1); }

.tg-item-title {
    font-size: 1.1rem;
    font-family: var(--font-display);
    font-weight: 700;
    color: var(--text);
    margin: 0 0 0.35rem;
}
.tg-item-desc {
    font-size: 0.9rem;
    color: var(--text-2);
    line-height: 1.5;
    margin: 0;
}

/* Full-width disclaimer strip */
.tg-disclaimer {
    grid-column: 1 / -1;
    background: rgba(220,38,38,0.03);
    border: 1px solid rgba(220,38,38,0.1);
    border-radius: 16px;
    padding: 1.5rem 2rem;
    display: flex;
    align-items: center;
    gap: 1.25rem;
}
.tg-disclaimer-icon {
    width: 44px; height: 44px;
    background: rgba(220,38,38,0.07);
    color: var(--g-red);
    border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.tg-disclaimer-content h4 {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--text);
    margin: 0 0 0.25rem;
}
.tg-disclaimer-content p {
    font-size: 0.9rem;
    color: var(--text-2);
    margin: 0;
    line-height: 1.5;
}

/* ===== PREMIUM PRICING FINAL ===== */
.pf-section {
    padding: 7rem 0;
    background: white;
    border-top: 1px solid rgba(16,68,169,0.05);
}

.pf-cards {
    display: grid;
    grid-template-columns: 1fr 1.1fr 1fr;
    gap: 1.75rem;
    align-items: stretch;
}
@media (max-width: 860px) {
    .pf-cards { grid-template-columns: 1fr; }
}

.pf-card {
    background: white;
    border: 1px solid rgba(16,68,169,0.07);
    border-radius: 24px;
    padding: 3rem 2.5rem;
    display: flex;
    flex-direction: column;
    box-shadow: 0 8px 30px rgba(0,0,0,0.025);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    position: relative;
    overflow: hidden;
}
.pf-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 20px 50px rgba(16,68,169,0.08);
}

/* Featured */
.pf-card-featured {
    background: linear-gradient(145deg, #1044a9 0%, #1a56cc 100%);
    border-color: transparent;
    box-shadow: 0 15px 45px rgba(16,68,169,0.25);
}
.pf-card-featured:hover {
    box-shadow: 0 25px 60px rgba(16,68,169,0.35);
}
.pf-featured-glow {
    position: absolute;
    top: -30%; right: -20%;
    width: 280px; height: 280px;
    background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}
.pf-badge {
    position: absolute;
    top: -1px; left: 50%; transform: translateX(-50%);
    background: var(--g-red);
    color: white;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 0.35rem 1.25rem;
    border-radius: 0 0 12px 12px;
    box-shadow: 0 4px 15px rgba(220,38,38,0.3);
}

.pf-card-tag {
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--text-2);
    margin-bottom: 1.5rem;
    margin-top: 0.75rem;
}

.pf-price {
    display: flex;
    align-items: baseline;
    gap: 0.4rem;
    margin-bottom: 1.5rem;
    color: var(--g-blue);
}
.pf-from {
    font-size: 1rem;
    font-weight: 600;
    opacity: 0.7;
}
.pf-num {
    font-size: 3rem;
    font-weight: 900;
    font-family: var(--font-display);
    line-height: 1;
}
.pf-num-red { color: var(--g-red); font-size: 2.2rem; }
.pf-cur {
    font-size: 1.4rem;
    font-weight: 700;
    opacity: 0.8;
}

.pf-desc {
    font-size: 1rem;
    line-height: 1.65;
    color: var(--text-2);
    margin-bottom: 2rem;
    flex: 1;
}

.pf-divider {
    height: 1px;
    background: rgba(16,68,169,0.07);
    margin-bottom: 2rem;
}

/* Buttons */
.pf-btn {
    display: block;
    text-align: center;
    padding: 0.85rem 1.5rem;
    border-radius: 12px;
    font-weight: 700;
    font-size: 0.95rem;
    text-decoration: none;
    transition: all 0.3s ease;
}
.pf-btn-outline {
    border: 1.5px solid rgba(16,68,169,0.2);
    color: var(--g-blue);
    background: transparent;
}
.pf-btn-outline:hover {
    background: rgba(16,68,169,0.04);
    border-color: rgba(16,68,169,0.4);
}
.pf-btn-white {
    background: white;
    color: var(--g-blue);
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}
.pf-btn-white:hover {
    background: #f8fafc;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.12);
    color: var(--g-blue);
}

/* Note */
.pf-note {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    font-size: 0.9rem;
    color: var(--text-2);
    margin-top: 2.5rem;
    opacity: 0.7;
}

/* ===== PREMIUM REVIEWS FINAL ===== */
.rv-section {
    padding: 7rem 0;
    background: #fafcff;
    border-top: 1px solid rgba(16,68,169,0.05);
}

.rv-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    margin-bottom: 3rem;
}
@media (max-width: 860px) { .rv-grid { grid-template-columns: 1fr; } }

.rv-card {
    background: white;
    border: 1px solid rgba(16,68,169,0.06);
    border-radius: 20px;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    box-shadow: 0 6px 20px rgba(0,0,0,0.02);
    position: relative;
    overflow: hidden;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.rv-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 40px rgba(16,68,169,0.07);
    border-color: rgba(16,68,169,0.15);
}

/* Top row: avatar + name + stars */
.rv-top {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    flex-wrap: wrap;
}
.rv-avatar {
    width: 44px; height: 44px;
    border-radius: 50%;
    color: white;
    font-weight: 800;
    font-family: var(--font-display);
    font-size: 1rem;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.rv-author-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 1px;
}
.rv-author-info strong {
    font-size: 0.95rem;
    font-family: var(--font-display);
    color: var(--text);
}
.rv-author-info span {
    font-size: 0.78rem;
    color: var(--text-2);
}
.rv-stars {
    display: flex;
    gap: 2px;
    margin-left: auto;
}

.rv-text {
    font-size: 0.97rem;
    line-height: 1.65;
    color: var(--text);
    margin: 0;
    flex: 1;
    font-style: italic;
}

/* Decorative quote watermark */
.rv-quote {
    position: absolute;
    bottom: -10px; right: 16px;
    font-size: 7rem;
    font-family: Georgia, serif;
    color: rgba(16,68,169,0.05);
    line-height: 1;
    pointer-events: none;
    transition: color 0.4s ease;
}
.rv-card:hover .rv-quote { color: rgba(16,68,169,0.08); }

/* Trust bar */
.rv-trust-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3rem;
    padding: 2rem 3rem;
    background: white;
    border: 1px solid rgba(16,68,169,0.06);
    border-radius: 20px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.02);
}
.rv-trust-item {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}
.rv-trust-num {
    font-size: 1.7rem;
    font-weight: 900;
    font-family: var(--font-display);
    color: var(--text);
}
.rv-trust-label {
    font-size: 0.82rem;
    color: var(--text-2);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    max-width: 100px;
    line-height: 1.3;
}
.rv-trust-divider {
    width: 1px; height: 40px;
    background: rgba(16,68,169,0.08);
}
@media (max-width: 600px) {
    .rv-trust-bar { flex-direction: column; gap: 1.5rem; }
    .rv-trust-divider { width: 40px; height: 1px; }
}

/* ===== PREMIUM FAQ FINAL ===== */
.fq-section {
    padding: 7rem 0;
    background: white;
    border-top: 1px solid rgba(16,68,169,0.05);
}

.fq-layout {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 5rem;
    align-items: start;
}
@media (max-width: 860px) {
    .fq-layout { grid-template-columns: 1fr; gap: 3rem; }
}

.fq-left { position: sticky; top: 90px; }

/* Accordion */
.fq-accordion {
    display: flex;
    flex-direction: column;
    gap: 0;
    border: 1px solid rgba(16,68,169,0.07);
    border-radius: 18px;
    overflow: hidden;
}

.fq-item {
    border-bottom: 1px solid rgba(16,68,169,0.06);
    transition: background 0.3s ease;
}
.fq-item:last-child { border-bottom: none; }
.fq-item.open { background: rgba(16,68,169,0.02); }

.fq-q {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.35rem 1.75rem;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    gap: 1rem;
    font-size: 1rem;
    font-weight: 600;
    color: var(--text);
    transition: color 0.3s ease;
}
.fq-q:hover { color: var(--g-blue); }
.fq-item.open .fq-q { color: var(--g-blue); }

.fq-icon {
    width: 32px; height: 32px;
    border-radius: 8px;
    background: rgba(16,68,169,0.05);
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    transition: all 0.35s ease;
    color: var(--g-blue);
}
.fq-icon svg {
    transition: transform 0.35s ease;
}
.fq-item.open .fq-icon {
    background: var(--g-blue);
    color: white;
}
.fq-item.open .fq-icon svg {
    transform: rotate(180deg);
}

.fq-a {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.fq-a p {
    padding: 0 1.75rem 1.5rem;
    font-size: 0.97rem;
    line-height: 1.65;
    color: var(--text-2);
    margin: 0;
    border-left: 3px solid rgba(16,68,169,0.15);
    margin-left: 1.75rem;
    padding-left: 1rem;
    margin-right: 1.75rem;
}

/* ===== PREMIUM CONTACT FORM ===== */
.cf-section {
    padding: 7rem 0;
    background: linear-gradient(145deg, #071529 0%, #0d2250 100%);
    position: relative;
    overflow: hidden;
}
.cf-bg-orb {
    position: absolute;
    top: -20%; right: -10%;
    width: 500px; height: 500px;
    background: radial-gradient(circle, rgba(16,68,169,0.25) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}

.cf-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6rem;
    align-items: center;
}
@media (max-width: 900px) {
    .cf-layout { grid-template-columns: 1fr; gap: 3rem; }
}

/* Left info */
.cf-left .section-tag {
    background: rgba(255,255,255,0.1) !important;
    color: rgba(255,255,255,0.8) !important;
    border-color: rgba(255,255,255,0.2) !important;
}
.cf-h2 {
    font-size: clamp(2.5rem, 4vw, 3.5rem);
    font-family: var(--font-display);
    font-weight: 900;
    color: white;
    line-height: 1.1;
    margin: 1.5rem 0;
}
.cf-h2-accent {
    background: linear-gradient(90deg, #64a5ff, #a5c4ff);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.cf-subtitle {
    font-size: 1.1rem;
    line-height: 1.65;
    color: rgba(255,255,255,0.65);
    margin-bottom: 3rem;
    max-width: 400px;
}

.cf-trust-row {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.cf-trust-item {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    color: rgba(255,255,255,0.75);
    font-size: 0.95rem;
    font-weight: 500;
}
.cf-trust-icon {
    width: 36px; height: 36px;
    background: rgba(255,255,255,0.1);
    border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1rem;
    flex-shrink: 0;
}

/* Form card */
.cf-form-wrap {
    background: white;
    border-radius: 24px;
    padding: 3rem;
    box-shadow: 0 30px 80px rgba(0,0,0,0.3);
}

.cf-field {
    margin-bottom: 1.5rem;
}
.cf-field label {
    display: block;
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--text);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 0.6rem;
}
.cf-field input,
.cf-field textarea {
    width: 100%;
    padding: 0.9rem 1.1rem;
    border: 1.5px solid rgba(16,68,169,0.12);
    border-radius: 12px;
    font-size: 1rem;
    font-family: var(--font-body);
    color: var(--text);
    background: #fafcff;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    outline: none;
    box-sizing: border-box;
}
.cf-field input:focus,
.cf-field textarea:focus {
    border-color: var(--g-blue);
    box-shadow: 0 0 0 4px rgba(16,68,169,0.08);
    background: white;
}
.cf-field textarea { resize: vertical; min-height: 110px; }

.cf-submit {
    width: 100%;
    padding: 1rem 2rem;
    background: linear-gradient(135deg, var(--g-blue) 0%, #1a56cc 100%);
    color: white;
    border: none;
    border-radius: 12px;
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    box-shadow: 0 6px 20px rgba(16,68,169,0.3);
    transition: all 0.3s ease;
    margin-bottom: 1rem;
}
.cf-submit:hover {
    box-shadow: 0 10px 30px rgba(16,68,169,0.45);
    transform: translateY(-2px);
}

.cf-note {
    text-align: center;
    font-size: 0.85rem;
    color: var(--text-2);
    margin: 0;
}

/* ===== FIX: Contact form — extra compact ===== */
.cf-section { padding: 3.5rem 0 !important; }
.cf-layout { gap: 2.5rem !important; }
.cf-h2 { font-size: clamp(1.8rem, 2.8vw, 2.5rem) !important; margin: 0.5rem 0 !important; }
.cf-subtitle { font-size: 0.95rem !important; margin-bottom: 1.5rem !important; }
.cf-trust-row { gap: 0.5rem !important; }
.cf-trust-item { font-size: 0.85rem !important; }
.cf-trust-icon { width: 30px !important; height: 30px !important; font-size: 0.9rem !important; }
.cf-form-wrap { padding: 1.75rem 2rem !important; }
.cf-field { margin-bottom: 0.85rem !important; }
.cf-field label { font-size: 0.75rem !important; margin-bottom: 0.4rem !important; }
.cf-field input, .cf-field textarea { padding: 0.65rem 0.9rem !important; font-size: 0.9rem !important; }
.cf-field textarea { min-height: 80px !important; }
.cf-submit { padding: 0.75rem 1.25rem !important; font-size: 0.95rem !important; margin-bottom: 0.75rem !important; }
.cf-note { font-size: 0.8rem !important; }


/* ===== COMPACT DIRECT CONTACT (PRESERVE PREMIUM) ===== */
.contacts-list { padding: 4.5rem 0 !important; }
.contacts-list .section-subtitle { margin-bottom: 2.5rem !important; }
.c-premium-grid { gap: 1.5rem !important; grid-template-columns: repeat(3, 1fr) !important; }
@media (max-width: 900px) { .c-premium-grid { grid-template-columns: 1fr !important; } }

.c-hub-card { padding: 1.75rem 2rem !important; border-radius: 20px !important; }
.c-hub-icon { width: 44px !important; height: 44px !important; margin-bottom: 1rem !important; border-radius: 12px !important; }
.c-hub-icon svg { width: 22px; height: 22px; }
.c-hub-card h3 { font-size: 1.25rem !important; margin-bottom: 0.35rem !important; }
.c-hub-desc { font-size: 0.9rem !important; margin-bottom: 1.25rem !important; }

.c-pill-link { padding: 0.6rem 1rem !important; margin-bottom: 0.6rem !important; font-size: 0.95rem !important; border-radius: 10px !important; }
.c-social-icons { gap: 0.6rem !important; margin-bottom: 1rem !important; }
.c-social-btn { width: 40px !important; height: 40px !important; }
.email-text { font-size: 0.85rem !important; }

/* ===== PREMIUM NAV REFINEMENT (v2) ===== */
.pnav-links {
    gap: 0.75rem !important; /* Increased from 0.25rem */
}
.pnav-links li a {
    padding: 0.5rem 1rem !important;
    font-size: 0.82rem !important;
    white-space: nowrap;
}
.pnav-actions {
    gap: 2rem !important; /* Push CTA/Switcher further from menu */
}
.pnav-divider {
    width: 1px;
    height: 24px;
    background: rgba(0, 0, 0, 0.1);
    margin: 0 0.5rem;
}
.pnav-lang {
    margin-right: 0.5rem;
}

@media (max-width: 1200px) {
    .pnav-links { gap: 0.4rem !important; }
    .pnav-links li a { padding: 0.5rem 0.6rem !important; font-size: 0.78rem !important; }
}

@media (max-width: 1024px) {
    .pnav-divider { display: none; }
    .pnav-links {
        position: fixed !important; 
        top: 70px !important; 
        left: 0; right: 0;
        display: none !important;
        flex-direction: column !important;
        background: white !important;
        height: auto !important;
        padding: 2rem 0 !important;
        gap: 0 !important;
        transform: none !important;
    }
    .pnav-links.open { display: flex !important; }
    .pnav-links li { width: 100% !important; text-align: center; }
    .pnav-links li a {
        padding: 1.25rem !important; 
        font-size: 1.1rem !important;
        display: block !important;
        border-radius: 0 !important;
        border-bottom: 1px solid rgba(0,0,0,0.03);
    }
}

/* ===== PREMIUM CONTACT BADGES (SK/UA) ===== */
.ph-card-badge, .ph-card-icon {
    width: 36px; height: 22px;
    border-radius: 6px;
    display: flex; align-items: center; justify-content: center;
    font-size: 0.7rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    flex-shrink: 0;
    text-transform: uppercase;
}
.ph-card-badge.sk {
    background: rgba(100, 165, 255, 0.2);
    color: #a5c4ff;
    border: 1px solid rgba(165, 196, 255, 0.3);
}
.ph-card-badge.ua {
    background: rgba(255, 215, 0, 0.15);
    color: #ffd700;
    border: 1px solid rgba(255, 215, 0, 0.25);
}
.ph-card-icon {
    color: rgba(255,255,255,0.7);
}
.ph-contact-card:hover .ph-card-icon {
    color: white;
}

/* Adjust labels for light background (Footer) */
.contacts-list .ph-card-badge.sk {
    color: var(--g-blue);
    background: rgba(16, 68, 169, 0.08); border-color: rgba(16, 68, 169, 0.15);
}
.contacts-list .ph-card-badge.ua {
    color: #9c7a00;
    background: rgba(255, 215, 0, 0.15); border-color: rgba(255, 215, 0, 0.3);
}

/* ===== PREMIUM TRUST & TRANSPARENCY UI ===== */

/* CF Trust Badges */
.cf-trust-row {
    flex-wrap: wrap;
    gap: 0.75rem !important;
}
.cf-trust-item {
    background: rgba(16, 68, 169, 0.04);
    border: 1px solid rgba(16, 68, 169, 0.08);
    backdrop-filter: blur(10px);
    padding: 0.6rem 1rem !important;
    border-radius: 10px;
    display: flex;
    align-items: center;
    gap: 0.6rem !important;
    font-size: 0.82rem !important;
    font-weight: 600;
    color: var(--text);
    transition: all 0.3s ease;
}
.cf-trust-item:hover {
    background: rgba(16, 68, 169, 0.08);
    transform: translateY(-2px);
}
.cf-trust-icon {
    width: 28px !important;
    height: 28px !important;
    background: white !important;
    color: var(--g-blue) !important;
    border-radius: 6px !important;
    box-shadow: 0 2px 8px rgba(16, 68, 169, 0.1) !important;
}

/* PF Premium Note */
.pf-premium-note {
    max-width: 600px;
    margin: 3rem auto 0;
    padding: 1.25rem 1.75rem;
    background: #f8fbff;
    border-left: 3px solid var(--g-blue);
    border-radius: 4px 12px 12px 4px;
    display: flex;
    align-items: center;
    gap: 1.25rem;
    box-shadow: 0 4px 20px rgba(0,0,0,0.03);
}
.pf-note-icon {
    flex-shrink: 0;
    color: var(--g-blue);
}
.pf-note-text {
    font-size: 0.88rem;
    line-height: 1.5;
    color: var(--text-2);
    font-weight: 500;
}

/* TG Transparency Card */
.tg-transparency-card {
    grid-column: 1 / -1;
    background: #fffafa; /* Very subtle warm white */
    border: 1px dashed rgba(169, 16, 16, 0.15);
    border-radius: 20px;
    padding: 1.5rem 2rem;
    display: flex;
    align-items: center;
    gap: 1.5rem;
    margin-top: 1rem;
}
.tg-transparency-icon {
    background: rgba(169, 16, 16, 0.05);
    color: #a91010;
    width: 44px; height: 44px;
    border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.tg-transparency-title {
    font-size: 0.95rem;
    font-weight: 800;
    color: var(--text);
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.tg-transparency-items {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--text-2);
}
.tg-trans-divider {
    width: 4px; height: 4px;
    border-radius: 50%;
    background: rgba(0,0,0,0.2);
}

@media (max-width: 768px) {
    .tg-transparency-card {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
        padding: 1.5rem;
    }
    .tg-transparency-items {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }
    .tg-trans-divider { display: none; }
}

/* FIX: High contrast for CF trust items labels */
.cf-left .cf-trust-item {
    color: white !important;
}
.cf-left .cf-trust-item span {
    color: rgba(255, 255, 255, 0.9) !important;
}

/* ============================================================
   DARK SECTION — Premium alternating navy gradient
   ============================================================ */

.dark-section {
    background: linear-gradient(160deg, #0a1628 0%, #0f2040 50%, #0a1628 100%) !important;
    color: white !important;
    position: relative;
}

/* Remove the old light gradient overrides for trust/pricing */
.trust-premium-section.dark-section {
    background: linear-gradient(160deg, #0a1628 0%, #0f2040 50%, #0a1628 100%) !important;
}

/* Dark section — text overrides */
.dark-section .section-tag {
    background: rgba(255,255,255,0.07) !important;
    color: rgba(255,255,255,0.6) !important;
    border-color: rgba(255,255,255,0.1) !important;
}
.dark-section .section-title {
    color: #ffffff !important;
}
.dark-section .section-subtitle {
    color: rgba(255,255,255,0.65) !important;
}
.dark-section .btn-primary {
    background: white !important;
    color: #0f2040 !important;
    box-shadow: 0 6px 20px rgba(255,255,255,0.1) !important;
}
.dark-section .btn-primary:hover {
    background: #f0f4ff !important;
    color: #0a1628 !important;
}

/* Dark section: Mission/pm-v2 overrides */
.dark-section .pm-v2-label-dark { color: rgba(255,255,255,0.5) !important; font-size:0.72rem; text-transform:uppercase; letter-spacing:0.1em; }
.dark-section .pm-v2-text-dark { color: rgba(255,255,255,0.7) !important; }
.dark-section .pm-v2-stat-card { 
    background: rgba(255,255,255,0.06) !important; 
    border-color: rgba(255,255,255,0.1) !important; 
}
.dark-section .pm-v2-stat-accent { 
    background: rgba(16,68,169,0.35) !important; 
    border-color: rgba(255,255,255,0.15) !important; 
}
.dark-section .pm-v2-stat-num { color: white !important; }
.dark-section .pm-v2-stat-label { color: rgba(255,255,255,0.6) !important; }
.dark-section .pm-v2-dark { 
    background: rgba(255,255,255,0.05) !important; 
    border: 1px solid rgba(255,255,255,0.1) !important; 
}
.dark-section .pm-v2-title { color: white !important; }
.dark-section .pm-v2-text { color: rgba(255,255,255,0.7) !important; }
.dark-section .pm-v2-label { color: rgba(255,255,255,0.45) !important; }
.dark-section .pm-v2-tags span { 
    background: rgba(255,255,255,0.08) !important; 
    color: rgba(255,255,255,0.8) !important; 
    border-color: rgba(255,255,255,0.12) !important; 
}
.dark-section .pm-v2-link { 
    color: rgba(255,255,255,0.9) !important; 
    border-color: rgba(255,255,255,0.2) !important; 
}

/* Dark section: Guarantees/tg overrides */
.dark-section .tg-guarantee-card { 
    background: rgba(255,255,255,0.06) !important; 
    border-color: rgba(255,255,255,0.08) !important; 
}
.dark-section .tg-guarantee-card:hover { 
    background: rgba(255,255,255,0.09) !important; 
    border-color: rgba(255,255,255,0.18) !important; 
}
.dark-section .tg-item-title { color: white !important; }
.dark-section .tg-item-desc { color: rgba(255,255,255,0.6) !important; }
.dark-section .tg-check { background: rgba(255,255,255,0.12) !important; }
.dark-section .tg-transparency-card { 
    background: rgba(220,38,38,0.12) !important; 
    border-color: rgba(220,38,38,0.25) !important; 
}
.dark-section .tg-transparency-title { color: rgba(255,255,255,0.85) !important; }
.dark-section .tg-transparency-icon { color: rgba(255,120,120,0.85) !important; }
.dark-section .tg-trans-item { color: rgba(255,255,255,0.7) !important; }
.dark-section .tg-trans-divider { background: rgba(255,255,255,0.15) !important; }

/* Dark section: Pricing overrides */
.dark-section .pf-card { 
    background: rgba(255,255,255,0.05) !important; 
    border-color: rgba(255,255,255,0.08) !important; 
}
.dark-section .pf-card:hover { 
    background: rgba(255,255,255,0.09) !important; 
    border-color: rgba(255,255,255,0.15) !important; 
}
.dark-section .pf-card-tag { color: rgba(255,255,255,0.5) !important; }
.dark-section .pf-num { color: white !important; }
.dark-section .pf-from { color: rgba(255,255,255,0.4) !important; }
.dark-section .pf-cur { color: rgba(255,255,255,0.4) !important; }
.dark-section .pf-desc { color: rgba(255,255,255,0.65) !important; }
.dark-section .pf-divider { background: rgba(255,255,255,0.1) !important; }
.dark-section .pf-btn-outline { 
    border-color: rgba(255,255,255,0.25) !important; 
    color: white !important; 
}
.dark-section .pf-btn-outline:hover { 
    background: rgba(255,255,255,0.1) !important; 
}
.dark-section .pf-card-featured { 
    background: linear-gradient(135deg, rgba(16,68,169,0.8) 0%, rgba(26,86,204,0.8) 100%) !important; 
    border-color: rgba(255,255,255,0.2) !important; 
}
.dark-section .pf-premium-note { 
    background: rgba(255,255,255,0.05) !important; 
    border-color: rgba(255,255,255,0.12) !important; 
    color: rgba(255,255,255,0.7) !important; 
}

/* Dark section: FAQ overrides */
.dark-section .fq-item { border-color: rgba(255,255,255,0.1) !important; }
.dark-section .fq-q { color: white !important; }
.dark-section .fq-a p { color: rgba(255,255,255,0.65) !important; }
.dark-section .fq-icon { color: rgba(255,255,255,0.4) !important; }
.dark-section .fq-item.open .fq-icon { color: rgba(255,255,255,0.9) !important; }

/* ============================================================
   SECTION-TAG: Remove box/pill — clean inline label
   ============================================================ */

.section-tag {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: var(--g-red) !important;
    margin-bottom: 1rem !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* Small accent line before tag */
.section-tag::before {
    content: '';
    display: inline-block;
    width: 22px;
    height: 2px;
    background: currentColor;
    border-radius: 2px;
    flex-shrink: 0;
    transform: translateY(0.5px);
}

/* On dark sections, the tag text changes color */
.dark-section .section-tag {
    color: rgba(255, 255, 255, 0.45) !important;
    background: none !important;
    border: none !important;
}
.dark-section .section-tag::before {
    background: rgba(255, 255, 255, 0.35) !important;
}

/* Remove old trust/contact overrides of section-tag (the box styles) */
.trust-premium-section .section-tag {
    background: none !important;
    border: none !important;
    color: rgba(255,255,255,0.45) !important;
    padding: 0 !important;
}
.cf-left .section-tag {
    background: none !important;
    border: none !important;
    padding: 0 !important;
}
.pa-tag {
    background: none !important;
    border: none !important;
    padding: 0 !important;
    color: rgba(255,255,255,0.45) !important;
}

/* ============================================================
   PREMIUM SERVICES GRID LAYOUT (2-Column)
   ============================================================ */

.sf-premium-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5rem;
    margin-top: 3rem;
}

.sf-grid-item {
    background: #ffffff;
    border: 1px solid rgba(16, 68, 169, 0.08);
    border-radius: 20px;
    padding: 3rem;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02);
}

.sf-grid-item:hover {
    transform: translateY(-5px);
    border-color: rgba(16, 68, 169, 0.15);
    box-shadow: 0 20px 50px rgba(16, 68, 169, 0.06);
}

.sf-gi-top {
    display: flex;
    align-items: flex-start;
    gap: 1.25rem;
}

.sf-gi-icon {
    width: 48px;
    height: 48px;
    background: rgba(16, 68, 169, 0.06);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--g-blue);
    flex-shrink: 0;
}

.sf-gi-title {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.sf-gi-num {
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.15em;
    color: rgba(16, 68, 169, 0.3);
    text-transform: uppercase;
}

.sf-gi-title h3 {
    font-family: var(--font-display);
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--text-1);
    line-height: 1.25;
}

.sf-gi-desc {
    font-size: 0.95rem;
    color: var(--text-2);
    line-height: 1.6;
}

.sf-gi-bullets {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: auto;
}

.sf-gi-bullets span {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--g-blue);
    background: rgba(16, 68, 169, 0.05);
    padding: 0.4rem 0.85rem;
    border-radius: 100px;
    white-space: nowrap;
}

@media (max-width: 900px) {
    .sf-premium-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    .sf-grid-item {
        padding: 2rem;
    }
}


/* ============================================================
   PREMIUM DIVIDER — dark section aware
   ============================================================ */

.dark-section ~ .premium-divider,
.premium-divider:has(+ .dark-section) {
    background: transparent;
}


/* ============================================================
   DARK SECTION — Reviews (rv-*) overrides
   ============================================================ */

/* Light Section Settings */
.pa-section, .sf-section, .wf-section, .pf-section, .rv-section, .fq-section { background: white; }
.secondary-bg-transition { background: #f8fbff; }

/* Contact Section (High-End Dark Navy) */
.dark-section.cf-section { 
    background: linear-gradient(160deg, #0a1628 0%, #0f2040 50%, #0a1628 100%) !important; 
    color: white !important;
}
.dark-section.cf-section .section-title { color: white !important; }
.dark-section.cf-section .cf-subtitle { color: rgba(255,255,255,0.7) !important; }
.dark-section.cf-section .cf-field label { color: rgba(255,255,255,0.8) !important; }
.dark-section.cf-section .cf-field input, 
.dark-section.cf-section .cf-field textarea { 
    background: rgba(255,255,255,0.06) !important; 
    border-color: rgba(255,255,255,0.15) !important; 
    color: white !important;
}
.dark-section.cf-section .cf-field input:focus { border-color: white !important; }
.dark-section.cf-section .cf-note { color: rgba(255,255,255,0.5) !important; }

/* Remove old specific dark overrides for Services, Guarantees, FAQ */
/* They will now use standard light styles */


/* ============================================================
   DARK SECTION — btn-primary override inside dark → light btn
   ============================================================ */
.dark-section .pf-btn-white {
    background: white !important;
    color: #0f2040 !important;
}
.dark-section .pf-btn-white:hover {
    background: #e8f0ff !important;
}

/* ============================================================
   LIGHT sections (About, Services, Workflow, Contacts)
   ============================================================ */

.pa-section { background: #ffffff; }
.sf-section { background: #fafcff !important; }
.wf-section { background: #ffffff; }
.cf-section,
.contact { background: #f6f8fc !important; }
.contacts-list { background: #ffffff !important; }


/* ============================================================
   PREMIUM SERVICES ACCORDION
   ============================================================ */\n\n
/* ============================================================
   PREMIUM SERVICES ACCORDION - FINAL ROBUST FIX
   ============================================================ */

.sf-accordion {
    max-width: 900px;
    margin: 0 auto;
    border-top: 1px solid rgba(16, 68, 169, 0.1);
}

.sf-acc-item {
    border-bottom: 1px solid rgba(16, 68, 169, 0.1);
    transition: background 0.3s ease;
    overflow: hidden; /* Crucial for collapse */
}

.sf-acc-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 2.25rem 1rem;
    cursor: pointer;
    background: transparent;
    user-select: none;
}

.sf-acc-header:hover {
    background: rgba(16, 68, 169, 0.02);
}

.sf-acc-main {
    display: flex;
    align-items: center;
    gap: 2rem;
}

.sf-acc-num {
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.15em;
    color: rgba(16, 68, 169, 0.3);
    font-family: var(--font-display);
    min-width: 24px;
}

.sf-acc-icon {
    width: 44px;
    height: 44px;
    background: rgba(16, 68, 169, 0.05);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--g-blue);
    transition: all 0.3s ease;
}

.sf-acc-title {
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--text-1);
    margin: 0;
}

.sf-acc-toggle {
    color: rgba(16, 68, 169, 0.4);
    transition: transform 0.4s ease;
}

/* THE COLLAPSE BLOCK */
.sf-acc-content {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transition: max-height 0.5s cubic-bezier(0, 1, 0, 1), opacity 0.3s ease, visibility 0.3s;
}

.sf-acc-item.active .sf-acc-content {
    max-height: 1000px; /* Use a large enough value */
    opacity: 1;
    visibility: visible;
    transition: max-height 0.5s cubic-bezier(1, 0, 1, 0), opacity 0.5s ease;
}

.sf-acc-inner {
    padding: 0.5rem 1rem 2.5rem 6.25rem;
}

.sf-acc-desc {
    font-size: 1.05rem;
    line-height: 1.65;
    color: var(--text-2);
    margin-bottom: 2rem;
}

/* Active Highlight */
.sf-acc-item.active { background: rgba(16, 68, 169, 0.01); }
.sf-acc-item.active .sf-acc-icon { background: var(--g-blue); color: white; }
.sf-acc-item.active .sf-acc-title { color: var(--g-blue); }
.sf-acc-item.active .sf-acc-toggle { transform: rotate(45deg); color: var(--g-blue); }

@media (max-width: 768px) {
    .sf-acc-num { display: none; }
    .sf-acc-main { gap: 1rem; }
    .sf-acc-inner { padding-left: 3.25rem; }
    .sf-acc-title { font-size: 1.15rem; }
}\n\n
/* ============================================================
   PREMIUM SERVICES ACCORDION - BULLETPROOF FIX
   ============================================================ */
.sf-accordion {
    max-width: 900px;
    margin: 4rem auto 0;
    border-top: 1px solid rgba(16, 68, 169, 0.1);
}

.sf-acc-item {
    border-bottom: 1px solid rgba(16, 68, 169, 0.1);
    background: transparent;
    transition: all 0.4s ease;
}

.sf-acc-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 2.2rem 1.5rem;
    cursor: pointer;
    user-select: none;
    transition: all 0.3s ease;
}

.sf-acc-header:hover {
    background: rgba(16, 68, 169, 0.02);
}

.sf-acc-main {
    display: flex;
    align-items: center;
    gap: 2.5rem;
}

.sf-acc-num {
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.15em;
    color: rgba(16, 68, 169, 0.25);
    font-family: var(--font-display);
}

.sf-acc-icon {
    width: 48px;
    height: 48px;
    background: rgba(16, 68, 169, 0.05);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--g-blue);
    transition: all 0.3s ease;
}

.sf-acc-title {
    font-size: 1.45rem;
    font-weight: 700;
    color: var(--text-1);
    margin: 0;
    transition: color 0.3s ease;
}

.sf-acc-toggle {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(16, 68, 169, 0.3);
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

/* THE COLLAPSE BLOCK - EXTREMELY ROBUST */
.sf-acc-content {
    max-height: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: max-height 0.4s ease, opacity 0.3s ease, visibility 0.3s !important;
}

.sf-acc-item.active .sf-acc-content {
    max-height: 500px !important;
    opacity: 1 !important;
    visibility: visible !important;
    padding-bottom: 2.5rem;
}

.sf-acc-inner {
    padding: 0 1.5rem 0 6.5rem;
}

.sf-acc-desc {
    font-size: 1.1rem;
    line-height: 1.7;
    color: var(--text-2);
    max-width: 680px;
}

/* Active Highlight */
.sf-acc-item.active { background: rgba(16, 68, 169, 0.015); }
.sf-acc-item.active .sf-acc-icon { background: var(--g-blue); color: white; transform: scale(1.1); }
.sf-acc-item.active .sf-acc-title { color: var(--g-blue); }
.sf-acc-item.active .sf-acc-toggle { transform: rotate(45deg); color: var(--g-blue); }

@media (max-width: 800px) {
    .sf-acc-num { display: none; }
    .sf-acc-main { gap: 1.25rem; }
    .sf-acc-inner { padding-left: 4.5rem; }
    .sf-acc-title { font-size: 1.25rem; }
    .sf-acc-header { padding: 1.5rem 0.75rem; }
}

/* ============================================================
   UI REFINEMENTS & MOBILE OPTIMIZATION (v3)
   ============================================================ */

/* 1. Fix Services tags contrast (for white background) */
.sf-section .pm-v2-tags span,
.services .pm-v2-tags span {
    background: rgba(16, 68, 169, 0.05) !important;
    border: 1px solid rgba(16, 68, 169, 0.12) !important;
    color: var(--g-blue) !important;
    font-weight: 700 !important;
}

/* 2. Premium Hub Card Refinement */
.ph-contact-card {
    background: #ffffff !important;
    border: 1.5px solid rgba(16, 68, 169, 0.12) !important;
    box-shadow: 0 4px 15px rgba(16, 68, 169, 0.05) !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    border-radius: 16px !important;
    padding: 1.2rem 1.5rem !important;
}

.ph-contact-card:hover {
    border-color: var(--g-blue) !important;
    background: rgba(16, 68, 169, 0.02) !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 10px 25px rgba(16, 68, 169, 0.1) !important;
}

.ph-card-title {
    color: var(--text-1) !important;
    letter-spacing: -0.01em !important;
}

.ph-card-info {
    color: var(--g-blue) !important;
    font-weight: 700 !important;
}

/* 3. Mobile Header/Hero Contact Hub Optimization */
@media (max-width: 900px) {
    .ph-right-hub {
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 2rem !important;
    }
    
    .ph-hub-socials, 
    .ph-hub-phones {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important; /* 2-column grid for space efficiency */
        gap: 0.75rem !important;
        margin-bottom: 0.75rem !important;
    }
    
    .ph-social-btn, 
    .ph-contact-card {
        padding: 0.75rem 1rem !important;
        font-size: 0.85rem !important;
        height: auto !important;
        min-height: 0 !important;
        flex-direction: column !important; /* Stack icon/text internally if needed */
        text-align: center !important;
        align-items: center !important;
    }
    
    .ph-social-btn svg,
    .ph-card-badge {
        margin-bottom: 4px !important;
    }

    .ph-card-info {
        font-size: 0.82rem !important;
    }
    
    .ph-h1 {
        font-size: clamp(2.2rem, 8vw, 2.8rem) !important; /* Slightly smaller on mobile to fit */
    }
}

/* 4. PREMIUM FORM REFINEMENT */
.cf-field input, 
.cf-field textarea {
    border: 1.5px solid rgba(16, 68, 169, 0.2) !important; /* Darker, more defined border */
    background: #ffffff !important;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.02) !important;
}

.cf-field input:focus, 
.cf-field textarea:focus {
    border-color: var(--g-blue) !important;
    box-shadow: 0 0 0 4px rgba(16, 68, 169, 0.1), inset 0 2px 4px rgba(0, 0, 0, 0.01) !important;
}

.cf-form-wrap {
    border: 1px solid rgba(16, 68, 169, 0.1) !important;
}




.premium-hero .ph-contact-card .ph-card-info {
    color: var(--g-blue) !important;
}

.premium-hero .ph-contact-card:hover .ph-card-title {
    color: var(--text-1) !important;
}

/* Ensure social buttons inside hub are also legible if white */
.premium-hero .ph-social-btn span {
    color: rgba(255, 255, 255, 0.9) !important;
}

/* Adjust grid for phone cards on mobile */
@media (max-width: 900px) {
    .ph-hub-phones {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 0.75rem !important;
    }
    
    /* If there's a 3rd item (address), make it span both columns */
    .ph-hub-phones .ph-contact-card:nth-child(3) {
        grid-column: span 2 !important;
    }
    
    .ph-contact-card {
        padding: 0.8rem 1rem !important;
    }
}\n\n

.premium-hero .ph-contact-card .ph-contact-hint {
    color: var(--text-2) !important;
}
.premium-hero .ph-contact-card:hover .ph-contact-num {
    color: var(--g-blue) !important;
}

@media (max-width: 900px) {
    .ph-hub-cards {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 0.75rem !important;
        margin-top: 1rem !important;
    }
    .ph-hub-cards .ph-contact-card:nth-child(3) {
        grid-column: span 2 !important;
    }
    .ph-contact-card {
        padding: 0.75rem 1rem !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
    }
    .ph-contact-text {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
    }
    .ph-contact-num {
        font-size: 0.82rem !important;
        margin-bottom: 2px !important;
    }
    .ph-contact-hint {
        font-size: 0.7rem !important;
    }
}\n\n

.ph-contact-card .ph-contact-hint {
    color: #5f6368 !important; /* Material Gray */
}
.ph-contact-card:hover .ph-contact-num {
    color: #1044a9 !important; /* Deep Blue on hover */
}
.ph-contact-card:hover .ph-contact-hint {
    color: #0d0d0d !important;
}\n\n
/* ============================================================
   UI REFINEMENTS & MOBILE OPTIMIZATION (v4 - FINAL SANITIZED)
   ============================================================ */

/* A. Services Tags Legibility */
.services .pm-v2-tags span {
    background: rgba(16, 68, 169, 0.05) !important;
    border: 1px solid rgba(16, 68, 169, 0.1) !important;
    color: var(--g-blue) !important;
    font-weight: 700 !important;
}

/* B. Premium Contact Cards (Hero/Global) */
.ph-contact-card {
    background: #ffffff !important;
    border: 1.5px solid rgba(16, 68, 169, 0.1) !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03) !important;
    border-radius: 16px !important;
    padding: 1.25rem 1.75rem !important;
    display: flex !important;
    align-items: center !important;
    gap: 1rem !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}

.ph-contact-card:hover {
    border-color: var(--g-blue) !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 10px 30px rgba(16, 68, 169, 0.1) !important;
}

.ph-contact-num {
    font-size: 1.1rem !important; /* Increased for premium feel */
    font-weight: 700 !important;
    color: var(--g-blue) !important;
    letter-spacing: 0.2px !important;
}

.ph-contact-hint {
    font-size: 0.72rem !important;
    color: var(--text-2) !important;
    text-transform: uppercase !important;
}

/* C. Mobile Compact Contact Hub */
@media (max-width: 900px) {
    .ph-right-hub { 
        width: 100% !important; 
        margin-top: 2rem !important; 
        order: -1 !important; /* Keep above context on mobile */
    }
    
    .ph-hub-socials, 
    .ph-hub-cards {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 0.75rem !important;
        margin-bottom: 0.75rem !important;
    }
    
    .ph-hub-cards .ph-contact-card:nth-child(3),
    .ph-hub-cards .ph-contact-card:last-child {
        grid-column: span 2 !important;
    }
    
    .ph-social-btn, .ph-contact-card {
        padding: 0.8rem 1rem !important;
        flex-direction: column !important;
        text-align: center !important;
        align-items: center !important;
    }
    
    .ph-contact-num { font-size: 0.95rem !important; }
}

/* D. Premium Form Refinement */
.cf-field input, 
.cf-field textarea {
    border: 1.5px solid rgba(16, 68, 169, 0.2) !important;
    border-radius: 12px !important;
    background: #ffffff !important;
}
.cf-field input:focus, 
.cf-field textarea:focus {
    border-color: var(--g-blue) !important;
    box-shadow: 0 0 0 4px rgba(16, 68, 169, 0.08) !important;
}\n\n
/* ============================================================
   GLASS & COMPACT CONTACT HUB (RE-ENGINEERED)
   ============================================================ */

/* A. Base Contact Card (Compact Chip Style) */
.ph-contact-card {
    display: flex !important;
    align-items: center !important;
    gap: 0.75rem !important;
    padding: 0.6rem 1.1rem !important; /* Drastically reduced size */
    border-radius: 12px !important; /* Smaller radius for smaller chips */
    text-decoration: none !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

.ph-contact-num {
    font-size: 0.92rem !important; /* Leaner typography */
    font-weight: 700 !important;
    letter-spacing: 0.1px !important;
}

.ph-contact-hint {
    font-size: 0.68rem !important;
    text-transform: uppercase !important;
    opacity: 0.6 !important;
}

/* B. Hero Context: Glassmorphism */
.premium-hero .ph-contact-card {
    background: rgba(255, 255, 255, 0.08) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
}

.premium-hero .ph-contact-card .ph-contact-num { color: #ffffff !important; }
.premium-hero .ph-contact-card .ph-contact-hint { color: rgba(255, 255, 255, 0.7) !important; }

.premium-hero .ph-contact-card:hover {
    background: rgba(255, 255, 255, 0.15) !important;
    border-color: rgba(255, 255, 255, 0.3) !important;
    transform: translateY(-2px) !important;
}

/* C. Footer/Light Context: Outlined */
.contacts-list .ph-contact-card {
    background: rgba(16, 68, 169, 0.03) !important;
    border: 1px solid rgba(16, 68, 169, 0.1) !important;
}

.contacts-list .ph-contact-card .ph-contact-num { color: var(--g-blue) !important; }
.contacts-list .ph-contact-card .ph-contact-hint { color: var(--text-2) !important; }

/* D. Social Buttons: Compact Glass */
.ph-social-btn {
    padding: 0.6rem 1rem !important;
    background: rgba(255, 255, 255, 0.06) !important;
    backdrop-filter: blur(8px) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 10px !important;
    font-size: 0.82rem !important;
    font-weight: 600 !important;
    color: rgba(255, 255, 255, 0.9) !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.6rem !important;
}

.ph-social-btn:hover {
    background: rgba(48, 82, 130, 0.2) !important;
    border-color: rgba(48, 82, 130, 0.4) !important;
    color: white !important;
}

/* E. Mobile Space-Saving Grid */
@media (max-width: 900px) {
    .ph-right-hub { 
        width: 100% !important; 
        margin-top: 1.5rem !important; 
    }
    
    .ph-hub-socials, 
    .ph-hub-cards {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 0.5rem !important; /* Very tight gap */
        margin-bottom: 0.5rem !important;
    }
    
    .ph-social-btn, .ph-contact-card {
        padding: 0.5rem 0.75rem !important;
        flex-direction: row !important; /* Horizontal is more space-efficient */
        justify-content: flex-start !important;
        text-align: left !important;
    }
    
    .ph-contact-text {
        display: flex !important;
        flex-direction: column !important;
    }

    .ph-contact-num { font-size: 0.85rem !important; }
    .ph-contact-hint { font-size: 0.6rem !important; }
    
    .ph-card-badge { scale: 0.8 !important; transform-origin: left; }
}

/* F. Bonus: Ensure form borders stay visible but premium */
.cf-field input, .cf-field textarea {
    border: 1px solid rgba(16, 68, 169, 0.15) !important;
    background: #ffffff !important;
}\n\n
/* ============================================================
   UNIFIED PREMIUM ACTION HUB (SOCIALS & CONTACTS)
   ============================================================ */

/* A. Shared Base Style for all Hero Buttons/Cards */
.premium-hero .ph-social-btn,
.premium-hero .ph-contact-card {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.7rem !important;
    padding: 0.55rem 1.1rem !important; /* Unified compact padding */
    background: rgba(255, 255, 255, 0.06) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 10px !important;
    text-decoration: none !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    min-width: 0 !important;
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: 0.88rem !important;
    font-family: var(--font-body) !important;
    font-weight: 600 !important;
    box-sizing: border-box !important;
}

/* B. Shared Hover Interaction */
.premium-hero .ph-social-btn:hover,
.premium-hero .ph-contact-card:hover {
    background: rgba(48, 82, 130, 0.25) !important;
    border-color: rgba(48, 82, 130, 0.45) !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1) !important;
}

/* C. Internal Elements Cleanup */
.ph-contact-text {
    display: flex !important;
    align-items: center !important;
    min-width: 0 !important;
}

.ph-contact-num {
    font-size: inherit !important;
    font-weight: inherit !important;
    color: inherit !important;
    letter-spacing: 0.1px !important;
}

.ph-card-badge {
    font-size: 0.65rem !important;
    font-weight: 900 !important;
    padding: 2px 4px !important;
    border-radius: 4px !important;
    opacity: 0.8 !important;
    background: rgba(255, 255, 255, 0.15) !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
}

/* D. Mobile Grid Optimization (Keep it compact!) */
@media (max-width: 900px) {
    .ph-right-hub { 
        width: 100% !important; 
        margin-top: 1.25rem !important; 
    }
    
    .ph-hub-socials, 
    .ph-hub-cards {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 0.5rem !important;
        margin-bottom: 0.5rem !important;
    }
    
    .ph-hub-cards .ph-contact-card:last-child {
        grid-column: span 2 !important;
    }
    
    .premium-hero .ph-social-btn,
    .premium-hero .ph-contact-card {
        padding: 0.45rem 0.75rem !important;
        font-size: 0.8rem !important;
    }
}

/* E. Maintain Legacy/Footer Styles if needed (minimal overrides) */
.contacts-list .ph-contact-card {
    background: #ffffff !important;
    border: 1px solid rgba(16, 68, 169, 0.1) !important;
    color: var(--g-blue) !important;
    backdrop-filter: none !important;
}
.contacts-list .ph-contact-card:hover {
    background: rgba(16, 68, 169, 0.03) !important;
    border-color: var(--g-blue) !important;
}
.contacts-list .ph-contact-num { color: var(--g-blue) !important; }

/* F. Final Polish: Preserve text color on contact card hover as requested */
.premium-hero .ph-contact-card:hover {
    color: rgba(255, 255, 255, 0.9) !important;
}\n\n
/* ============================================================
   FINAL PREMIUM CONTACT HUB (ULTIMATE SANITIZED VERSION)
   ============================================================ */

/* A. Services Tags Legibility */
.services .pm-v2-tags span {
    background: rgba(16, 68, 169, 0.05) !important;
    border: 1px solid rgba(16, 68, 169, 0.1) !important;
    color: var(--g-blue) !important;
    font-weight: 700 !important;
}

/* B. Unified Hero Action Hub (Glass & Fixed Color) */
.premium-hero .ph-social-btn,
.premium-hero .ph-contact-card {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.7rem !important;
    padding: 0.55rem 1.1rem !important;
    background: rgba(255, 255, 255, 0.06) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 10px !important;
    text-decoration: none !important;
    transition: background 0.3s ease, border-color 0.3s ease, transform 0.3s ease !important;
    color: #ffffff !important; /* FIXED WHITE COLOR */
    font-size: 0.88rem !important;
    font-weight: 600 !important;
}

.premium-hero .ph-social-btn:hover,
.premium-hero .ph-contact-card:hover {
    background: rgba(48, 82, 130, 0.25) !important;
    border-color: rgba(48, 82, 130, 0.45) !important;
    color: #ffffff !important; /* REMAINS WHITE */
    transform: translateY(-2px) !important;
}

/* Force internal elements to inherit the fixed color */
.premium-hero .ph-contact-num,
.premium-hero .ph-social-btn span {
    color: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
}

/* C. Footer/Light Contact Cards (Dark Blue & Fixed Color) */
.contacts-list .ph-contact-card {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.75rem !important;
    padding: 0.6rem 1.1rem !important;
    background: #ffffff !important;
    border: 1px solid rgba(16, 68, 169, 0.1) !important;
    border-radius: 12px !important;
    color: var(--g-blue) !important; /* FIXED BLUE COLOR */
    transition: all 0.3s ease !important;
}

.contacts-list .ph-contact-card:hover {
    background: rgba(16, 68, 169, 0.04) !important;
    border-color: var(--g-blue) !important;
    color: var(--g-blue) !important; /* REMAINS BLUE */
}

/* D. Mobile Grid Optimization */
@media (max-width: 900px) {
    .ph-right-hub { width: 100% !important; margin-top: 1.25rem !important; }
    .ph-hub-socials, .ph-hub-cards {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 0.5rem !important;
        margin-bottom: 0.5rem !important;
    }
    .ph-hub-cards .ph-contact-card:last-child { grid-column: span 2 !important; }
    .premium-hero .ph-social-btn, .premium-hero .ph-contact-card {
        padding: 0.45rem 0.75rem !important;
        font-size: 0.8rem !important;
    }
}
