:root {
    /* Palette - Lively yet Professional */
    --color-blue-night: #0F2A44;
    --color-blue-medium: #1F6FB2;
    --color-blue-soft: #4A90E2;
    /* Softer bridge color */
    --color-yellow-warm: #FFD166;
    --color-teal-soft: #06D6A0;
    --color-peach: #FFADAD;
    /* Subtle warmth for gradients */
    --color-white-off: #F9FAFB;
    --color-text-dark: #1C1F23;

    /* Spacing - Compacted slightly for density */
    --spacing-xs: 0.5rem;
    --spacing-sm: 1rem;
    --spacing-md: 2rem;
    --spacing-lg: 4rem;
    /* Reduced from 5rem */
    --spacing-xl: 8rem;

    /* Visuals */
    --radius-md: 16px;
    --radius-lg: 24px;
    /* Premium Soft Shadows */
    --shadow-soft: 0 20px 60px -15px rgba(15, 42, 68, 0.08), 0 10px 20px -5px rgba(15, 42, 68, 0.04);
    --shadow-hover: 0 30px 70px -10px rgba(15, 42, 68, 0.15), 0 15px 30px -5px rgba(15, 42, 68, 0.1);
    --shadow-inner: inset 0 2px 4px 0 rgba(255, 255, 255, 0.2);

    --font-heading: 'Outfit', sans-serif;
    --font-body: 'Inter', sans-serif;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 140px;
    /* Adapts jump links to sticky navigation */
}

body {
    font-family: var(--font-body);
    color: var(--color-text-dark);
    line-height: 1.6;
    overflow-x: hidden;
    /* Lively Gradient Background */
    background:
        radial-gradient(circle at 10% 20%, rgba(255, 209, 102, 0.15) 0%, transparent 40%),
        radial-gradient(circle at 90% 60%, rgba(31, 111, 178, 0.1) 0%, transparent 40%),
        radial-gradient(circle at 50% 120%, rgba(6, 214, 160, 0.1) 0%, transparent 50%),
        #F9FAFB;
    /* Base color */
    background-attachment: fixed;
    /* Keep it static */
    min-height: 100vh;
}

h1,
h2,
h3,
h4 {
    font-family: var(--font-heading);
    color: var(--color-blue-night);
    line-height: 1.2;
    letter-spacing: -0.025em;
    /* Sharper, more editorial look */
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

/* Utilities */
.text-center {
    text-align: center;
}

.text-gradient {
    background: linear-gradient(135deg, var(--color-blue-night), var(--color-blue-medium));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.badge {
    background: white;
    color: var(--color-blue-medium);
    padding: 8px 20px;
    border-radius: 50px;
    font-weight: 700;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    box-shadow: 0 4px 15px rgba(31, 111, 178, 0.15);
    display: inline-block;
    margin-bottom: 1.5rem;
}

/* Buttons */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    max-width: 100%;
    padding: 1rem 2.5rem;
    font-weight: 600;
    text-decoration: none;
    border-radius: 50px;
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
    font-family: var(--font-heading);
}

.btn-primary {
    background: var(--color-blue-medium);
    /* Subtle gradient for depth but flatter than before */
    background: linear-gradient(180deg, var(--color-blue-medium) 0%, #155FA0 100%);
    color: white;
    box-shadow: 0 4px 12px rgba(31, 111, 178, 0.3), var(--shadow-inner);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(31, 111, 178, 0.4);
    filter: brightness(1.05);
}

.btn-white {
    background: white;
    color: var(--color-blue-night);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.05);
}

.btn-white:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.1);
    color: var(--color-blue-medium);
}

/* Header */
/* Header */
header {
    background: rgba(255, 255, 255, 0.98);
    /* Solid white */
    backdrop-filter: blur(20px);
    position: sticky;
    top: 0;
    z-index: 1000;
    padding: 0;
    /* Padding handled by height */
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    height: 90px;
    /* Reduced from 128px for better density */
    display: flex;
    align-items: center;
    transition: all 0.3s ease;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
    /* Subtle shadow always */
}

header.scrolled {
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    height: 80px;
    /* Shrinking effect (128 -> 80) */
}

/* Home absolute header that becomes fixed/scrolled */
.header-home {
    background: transparent;
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 1000;
    box-shadow: none;
    border: none;
    transition: background 0.3s ease, box-shadow 0.3s ease;
}

.header-home.scrolled {
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(20px);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 0 1rem;
    width: 100%;
    margin: 0 auto;
    max-width: 1200px;
    height: 100%;
}

/* 1. Left: Menu Button */
.menu-btn {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 1rem 2.5rem;
    /* Match btn-primary padding */
    background: white;
    border: 1px solid #E2E8F0;
    border-radius: 50px;
    font-family: var(--font-heading);
    font-weight: 600;
    color: var(--color-blue-night);
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 20;
    font-size: 1rem;
    /* Match btn-primary roughly (it uses default or inherited, but btn usually has bold) */
    height: auto;
    /* Ensure it takes padding height */
}

.menu-btn:hover {
    background: #F8FAFC;
    border-color: var(--color-blue-medium);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.menu-icon {
    font-size: 1.2rem;
}

/* 2. Center: Logo */
.logo-center {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: auto;
    height: auto;
    z-index: 20;
    margin: 0;
}

.logo-center img {
    height: 70px;
    /* Adjusted for new header height */
    width: auto;
    transition: transform 0.3s ease, height 0.3s ease;
    /* Maintain smooth transition */
    display: block;
}

header.scrolled .logo-center img {
    height: 50px;
    /* Shrinks on scroll */
}

.logo-center:hover img {
    transform: scale(1.03);
}

/* 3. Right: CTA */
.header-right {
    z-index: 20;
}

/* --- OFF-CANVAS MENU --- */
.offcanvas-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(2px);
    z-index: 1050;
    /* Ensure this is below offcanvas but very high */
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.offcanvas-overlay.active {
    opacity: 1;
    visibility: visible;
}

.offcanvas-menu {
    position: fixed;
    top: 0;
    left: 0;
    /* Use transform for GPU acceleration */
    transform: translateX(-100%);
    width: 400px;
    max-width: 85vw;
    height: 100vh;
    background: white;
    z-index: 1100;
    /* Ensure header and whatsapp are below 1100 */
    box-shadow: 5px 0 25px rgba(0, 0, 0, 0.1);
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: transform;
    display: flex;
    flex-direction: column;
}

.offcanvas-menu.active {
    transform: translateX(0);
}

.offcanvas-header {
    padding: 1.5rem 2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #F1F5F9;
}

.close-menu-btn {
    background: none;
    border: 1px solid #E2E8F0;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    cursor: pointer;
    color: var(--color-blue-night);
    transition: all 0.2s;
}

.close-menu-btn:hover {
    background: #F1F5F9;
    border-color: #CBD5E1;
}

.offcanvas-body {
    padding: 2rem;
    overflow-y: auto;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.offcanvas-nav {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    margin-bottom: auto;
    /* Push actions to bottom */
}

.nav-item {
    text-decoration: none;
    color: var(--color-blue-night);
    font-size: 1.1rem;
    font-weight: 500;
    transition: color 0.2s;
}

.nav-item:hover {
    color: var(--color-blue-medium);
    padding-left: 5px;
    /* Subtle movement */
}

.offcanvas-actions {
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid #F1F5F9;
}

.offcanvas-socials {
    margin-top: 1.5rem;
    text-align: center;
}

.social-icons {
    display: flex;
    justify-content: center;
    gap: 1rem;
    margin-top: 0.5rem;
}

.social-icon {
    font-size: 1.2rem;
    text-decoration: none;
    opacity: 0.7;
    transition: opacity 0.2s;
}

.social-icon:hover {
    opacity: 1;
}

/* Mobile adjustments */
@media (max-width: 600px) {
    .offcanvas-menu {
        width: 100%;
        max-width: 100%;
    }

    .menu-btn .menu-text {
        display: none;
        /* Icon only on very small screens if needed */
    }

    .menu-btn {
        padding: 0.5rem;
        border-radius: 50%;
        width: 40px;
        height: 40px;
        justify-content: center;
    }
}

/* Obsolete Mobile Nav Overlay Styles Removed */

/* Hero Section */
/* Hero Section */
.hero {
    padding: 6rem 0 4rem;
    position: relative;
    /* Cohesive & Premium Gradient inspired by GEDS but adapted to EuroMentor (Morning Dawn) */
    background: linear-gradient(120deg, rgb(243, 249, 255) 0%, rgba(235, 248, 255, 0.8) 50%, rgba(255, 251, 235, 0.9) 100%);
    /* Subtle Border to frame it nicely if needed, or keeping it borderless for seamless feel */
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
    text-align: center;
    overflow: hidden;
}

/* Add a subtle mesh blob behind */
.hero::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -20%;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(6, 214, 160, 0.08) 0%, rgba(255, 209, 102, 0.05) 50%, transparent 70%);
    border-radius: 50%;
    z-index: -1;
    pointer-events: none;
}

.hero::after {
    content: '';
    position: absolute;
    bottom: -20%;
    left: -10%;
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, rgba(31, 111, 178, 0.05) 0%, transparent 70%);
    border-radius: 50%;
    z-index: -1;
    pointer-events: none;
}

.hero h1 {
    font-size: 3.5rem;
    margin-bottom: 1.5rem;
    /* Keeping the Navy text for contrast as requested */
    color: var(--color-blue-night);
    background: none;
    -webkit-text-fill-color: initial;
}

.hero p {
    font-size: 1.25rem;
    color: #4A5568;
    max-width: 650px;
    margin: 0 auto 2.5rem;
}

/* Hero Collage Grid */
.hero-collage {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: 280px;
    gap: 1.5rem;
    margin-top: 3rem;
    margin-bottom: -6rem;
    position: relative;
    z-index: 10;
}

@media (max-width: 768px) {
    .hero-collage {
        margin-bottom: -2rem;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: auto;
    }
}

.collage-item {
    border-radius: var(--radius-lg);
    overflow: hidden;
    position: relative;
    box-shadow: var(--shadow-soft);
    transition: transform 0.4s ease;
}

.collage-item:hover {
    transform: translateY(-10px);
}

.collage-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.collage-item:nth-child(1) {
    transform: rotate(-2deg);
    margin-top: 20px;
}

.collage-item:nth-child(2) {
    margin-top: -20px;
}

.collage-item:nth-child(3) {
    margin-top: 30px;
}

.collage-item:nth-child(4) {
    transform: rotate(2deg);
    margin-top: -10px;
}



/* Stats Bar */
.stats-bar {
    display: flex;
    justify-content: center;
    gap: 1.5rem;
    margin: 2rem 0 5rem;
    /* Reduced from 5rem top to 2rem */
    flex-wrap: wrap;
}

.stat-card {
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 12px;
    padding: 1.5rem 2rem;
    text-align: center;
    min-width: 200px;
    position: relative;
    overflow: hidden;
    flex: 1;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    transition: transform 0.3s;
}

.stat-card:hover {
    transform: translateY(-5px);
    border-color: var(--color-blue-medium);
}

.stat-number {
    display: block;
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: 2.5rem;
    /* Bigger for impact */
    color: var(--color-blue-medium);
    margin-bottom: 0.5rem;
    line-height: 1;
}

.stat-label {
    font-size: 0.9rem;
    font-weight: 600;
    color: #4A5568;
    line-height: 1.2;
}

/* Values Grid (Yellow Badges) */
.values-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 3rem;
    margin: 5rem 0;
}

.value-card {
    text-align: center;
}



/* Why Romania Section (Premium Bento Fusion) */
.premium-bento-fusion {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-flow: dense;
    gap: 2rem;
    margin-top: 3rem;
}

.premium-bento-fusion .bento-grand {
    grid-column: span 2;
    grid-row: span 2;
    background: var(--color-blue-night);
    color: white;
    border-radius: 24px;
    padding: 4rem;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-shadow: var(--shadow-hover);
}

.premium-bento-fusion .bento-grand .bg-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.15;
    z-index: 0;
    mix-blend-mode: overlay;
}

.premium-bento-fusion .bento-grand .content {
    position: relative;
    z-index: 1;
}

.premium-bento-fusion .bento-small {
    background: white;
    border-radius: 24px;
    padding: 2.5rem;
    box-shadow: var(--shadow-soft);
    border: 1px solid #F1F5F9;
    transition: transform 0.3s ease;
}

.premium-bento-fusion .bento-small:hover {
    transform: translateY(-5px);
}

@media (max-width: 900px) {
    .premium-bento-fusion {
        grid-template-columns: 1fr;
    }

    .premium-bento-fusion .bento-grand {
        grid-column: span 1;
        grid-row: span 1;
        padding: 2.5rem;
    }
}

.romania-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}

.romania-list li {
    position: relative;
    padding-left: 2rem;
    font-size: 1.05rem;
    color: #334155;
}

.romania-list li::before {
    content: '✓';
    position: absolute;
    left: 0;
    top: 0;
    font-weight: 900;
    color: #1F6FB2;
    /* Brand Blue */
}

/* Accompaniment Timeline Narrative */
.acc-timeline {
    position: relative;
    max-width: 800px;
    margin: 4rem auto 0;
    padding-left: 3rem;
}

.acc-timeline::before {
    content: '';
    position: absolute;
    left: 10px;
    top: 0;
    bottom: 0;
    width: 2px;
    background: linear-gradient(180deg, var(--color-blue-medium) 0%, rgba(31, 111, 178, 0.1) 100%);
    border-radius: 2px;
}

.acc-step {
    position: relative;
    margin-bottom: 3rem;
    background: white;
    padding: 2.5rem;
    border-radius: 20px;
    box-shadow: var(--shadow-soft);
    border: 1px solid #F1F5F9;
    transition: transform 0.3s ease;
}

.acc-step:hover {
    transform: translateX(10px);
}

.acc-step::before {
    content: '';
    position: absolute;
    left: calc(-3rem + 11px);
    top: 3.5rem;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: white;
    border: 4px solid var(--color-blue-medium);
    transform: translate(-50%, -50%);
    box-shadow: 0 0 0 4px rgba(31, 111, 178, 0.2);
    z-index: 2;
}

.acc-step:last-child {
    margin-bottom: 0;
}

.acc-step.large-step {
    padding: 3.5rem;
    background: #F8FAFC;
    border-color: #E2E8F0;
}

.acc-header {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

.acc-number {
    font-family: var(--font-heading);
    font-size: 2.5rem;
    font-weight: 800;
    color: var(--color-blue-night);
    opacity: 0.1;
    line-height: 1;
}

.acc-title {
    font-size: 1.5rem;
    color: var(--color-blue-night);
}

@media (max-width: 600px) {
    .acc-timeline {
        padding-left: 2rem;
    }

    .acc-step::before {
        left: calc(-2rem + 11px);
    }

    .acc-step.large-step {
        padding: 2.5rem;
    }
}

/* Accompaniment Process (New Reference Style) */
.process-section {
    padding: 6rem 0;
    background: linear-gradient(180deg, #F8FAFC 0%, #EDF2F7 100%);
    position: relative;
    overflow: hidden;
}

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

.process-content {
    order: 1;
}

.process-image-wrap {
    order: 2;
    text-align: right;
    position: relative;
}

.process-image-wrap img {
    max-width: 100%;
    height: auto;
    filter: drop-shadow(0 20px 40px rgba(0, 0, 0, 0.1));
}

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

.process-card {
    background: white;
    padding: 1.5rem;
    border-radius: 16px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    transition: transform 0.3s;
}

.process-card:hover {
    transform: translateY(-3px);
}

.icon-circle {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    margin-bottom: 1rem;
    font-size: 1.2rem;
}

/* Programs Section */
.programs-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    margin-top: 3rem;
    margin-bottom: 6rem;
}

@media (max-width: 1200px) {
    .programs-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

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

.program-card {
    background: white;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-soft);
    overflow: hidden;
    transition: transform 0.3s;
}

.program-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-hover);
}

.program-image {
    height: 250px;
    overflow: hidden;
}

.program-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.program-content {
    padding: 1.5rem;
}

.program-content h3 {
    font-size: 1.3rem;
    margin-bottom: 1rem;
}

.program-detail {
    display: flex;
    justify-content: space-between;
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
    color: #64748B;
    border-bottom: 1px solid #F1F5F9;
    padding-bottom: 0.5rem;
}

.program-detail strong {
    color: var(--color-text-dark);
}



/* Old Benefits styles removed to prevent conflicts with new Grid layout */

/* Testimonials */

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

.testimonial-card {
    background: white;
    padding: 3rem;
    border-radius: 20px;
    box-shadow: var(--shadow-soft);
    border: none;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: transform 0.3s ease;
}

.testimonial-card:hover {
    transform: translateY(-5px);
}

.testimonial-card::before {
    content: '“';
    position: absolute;
    top: -30px;
    left: 20px;
    font-family: Georgia, serif;
    font-size: 12rem;
    color: rgba(31, 111, 178, 0.05);
    line-height: 1;
    z-index: 0;
}

.testimonial-text {
    font-size: 1.15rem;
    font-style: italic;
    color: #4A5568;
    line-height: 1.6;
    margin-bottom: 2rem;
    position: relative;
    z-index: 1;
}

.testimonial-author {
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 1.25rem;
    color: var(--color-blue-night);
    position: relative;
    z-index: 1;
}

.testimonial-role {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--color-yellow-warm);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-top: 0.3rem;
    position: relative;
    z-index: 1;
}

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

/* FAQ */
.faq-grid {
    max-width: 800px;
    margin: 0 auto;
    gap: 1rem;
    display: grid;
}

.faq-item {
    background: white;
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-soft);
    cursor: pointer;
}

.faq-question {
    padding: 1.5rem;
    font-weight: 600;
    display: flex;
    justify-content: space-between;
}

.faq-answer {
    padding: 0 1.5rem 1.5rem;
    display: none;
    color: #4A5568;
}

.faq-item.active .faq-answer {
    display: block;
}

.faq-item.active .faq-question {
    color: var(--color-blue-medium);
}

/* Footer */
footer {
    background: var(--color-blue-night);
    color: white;
    padding: 5rem 0 2rem;
    margin-top: 6rem;
}

/* Responsive */
@media (max-width: 900px) {
    .header-inner {
        justify-content: space-between;
    }

    .nav-desktop {
        display: none;
    }

    .mobile-menu-btn {
        display: block;
    }

    .logo-center {
        margin: 0;
        width: auto;
        height: auto;
        display: block;
    }

    .logo-center img {
        position: relative;
        top: auto;
        left: auto;
        transform: none;
        height: 50px;
        filter: none;
    }

    .hero-collage {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 200px 200px;
    }

    .collage-item {
        transform: none !important;
        margin: 0 !important;
    }

    .process-grid-layout {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .process-image-wrap {
        order: 1;
        margin-bottom: 2rem;
    }

    .process-content {
        order: 2;
    }

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

    .timeline {
        flex-direction: column;
        gap: 2rem;
    }

    .timeline::before {
        width: 3px;
        height: 100%;
        left: 40px;
        top: 0;
    }

    .step-card {
        display: flex;
        text-align: left;
        padding: 0;
        align-items: center;
    }

    .step-icon {
        margin: 0 1.5rem 0 0;
        width: 60px;
        height: 60px;
        font-size: 1.5rem;
        flex-shrink: 0;
    }

    .benefits-container {
        flex-direction: column;
    }
}

/* --- Global CRO Elements --- */

/* Sticky Notification Bar */
/* Sticky Notification Bar (Currently Unused) */
/*
.sticky-notification-bar {
    background: #FFD166;
    color: #0F2A44;
    text-align: center;
    padding: 10px 20px;
    font-size: 0.9rem;
    font-weight: 600;
    position: relative;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    z-index: 2000;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    animation: slideDown 0.5s ease-out;
}

.sticky-notification-bar strong {
    color: #D32F2F;
}

.sticky-btn {
    background: #0F2A44;
    color: white;
    padding: 4px 12px;
    border-radius: 4px;
    text-decoration: none;
    font-size: 0.8rem;
    font-weight: 700;
    transition: opacity 0.3s;
}

.sticky-btn:hover {
    opacity: 0.9;
}

@keyframes slideDown {
    from {
        transform: translateY(-100%);
    }

    to {
        transform: translateY(0);
    }
}
*/

/* Floating WhatsApp Button */
.whatsapp-float {
    position: fixed;
    width: 60px;
    height: 60px;
    bottom: 30px;
    right: 30px;
    background-color: #25d366;
    color: #FFF;
    border-radius: 50px;
    text-align: center;
    font-size: 30px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    z-index: 2000;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: all 0.3s ease;
    cursor: pointer;
}

.whatsapp-float:hover {
    transform: scale(1.1);
    box-shadow: 0 6px 20px rgba(37, 211, 102, 0.4);
}

.contacts-tooltip {
    position: absolute;
    right: 70px;
    bottom: 10px;
    background: white;
    padding: 10px 15px;
    border-radius: 10px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    font-size: 0.9rem;
    font-weight: 600;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transform: translateX(10px);
    transition: all 0.3s;
    color: #0F2A44;
}

/* Invisible bridge to prevent hover loss between button and tooltip */
.contacts-tooltip::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: -20px;
    /* Covers the gap */
    width: 20px;
}

.whatsapp-float:hover .contacts-tooltip {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}

/* Mobile Adjustments */
@media (max-width: 768px) {
    .whatsapp-float {
        bottom: 20px;
        right: 20px;
        width: 50px;
        height: 50px;
        font-size: 24px;
    }
}

/* Animation Classes */
.reveal-on-scroll {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s cubic-bezier(0.5, 0, 0, 1), transform 0.8s cubic-bezier(0.5, 0, 0, 1);
    will-change: opacity, transform;
}

.reveal-on-scroll.visible {
    opacity: 1;
    transform: translateY(0);
}

/* FAQ Final Fix v2 */
#faq .section-title {
    margin-bottom: 2rem !important;
}

/* --- SEO Content Integration Styles --- */

/* Feature Grid (Why Europe) */
.feature-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1.5rem;
    margin-top: 2rem;
}

.feature-card {
    background: white;
    padding: 1.5rem;
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-soft);
    border: 1px solid #E2E8F0;
    transition: transform 0.3s;
    text-align: left;
}

.feature-card:hover {
    transform: translateY(-5px);
    border-color: var(--color-blue-medium);
}

.feature-icon {
    width: 45px;
    height: 45px;
    background: #E0F2FE;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    color: var(--color-blue-medium);
    margin-bottom: 1rem;
}

/* Eligibility Split Layout */
.eligibility-split {
    display: grid;
    grid-template-columns: 1.4fr 0.8fr;
    /* Widened left side */
    gap: 4rem;
    align-items: stretch;
    /* Force equal height */
}

.eligibility-box {
    height: 100%;
    /* Ensure it fills the grid cell */
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.eligibility-image {
    position: relative;
    height: 100%;
    /* Fill grid cell height */
}

.eligibility-image img {
    width: 100%;
    height: 100%;
    /* Match container height */
    object-fit: cover;
    /* Prevent distortion */
    border-radius: 20px;
    box-shadow: var(--shadow-soft);
    /* Removed rotation to ensure perfect alignment */
}

@media (max-width: 900px) {
    .eligibility-split {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .eligibility-image {
        display: none;
        /* Optional: Hide image on mobile if it takes too much space, or keep it */
        /* For now, keeping it visible but stacking */
        order: -1;
        /* Image on top? Or bottom? Let's keep default (bottom) or hide */
    }

    .eligibility-image img {
        display: none;
        /* Let's hide the big image on mobile to focus on the test */
    }
}

/* Split Layout (Focus Romania) */
.split-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: center;
    margin: 3rem auto;
    max-width: 1000px;
}

.split-content h2 {
    margin-bottom: 1rem;
}

.split-image img {
    width: 100%;
    border-radius: var(--radius-lg);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-soft);
}

.romania-list {
    list-style: none;
    padding: 0;
    margin-top: 1.5rem;
}

.romania-list li {
    position: relative;
    padding-left: 1.5rem;
    margin-bottom: 0.75rem;
    color: var(--color-text-dark);
}

.romania-list li::before {
    content: "✓";
    color: var(--color-blue-medium);
    font-weight: bold;
    position: absolute;
    left: 0;
}

/* Trust Section (Diplomas) */
.trust-section {
    background: #F8FAFC;
    padding: 4rem 0;
    border-top: 1px solid #E2E8F0;
    border-bottom: 1px solid #E2E8F0;
}

.check-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.5rem;
    margin-top: 2rem;
}

.check-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    background: white;
    padding: 1.25rem;
    border-radius: var(--radius-md);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
}

.check-icon {
    color: var(--color-teal-soft);
    font-size: 1.1rem;
    background: #E6FFFA;
    padding: 0.4rem;
    border-radius: 50%;
    flex-shrink: 0;
}

/* 4-Step Process Redesign (Benefits) */
.benefits-container {
    background: linear-gradient(135deg, #F8FAFC 0%, #E2E8F0 100%);
    border-radius: var(--radius-lg);
    padding: 3rem 2rem;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 2rem;
    margin: 3rem 0;
    text-align: center;
}

.benefit-item {
    background: rgba(255, 255, 255, 0.6);
    padding: 1.5rem;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.8);
    position: relative;
}

.step-number {
    background: var(--color-blue-medium);
    color: white;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 1.2rem;
    margin: 0 auto 1rem;
    box-shadow: 0 4px 10px rgba(31, 111, 178, 0.3);
}

.benefit-title {
    color: var(--color-blue-night);
    font-weight: 700;
    margin-bottom: 0.5rem;
}

/* Values Section */
.values-section {
    text-align: center;
    padding: 4rem 0;
}

.values-section h2 {
    margin-bottom: 1rem;
    /* Réduit de 2rem à 1rem */
}

.values-box {
    display: inline-block;
    background: #FFFBEB;
    color: #B45309;
    padding: 0.5rem 1.5rem;
    border-radius: 50px;
    font-weight: 600;
    margin: 0 0.5rem 1rem;
    /* Réduit de 2rem à 1rem */
    /* Réduit de 2rem à 1rem */
    border: 1px solid #FCD34D;
}

.values-box.success {
    background: #ECFDF5;
    color: #047857;
    border-color: #6EE7B7;
}

.values-box.info {
    background: #EFF6FF;
    color: #1D4ED8;
    border-color: #93C5FD;
}

/* Ajout d'une classe pour le paragraphe sous les badges */
.values-section p {
    max-width: 700px;
    margin: 1rem auto 3rem;
    /* Réduit de 0 auto 3rem à 1rem auto 3rem */
    color: #4A5568;
}

/* FAQ Tweaks */
.faq-grid {
    gap: 0.75rem;
    margin-bottom: 2rem;
}

.faq-question {
    padding: 1.2rem;
}

@media (max-width: 900px) {
    .split-layout {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .split-image {
        order: -1;
    }
}

/* Accompaniment Section Spacing */
#accompagnement {
    padding-top: 5rem;
    /* Increased from default to give more space from the divider */
}

/* --- "Pourquoi EuroMentor" Premium Styles --- */

/* Warm Hero */
.hero-warm {
    background: linear-gradient(135deg, #FFFBF0 0%, #FFFFFF 100%);
    padding: 6rem 0 8rem;
    /* Reduced padding */
    position: relative;
    overflow: hidden;
}

.hero-warm::before {
    content: '';
    position: absolute;
    top: -20%;
    right: -10%;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(255, 209, 102, 0.15) 0%, transparent 70%);
    border-radius: 50%;
    z-index: 0;
}

/* Overlap Grid */
.overlap-section {
    margin-top: -4rem;
    /* Reduced overlap */
    position: relative;
    z-index: 10;
    margin-bottom: 4rem;
    /* Reduced bottom margin */
}

.overlap-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    /* Slightly smaller min-width */
    gap: 1.5rem;
    /* Reduced gap */
}

.feature-box-premium {
    background: white;
    padding: 2rem 1.5rem;
    /* Reduced padding */
    border-radius: 20px;
    box-shadow: 0 10px 30px -5px rgba(0, 0, 0, 0.08);
    /* Softer shadow */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid rgba(0, 0, 0, 0.02);
}

.feature-box-premium:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.12);
}

.feature-box-icon {
    width: 48px;
    /* Reduced from 60px */
    height: 48px;
    background: #F0F9FF;
    color: var(--color-blue-medium);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    /* Reduced font size */
    margin-bottom: 1rem;
}

/* Comparison Section */
.comparison-grid {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    /* Space for VS badge visually handled in media query */
    gap: 2rem;
    margin: 4rem 0;
    align-items: stretch;
}

.comparison-card {
    padding: 2rem;
    /* Reduced padding */
    border-radius: 20px;
    position: relative;
}

.comparison-card.solo {
    background: #FFF5F5;
    border: 1px solid #FED7D7;
}

.comparison-card.partner {
    background: #F0F9FF;
    border: 1px solid #BAE6FD;
    box-shadow: 0 20px 50px -10px rgba(31, 111, 178, 0.15);
    transform: scale(1.02);
    /* Slight prominence */
}

.comparison-list {
    list-style: none;
    margin-top: 2rem;
}

/* --- Institutional Comparison Section --- */

.comparison-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    /* No gap, using borders */
    margin: 4rem 0;
    border: 1px solid #CBD5E1;
    /* Darker border for visibility */
    border-radius: 12px;
    overflow: hidden;
    background: white;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.comparison-column {
    padding: 0;
    display: flex;
    flex-direction: column;
}

.comparison-column.solo {
    background: #F1F5F9;
    /* Darker neutral grey */
    border-right: 1px solid #CBD5E1;
}

.comparison-column.partner {
    background: white;
    position: relative;
}

/* Header */
.comparison-header {
    padding: 2rem;
    border-bottom: 1px solid #E2E8F0;
    text-align: center;
}

.comparison-header h3 {
    font-family: 'Outfit', sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
    color: var(--color-blue-night);
}

.comparison-header .subtitle {
    font-size: 0.9rem;
    color: #64748B;
    font-weight: 500;
}

/* List Items */
.comparison-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    /* Ensure equal height rows if needed, or just block */
    flex-direction: column;
    flex-grow: 1;
}

.comparison-list li {
    padding: 1.5rem 2rem;
    border-bottom: 1px solid #E2E8F0;
    font-size: 0.95rem;
    color: #334155;
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    line-height: 1.5;
    transition: background-color 0.2s ease;
}

.comparison-list li:nth-child(even) {
    background-color: rgba(248, 250, 252, 0.5);
    /* Subtle zebra striping */
}

.comparison-list li:hover {
    background-color: rgba(241, 245, 249, 0.8);
    /* Slight hover highlight */
}

.comparison-list li:last-child {
    border-bottom: none;
}

/* Icons - Minimalist */
.comparison-icon {
    flex-shrink: 0;
    font-weight: 700;
    font-size: 1rem;
    margin-top: 2px;
    /* Align with text */
}

.solo .comparison-icon {
    color: #EF4444;
    /* Standard Red */
}

.partner .comparison-icon {
    color: #10B981;
    /* Standard Green/Teal */
}

.partner .comparison-list li {
    background-color: rgba(6, 214, 160, 0.02);
    /* Extremely subtle tint */
    font-weight: 500;
    color: var(--color-blue-night);
}

/* Result Row */
.comparison-footer {
    padding: 2rem;
    text-align: center;
    border-top: 1px solid #E2E8F0;
    background: white;
}

.solo .comparison-footer {
    background: #FFF1F2;
    /* Very light red */
    color: #BE123C;
    font-weight: 700;
    font-size: 0.95rem;
    letter-spacing: 0.5px;
}

.partner .comparison-footer {
    background: #F0FDFA;
    /* Very light teal/blue */
    color: #0F766E;
    font-weight: 700;
    font-size: 0.95rem;
    letter-spacing: 0.5px;
    border-top: 1px solid #CCFBF1;
}

/* Risk Section (Redesign) */
.risk-section {
    background: transparent;
    padding: 2rem 0;
    position: relative;
    /* No dark background */
}

.risk-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr) 1.4fr;
    /* 3 cards + 1 large index */
    gap: 1.5rem;
    align-items: stretch;
}

.risk-card {
    background: white;
    border: 1px solid #E2E8F0;
    box-shadow: 0 10px 30px -5px rgba(0, 0, 0, 0.05);
    border-radius: 20px;
    padding: 2rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    height: 100%;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.risk-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px -5px rgba(0, 0, 0, 0.1);
}

.risk-card-icon {
    width: 64px;
    height: 64px;
    background: #FFF7ED;
    /* Light orange background */
    color: #F59E0B;
    /* Orange icon */
    border-radius: 50%;
    /* Circle */
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    margin-bottom: 0.5rem;
    flex-shrink: 0;
}

.risk-card h3 {
    font-size: 1.1rem;
    color: #1F2937;
    margin: 0;
    font-weight: 700;
}

.risk-card p {
    font-size: 0.9rem;
    color: #6B7280;
    line-height: 1.5;
    margin: 0;
}

.risk-card-footer {
    margin-top: auto;
    /* Push to bottom */
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    border-radius: 50px;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    width: 100%;
    justify-content: center;
}

/* Dark Index Card */
.risk-index-card {
    background: #1F2937;
    /* Dark almost black/blue */
    border-radius: 24px;
    padding: 2.5rem;
    color: white;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: 0 20px 50px -10px rgba(31, 41, 55, 0.3);
    position: relative;
    overflow: hidden;
}

.risk-index-card h3 {
    color: white;
    font-size: 1.25rem;
    margin-bottom: 2rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

/* Progress Bars */
.progress-container {
    margin-bottom: 2rem;
}

.progress-label {
    display: flex;
    justify-content: space-between;
    margin-bottom: 0.5rem;
    font-size: 0.9rem;
    opacity: 0.9;
}

.progress-track {
    background: rgba(255, 255, 255, 0.1);
    height: 12px;
    border-radius: 6px;
    overflow: hidden;
}

.progress-fill {
    height: 100%;
    border-radius: 6px;
    width: 0;
    /* Animate to width */
    transition: width 1.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.progress-fill.danger {
    background: #FC8181;
}

.progress-fill.safe {
    background: #68D391;
}

.progress-fill.medium {
    background: #F6AD55;
}

/* Target Audience Grid */
/* Target Audience (Redesign - Editorial List) */
.audience-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 3rem;
    row-gap: 3rem;
    /* More breathing room */
}

.audience-item {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-items: flex-start;
}

.audience-icon {
    width: 56px;
    height: 56px;
    background: #E0F2FE;
    /* Light Blue */
    color: #0284C7;
    /* Strong Blue */
    border-radius: 16px;
    /* Soft square */
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    margin-bottom: 0.5rem;
    transition: transform 0.3s ease;
}

.audience-item:hover .audience-icon {
    transform: scale(1.1) rotate(5deg);
    background: #BAE6FD;
}

.audience-item h3 {
    font-size: 1.15rem;
    font-weight: 700;
    color: #0F172A;
    margin-bottom: 0.5rem;
    line-height: 1.3;
}

.audience-item p {
    font-size: 0.95rem;
    color: #64748B;
    line-height: 1.6;
    margin: 0;
}

/* Responsive */
/* Responsive */
@media (max-width: 900px) {

    .comparison-grid,
    .risk-grid,
    .audience-grid {
        grid-template-columns: 1fr;
    }

    .audience-item {
        flex-direction: row;
        /* Keep icon side-by-side on mobile if space allows, or column */
        align-items: flex-start;
    }

    .risk-card {
        height: auto;
        /* Reset height on mobile */
        margin-bottom: 1rem;
    }

    .overlap-section {
        margin-top: -3rem;
    }

    .vs-badge {
        display: none;
    }

    .comparison-grid {
        border: none;
        background: transparent;
        box-shadow: none;
        gap: 2rem;
    }

    .comparison-column {
        border: 1px solid #E2E8F0;
        border-radius: 12px;
        overflow: hidden;
    }
}

/* --- BENTO BOX GRID UTILITIES --- */
.bento-section {
    padding: 6rem 0;
    background: #F8FAFC;
    position: relative;
}

.bento-header {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 4rem;
}

.bento-header h2 {
    font-size: 2.5rem;
    color: var(--color-blue-night);
    margin-bottom: 1rem;
}

.bento-header p {
    font-size: 1.15rem;
    color: #4A5568;
}

.bento-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: minmax(180px, auto);
    gap: 1.5rem;
    max-width: 1100px;
    margin: 0 auto;
}

.bento-card {
    background: white;
    border-radius: 24px;
    padding: 2.5rem;
    box-shadow: 0 10px 30px rgba(15, 42, 68, 0.04);
    border: 1px solid #F1F5F9;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.bento-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(15, 42, 68, 0.08);
}

.bento-card.primary {
    background: var(--color-blue-night);
    color: white;
}

.bento-card.primary p {
    color: #CBD5E1;
}

.bento-card.primary h3 {
    color: white;
}

.bento-icon {
    width: 60px;
    height: 60px;
    background: #F0F9FF;
    color: var(--color-blue-medium);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    margin-bottom: 1.5rem;
    flex-shrink: 0;
}

.bento-card.primary .bento-icon {
    background: rgba(255, 255, 255, 0.1);
    color: #38BDF8;
}

/* Grid spans */
.span-2 {
    grid-column: span 2;
}

.span-3 {
    grid-column: span 3;
}

.row-2 {
    grid-row: span 2;
}

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

    .span-2,
    .span-3 {
        grid-column: span 1;
    }

    .row-2 {
        grid-row: span 1;
    }
}

/* --- TARIFS PAGE STYLES (Ultra-Premium CRO Refinements) --- */

/* Hero Transparency */
.hero-transparency {
    padding: 10rem 0 3rem;
    /* Reduced whitespace slightly */
    background: #F9FAFB;
    text-align: center;
}

.hero-transparency h1 {
    font-size: 4rem;
    color: var(--color-blue-night);
    margin-bottom: 1.5rem;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    letter-spacing: -0.03em;
}

.hero-transparency-subtitle {
    font-size: 1.25rem;
    color: #4A5568;
    max-width: 700px;
    margin: 0 auto;
    line-height: 1.8;
}

/* Mental Framework */
.mental-framework {
    padding: 1rem 0 5rem;
    /* Reduced whitespace slightly */
    text-align: center;
    background: #F9FAFB;
}

.mental-framework-box {
    max-width: 800px;
    margin: 0 auto;
    border-left: 2px solid var(--color-blue-medium);
    /* Finer border */
    padding: 1.5rem 2.5rem;
    text-align: left;
    background: rgba(31, 111, 178, 0.02);
    /* Extremely subtle background */
    border-radius: 0 16px 16px 0;
}

.mental-framework p {
    font-size: 1.15rem;
    /* Slight bump for readability */
    color: #4A5568;
    margin-bottom: 0.8rem;
    line-height: 1.7;
}

.mental-framework p:last-child {
    margin-bottom: 0;
}

.mental-framework strong {
    color: var(--color-blue-night);
    font-weight: 600;
}

/* Split-screen Layout */
.investment-section {
    padding: 6rem 0;
    /* Reduced whitespace slightly */
    background: white;
}

.split-screen-layout {
    display: grid;
    grid-template-columns: 4fr 6fr;
    /* 40/60 split */
    gap: 7rem;
    /* Substantial breathing room */
    align-items: start;
}

/* Sticky Card (Left) */
.sticky-card-column {
    height: 100%;
    /* Important for sticky to work correctly within grid/flex column */
}

.sticky-card-wrapper {
    position: sticky;
    top: 100px;
    /* Offset from the top */
}

.investment-card {
    /* Micro-glassmorphism + subtle styling */
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(31, 111, 178, 0.1);
    /* Very fine border */
    border-radius: 20px;
    padding: 3.5rem 3rem;
    /* More internal respiration */
    box-shadow: 0 30px 60px -15px rgba(15, 42, 68, 0.05);
    /* Ample, diffuse shadow */
    position: relative;
    overflow: hidden;
}

/* Scarcity micro-text inside card */
.investment-scarcity {
    position: absolute;
    top: 0;
    right: 0;
    background: #F8FAFC;
    color: #64748B;
    font-size: 0.75rem;
    padding: 4px 12px;
    border-bottom-left-radius: 12px;
    border-left: 1px solid rgba(31, 111, 178, 0.05);
    border-bottom: 1px solid rgba(31, 111, 178, 0.05);
    font-weight: 500;
    letter-spacing: 0.5px;
}

.investment-subtitle-top {
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #64748B;
    font-weight: 600;
    margin-bottom: 0.5rem;
    display: block;
}

.investment-price {
    font-size: 3rem;
    /* Slightly reduced for elegance */
    font-family: var(--font-heading);
    color: var(--color-blue-night);
    font-weight: 600;
    /* Dropped from 700 to feel less brutal */
    line-height: 1;
    margin-bottom: 0.5rem;
    letter-spacing: -1px;
}

.investment-mention {
    font-size: 1.05rem;
    color: var(--color-blue-night);
    font-weight: 500;
    margin-bottom: 2.5rem;
    line-height: 1.5;
}

.investment-stack {
    margin-bottom: 2.5rem;
    padding-top: 2rem;
    border-top: 1px solid #F1F5F9;
}

.investment-stack-item {
    font-size: 0.95rem;
    color: #4A5568;
    margin-bottom: 1rem;
    display: flex;
    align-items: flex-start;
    gap: 0.8rem;
    line-height: 1.4;
}

.investment-stack-item::before {
    content: "•";
    color: var(--color-blue-medium);
    font-weight: bold;
    font-size: 1.2rem;
    line-height: 1;
    opacity: 0.6;
}

.investment-card .btn {
    width: 100%;
    margin-bottom: 1rem;
}

.investment-micro {
    text-align: center;
    font-size: 0.8rem;
    color: #94A3B8;
}

/* Social Proof Mini-Card */
.social-proof-mini {
    margin-top: 2.5rem;
    padding: 1.5rem;
    background: transparent;
    border-left: 1px solid #CBD5E1;
    /* Subtler border */
    border-radius: 0;
}

.stars {
    color: #D4AF37;
    /* Discret gold */
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
    letter-spacing: 2px;
}

.social-proof-mini p {
    font-size: 0.95rem;
    font-style: italic;
    color: #4A5568;
    line-height: 1.5;
    margin-bottom: 0.8rem;
}

.social-proof-author {
    font-size: 0.85rem;
    font-weight: 600;
    color: #94A3B8;
    /* Muted author */
}

/* Ledger of Value (Right/60%) */
.ledger-wrapper {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    /* Space between blocks *instead* of heavy dividers */
}

.ledger-section {
    margin-bottom: 0;
}

.ledger-section:last-child {
    margin-bottom: 0;
}

.ledger-image-right {
    position: absolute;
    right: -100px;
    top: 0;
    width: 250px;
    height: 100%;
    object-fit: cover;
    opacity: 0.5;
    z-index: -1;
}

.ledger-section h3 {
    font-size: 1.35rem;
    margin-bottom: 1.5rem;
    color: #64748B;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    border-bottom: none;
    /* No border */
}

.ledger-list {
    list-style: none;
}

.ledger-list li {
    padding: 1.2rem 1.5rem;
    /* Horizontal padding for hover */
    border-bottom: 1px solid #F1F5F9;
    /* Very light separator */
    display: flex;
    flex-direction: column;
    /* Allow annotations below */
    gap: 0.4rem;
    transition: background-color 0.2s ease, transform 0.2s ease;
    border-radius: 8px;
    /* For the hover effect */
    margin-bottom: 0.2rem;
}

.ledger-list li:hover {
    background-color: #F8FAFC;
    /* Subtle interactive feel */
    border-bottom-color: transparent;
}

/* Flex row for main item text and icon */
.ledger-item-main {
    display: flex;
    align-items: flex-start;
    gap: 1.2rem;
    font-size: 1.15rem;
    color: #334155;
    line-height: 1.5;
}

/* Highlighted items */
.ledger-list li.highlight .ledger-item-main {
    color: var(--color-blue-night);
    font-weight: 600;
}

/* Statutory Icon */
.ledger-item-main::before {
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    /* Soft green checkmark icon */
    background: url('data:image/svg+xml;utf8,<svg fill="none" stroke="%2310B981" stroke-width="2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7"></path></svg>') no-repeat center center;
    background-size: contain;
    flex-shrink: 0;
    margin-top: 3px;
    opacity: 0.8;
}

/* Micro-annotations */
.ledger-annotation {
    font-size: 0.9rem;
    color: #64748B;
    margin-left: 2.7rem;
    /* Align with text, skip icon */
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-style: italic;
}

.ledger-annotation::before {
    content: "—";
    color: #CBD5E1;
}

/* Visual integration image */
.ledger-inline-image {
    width: 100%;
    height: 300px;
    object-fit: cover;
    border-radius: 16px;
    margin: 1rem 0;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.04);
}

/* Payment Timeline */
.timeline-section {
    padding: 6rem 0 8rem;
    /* Reduced whitespace slightly */
    background: #F9FAFB;
    text-align: center;
}

.timeline-narrative {
    font-size: 1.15rem;
    color: #64748B;
    margin-bottom: 5rem;
    font-style: italic;
}

.premium-timeline-container {
    position: relative;
    max-width: 1050px;
    margin: 0 auto;
}

/* Connecteur Visuel (Ligne horizontale) */
.premium-timeline-connector {
    position: absolute;
    top: 50%;
    left: 15%;
    right: 15%;
    height: 4px;
    background: linear-gradient(90deg, #E2E8F0 0%, #1F6FB2 100%);
    z-index: 0;
    transform: translateY(-50%);
    border-radius: 4px;
}

/* Grille des cartes */
.premium-timeline-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    /* Lots of space to let the connector breathe */
    position: relative;
    z-index: 1;
}

/* Carte Premium */
.premium-timeline-card {
    background: white;
    border-radius: 24px;
    /* rounded-3xl approx */
    padding: 3.5rem 2.5rem;
    box-shadow: 0 20px 50px -10px rgba(15, 42, 68, 0.08);
    /* Premium soft shadow */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    border: 1px solid rgba(226, 232, 240, 0.5);
    /* Subtle border */
}

.premium-timeline-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 30px 60px -15px rgba(15, 42, 68, 0.12);
}

/* Badges */
.premium-timeline-badge {
    padding: 0.6rem 1.4rem;
    border-radius: 50px;
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 2rem;
}

.signature-badge {
    background: #EFF6FF;
    /* Very light blue */
    color: var(--color-blue-night);
}

.success-badge {
    background: #ECFDF5;
    /* Very light green */
    color: #047857;
    /* Dark green */
}

/* Icônes */
.premium-timeline-icon {
    margin-bottom: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    background: #F8FAFC;
    border-radius: 50%;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.02);
}

.premium-timeline-title {
    font-size: 1.35rem;
    /* Equivalent to h4 */
    color: #64748B;
    margin-bottom: 1rem;
    font-weight: 600;
}

/* Les Prix Massifs */
.premium-timeline-price {
    font-size: 3.5rem;
    /* Massive */
    font-weight: 800;
    color: var(--color-blue-night);
    line-height: 1.1;
    margin-bottom: 2rem;
    font-family: var(--font-heading);
    letter-spacing: -1px;
}

.price-success {
    color: #10B981;
    /* Green to mark success */
}

/* Descriptions */
.premium-timeline-desc {
    font-size: 1.05rem;
    color: #4A5568;
    line-height: 1.6;
}

.premium-timeline-desc strong {
    color: var(--color-blue-night);
    font-weight: 800;
}

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

    .premium-timeline-connector {
        top: 10%;
        bottom: 10%;
        left: 50%;
        right: auto;
        width: 4px;
        height: 80%;
        transform: translateX(-50%);
        background: linear-gradient(180deg, #E2E8F0 0%, #1F6FB2 100%);
    }
}

/* Subtle image below timeline */
.timeline-inline-image {
    max-width: 700px;
    width: 100%;
    height: 400px;
    object-fit: cover;
    border-radius: 20px;
    margin: -6rem auto 6rem;
    display: block;
    position: relative;
    z-index: 10;
    box-shadow: 0 25px 50px -12px rgba(15, 42, 68, 0.15);
}

/* Dark Mode - Frais Annexes (Monumental) */
.dark-section-navy {
    background: var(--color-blue-night);
    color: white;
    padding: 8rem 0;
    /* Reduced huge whitespace slightly */
}

.dark-section-subtitle {
    text-align: center;
    color: #CBD5E1;
    font-size: 1.2rem;
    margin-bottom: 1rem;
    font-style: italic;
}

.dark-section-navy h2 {
    color: white;
    text-align: center;
    font-size: 3rem;
    /* Monumental */
    margin-bottom: 5rem;
    font-weight: 400;
}

.frais-asym-grid {
    display: grid;
    grid-template-columns: 2.5fr 1fr;
    /* Stronger asymmetry */
    gap: 3rem;
    max-width: 1100px;
    margin: 0 auto;
}

.frais-card-main,
.frais-card-secondary {
    background: rgba(255, 255, 255, 0.02);
    /* Extremely subtle */
    border: 1px solid rgba(255, 255, 255, 0.05);
    /* Fine border */
    border-radius: 16px;
    padding: 4rem;
    transition: background 0.3s;
}

.frais-card-main:hover,
.frais-card-secondary:hover {
    background: rgba(255, 255, 255, 0.04);
}

.frais-card-main {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.frais-card-secondary-group {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.frais-card-secondary {
    padding: 2.5rem;
    flex: 1;
}

.frais-card-main h4,
.frais-card-secondary h4 {
    color: rgba(255, 255, 255, 0.7);
    font-size: 1.15rem;
    margin-bottom: 0.5rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 500;
}

.frais-card-main .frais-value {
    font-family: var(--font-heading);
    font-size: 3.5rem;
    /* Larger numeric presence */
    font-weight: 300;
    margin-bottom: 1rem;
    color: white;
}

.frais-card-secondary .frais-value {
    font-family: var(--font-heading);
    font-size: 1.8rem;
    font-weight: 300;
    margin-bottom: 0.5rem;
    color: white;
}

.frais-card-main p,
.frais-card-secondary p {
    color: #94A3B8;
    font-size: 1.1rem;
    line-height: 1.6;
}

.frais-disclaimer {
    display: inline-block;
    margin-top: 2rem;
    padding: 8px 20px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 50px;
    font-size: 0.9rem;
    color: #CBD5E1;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

/* Scarcity Block */
.scarcity-block {
    text-align: center;
    padding: 6rem 0 2rem;
}

.scarcity-block p {
    font-size: 1.25rem;
    color: #4A5568;
    max-width: 750px;
    margin: 0 auto;
    font-style: italic;
    line-height: 1.6;
}

/* Financial FAQ */
.financial-faq {
    padding: 6rem 0 8rem;
    /* Reduced whitespace slightly */
    background: white;
}

.financial-faq h2 {
    text-align: center;
    font-size: 2.5rem;
    margin-bottom: 4rem;
    font-weight: 400;
}

.faq-grid {
    max-width: 800px;
    margin: 0 auto;
    gap: 1.5rem;
    /* More breath between items */
    display: grid;
}

.faq-item {
    background: white;
    border-radius: 0;
    border: none;
    border-bottom: 1px solid #E2E8F0;
    /* Fine line separation */
    box-shadow: none;
    cursor: pointer;
    transition: all 0.2s ease;
}

.faq-item:hover {
    box-shadow: none;
    border-bottom-color: var(--color-blue-medium);
}

.faq-question {
    padding: 2rem 0;
    font-weight: 500;
    font-size: 1.2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: var(--color-text-dark);
}

.faq-icon {
    font-weight: 300;
    font-size: 1.5rem;
    color: #94A3B8;
    transition: transform 0.3s ease;
}

.faq-item.active .faq-icon {
    transform: rotate(45deg);
    color: var(--color-blue-medium);
}

.faq-answer {
    padding: 0 0 2rem 0;
    display: none;
    color: #4A5568;
    line-height: 1.7;
    font-size: 1.05rem;
}

/* Responsive adjustments for new layout */
@media (max-width: 1024px) {
    .split-screen-layout {
        grid-template-columns: 1fr;
        gap: 6rem;
    }

    .sticky-card-wrapper {
        position: static;
    }

    .timeline-horizontal {
        flex-direction: column;
        gap: 3rem;
    }

    .timeline-horizontal::before,
    .timeline-horizontal::after {
        display: none;
        /* Hide horizontal line on mobile */
    }

    .timeline-step {
        width: 100%;
        align-items: stretch;
    }

    .frais-asym-grid {
        grid-template-columns: 1fr;
    }

    .timeline-inline-image {
        margin: -3rem auto 3rem;
        height: 300px;
    }
}

/* --- PREMIUM FAQ (Bento Tabs & Sticky Scroll) --- */

.faq-split-layout {
    display: grid;
    grid-template-columns: 1fr 2.5fr;
    gap: 4rem;
    align-items: start;
}

.faq-sidebar {
    position: sticky;
    top: 120px;
}

.faq-nav-item {
    display: block;
    padding: 1rem;
    color: #64748B;
    font-weight: 500;
    border-radius: 12px;
    margin-bottom: 0.5rem;
    transition: all 0.3s ease;
    text-decoration: none;
}

.faq-nav-item:hover {
    background: #F1F5F9;
    color: var(--color-blue-medium);
}

.faq-nav-item.active {
    background: #E0F2FE;
    color: var(--color-blue-medium);
    font-weight: 600;
}

.faq-cat-title {
    font-size: 1.8rem;
    color: var(--color-blue-night);
    margin-bottom: 2rem;
    margin-top: 3rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #E2E8F0;
}

.faq-category:first-of-type .faq-cat-title {
    margin-top: 0;
}

/* Premium Accordions */
.premium-accordion {
    background: white;
    border-radius: 16px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
    margin-bottom: 1rem;
    border: 1px solid #F1F5F9;
    transition: box-shadow 0.3s ease, border-color 0.3s ease;
    overflow: hidden;
}

.premium-accordion:hover {
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
    border-color: #E2E8F0;
}

.premium-accordion-summary {
    padding: 1.75rem;
    font-weight: 600;
    font-size: 1.15rem;
    color: var(--color-blue-night);
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    list-style: none;
    /* Hide default marker */
}

/* Hide default marker in Safari / Chrome */
.premium-accordion-summary::-webkit-details-marker {
    display: none;
}

/* Custom + / - icon */
.accordion-icon {
    position: relative;
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.icon-v,
.icon-h {
    position: absolute;
    background: var(--color-blue-medium);
    border-radius: 2px;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.icon-h {
    width: 16px;
    height: 2px;
}

.icon-v {
    width: 2px;
    height: 16px;
}

/* state handling */
.premium-accordion[open] .premium-accordion-summary .icon-v {
    transform: rotate(90deg);
    opacity: 0;
}

.premium-accordion[open] .premium-accordion-summary .icon-h {
    transform: rotate(180deg);
}

.premium-accordion-content {
    padding: 0 1.75rem 1.75rem;
    font-size: 1.05rem;
    color: #4A5568;
    line-height: 1.6;
}

.premium-accordion-content em {
    display: block;
    margin-top: 1rem;
    color: var(--color-blue-medium);
    font-style: italic;
    font-weight: 500;
}

/* Responsive */
@media (max-width: 900px) {
    .faq-split-layout {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .faq-sidebar {
        position: static;
        margin-bottom: 2rem;
    }

    .faq-nav ul {
        display: flex;
        overflow-x: auto;
        padding-bottom: 1rem;
        gap: 0.5rem;
    }

    .faq-nav-item {
        white-space: nowrap;
        margin-bottom: 0;
    }
}

/* ==========================================================================
   MEGA-FOOTER INSTITUTIONNEL
   ========================================================================== */
.mega-footer {
    background-color: var(--color-blue-night);
    color: white;
    padding: 6rem 5% 2rem;
    font-family: var(--font-body);
}

.mega-footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 4rem;
    max-width: 1200px;
    margin: 0 auto;
    margin-bottom: 4rem;
}

/* Titles */
.mega-footer-title {
    font-family: var(--font-heading);
    color: white;
    font-size: 1.1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 1.5rem;
}

/* Brand Column */
.footer-brand .footer-logo {
    height: 45px;
    margin-bottom: 1.5rem;
    filter: brightness(0) invert(1);
    opacity: 0.9;
}

.footer-brand p {
    color: #94A3B8;
    line-height: 1.6;
    font-size: 0.95rem;
    max-width: 90%;
}

/* Link Columns */
.footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-links li {
    margin-bottom: 0.8rem;
}

.footer-links a,
.footer-contact p a {
    color: #94A3B8;
    text-decoration: none;
    font-size: 0.95rem;
    transition: all 0.3s ease;
    display: inline-block;
}

.footer-links a:hover,
.footer-contact p a:hover {
    color: white;
    transform: translateX(3px);
}

/* Contact Column */
.footer-contact p {
    margin-bottom: 0.8rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.footer-contact .btn-primary {
    display: inline-block;
    background: white;
    color: var(--color-blue-night);
    padding: 0.8rem 1.5rem;
    margin-top: 1rem;
    font-size: 0.9rem;
    font-weight: 600;
    border-radius: 50px;
    transition: all 0.3s ease;
}

.footer-contact .btn-primary:hover {
    background: var(--color-yellow-warm);
    color: var(--color-blue-night);
    transform: translateY(-2px);
}

/* Bottom Bar */
.mega-footer-bottom {
    max-width: 1200px;
    margin: 0 auto;
    padding-top: 2rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1.5rem;
}

.footer-copyright {
    color: #64748B;
    font-size: 0.85rem;
}

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

.footer-legal-links a {
    color: #64748B;
    font-size: 0.85rem;
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-legal-links a:hover {
    color: white;
}

/* Social Icons */
.footer-socials {
    display: flex;
    gap: 1rem;
}

.social-icon-link {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.05);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #CBD5E1;
    transition: all 0.3s ease;
    text-decoration: none;
}

.social-icon-link:hover {
    background: var(--color-blue-medium);
    color: white;
    transform: translateY(-3px);
}

/* Mobile Responsive Mega Footer */
@media (max-width: 900px) {
    .mega-footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 3rem;
    }
}

@media (max-width: 768px) {
    .mega-footer {
        padding: 5rem 5% 2rem;
    }

    .mega-footer-grid {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .mega-footer-bottom {
        flex-direction: column;
        justify-content: center;
        text-align: center;
        gap: 1rem;
    }

    .footer-legal-links {
        justify-content: center;
        flex-wrap: wrap;
        gap: 1rem;
    }
}

/* ==========================================================================
   MOBILE UX/UI OVERHAUL — DEFINITIVE PATCH v3
   Covers Phase 1 (Hotfixes) + Phase 2 (Deep Scan Site-Wide)
   ========================================================================== */
@media (max-width: 768px) {

    /* ===================================================================
       PHASE 2 — DEEP SCAN : OVERFLOW HORIZONTAL (Global Safety Net)
       =================================================================== */
    html,
    body {
        overflow-x: hidden !important;
        max-width: 100%;
    }

    /* Prevent any element from exceeding viewport width */
    main,
    section,
    .container {
        overflow-x: hidden;
        max-width: 100%;
    }

    /* Text overflow protection on all text nodes */
    p,
    li,
    h1,
    h2,
    h3,
    h4,
    blockquote,
    span,
    a {
        overflow-wrap: break-word;
        word-break: break-word;
    }

    /* ===================================================================
       PHASE 2 — Z-INDEX HIERARCHY (Invisible Walls & Layering)
       The definitive stack, from bottom to top:
       content (auto) < header (1000) < overlay (1050) < menu (1100)
       =================================================================== */

    /* Overlays/modals that are hidden must NEVER block interactions */
    .offcanvas-overlay {
        pointer-events: none;
        /* Default: no blocking */
    }

    .offcanvas-overlay.active {
        pointer-events: auto;
        /* Only active when visible */
    }

    /* ===================================================================
       PHASE 1 — HOTFIX 1 : HEADER RÉPARATION
       Root cause: `.logo-center` avec `position:absolute` + notre `filter:none`
       + les overrides `width:100%` sur `.btn` écrasaient `.menu-btn`
       =================================================================== */

    /* Header structure on mobile: burger left, logo center */
    header,
    .header-home {
        height: 64px !important;
    }

    .header-inner {
        justify-content: space-between !important;
        padding: 0 1rem !important;
        position: relative;
    }

    /* CRITICAL: Logo absolute must be kept relative to its parent on mobile */
    .logo-center {
        position: relative !important;
        left: auto !important;
        top: auto !important;
        transform: none !important;
        margin: 0 auto !important;
        /* Center it naturally in the flex row */
    }

    .logo-center img {
        height: 40px !important;
        width: auto !important;
        filter: none !important;
        /* Restore original colors */
        display: block;
    }

    /* Remove any decorative element that could appear as a "sphere" */
    .header-inner::before,
    .header-inner::after,
    .logo-center::before,
    .logo-center::after {
        display: none !important;
    }

    /* Hide CTA button in header — users use the burger menu */
    .header-right {
        display: none !important;
    }

    /* Burger button: visible, properly sized */
    .menu-btn {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: transparent !important;
        border: 2px solid var(--color-blue-night) !important;
        color: var(--color-blue-night) !important;
        width: 44px !important;
        height: 44px !important;
        padding: 0 !important;
        border-radius: 50% !important;
        flex-shrink: 0 !important;
        z-index: 1001 !important;
    }

    .menu-btn .menu-text {
        display: none !important;
        /* Icon only on mobile */
    }

    .menu-icon {
        font-size: 1.4rem;
        line-height: 1;
    }

    /* ===================================================================
       PHASE 1 — HOTFIX 2 : HERO BUTTONS — Gap + Stacking
       =================================================================== */

    /* The hero button wrapper needs display:flex to honor flex props */
    .hero-buttons,
    .cta-group,
    .bouton-group {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 1rem !important;
        width: 100% !important;
    }

    /* Buttons inside hero stacks: full-width, no forced margin-left */
    .hero-buttons .btn,
    .hero-buttons a,
    .cta-group .btn,
    .cta-group a {
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        text-align: center !important;
        justify-content: center !important;
    }

    /* ===================================================================
       PHASE 1 — HOTFIX 3 : SCROLL TRAP HERO
       `.hero-collage` has z-index: 10 and blocks touch scroll.
       =================================================================== */
    .hero-collage {
        pointer-events: none !important;
        /* Collage purely decorative on mobile */
        z-index: 0 !important;
        /* Show only the first image */
        display: grid !important;
        grid-template-columns: 1fr !important;
        grid-template-rows: 220px !important;
        margin-top: 2rem !important;
        margin-bottom: 1rem !important;
        gap: 0 !important;
    }

    .hero-collage .collage-item {
        pointer-events: none !important;
        transform: none !important;
        /* Remove rotation that causes layout issues */
    }

    /* Hide images 2, 3, 4 of collage on mobile */
    .hero-collage .collage-item:nth-child(n+2) {
        display: none !important;
    }

    .hero-collage img {
        pointer-events: none !important;
        height: 220px !important;
        width: 100% !important;
        object-fit: cover !important;
    }

    /* ===================================================================
       PHASE 1 — HOTFIX 4 : INTERNAL SCROLL (Bento / Cards)
       Remove any overflow-y that causes internal scrolling on cards.
       =================================================================== */
    .bento-grand,
    .bento-small,
    .bento-card,
    .program-card,
    .stat-card,
    .faq-item,
    .testimonial-card {
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }

    /* ===================================================================
       PHASE 2 — DEEP SCAN : GRIDS → SINGLE COLUMN STACKING
       =================================================================== */
    .hero-collage,
    /* already handled above but kept for specificity */
    .premium-bento-fusion,
    .split-screen-layout,
    .split-layout,
    .frais-asym-grid,
    .faq-split-layout,
    .premium-timeline-grid,
    .brutalist-grid,
    .public-grid,
    .overlap-grid,
    .comparison-grid,
    .risk-grid,
    .audience-grid,
    .rt-students-grid,
    .rt-cases-grid,
    .rt-bento-grid-v2,
    .admission-grid,
    .uni-grid,
    .programs-grid,
    .testimonials-grid,
    .social-grid,
    .bento-grid,
    .stats-bar {
        display: flex !important;
        flex-direction: column !important;
        gap: 1.5rem !important;
    }

    /* Images in any grid context: safe default */
    .bento-grand img,
    .bento-small img,
    .content-wrapper img,
    .split-screen-layout img,
    figure img,
    .program-image img {
        width: 100% !important;
        height: auto !important;
        object-fit: cover !important;
        display: block;
    }

    /* Keep text content before visual elements */
    .sticky-card-wrapper,
    .frais-card-main {
        order: -1 !important;
    }

    /* ===================================================================
       PHASE 2 — DEEP SCAN : TYPOGRAPHIE FLUIDE
       =================================================================== */
    h1 {
        font-size: clamp(1.9rem, 7.5vw, 2.8rem) !important;
        line-height: 1.2 !important;
    }

    h2,
    .section-title {
        font-size: clamp(1.6rem, 5.5vw, 2.2rem) !important;
        line-height: 1.25 !important;
    }

    /* Minimum 16px on all text to prevent iOS Safari auto-zoom */
    p,
    li,
    .nav-item,
    .faq-answer,
    input,
    textarea,
    select {
        font-size: 16px !important;
    }

    /* ===================================================================
       PHASE 2 — DEEP SCAN : ESPACEMENT (Spacing)
       =================================================================== */
    .hero {
        padding-top: 6rem !important;
        padding-bottom: 2rem !important;
    }

    section {
        padding-top: 3.5rem !important;
        padding-bottom: 3.5rem !important;
    }

    .timeline-section,
    .scarcity-block,
    .financial-faq,
    .dark-section-navy {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }

    .stats-bar {
        margin-top: 2rem !important;
        margin-bottom: 1.5rem !important;
    }

    /* ===================================================================
       PHASE 2 — DEEP SCAN : BUTTONS — Consistent, Never Broken
       NOTE: We do NOT apply width:100% to ALL .btn — only CTA contexts.
       The .menu-btn must remain circular (handled above separately).
       =================================================================== */
    .btn,
    a.btn-primary,
    .btn-premium,
    .btn-white,
    .btn-outline,
    .btn-secondary {
        min-height: 44px !important;
        height: auto !important;
        white-space: normal !important;
        line-height: 1.4 !important;
        text-align: center !important;
        padding: 0.9rem 1.5rem !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
    }

    /* ===================================================================
       PHASE 2 — DEEP SCAN : HOVER STATES on TOUCH DEVICES
       Disable complex hover transforms that can get "stuck" on mobile.
       =================================================================== */

    /* ===================================================================
       PHASE 2 — DEEP SCAN : TOUCH-FRIENDLY FAQ TARGETS
       =================================================================== */
    .faq-item {
        padding: 0.25rem 0;
    }

    .faq-question,
    .premium-accordion-summary {
        min-height: 44px;
        padding-top: 1rem;
        padding-bottom: 1rem;
    }

    /* ===================================================================
       PHASE 2 — DEEP SCAN : FAQ TAB NAV — Horizontal Scroll Pills
       =================================================================== */
    .faq-nav ul {
        display: flex !important;
        overflow-x: auto !important;
        flex-wrap: nowrap !important;
        -webkit-overflow-scrolling: touch !important;
        gap: 0.75rem !important;
        padding-bottom: 1rem !important;
        scrollbar-width: none !important;
    }

    .faq-nav ul::-webkit-scrollbar {
        display: none !important;
    }

    .faq-nav-item {
        flex-shrink: 0 !important;
        white-space: nowrap !important;
    }

    /* ===================================================================
       PHASE 2 — DEEP SCAN : OFFCANVAS MENU — Full Screen
       =================================================================== */
    .offcanvas-menu {
        width: 100vw !important;
        max-width: 100vw !important;
        height: 100vh !important;
    }

    .close-menu-btn {
        width: 44px !important;
        height: 44px !important;
        flex-shrink: 0;
    }

    /* ===================================================================
       PHASE 2 — DEEP SCAN : Z-INDEX COLLISION FIX
       WhatsApp float must sit BELOW the offcanvas overlay (1050)
       =================================================================== */
    .whatsapp-floater,
    a[href*="wa.me"] {
        z-index: 1000 !important;
    }

    /* ===================================================================
       FIX 1 — STEP NUMBERS : Prevent digit stacking on narrow containers
       =================================================================== */
    .acc-number,
    .step-num,
    .phase-number,
    .benefit-item .step-number {
        white-space: nowrap !important;
        min-width: max-content !important;
        font-size: 2.5rem !important;
        letter-spacing: normal !important;
        display: inline-block !important;
    }

    /* ===================================================================
       FIX 2 — SERVICE-LIST GRID : Single column on mobile
       Overrides both the inline style and the global grid class
       =================================================================== */
    .service-list,
    .service-list-grid {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: 1fr !important;
        column-count: 1 !important;
        gap: 0.75rem !important;
    }

    /* ===================================================================
       FIX 3 — FAQ SCROLL TRAP : Remove internal scroll from FAQ containers
       =================================================================== */
    .faq-section,
    .faq-container,
    .faq-grid,
    .premium-accordion,
    .premium-accordion-content,
    .financial-faq,
    section#faq {
        overflow: visible !important;
        height: auto !important;
        max-height: none !important;
        overflow-y: visible !important;
    }

}

/* ==========================================================================
   INLINE STYLES EXTRACTED FROM SECONDARY PAGES
   ========================================================================== */

/* Extracted from pourquoi-euromentor.html */
@media (max-width: 900px) {
                    .audience-image {
                        display: none !important;
                    }
                }

/* Extracted from contact.html */
/* ============================================
           PAGE-SPECIFIC STYLES — Contact VIP
           ============================================ */
        body {
            background-color: #F8FAFC;
        }

        /* ---------- HERO MINIMALISTE ---------- */
        .vip-hero {
            padding: 11rem 0 3rem;
            text-align: center;
        }

        .vip-hero h1 {
            font-family: 'Outfit', sans-serif;
            font-size: clamp(2.5rem, 5vw, 4.2rem);
            font-weight: 800;
            color: var(--color-blue-night, #0F2A44);
            letter-spacing: -0.03em;
            margin-bottom: 1.5rem;
            line-height: 1.1;
        }

        .vip-hero p {
            font-family: 'Inter', sans-serif;
            font-size: 1.25rem;
            color: #4A5568;
            max-width: 650px;
            margin: 0 auto;
            line-height: 1.6;
        }

        /* ---------- BENTO GRID ---------- */
        .bento-container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 1.5rem;
        }

        .bento-main-split {
            display: grid;
            grid-template-columns: 1.4fr 1fr;
            gap: 2rem;
            margin-bottom: 2rem;
        }

        /* Specific Cards */
        .bento-card {
            border-radius: 32px;
            padding: 4rem 3rem;
            transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
            position: relative;
            overflow: hidden;
            display: flex;
            flex-direction: column;
        }

        .bento-card:hover {
            transform: translateY(-8px);
        }

        /* WhatsApp Card - Left (Priority 1) */
        .card-wa {
            background-color: #F0FDF4;
            /* Vert très très clair */
            border: 1px solid rgba(37, 211, 102, 0.2);
            box-shadow: 0 10px 40px rgba(37, 211, 102, 0.08);
            justify-content: center;
        }

        .card-wa:hover {
            box-shadow: 0 20px 50px rgba(37, 211, 102, 0.15);
        }

        .wa-icon-wrapper {
            width: 80px;
            height: 80px;
            background: #25D366;
            border-radius: 20px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 2rem;
            box-shadow: 0 8px 25px rgba(37, 211, 102, 0.4);
        }

        .wa-icon-wrapper svg {
            width: 44px;
            height: 44px;
            fill: #ffffff;
        }

        /* Tally Card - Right (Priority 2) */
        .card-tally {
            background-color: #ffffff;
            border: 1px solid rgba(226, 232, 240, 0.8);
            box-shadow: 0 10px 40px rgba(15, 42, 68, 0.04);
            justify-content: center;
        }

        .card-tally:hover {
            box-shadow: 0 20px 50px rgba(15, 42, 68, 0.1);
        }

        .tally-icon-wrapper {
            width: 80px;
            height: 80px;
            background: #EFF6FF;
            color: var(--color-blue-medium, #1F6FB2);
            border-radius: 20px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 2rem;
        }

        .tally-icon-wrapper .material-symbols-outlined {
            font-size: 2.8rem;
        }

        /* Text styles inside columns */
        .bento-card h2 {
            font-family: 'Outfit', sans-serif;
            font-size: 2.2rem;
            font-weight: 700;
            color: var(--color-blue-night, #0F2A44);
            margin-bottom: 1rem;
            letter-spacing: -0.02em;
        }

        .bento-card p {
            font-family: 'Inter', sans-serif;
            font-size: 1.1rem;
            color: #4A5568;
            line-height: 1.6;
            margin-bottom: 2.5rem;
            flex-grow: 1;
        }

        /* Call To Actions */
        .btn-massive-wa {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0.8rem;
            background-color: #25D366;
            color: #ffffff !important;
            padding: 1.25rem 2.8rem;
            border-radius: 16px;
            font-family: 'Inter', sans-serif;
            font-weight: 600;
            font-size: 1.15rem;
            text-decoration: none;
            transition: all 0.3s ease;
            width: fit-content;
            box-shadow: 0 8px 25px rgba(37, 211, 102, 0.3);
            position: relative;
            overflow: hidden;
        }

        .btn-massive-wa::before {
            content: "";
            position: absolute;
            top: 0;
            left: -100%;
            width: 50%;
            height: 100%;
            background: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0));
            transform: skewX(-25deg);
            animation: shine 4s infinite;
        }

        @keyframes shine {
            0% {
                left: -100%;
            }

            20% {
                left: 200%;
            }

            100% {
                left: 200%;
            }
        }

        .btn-massive-wa:hover {
            background-color: #20BA56;
            transform: translateY(-3px) scale(1.02);
            box-shadow: 0 12px 35px rgba(37, 211, 102, 0.4);
        }

        .btn-massive-blue {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0.8rem;
            background-color: var(--color-blue-medium, #1F6FB2);
            color: #ffffff !important;
            padding: 1.25rem 2.8rem;
            border-radius: 16px;
            font-family: 'Inter', sans-serif;
            font-weight: 600;
            font-size: 1.15rem;
            text-decoration: none;
            transition: all 0.3s ease;
            width: fit-content;
            box-shadow: 0 8px 25px rgba(31, 111, 178, 0.25);
        }

        .btn-massive-blue:hover {
            background-color: var(--color-blue-night, #0F2A44);
            transform: translateY(-3px) scale(1.02);
            box-shadow: 0 12px 35px rgba(15, 42, 68, 0.3);
        }

        .micro-copy {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            margin-top: 1.2rem;
            font-size: 0.95rem;
            color: #166534;
            /* Darker green for contrast */
            font-weight: 500;
        }

        .micro-copy .material-symbols-outlined {
            font-size: 1.2rem;
            color: #166534;
        }

        /* ---------- SOCIAL BENTO (BOTTOM ROW) ---------- */
        .bento-social-split {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 2rem;
            padding-bottom: 8rem;
        }

        .bento-small-card {
            background: #ffffff;
            border-radius: 24px;
            padding: 2.5rem 2rem;
            border: 1px solid rgba(226, 232, 240, 0.8);
            transition: all 0.4s ease;
            display: flex;
            flex-direction: column;
        }

        .bento-small-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 15px 35px rgba(15, 42, 68, 0.08);
            border-color: rgba(31, 111, 178, 0.15);
        }

        .sm-icon-wrapper {
            width: 60px;
            height: 60px;
            background: #EFF6FF;
            border-radius: 16px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 1.2rem;
            color: var(--color-blue-medium, #1F6FB2);
        }

        .sm-icon-wrapper .material-symbols-outlined {
            font-size: 2rem;
        }

        .bento-small-card h3 {
            font-family: 'Outfit', sans-serif;
            font-size: 1.4rem;
            font-weight: 700;
            color: var(--color-blue-night);
            margin-bottom: 0.8rem;
        }

        .bento-small-card p {
            font-family: 'Inter', sans-serif;
            font-size: 0.95rem;
            color: #64748B;
            line-height: 1.6;
            margin-bottom: 1.5rem;
            flex-grow: 1;
        }

        /* Email List Styles */
        .email-list {
            list-style: none;
            padding: 0;
            margin: 0;
            display: flex;
            flex-direction: column;
            gap: 1rem;
        }

        .email-list li a {
            color: var(--color-blue-night);
            text-decoration: none;
            font-weight: 500;
            font-size: 0.95rem;
            display: flex;
            align-items: center;
            gap: 0.6rem;
            transition: color 0.2s ease, transform 0.2s ease;
            padding: 0.6rem 0.8rem;
            background: #F8FAFC;
            border-radius: 10px;
            border: 1px solid transparent;
        }

        .email-list li a .material-symbols-outlined {
            font-size: 1.1rem;
            color: var(--color-blue-medium);
            transition: color 0.2s ease;
        }

        .email-list li a:hover {
            color: var(--color-blue-medium);
            background: #ffffff;
            border-color: rgba(31, 111, 178, 0.2);
            transform: translateX(4px);
            box-shadow: 0 4px 12px rgba(31, 111, 178, 0.05);
        }

        /* Social Grid */
        .social-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 1rem;
            margin-top: auto;
        }

        .social-circle {
            width: 100%;
            aspect-ratio: 1;
            border-radius: 16px;
            background: #F8FAFC;
            display: flex;
            align-items: center;
            justify-content: center;
            text-decoration: none;
            color: var(--color-blue-night);
            transition: all 0.3s ease;
            border: 1px solid rgba(226, 232, 240, 0.5);
        }

        .social-circle svg {
            width: 26px;
            height: 26px;
            transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
            fill: currentColor;
        }

        .social-circle:hover {
            background: var(--color-blue-medium);
            color: white;
            border-color: var(--color-blue-medium);
            transform: translateY(-4px);
            box-shadow: 0 8px 20px rgba(31, 111, 178, 0.25);
        }

        .social-circle:hover svg {
            transform: scale(1.15) rotate(4deg);
        }

        /* Local Presence list */
        .presence-list {
            list-style: none;
            padding: 0;
            margin: 0;
            display: flex;
            flex-direction: column;
            gap: 0.8rem;
        }

        .presence-list li {
            display: flex;
            align-items: flex-start;
            gap: 0.6rem;
            font-size: 0.95rem;
            color: #4A5568;
            font-family: 'Inter', sans-serif;
            background: #F8FAFC;
            padding: 0.8rem 1rem;
            border-radius: 10px;
        }

        .presence-list li .material-symbols-outlined {
            color: var(--color-blue-medium);
            font-size: 1.2rem;
            flex-shrink: 0;
            margin-top: 2px;
        }

        /* Responsive */
        @media (max-width: 1024px) {
            .bento-main-split {
                grid-template-columns: 1fr;
            }

            .bento-social-split {
                grid-template-columns: 1fr 1fr;
            }
        }

        @media (max-width: 768px) {
            .vip-hero {
                padding: 8rem 0 2rem;
            }

            .vip-hero h1 {
                font-size: 2.2rem;
            }

            .bento-social-split {
                grid-template-columns: 1fr;
                padding-bottom: 5rem;
            }

            .bento-card {
                padding: 2.5rem 1.5rem;
            }

            .btn-massive-wa,
            .btn-massive-blue {
                width: 100%;
                font-size: 1.05rem;
            }
        }

/* Extracted from comment-ca-marche.html */
:root {
            --bg-body-dark: #0B1120;
            --text-muted: #94A3B8;
            --accent-gold: var(--color-yellow-warm);
        }

        body {
            background-color: #FAFAFA;
            /* Off-white premium base */
        }

        /* HERO - Editorial Swiss Premium (Structured & Effortful) */
        .editorial-hero {
            position: relative;
            background-color: #FAFAFA;
            background-image:
                radial-gradient(ellipse at 80% -20%, rgba(31, 111, 178, 0.08) 0%, transparent 50%),
                radial-gradient(ellipse at 20% 120%, rgba(226, 232, 240, 0.8) 0%, transparent 50%);
            overflow: hidden;
            padding: 7rem 5% 6rem;
            display: flex;
            align-items: center;
            border-bottom: 1px solid rgba(31, 111, 178, 0.05);
        }

        /* Ambient grid pattern for the Swiss architectural feel */
        .editorial-hero::before {
            content: '';
            position: absolute;
            inset: 0;
            background-image: linear-gradient(rgba(31, 111, 178, 0.03) 1px, transparent 1px),
                linear-gradient(90deg, rgba(31, 111, 178, 0.03) 1px, transparent 1px);
            background-size: 40px 40px;
            z-index: 0;
            pointer-events: none;
        }

        .hero-container {
            max-width: 1250px;
            margin: 0 auto;
            position: relative;
            z-index: 10;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 4rem;
            align-items: center;
        }

        .hero-text-content {
            padding-right: 2rem;
        }

        .hero-badge-premium {
            display: inline-flex;
            align-items: center;
            gap: 0.75rem;
            padding: 0.5rem 1rem 0.5rem 0.6rem;
            background: white;
            border: 1px solid rgba(31, 111, 178, 0.1);
            border-radius: 100px;
            font-family: var(--font-body);
            font-size: 0.8rem;
            font-weight: 600;
            color: var(--color-blue-night);
            letter-spacing: 1px;
            text-transform: uppercase;
            margin-bottom: 2.5rem;
            box-shadow: 0 4px 12px rgba(15, 42, 68, 0.04);
        }

        .badge-dot-pulse {
            width: 8px;
            height: 8px;
            background-color: var(--color-blue-medium);
            border-radius: 50%;
            display: inline-block;
            box-shadow: 0 0 0 0 rgba(31, 111, 178, 0.4);
            animation: pulse-dot 2s infinite;
        }

        @keyframes pulse-dot {
            0% {
                transform: scale(0.95);
                box-shadow: 0 0 0 0 rgba(31, 111, 178, 0.4);
            }

            70% {
                transform: scale(1);
                box-shadow: 0 0 0 6px rgba(31, 111, 178, 0);
            }

            100% {
                transform: scale(0.95);
                box-shadow: 0 0 0 0 rgba(31, 111, 178, 0);
            }
        }

        .editorial-h1 {
            font-size: clamp(2.5rem, 4vw, 3.8rem);
            font-weight: 600;
            line-height: 1.1;
            letter-spacing: -0.02em;
            color: var(--color-blue-night);
            margin-bottom: 1.5rem;
        }

        .editorial-subtitle {
            font-family: var(--font-body);
            font-size: 1.15rem;
            color: #4A5568;
            line-height: 1.7;
            font-weight: 400;
            margin-bottom: 2.5rem;
            max-width: 550px;
        }

        .hero-cta-group {
            display: flex;
            align-items: center;
            gap: 1.5rem;
        }

        .btn-premium-solid {
            background: var(--color-blue-night);
            color: white;
            padding: 1rem 2.5rem;
            border-radius: 50px;
            font-family: var(--font-heading);
            font-weight: 600;
            text-decoration: none;
            transition: all 0.3s ease;
            box-shadow: 0 10px 20px rgba(11, 17, 32, 0.1);
        }

        .btn-premium-solid:hover {
            background: var(--color-blue-medium);
            transform: translateY(-2px);
            box-shadow: 0 15px 25px rgba(31, 111, 178, 0.2);
        }

        .btn-premium-outline {
            color: var(--color-blue-night);
            font-weight: 600;
            text-decoration: none;
            display: flex;
            align-items: center;
            gap: 0.5rem;
            border-bottom: 1px solid transparent;
            padding-bottom: 0.2rem;
            transition: all 0.3s ease;
        }

        .btn-premium-outline:hover {
            border-bottom-color: var(--color-blue-night);
            gap: 0.8rem;
        }

        /* Abstract Premium Method Visual */
        .hero-visual-abstract {
            position: relative;
            width: 100%;
            height: 100%;
            min-height: 480px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .abstract-glass-card {
            background: rgba(255, 255, 255, 0.85);
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
            border: 1px solid rgba(255, 255, 255, 1);
            border-radius: 24px;
            padding: 3rem;
            width: 100%;
            max-width: 500px;
            box-shadow: 0 30px 60px rgba(15, 42, 68, 0.08), inset 0 0 0 1px rgba(255, 255, 255, 0.5);
            position: relative;
            z-index: 2;
        }

        .abstract-step {
            display: flex;
            align-items: flex-start;
            gap: 1.5rem;
            margin-bottom: 2.5rem;
            position: relative;
        }

        .abstract-step:last-child {
            margin-bottom: 0;
        }

        /* Connecting line */
        .abstract-step::after {
            content: '';
            position: absolute;
            left: 24px;
            top: 55px;
            bottom: -35px;
            width: 1px;
            background: linear-gradient(to bottom, var(--color-blue-medium) 0%, transparent 100%);
            opacity: 0.3;
        }

        .abstract-step:last-child::after {
            display: none;
        }

        .step-icon-box {
            width: 48px;
            height: 48px;
            border-radius: 14px;
            background: white;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: 700;
            color: var(--color-blue-night);
            font-family: var(--font-heading);
            font-size: 1.2rem;
            box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
            border: 1px solid #F8FAFC;
            flex-shrink: 0;
            z-index: 2;
        }

        .abstract-step:first-child .step-icon-box {
            background: var(--color-blue-night);
            color: white;
        }

        .step-content h4 {
            font-family: var(--font-heading);
            font-weight: 600;
            color: var(--color-blue-night);
            font-size: 1.15rem;
            margin-bottom: 0.4rem;
            margin-top: 0.2rem;
            letter-spacing: -0.01em;
        }

        .step-content p {
            font-family: var(--font-body);
            font-size: 0.95rem;
            color: #64748B;
            line-height: 1.6;
            margin: 0;
        }

        .step-status {
            font-size: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 1px;
            font-weight: 700;
            color: var(--color-blue-medium);
            margin-top: 0.6rem;
            display: inline-block;
        }

        /* Decorative background elements */
        .deco-circle-1 {
            position: absolute;
            top: -30px;
            right: -40px;
            width: 250px;
            height: 250px;
            background: linear-gradient(135deg, var(--color-blue-medium) 0%, rgba(31, 111, 178, 0.1) 100%);
            border-radius: 50%;
            filter: blur(50px);
            z-index: 1;
            opacity: 0.3;
        }

        .deco-circle-2 {
            position: absolute;
            bottom: -40px;
            left: -20px;
            width: 300px;
            height: 300px;
            background: linear-gradient(135deg, var(--color-yellow-warm) 0%, transparent 100%);
            border-radius: 50%;
            filter: blur(60px);
            z-index: 1;
            opacity: 0.2;
        }

        .floating-metric {
            position: absolute;
            bottom: -20px;
            right: -20px;
            background: white;
            border-radius: 16px;
            padding: 1rem 1.5rem;
            box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08);
            border: 1px solid rgba(0, 0, 0, 0.02);
            z-index: 3;
            display: flex;
            align-items: center;
            gap: 1rem;
            animation: float 6s ease-in-out infinite;
        }

        @keyframes float {
            0% {
                transform: translateY(0px);
            }

            50% {
                transform: translateY(-10px);
            }

            100% {
                transform: translateY(0px);
            }
        }

        .metric-val {
            font-family: var(--font-heading);
            font-size: 1.8rem;
            font-weight: 800;
            color: var(--color-blue-night);
            line-height: 1;
        }

        .metric-label {
            font-size: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            color: #64748B;
            line-height: 1.2;
            font-weight: 600;
        }

        @media (max-width: 900px) {
            .hero-container {
                grid-template-columns: 1fr;
                gap: 4rem;
            }

            .hero-text-content {
                padding-right: 0;
            }

            .editorial-hero {
                padding: 6rem 5% 4rem;
            }

            .floating-metric {
                display: none;
            }
        }

        /* THE SPLIT-SCREEN PHASES LAYOUT */
        .phase-section {
            padding: 8rem 0;
            position: relative;
            background: transparent;
        }

        .phase-section.dark {
            background: var(--bg-body-dark);
            color: white;
        }

        .split-layout {
            display: grid;
            grid-template-columns: 1fr 1.5fr;
            gap: 4rem;
            max-width: 1300px;
            margin: 0 auto;
            padding: 0 5%;
        }

        /* Sticky Left Column */
        .phase-sticky-header {
            position: sticky;
            top: 140px;
            /* Below fixed menu */
            height: fit-content;
        }

        .phase-number {
            font-family: var(--font-heading);
            font-size: 8rem;
            font-weight: 800;
            line-height: 0.8;
            color: rgba(31, 111, 178, 0.1);
            /* Light ghost number */
            position: absolute;
            top: -40px;
            left: -20px;
            z-index: 0;
        }

        .dark .phase-number {
            color: rgba(255, 255, 255, 0.05);
            /* Ghost on dark */
        }

        .phase-title {
            font-size: clamp(2rem, 3vw, 3rem);
            font-weight: 700;
            line-height: 1.1;
            margin-bottom: 1.5rem;
            color: var(--color-blue-night);
            position: relative;
            z-index: 1;
        }

        .dark .phase-title {
            color: white;
        }

        .phase-desc {
            font-size: 1.15rem;
            color: #4A5568;
            line-height: 1.6;
            position: relative;
            z-index: 1;
        }

        .dark .phase-desc {
            color: var(--text-muted);
        }

        /* Asymmetrical Right Column */
        .phase-cards-wrapper {
            display: grid;
            grid-template-columns: 1fr;
            gap: 2.5rem;
            padding-top: 4rem;
            /* Offset from title */
        }

        /* Staggered effect */
        .phase-cards-wrapper>div:nth-child(even) {
            transform: translateX(40px);
            /* Push right slightly */
        }

        .detail-block {
            background: white;
            padding: 3rem;
            border-radius: 24px;
            box-shadow: 0 10px 30px rgba(15, 42, 68, 0.04);
            border: 1px solid #F1F5F9;
            position: relative;
            transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease;
        }

        .dark .detail-block {
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.08);
            box-shadow: none;
        }

        .detail-block:hover {
            transform: translateY(-5px);
            box-shadow: 0 20px 40px rgba(15, 42, 68, 0.08);
        }

        .detail-h3 {
            font-size: 1.5rem;
            font-weight: 600;
            color: var(--color-blue-night);
            margin-bottom: 2rem;
            letter-spacing: -0.01em;
            display: flex;
            align-items: baseline;
            gap: 1rem;
        }

        .dark .detail-h3 {
            color: white;
        }

        .step-index {
            font-family: var(--font-heading);
            font-size: 0.9rem;
            font-weight: 700;
            color: var(--color-blue-medium);
            letter-spacing: 2px;
            /* Small bar over the number */
            position: relative;
        }

        .dark .step-index {
            color: var(--color-blue-soft);
        }

        .editorial-list {
            list-style: none;
            padding: 0;
            margin: 0;
            display: grid;
            /* For possible 2-col nested */
            gap: 1rem;
        }

        .editorial-list li {
            position: relative;
            padding-left: 1.5rem;
            font-size: 1.05rem;
            color: #4A5568;
            line-height: 1.5;
        }

        .dark .editorial-list li {
            color: #A0AEC0;
        }

        .editorial-list li::before {
            content: '';
            position: absolute;
            left: 0;
            top: 10px;
            width: 6px;
            height: 6px;
            border-radius: 50%;
            background: var(--color-blue-medium);
        }

        .dark .editorial-list li::before {
            background: var(--color-blue-soft);
        }

        /* The 'Alert/Caution' Box - Premium restyling */
        .editorial-caution {
            background: rgba(255, 209, 102, 0.1);
            border: 1px solid rgba(255, 209, 102, 0.2);
            border-radius: 12px;
            padding: 1.5rem;
            margin-top: 1.5rem;
            font-family: var(--font-body);
            color: #4A5568;
        }

        .dark .editorial-caution {
            background: rgba(239, 68, 68, 0.1);
            border: 1px solid rgba(239, 68, 68, 0.2);
            border-radius: 12px;
            color: #FCA5A5;
        }

        .caution-title {
            font-family: var(--font-heading);
            font-weight: 700;
            color: var(--color-blue-night);
            margin-bottom: 0.8rem;
            text-transform: uppercase;
            font-size: 0.85rem;
            letter-spacing: 1.5px;
        }

        .dark .caution-title {
            color: white;
        }


        /* CTA Block - Full Width Contrast */
        .massive-cta-section {
            background: var(--color-blue-night);
            color: white;
            padding: 10rem 5%;
            text-align: center;
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        .cta-display-text {
            font-size: clamp(2rem, 4vw, 3.5rem);
            font-family: var(--font-heading);
            font-weight: 700;
            line-height: 1.1;
            letter-spacing: -0.02em;
            max-width: 900px;
            margin-bottom: 3rem;
        }

        .btn-editorial {
            background: white;
            color: var(--color-blue-night);
            padding: 1.2rem 3rem;
            font-family: var(--font-heading);
            font-weight: 600;
            font-size: 1.1rem;
            border-radius: 50px;
            transition: all 0.3s;
            text-decoration: none;
            display: inline-block;
            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
        }

        .btn-editorial:hover {
            background: var(--color-blue-medium);
            color: white;
        }

        @media (max-width: 900px) {
            .split-layout {
                grid-template-columns: 1fr;
                gap: 2rem;
            }

            .phase-sticky-header {
                position: relative;
                top: 0;
            }

            .phase-cards-wrapper {
                padding-top: 1rem;
            }

            .phase-cards-wrapper>div:nth-child(even) {
                transform: none;
                /* Remove stagger on mobile */
            }

            .detail-block {
                padding: 2rem;
            }
        }

/* Extracted from medecine.html */
:root {
            --bg-light: #F8FAFC;
            --bg-dark: #0B1120;
            --accent: #1F6FB2;
            --accent-gold: #FFD166;
            --text-main: #1C1F23;
            --text-muted: #64748B;
        }

        body {
            background-color: var(--bg-light);
            font-family: var(--font-body);
        }

        /* ----- HERO SECTION ----- */
        .med-hero {
            min-height: 60vh;
            display: flex;
            align-items: center;
            position: relative;
            overflow: hidden;
            background: var(--bg-light);
            padding-top: 60px;
        }

        .hero-container {
            max-width: 1400px;
            margin: 0 auto;
            padding: 0 5%;
            width: 100%;
            position: relative;
            z-index: 10;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 2rem;
            align-items: center;
        }

        .hero-title {
            font-family: var(--font-heading);
            font-size: clamp(2.5rem, 4vw, 3.8rem);
            font-weight: 800;
            line-height: 1.1;
            color: var(--color-blue-night);
            letter-spacing: -0.02em;
            margin-bottom: 1.5rem;
            position: relative;
        }

        .hero-title span.highlight {
            background-color: #1F6FB2;
            color: white;
            padding: 0.2rem 1rem;
            display: inline-block;
            margin-top: 0.5rem;
            border-radius: 12px;
        }

        .hero-desc {
            font-size: 1.05rem;
            color: var(--text-muted);
            line-height: 1.6;
            margin-bottom: 2.5rem;
            max-width: 550px;
            font-weight: 400;
        }

        .soft-cta-group {
            display: flex;
            gap: 1.5rem;
            align-items: center;
        }

        .btn-premium {
            background: var(--color-blue-night);
            color: white;
            padding: 1.2rem 2.5rem;
            border-radius: 50px;
            font-family: var(--font-heading);
            font-weight: 600;
            text-decoration: none;
            transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
            position: relative;
            overflow: hidden;
        }

        .btn-premium:hover {
            transform: translateY(-4px);
            box-shadow: 0 20px 40px rgba(15, 42, 68, 0.2);
            background: var(--accent);
        }

        .btn-ghost {
            color: var(--color-blue-night);
            font-weight: 600;
            text-decoration: none;
            position: relative;
            font-family: var(--font-heading);
        }

        .btn-ghost::after {
            content: '';
            position: absolute;
            bottom: -4px;
            left: 0;
            width: 0%;
            height: 2px;
            background: var(--accent);
            transition: width 0.3s;
        }

        .btn-ghost:hover::after {
            width: 100%;
        }

        .hero-visual {
            position: relative;
            height: 600px;
        }

        .hero-img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            border-radius: 20px;
            box-shadow: 0 30px 60px rgba(15, 42, 68, 0.1);
        }

        /* Overlapping Stats */
        .floating-stat {
            position: absolute;
            background: rgba(255, 255, 255, 0.95);
            backdrop-filter: blur(10px);
            padding: 1.5rem 2rem;
            border-radius: 16px;
            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
            border: 1px solid rgba(255, 255, 255, 0.5);
        }

        .stat-1 {
            bottom: -30px;
            left: -40px;
        }

        .stat-2 {
            top: 40px;
            right: -40px;
        }

        .stat-value {
            font-family: var(--font-heading);
            font-size: 2.5rem;
            font-weight: 800;
            line-height: 1;
            color: var(--accent);
            margin-bottom: 0.2rem;
        }

        .stat-label {
            font-size: 0.85rem;
            font-weight: 600;
            color: var(--text-muted);
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        /* ----- UNIVERSITIES LIST ----- */
        .universities-section {
            padding: 3.5rem 3.5%;
            /* Changed from 5% to 3.5% */
            background: var(--bg-light);
            max-width: 1400px;
            margin: 0 auto;
        }

        /* ----- COMMON LAYOUT ----- */
        .section-header {
            text-align: center;
            margin-bottom: 3.5rem;
        }

        .section-supertitle {
            font-family: var(--font-heading);
            font-weight: 700;
            color: var(--accent);
            text-transform: uppercase;
            letter-spacing: 2px;
            font-size: 0.9rem;
            margin-bottom: 1rem;
        }

        .section-title {
            font-family: var(--font-heading);
            font-size: clamp(2.5rem, 4vw, 4rem);
            font-weight: 800;
            color: var(--text-main);
            line-height: 1.05;
            letter-spacing: -0.02em;
        }

        /* ----- BENTO BOX: WHY ROMANIA ----- */
        .bento-section {
            padding: 3.5rem 5%;
            background: var(--bg-light);
            max-width: 1400px;
            margin: 0 auto;
        }

        .bento-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            grid-template-rows: auto auto;
            gap: 2rem;
        }

        .bento-item {
            background: white;
            border-radius: 24px;
            padding: 3rem;
            position: relative;
            overflow: hidden;
            border: 1px solid #E2E8F0;
            transition: all 0.4s ease;
        }

        .bento-item:hover {
            box-shadow: 0 25px 50px rgba(15, 42, 68, 0.05);
            transform: translateY(-5px);
        }

        .bento-large {
            grid-column: span 2;
        }

        .bento-title {
            font-family: var(--font-heading);
            font-size: 1.5rem;
            font-weight: 700;
            margin-bottom: 1rem;
            color: var(--text-main);
        }

        .bento-desc {
            color: var(--text-muted);
            line-height: 1.6;
        }

        /* ----- ADMISSION GRID ----- */
        .admission-section {
            padding: 5rem 5%;
            background: var(--bg-dark);
        }

        .admission-grid {
            max-width: 1400px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 6rem;
            align-items: center;
        }

        .admission-text-content h2 {
            color: white;
            font-size: clamp(3rem, 5vw, 4.5rem);
            line-height: 1;
            margin-bottom: 2rem;
            font-weight: 800;
        }

        .req-list {
            list-style: none;
            padding: 0;
            margin-top: 3rem;
            display: flex;
            flex-direction: column;
            gap: 2rem;
        }

        .req-item {
            display: flex;
            align-items: flex-start;
            gap: 1.5rem;
        }

        .req-number {
            font-family: var(--font-heading);
            font-size: 1.5rem;
            font-weight: 800;
            color: var(--bg-dark);
            background: var(--accent-gold);
            width: 45px;
            height: 45px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            flex-shrink: 0;
        }

        .req-text h4 {
            color: white;
            font-size: 1.3rem;
            margin-bottom: 0.5rem;
        }

        .req-text p {
            color: #94A3B8;
            font-weight: 300;
        }

        .admission-image-wrapper {
            position: relative;
        }

        .admission-image-wrapper img {
            width: 100%;
            border-radius: 20px;
            filter: grayscale(20%) contrast(1.1);
        }

        /* ----- UNIVERSITIES CARDS (REFINED) ----- */
        .uni-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 1.5rem;
            margin-top: 3.5rem;
        }

        .uni-card {
            background: transparent;
            border-top: 2px solid var(--color-blue-night);
            padding-top: 1.5rem;
            position: relative;
            transition: all 0.3s ease;
        }

        .uni-card-highlight {
            background: white;
            border-top: 3px solid var(--accent);
            padding: 1.5rem;
            border-radius: 0 0 16px 16px;
            box-shadow: 0 15px 35px rgba(0, 0, 0, 0.04);
            margin-top: -1.5rem;
        }

        .uni-city {
            font-family: var(--font-heading);
            font-size: 2rem;
            font-weight: 800;
            color: var(--color-blue-night);
            margin-bottom: 0.5rem;
        }

        .uni-positioning {
            font-size: 0.9rem;
            text-transform: uppercase;
            letter-spacing: 1px;
            color: var(--accent);
            font-weight: 700;
            margin-bottom: 2rem;
        }

        .uni-details {
            display: flex;
            flex-direction: column;
            gap: 1rem;
            border-top: 1px solid #E2E8F0;
            padding-top: 1.5rem;
        }

        .uni-detail-row {
            display: flex;
            justify-content: space-between;
            gap: 1rem;
            font-size: 0.95rem;
        }

        .uni-detail-label {
            color: var(--text-muted);
            white-space: nowrap;
        }

        .uni-detail-value {
            font-weight: 600;
            color: var(--text-main);
            text-align: right;
        }

        /* ----- OVERVIEW & STRUCTURE ----- */
        .structure-section {
            padding: 3.5rem 5%;
            background: white;
        }

        .structure-container {
            max-width: 1200px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: 1fr 2fr;
            gap: 5rem;
        }

        .timeline-box {
            border-left: 2px solid #E2E8F0;
            padding-left: 3rem;
            position: relative;
        }

        .timeline-item {
            margin-bottom: 4rem;
            position: relative;
        }

        .timeline-title {
            font-family: var(--font-heading);
            font-size: 1.5rem;
            font-weight: 700;
            color: var(--color-blue-night);
            margin-bottom: 1rem;
        }

        .timeline-desc {
            color: var(--text-muted);
            line-height: 1.6;
        }

        /* ----- METHOD SECTION ----- */
        .method-section {
            padding: 5rem 5%;
            background: var(--color-white-off);
        }

        .method-container {
            max-width: 1400px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 4rem;
            align-items: flex-start;
        }

        .method-visual {
            position: sticky;
            top: 120px;
        }

        .method-img {
            width: 100%;
            border-radius: 24px;
            box-shadow: 0 30px 60px rgba(0, 0, 0, 0.08);
        }

        .method-steps {
            display: flex;
            flex-direction: column;
            gap: 1rem;
        }

        .method-header {
            margin-bottom: 2rem;
        }

        .step-card {
            display: flex;
            align-items: flex-start;
            gap: 1.5rem;
            padding: 1.5rem;
            border-radius: 16px;
            transition: all 0.3s ease;
            background: transparent;
            border: 1px solid transparent;
        }

        .step-card:hover {
            background: white;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
            border-color: #e2e8f0;
        }

        .step-highlight {
            background: linear-gradient(135deg, rgba(255, 173, 173, 0.15), rgba(255, 209, 102, 0.1));
            border: 1px solid rgba(255, 173, 173, 0.2);
        }

        .step-highlight:hover {
            background: linear-gradient(135deg, rgba(255, 173, 173, 0.2), rgba(255, 209, 102, 0.15));
            border-color: rgba(255, 173, 173, 0.3);
        }

        .step-num {
            font-family: var(--font-heading);
            font-size: 2.8rem;
            font-weight: 800;
            color: var(--color-blue-night);
            line-height: 0.8;
            min-width: 60px;
            letter-spacing: -2px;
        }

        .step-content h4 {
            font-family: var(--font-heading);
            font-size: 1.25rem;
            font-weight: 700;
            color: var(--color-blue-night);
            margin-bottom: 0.5rem;
        }

        .step-content p {
            font-size: 0.95rem;
            color: var(--text-muted);
            line-height: 1.6;
        }

        /* ----- FINAL SOFT CTA ----- */
        .soft-cta-section {
            padding: 10rem 5%;
            text-align: center;
            background: var(--bg-light);
        }

        .soft-cta-box {
            max-width: 800px;
            margin: 0 auto;
            background: white;
            padding: 5rem;
            border-radius: 30px;
            box-shadow: 0 30px 60px rgba(0, 0, 0, 0.03);
            border: 1px solid #E2E8F0;
        }

        .soft-cta-title {
            font-family: var(--font-heading);
            font-size: 2.5rem;
            font-weight: 800;
            color: var(--color-blue-night);
            margin-bottom: 1.5rem;
        }

        .soft-cta-text {
            color: var(--text-muted);
            margin-bottom: 3rem;
            font-size: 1.1rem;
            line-height: 1.6;
        }

        /* ----- INFO FICHE (Screenshot Style) ----- */
        .info-fiche-section {
            padding: 4rem 5%;
            background: var(--bg-light);
        }

        .info-fiche-card {
            max-width: 1200px;
            margin: 0 auto;
            background-color: #FAF7EE;
            /* Beige */
            border-radius: 20px;
            padding: 4rem;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 4rem;
            align-items: center;
        }

        .info-fiche-content h2 {
            font-family: var(--font-heading);
            font-size: 2.8rem;
            font-weight: 800;
            color: #3D2D20;
            line-height: 1.1;
            margin-bottom: 1.5rem;
        }

        .info-fiche-content h2 span.highlight {
            background-color: #3D2D20;
            color: white;
            padding: 0.2rem 0.6rem;
            display: inline-block;
            margin-top: 0.5rem;
            border-radius: 6px;
        }

        .info-fiche-desc {
            font-size: 1.05rem;
            color: #5C4F44;
            line-height: 1.6;
            margin-bottom: 2.5rem;
            max-width: 500px;
        }

        .info-fiche-stats {
            display: flex;
            gap: 2.5rem;
            margin-bottom: 2.5rem;
        }

        .info-fiche-stat-item {
            display: flex;
            flex-direction: column;
            gap: 0.3rem;
        }

        .info-fiche-stat-icon {
            color: #EAB308;
            /* Yellow */
            font-size: 1.2rem;
            margin-bottom: 0.2rem;
        }

        .info-fiche-stat-label {
            font-size: 0.85rem;
            color: #5C4F44;
            text-transform: uppercase;
        }

        .info-fiche-stat-val {
            font-family: var(--font-heading);
            font-weight: 800;
            font-size: 1.1rem;
            color: #3D2D20;
        }

        .info-fiche-link {
            color: #3D2D20;
            font-weight: 700;
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            border-bottom: 2px solid transparent;
            transition: border-color 0.3s;
        }

        .info-fiche-link:hover {
            border-color: #3D2D20;
        }

        .info-fiche-image {
            position: relative;
            text-align: right;
            padding-right: 2rem;
        }

        .info-fiche-img-element {
            width: 80%;
            border-radius: 50%;
            object-fit: cover;
            aspect-ratio: 1;
        }

        /* ----- DIFFICULTY BAR ----- */
        .difficulty-bar-container {
            margin-bottom: 1rem;
        }

        .difficulty-label {
            font-size: 0.85rem;
            color: var(--text-muted);
            text-transform: uppercase;
            letter-spacing: 1px;
            font-weight: 700;
            margin-bottom: 0.3rem;
            display: block;
        }

        .difficulty-track {
            height: 6px;
            background: #E2E8F0;
            border-radius: 10px;
            overflow: hidden;
            display: flex;
        }

        .difficulty-fill {
            height: 100%;
            border-radius: 10px;
        }

        .diff-high {
            width: 90%;
            background: #EF4444;
        }

        .diff-medium {
            width: 60%;
            background: #F59E0B;
        }

        .diff-low {
            width: 30%;
            background: #10B981;
        }

        .uni-card-img {
            width: 100%;
            height: 200px;
            object-fit: cover;
            border-radius: 12px;
            margin-top: 1rem;
            margin-bottom: 1.5rem;
        }

        @media (max-width: 1000px) {
            .info-fiche-card {
                grid-template-columns: 1fr;
                padding: 2.5rem;
                gap: 2rem;
            }

            .info-fiche-image {
                text-align: center;
                padding-right: 0;
            }

            .info-fiche-stats {
                flex-wrap: wrap;
            }

            .hero-container,
            .admission-grid,
            .structure-container,
            .method-container {
                grid-template-columns: 1fr;
                gap: 2rem;
            }

            .method-visual {
                position: relative;
                top: 0;
            }

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

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

            .bento-large {
                grid-column: span 1;
            }

            .med-hero {
                padding-top: 150px;
                padding-bottom: 4rem;
            }

            .hero-visual {
                height: 400px;
            }
        }

/* Extracted from ressources.html */
/* ============================================
           PAGE-SPECIFIC STYLES — Ressources
           ============================================ */

        body {
            background-color: #F8FAFC;
        }

        /* ---------- HERO MINIMALISTE ---------- */
        .res-hero {
            padding: 12rem 0 4rem;
            text-align: center;
            background-color: #F8FAFC;
        }

        .res-hero h1 {
            font-family: 'Outfit', sans-serif;
            font-size: clamp(2.5rem, 5vw, 4rem);
            font-weight: 800;
            color: var(--color-blue-night);
            letter-spacing: -0.03em;
            margin-bottom: 1.5rem;
            line-height: 1.1;
        }

        .res-hero p {
            font-family: 'Inter', sans-serif;
            font-size: 1.15rem;
            color: #4A5568;
            max-width: 600px;
            margin: 0 auto;
            line-height: 1.6;
        }

        /* ---------- SECTION CENTRALE & BENTO CARD ---------- */
        .res-section {
            padding: 2rem 0 8rem;
            background-color: #F8FAFC;
        }

        .res-bento-card {
            max-width: 800px;
            margin: 0 auto;
            background: #ffffff;
            border-radius: 24px;
            padding: 3rem;
            box-shadow: 0 10px 40px rgba(15, 42, 68, 0.06);
            border: 1px solid rgba(226, 232, 240, 0.8);
            display: flex;
            align-items: center;
            gap: 2.5rem;
            transition: transform 0.4s ease, box-shadow 0.4s ease;
        }

        .res-bento-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 20px 50px rgba(15, 42, 68, 0.12);
        }

        .res-icon {
            width: 80px;
            height: 80px;
            border-radius: 20px;
            background: #EFF6FF;
            color: var(--color-blue-medium);
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }

        .res-icon .material-symbols-outlined {
            font-size: 3rem;
        }

        .res-content {
            flex-grow: 1;
            text-align: left;
        }

        .res-content h3 {
            font-family: 'Outfit', sans-serif;
            font-size: 1.5rem;
            font-weight: 700;
            color: var(--color-blue-night);
            margin-bottom: 0.8rem;
            letter-spacing: -0.01em;
        }

        .res-content p {
            font-family: 'Inter', sans-serif;
            font-size: 0.95rem;
            color: #64748B;
            line-height: 1.6;
            margin: 0;
        }

        .res-action {
            flex-shrink: 0;
        }

        .res-btn {
            display: inline-flex;
            align-items: center;
            gap: 0.6rem;
            background: var(--color-blue-medium);
            color: #ffffff !important;
            padding: 1rem 1.8rem;
            border-radius: 14px;
            font-family: 'Inter', sans-serif;
            font-weight: 600;
            font-size: 1rem;
            text-decoration: none;
            transition: all 0.3s ease;
            box-shadow: 0 4px 15px rgba(31, 111, 178, 0.2);
        }

        .res-btn:hover {
            background: var(--color-blue-night);
            transform: translateY(-2px);
            box-shadow: 0 8px 25px rgba(15, 42, 68, 0.25);
        }

        .res-btn .material-symbols-outlined {
            font-size: 1.4rem;
        }

        /* ---------- RESPONSIVE ---------- */
        @media (max-width: 768px) {
            .res-hero {
                padding: 8rem 0 3rem;
            }

            .res-bento-card {
                flex-direction: column;
                text-align: center;
                padding: 2.5rem 1.5rem;
                gap: 1.5rem;
            }

            .res-content {
                text-align: center;
            }

            .res-action {
                width: 100%;
                margin-top: 1rem;
            }

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

/* Extracted from medecine-dentaire.html */
.theme-dentaire {
            --bg-light: #F8FAFC;
            --bg-dark: #0B1120;
            --accent: #955a9d;
            --accent-gold: #FFD166;
            --text-main: #1C1F23;
            --text-muted: #64748B;
        }body {
            background-color: var(--bg-light);
            font-family: var(--font-body);
        }

        /* ----- BUTTON RULES ----- */.theme-dentaire .btn-primary {
            background-color: var(--accent) !important;
            border-color: var(--accent) !important;
        }.theme-dentaire .btn-primary:hover {
            box-shadow: 0 10px 20px rgba(149, 90, 157, 0.3) !important;
            background-color: var(--color-blue-night) !important;
            border-color: var(--color-blue-night) !important;
        }

        /* ----- HERO SECTION ----- */.theme-dentaire .med-hero {
            min-height: 60vh;
            display: flex;
            align-items: center;
            position: relative;
            overflow: hidden;
            background: var(--bg-light);
            padding-top: 60px;
        }.theme-dentaire .hero-container {
            max-width: 1400px;
            margin: 0 auto;
            padding: 0 5%;
            width: 100%;
            position: relative;
            z-index: 10;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 2rem;
            align-items: center;
        }.theme-dentaire .hero-title {
            font-family: var(--font-heading);
            font-size: clamp(2.5rem, 4vw, 3.8rem);
            font-weight: 800;
            line-height: 1.1;
            color: var(--color-blue-night);
            letter-spacing: -0.02em;
            margin-bottom: 1.5rem;
            position: relative;
        }.theme-dentaire .hero-title span.highlight {
            background-color: var(--accent);
            color: white;
            padding: 0.2rem 1rem;
            display: inline-block;
            margin-top: 0.5rem;
            border-radius: 12px;
        }.theme-dentaire .hero-desc {
            font-size: 1.05rem;
            color: var(--text-muted);
            line-height: 1.6;
            margin-bottom: 2.5rem;
            max-width: 550px;
            font-weight: 400;
        }.theme-dentaire .soft-cta-group {
            display: flex;
            gap: 1.5rem;
            align-items: center;
        }.theme-dentaire .btn-premium {
            background: var(--accent);
            color: white;
            padding: 1.2rem 2.5rem;
            border-radius: 50px;
            font-family: var(--font-heading);
            font-weight: 600;
            text-decoration: none;
            transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
            position: relative;
            overflow: hidden;
        }.theme-dentaire .btn-premium:hover {
            transform: translateY(-4px);
            box-shadow: 0 20px 40px rgba(149, 90, 157, 0.3);
            background: var(--color-blue-night);
        }.theme-dentaire .btn-ghost {
            color: var(--color-blue-night);
            font-weight: 600;
            text-decoration: none;
            position: relative;
            font-family: var(--font-heading);
        }.theme-dentaire .btn-ghost::after {
            content: '';
            position: absolute;
            bottom: -4px;
            left: 0;
            width: 0%;
            height: 2px;
            background: var(--accent);
            transition: width 0.3s;
        }.theme-dentaire .btn-ghost:hover::after {
            width: 100%;
        }.theme-dentaire .hero-visual {
            position: relative;
            height: 600px;
        }.theme-dentaire .hero-img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            border-radius: 20px;
            box-shadow: 0 30px 60px rgba(15, 42, 68, 0.1);
        }

        /* Overlapping Stats */.theme-dentaire .floating-stat {
            position: absolute;
            background: rgba(255, 255, 255, 0.95);
            backdrop-filter: blur(10px);
            padding: 1.5rem 2rem;
            border-radius: 16px;
            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
            border: 1px solid rgba(255, 255, 255, 0.5);
        }.theme-dentaire .stat-1 {
            bottom: -30px;
            left: -40px;
        }.theme-dentaire .stat-2 {
            top: 40px;
            right: -40px;
        }.theme-dentaire .stat-value {
            font-family: var(--font-heading);
            font-size: 2.5rem;
            font-weight: 800;
            line-height: 1;
            color: var(--accent);
            margin-bottom: 0.2rem;
        }.theme-dentaire .stat-label {
            font-size: 0.85rem;
            font-weight: 600;
            color: var(--text-muted);
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        /* ----- UNIVERSITIES LIST ----- */.theme-dentaire .universities-section {
            padding: 3.5rem 3.5%;
            /* Changed from 5% to 3.5% */
            background: var(--bg-light);
            max-width: 1400px;
            margin: 0 auto;
        }

        /* ----- COMMON LAYOUT ----- */.theme-dentaire .section-header {
            text-align: center;
            margin-bottom: 3.5rem;
        }.theme-dentaire .section-supertitle {
            font-family: var(--font-heading);
            font-weight: 700;
            color: var(--accent);
            text-transform: uppercase;
            letter-spacing: 2px;
            font-size: 0.9rem;
            margin-bottom: 1rem;
        }.theme-dentaire .section-title {
            font-family: var(--font-heading);
            font-size: clamp(2.5rem, 4vw, 4rem);
            font-weight: 800;
            color: var(--text-main);
            line-height: 1.05;
            letter-spacing: -0.02em;
        }

        /* ----- BENTO BOX: WHY ROMANIA ----- */.theme-dentaire .bento-section {
            padding: 3.5rem 5%;
            background: var(--bg-light);
            max-width: 1400px;
            margin: 0 auto;
        }.theme-dentaire .bento-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            grid-template-rows: auto auto;
            gap: 2rem;
        }.theme-dentaire .bento-item {
            background: white;
            border-radius: 24px;
            padding: 3rem;
            position: relative;
            overflow: hidden;
            border: 1px solid #E2E8F0;
            transition: all 0.4s ease;
        }.theme-dentaire .bento-item:hover {
            box-shadow: 0 25px 50px rgba(15, 42, 68, 0.05);
            transform: translateY(-5px);
        }.theme-dentaire .bento-large {
            grid-column: span 2;
        }.theme-dentaire .bento-title {
            font-family: var(--font-heading);
            font-size: 1.5rem;
            font-weight: 700;
            margin-bottom: 1rem;
            color: var(--text-main);
        }.theme-dentaire .bento-desc {
            color: var(--text-muted);
            line-height: 1.6;
        }

        /* ----- ADMISSION GRID ----- */.theme-dentaire .admission-section {
            padding: 5rem 5%;
            background: var(--bg-dark);
        }.theme-dentaire .admission-grid {
            max-width: 1400px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 6rem;
            align-items: center;
        }.theme-dentaire .admission-text-content h2 {
            color: white;
            font-size: clamp(3rem, 5vw, 4.5rem);
            line-height: 1;
            margin-bottom: 2rem;
            font-weight: 800;
        }.theme-dentaire .req-list {
            list-style: none;
            padding: 0;
            margin-top: 3rem;
            display: flex;
            flex-direction: column;
            gap: 2rem;
        }.theme-dentaire .req-item {
            display: flex;
            align-items: flex-start;
            gap: 1.5rem;
        }.theme-dentaire .req-number {
            font-family: var(--font-heading);
            font-size: 1.5rem;
            font-weight: 800;
            color: white;
            background: var(--accent);
            width: 45px;
            height: 45px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            flex-shrink: 0;
        }.theme-dentaire .req-text h4 {
            color: white;
            font-size: 1.3rem;
            margin-bottom: 0.5rem;
        }.theme-dentaire .req-text p {
            color: #94A3B8;
            font-weight: 300;
        }.theme-dentaire .admission-image-wrapper {
            position: relative;
        }.theme-dentaire .admission-image-wrapper img {
            width: 100%;
            border-radius: 20px;
            filter: grayscale(20%) contrast(1.1);
        }

        /* ----- UNIVERSITIES CARDS (REFINED) ----- */.theme-dentaire .uni-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 1.5rem;
            margin-top: 3.5rem;
        }.theme-dentaire .uni-card {
            background: transparent;
            border-top: 2px solid var(--color-blue-night);
            padding-top: 1.5rem;
            position: relative;
            transition: all 0.3s ease;
        }.theme-dentaire .uni-card-highlight {
            background: white;
            border-top: 3px solid var(--accent);
            padding: 1.5rem;
            border-radius: 0 0 16px 16px;
            box-shadow: 0 15px 35px rgba(0, 0, 0, 0.04);
            margin-top: -1.5rem;
        }.theme-dentaire .uni-city {
            font-family: var(--font-heading);
            font-size: 2rem;
            font-weight: 800;
            color: var(--color-blue-night);
            margin-bottom: 0.5rem;
        }.theme-dentaire .uni-positioning {
            font-size: 0.9rem;
            text-transform: uppercase;
            letter-spacing: 1px;
            color: var(--accent);
            font-weight: 700;
            margin-bottom: 2rem;
        }.theme-dentaire .uni-details {
            display: flex;
            flex-direction: column;
            gap: 1rem;
            border-top: 1px solid #E2E8F0;
            padding-top: 1.5rem;
        }.theme-dentaire .uni-detail-row {
            display: flex;
            justify-content: space-between;
            gap: 1rem;
            font-size: 0.95rem;
        }.theme-dentaire .uni-detail-label {
            color: var(--text-muted);
            white-space: nowrap;
        }.theme-dentaire .uni-detail-value {
            font-weight: 600;
            color: var(--text-main);
            text-align: right;
        }

        /* ----- OVERVIEW & STRUCTURE ----- */.theme-dentaire .structure-section {
            padding: 3.5rem 5%;
            background: white;
        }.theme-dentaire .structure-container {
            max-width: 1200px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: 1fr 2fr;
            gap: 5rem;
        }.theme-dentaire .timeline-box {
            border-left: 2px solid #E2E8F0;
            padding-left: 3rem;
            position: relative;
        }.theme-dentaire .timeline-item {
            margin-bottom: 4rem;
            position: relative;
        }.theme-dentaire .timeline-title {
            font-family: var(--font-heading);
            font-size: 1.5rem;
            font-weight: 700;
            color: var(--color-blue-night);
            margin-bottom: 1rem;
        }.theme-dentaire .timeline-desc {
            color: var(--text-muted);
            line-height: 1.6;
        }

        /* ----- METHOD SECTION ----- */.theme-dentaire .method-section {
            padding: 5rem 5%;
            background: var(--color-white-off);
        }.theme-dentaire .method-container {
            max-width: 1400px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 4rem;
            align-items: flex-start;
        }.theme-dentaire .method-visual {
            position: sticky;
            top: 120px;
        }.theme-dentaire .method-img {
            width: 100%;
            border-radius: 24px;
            box-shadow: 0 30px 60px rgba(0, 0, 0, 0.08);
        }.theme-dentaire .method-steps {
            display: flex;
            flex-direction: column;
            gap: 1rem;
        }.theme-dentaire .method-header {
            margin-bottom: 2rem;
        }.theme-dentaire .step-card {
            display: flex;
            align-items: flex-start;
            gap: 1.5rem;
            padding: 1.5rem;
            border-radius: 16px;
            transition: all 0.3s ease;
            background: transparent;
            border: 1px solid transparent;
        }.theme-dentaire .step-card:hover {
            background: white;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
            border-color: #e2e8f0;
        }.theme-dentaire .step-highlight {
            background: linear-gradient(135deg, rgba(149, 90, 157, 0.15), rgba(149, 90, 157, 0.05));
            border: 1px solid rgba(149, 90, 157, 0.2);
        }.theme-dentaire .step-highlight:hover {
            background: linear-gradient(135deg, rgba(149, 90, 157, 0.2), rgba(149, 90, 157, 0.1));
            border-color: rgba(149, 90, 157, 0.3);
        }.theme-dentaire .step-num {
            font-family: var(--font-heading);
            font-size: 2.8rem;
            font-weight: 800;
            color: var(--color-blue-night);
            line-height: 0.8;
            min-width: 60px;
            letter-spacing: -2px;
        }.theme-dentaire .step-content h4 {
            font-family: var(--font-heading);
            font-size: 1.25rem;
            font-weight: 700;
            color: var(--color-blue-night);
            margin-bottom: 0.5rem;
        }.theme-dentaire .step-content p {
            font-size: 0.95rem;
            color: var(--text-muted);
            line-height: 1.6;
        }

        /* ----- FINAL SOFT CTA ----- */.theme-dentaire .soft-cta-section {
            padding: 10rem 5%;
            text-align: center;
            background: var(--bg-light);
        }.theme-dentaire .soft-cta-box {
            max-width: 800px;
            margin: 0 auto;
            background: white;
            padding: 5rem;
            border-radius: 30px;
            box-shadow: 0 30px 60px rgba(0, 0, 0, 0.03);
            border: 1px solid #E2E8F0;
        }.theme-dentaire .soft-cta-title {
            font-family: var(--font-heading);
            font-size: 2.5rem;
            font-weight: 800;
            color: var(--color-blue-night);
            margin-bottom: 1.5rem;
        }.theme-dentaire .soft-cta-text {
            color: var(--text-muted);
            margin-bottom: 3rem;
            font-size: 1.1rem;
            line-height: 1.6;
        }

        /* ----- INFO FICHE (Screenshot Style) ----- */.theme-dentaire .info-fiche-section {
            padding: 4rem 5%;
            background: var(--bg-light);
        }.theme-dentaire .info-fiche-card {
            max-width: 1200px;
            margin: 0 auto;
            background-color: #FAF7EE;
            /* Beige */
            border-radius: 20px;
            padding: 4rem;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 4rem;
            align-items: center;
        }.theme-dentaire .info-fiche-content h2 {
            font-family: var(--font-heading);
            font-size: 2.8rem;
            font-weight: 800;
            color: #3D2D20;
            line-height: 1.1;
            margin-bottom: 1.5rem;
        }.theme-dentaire .info-fiche-content h2 span.highlight {
            background-color: #3D2D20;
            color: white;
            padding: 0.2rem 0.6rem;
            display: inline-block;
            margin-top: 0.5rem;
            border-radius: 6px;
        }.theme-dentaire .info-fiche-desc {
            font-size: 1.05rem;
            color: #5C4F44;
            line-height: 1.6;
            margin-bottom: 2.5rem;
            max-width: 500px;
        }.theme-dentaire .info-fiche-stats {
            display: flex;
            gap: 2.5rem;
            margin-bottom: 2.5rem;
        }.theme-dentaire .info-fiche-stat-item {
            display: flex;
            flex-direction: column;
            gap: 0.3rem;
        }.theme-dentaire .info-fiche-stat-icon {
            color: #EAB308;
            /* Yellow */
            font-size: 1.2rem;
            margin-bottom: 0.2rem;
        }.theme-dentaire .info-fiche-stat-label {
            font-size: 0.85rem;
            color: #5C4F44;
            text-transform: uppercase;
        }.theme-dentaire .info-fiche-stat-val {
            font-family: var(--font-heading);
            font-weight: 800;
            font-size: 1.1rem;
            color: #3D2D20;
        }.theme-dentaire .info-fiche-link {
            color: #3D2D20;
            font-weight: 700;
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            border-bottom: 2px solid transparent;
            transition: border-color 0.3s;
        }.theme-dentaire .info-fiche-link:hover {
            border-color: #3D2D20;
        }.theme-dentaire .info-fiche-image {
            position: relative;
            text-align: right;
            padding-right: 2rem;
        }.theme-dentaire .info-fiche-img-element {
            width: 80%;
            border-radius: 50%;
            object-fit: cover;
            aspect-ratio: 1;
        }

        /* ----- DIFFICULTY BAR ----- */.theme-dentaire .difficulty-bar-container {
            margin-bottom: 1rem;
        }.theme-dentaire .difficulty-label {
            font-size: 0.85rem;
            color: var(--text-muted);
            text-transform: uppercase;
            letter-spacing: 1px;
            font-weight: 700;
            margin-bottom: 0.3rem;
            display: block;
        }.theme-dentaire .difficulty-track {
            height: 6px;
            background: #E2E8F0;
            border-radius: 10px;
            overflow: hidden;
            display: flex;
        }.theme-dentaire .difficulty-fill {
            height: 100%;
            border-radius: 10px;
        }.theme-dentaire .diff-high {
            width: 90%;
            background: #EF4444;
        }.theme-dentaire .diff-medium {
            width: 60%;
            background: #F59E0B;
        }.theme-dentaire .diff-low {
            width: 30%;
            background: #10B981;
        }.theme-dentaire .uni-card-img {
            width: 100%;
            height: 200px;
            object-fit: cover;
            border-radius: 12px;
            margin-top: 1rem;
            margin-bottom: 1.5rem;
        }

        @media (max-width: 1000px) {.theme-dentaire .info-fiche-card {
                grid-template-columns: 1fr;
                padding: 2.5rem;
                gap: 2rem;
            }.theme-dentaire .info-fiche-image {
                text-align: center;
                padding-right: 0;
            }.theme-dentaire .info-fiche-stats {
                flex-wrap: wrap;
            }.theme-dentaire .hero-container,
.theme-dentaire .admission-grid,
.theme-dentaire .structure-container,
.theme-dentaire .method-container {
                grid-template-columns: 1fr;
                gap: 2rem;
            }.theme-dentaire .method-visual {
                position: relative;
                top: 0;
            }.theme-dentaire .uni-grid {
                grid-template-columns: 1fr;
            }.theme-dentaire .bento-grid {
                grid-template-columns: 1fr;
            }.theme-dentaire .bento-large {
                grid-column: span 1;
            }.theme-dentaire .med-hero {
                padding-top: 150px;
                padding-bottom: 4rem;
            }.theme-dentaire .hero-visual {
                height: 400px;
            }
        }


/* Extracted from services.html */
html {
            scroll-behavior: smooth;
        }

        :root {
            --bg-body-dark: #0B1120;
            --text-muted: #94A3B8;
            --accent-gold: var(--color-yellow-warm);
        }

        body {
            background-color: #FAFAFA;
        }

        .material-symbols-outlined {
            font-variation-settings:
                'FILL' 0,
                'wght' 300,
                'GRAD' 0,
                'opsz' 48
        }

        /* 1. HERO TYPOGRAPHIQUE */
        .hero-typo {
            position: relative;
            min-height: 50vh;
            display: flex;
            align-items: center;
            justify-content: center;
            text-align: center;
            overflow: hidden;
            background-color: #FAFAFA;
            padding: 120px 5% 60px;
        }

        /* Soft Glow Background */
        .hero-typo::before {
            content: '';
            position: absolute;
            top: -10%;
            left: 20%;
            width: 60vw;
            height: 60vw;
            background: radial-gradient(circle, rgba(31, 111, 178, 0.08) 0%, rgba(255, 255, 255, 0) 70%);
            border-radius: 50%;
            z-index: 0;
            pointer-events: none;
            filter: blur(60px);
        }

        .hero-typo::after {
            content: '';
            position: absolute;
            bottom: -20%;
            right: 10%;
            width: 50vw;
            height: 50vw;
            background: radial-gradient(circle, rgba(245, 158, 11, 0.05) 0%, rgba(255, 255, 255, 0) 70%);
            border-radius: 50%;
            z-index: 0;
            pointer-events: none;
            filter: blur(60px);
        }

        .hero-typo-content {
            position: relative;
            z-index: 10;
            max-width: 1000px;
        }

        .hero-h1 {
            font-family: var(--font-heading);
            font-size: clamp(3rem, 6vw, 5.5rem);
            font-weight: 800;
            line-height: 1.05;
            letter-spacing: -0.04em;
            color: var(--color-blue-night);
            margin-bottom: 2rem;
        }

        .hero-h1 span.italic {
            font-weight: 300;
            font-style: italic;
            color: var(--color-blue-medium);
        }

        .hero-p {
            font-size: clamp(1.1rem, 2vw, 1.3rem);
            color: #4A5568;
            max-width: 700px;
            margin: 0 auto;
            line-height: 1.6;
        }

        /* 1.5 SCOPE OF WORK (Masonry/Bento Grid) */
        .scope-section {
            padding: 4rem 5% 6rem;
            background-color: #FAFAFA;
            position: relative;
            z-index: 25;
        }

        .scope-container {
            max-width: 1400px;
            /* Slightly wider for 3 columns */
            margin: 0 auto;
        }

        .scope-header {
            text-align: center;
            margin-bottom: 3.5rem;
        }

        .scope-header h2 {
            font-size: clamp(2.5rem, 4vw, 3.5rem);
            color: var(--color-blue-night);
            font-family: var(--font-heading);
            letter-spacing: -0.02em;
        }

        /* Column-based masonry for pure CSS approach */
        .scope-masonry {
            column-count: 1;
            column-gap: 2rem;
        }

        @media (min-width: 768px) {
            .scope-masonry {
                column-count: 2;
            }
        }

        @media (min-width: 1024px) {
            .scope-masonry {
                column-count: 3;
            }
        }

        .scope-card {
            background: #FFFFFF;
            border: 1px solid #F1F5F9;
            border-radius: 20px;
            padding: 2.5rem 2rem;
            margin-bottom: 2rem;
            break-inside: avoid-column;
            /* Crucial for CSS masonry */
            box-shadow: 0 4px 20px rgba(11, 17, 32, 0.02);
            transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
            position: relative;
            overflow: hidden;
        }

        .scope-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 15px 35px rgba(11, 17, 32, 0.06);
            border-color: #E2E8F0;
        }

        .scope-card-header {
            display: flex;
            align-items: center;
            gap: 1rem;
            margin-bottom: 2rem;
        }

        .scope-icon {
            width: 48px;
            height: 48px;
            background: #EEF2FF;
            color: var(--color-blue-medium);
            border-radius: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }

        .scope-icon .material-symbols-outlined {
            font-size: 1.6rem;
        }

        .scope-card-title {
            font-family: var(--font-heading);
            font-size: 1.1rem;
            font-weight: 800;
            color: var(--color-blue-night);
            text-transform: uppercase;
            letter-spacing: 0.5px;
            line-height: 1.3;
        }

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

        .scope-list li {
            position: relative;
            padding-left: 2rem;
            margin-bottom: 1.25rem;
            font-size: 1rem;
            color: #4A5568;
            line-height: 1.6;
        }

        .scope-list li:last-child {
            margin-bottom: 0;
        }

        .scope-list li::before {
            content: '✓';
            position: absolute;
            left: 0;
            top: 2px;
            color: #059669;
            /* Emerald 600 for positive check */
            font-weight: 800;
            font-size: 1.1rem;
        }

        .scope-list li strong {
            color: var(--color-blue-night);
            font-weight: 700;
        }

        .scope-cta-container {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 1.5rem;
            margin-top: 5rem;
            flex-wrap: wrap;
        }

        .scope-cta-container .btn {
            min-width: 250px;
            text-align: center;
        }

        .btn-outline-whatsapp {
            background-color: transparent;
            color: var(--color-blue-night);
            border: 2px solid #E2E8F0;
            padding: 1.125rem 2.5rem;
            border-radius: 9999px;
            font-family: var(--font-heading);
            font-weight: 700;
            font-size: 1.05rem;
            letter-spacing: 0.5px;
            text-transform: uppercase;
            text-decoration: none;
            cursor: pointer;
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0.75rem;
        }

        .btn-outline-whatsapp:hover {
            border-color: #25D366;
            color: #25D366;
            background-color: rgba(37, 211, 102, 0.05);
            transform: translateY(-2px);
        }

        .btn-outline-whatsapp svg {
            width: 20px;
            height: 20px;
            fill: currentColor;
        }

        .btn-step-link {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background-color: transparent;
            color: var(--color-blue-medium);
            border: 2px solid var(--color-blue-medium);
            padding: 0.8rem 2rem;
            border-radius: 50px;
            font-family: var(--font-heading);
            font-weight: 600;
            font-size: 1rem;
            text-decoration: none;
            transition: all 0.3s ease;
            margin-top: 2rem;
            width: fit-content;
        }

        .btn-step-link:hover {
            background-color: var(--color-blue-medium);
            color: white;
            transform: translateY(-2px);
            box-shadow: 0 5px 15px rgba(31, 111, 178, 0.2);
        }

        .full-content-inner .btn-step-link {
            border-color: white;
            color: white;
            margin-top: 3rem;
        }

        .full-content-inner .btn-step-link:hover {
            background-color: white;
            color: var(--color-blue-night);
        }

        @media (max-width: 768px) {
            .btn-step-link {
                width: 100%;
            }
        }

        /* 2. EDITORIAL SERVICES (Magazine Layout) */
        .editorial-section {
            padding: 4rem 5% 12rem;
            /* Massive whitespace bottom, tighter top */
            background-color: #FAFAFA;
            position: relative;
            z-index: 20;
        }

        .editorial-container {
            max-width: 1300px;
            margin: 0 auto;
            display: flex;
            flex-direction: column;
            gap: 8rem;
            /* Large gaps between service blocks */
        }

        .service-block {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 4rem;
            align-items: center;
        }

        .service-block.reversed {
            direction: rtl;
        }

        .service-block.reversed>* {
            direction: ltr;
            /* Reset text direction inside */
        }

        .service-content {
            padding: 2rem 0;
        }

        .service-tag {
            display: inline-block;
            font-family: var(--font-heading);
            font-size: 0.9rem;
            font-weight: 700;
            color: var(--color-blue-medium);
            text-transform: uppercase;
            letter-spacing: 2px;
            margin-bottom: 1.5rem;
        }

        .service-content h2 {
            font-family: var(--font-heading);
            font-size: clamp(2rem, 4vw, 3rem);
            font-weight: 700;
            color: var(--color-blue-night);
            line-height: 1.1;
            margin-bottom: 1.5rem;
            letter-spacing: -0.02em;
        }

        .service-content p {
            font-size: 1.1rem;
            color: #4A5568;
            line-height: 1.7;
            margin-bottom: 2rem;
        }

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

        .service-list li {
            position: relative;
            padding-left: 2rem;
            margin-bottom: 1rem;
            font-size: 1.05rem;
            color: var(--color-blue-night);
            font-weight: 500;
        }

        .service-list li::before {
            content: '✓';
            position: absolute;
            left: 0;
            color: var(--color-blue-medium);
            font-weight: bold;
        }

        .service-image-container {
            position: relative;
            border-radius: 24px;
            overflow: hidden;
            box-shadow: 0 20px 40px rgba(11, 17, 32, 0.08);
            aspect-ratio: 4/5;
            /* Portrait orientation for magazine feel */
        }

        .service-image-container img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.7s ease;
        }

        .service-block:hover .service-image-container img {
            transform: scale(1.05);
        }

        /* Distinctive Block: "Presence le Jour J" (Overlay setup) */
        .service-block-full {
            grid-column: 1 / -1;
            position: relative;
            border-radius: 24px;
            overflow: hidden;
            min-height: 600px;
            display: flex;
            align-items: flex-end;
            box-shadow: 0 30px 60px rgba(11, 17, 32, 0.15);
        }

        .service-block-full img {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            z-index: 0;
        }

        .service-block-full::after {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(to top, rgba(11, 17, 32, 0.95) 0%, rgba(11, 17, 32, 0.4) 50%, transparent 100%);
            z-index: 1;
        }

        .full-content-inner {
            position: relative;
            z-index: 2;
            padding: 5rem;
            color: white;
            max-width: 800px;
        }

        .full-content-inner .service-tag {
            color: var(--color-yellow-warm);
        }

        .full-content-inner h2 {
            color: white;
            font-size: clamp(2.5rem, 5vw, 4rem);
        }

        .full-content-inner p {
            color: #CBD5E1;
            font-size: 1.2rem;
        }

        .full-content-inner .service-list li {
            color: white;
        }


        /* Distinctive Block: "Integration & Mentoring" (Asymmetrical minimal) */
        .service-block-wide {
            display: grid;
            grid-template-columns: 2fr 1fr;
            gap: 3rem;
            background: white;
            padding: 4rem;
            border-radius: 32px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
            border: 1px solid #F1F5F9;
        }

        .service-block-wide .service-image-container {
            aspect-ratio: 16/9;
            /* Landscape */
            box-shadow: none;
            border-radius: 16px;
        }


        /* 3. TRANSPARENCE (Dark Mode Perfect Typography) */
        .brutalist-section {
            background-color: var(--color-blue-night);
            color: white;
            padding: 12rem 5%;
            text-align: center;
        }

        .brutalist-content {
            max-width: 1100px;
            margin: 0 auto;
        }

        /* Perfect Typography: Avoiding orphans with non-breaking spaces or forced breaks */
        .brutalist-statement {
            font-family: var(--font-heading);
            font-size: clamp(2.5rem, 5.5vw, 5rem);
            font-weight: 800;
            line-height: 1.1;
            letter-spacing: -0.03em;
            margin-bottom: 5rem;
            text-wrap: balance;
            color: #FFFFFF;
            /* New CSS feature to prevent orphans naturally */
        }

        .brutalist-statement span.accent {
            color: var(--color-yellow-warm);
            display: block;
            /* Force line break for impact */
            margin-top: 0.5rem;
        }

        .brutalist-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 4rem;
            text-align: left;
            margin-top: 5rem;
            border-top: 1px solid rgba(255, 255, 255, 0.1);
            padding-top: 5rem;
        }

        .brutalist-grid-item h4 {
            font-size: 1.4rem;
            margin-bottom: 1.5rem;
            color: white;
            font-family: var(--font-heading);
            font-weight: 600;
        }

        .brutalist-grid-item p {
            color: #94A3B8;
            line-height: 1.7;
            font-size: 1.1rem;
        }


        /* 4. PUBLIC CONCERNE (Interactive Profile Cards) */
        .public-section {
            padding: 12rem 5%;
            background: #FAFAFA;
        }

        .public-container {
            max-width: 1300px;
            margin: 0 auto;
        }

        .public-header {
            text-align: center;
            margin-bottom: 6rem;
        }

        .public-header h2 {
            font-size: clamp(2.5rem, 4vw, 3.5rem);
            color: var(--color-blue-night);
            margin-bottom: 1.5rem;
            letter-spacing: -0.02em;
        }

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

        .profile-card {
            background: white;
            border-radius: 20px;
            padding: 3rem 2rem;
            text-align: left;
            position: relative;
            overflow: hidden;
            transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
            border: 1px solid #F1F5F9;
            cursor: default;
        }

        /* Hover State */
        .profile-card:hover {
            transform: translateY(-10px);
            box-shadow: 0 25px 50px rgba(11, 17, 32, 0.08);
            border-color: #E2E8F0;
        }

        /* Large background icon hint on hover */
        .profile-card::before {
            content: 'school';
            font-family: 'Material Symbols Outlined';
            position: absolute;
            bottom: -30px;
            right: -20px;
            font-size: 8rem;
            color: var(--color-blue-medium);
            opacity: 0;
            transition: all 0.5s ease;
            z-index: 0;
            pointer-events: none;
        }

        .profile-card:hover::before {
            opacity: 0.03;
            transform: scale(1.1) rotate(-10deg);
        }

        .profile-badge {
            display: inline-block;
            padding: 0.5rem 1rem;
            border-radius: 50px;
            font-size: 0.8rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 1px;
            margin-bottom: 2rem;
            position: relative;
            z-index: 1;
        }

        /* Badge Colors */
        .badge-blue {
            background: #EEF2FF;
            color: var(--color-blue-medium);
        }

        .badge-green {
            background: #ECFDF5;
            color: #059669;
        }

        .badge-orange {
            background: #FFF7ED;
            color: #EA580C;
        }

        .badge-purple {
            background: #FAF5FF;
            color: #9333EA;
        }

        .profile-card h3 {
            font-size: 1.4rem;
            color: var(--color-blue-night);
            margin-bottom: 1rem;
            font-weight: 700;
            position: relative;
            z-index: 1;
        }

        .profile-card p {
            color: #64748B;
            font-size: 1.05rem;
            line-height: 1.6;
            position: relative;
            z-index: 1;
        }


        /* Massive CTA Block */
        .massive-cta-section {
            background: var(--color-blue-night);
            color: white;
            padding: 8rem 5%;
            text-align: center;
            display: flex;
            flex-direction: column;
            align-items: center;
            margin-top: 2rem;
        }

        .cta-display-text {
            font-size: clamp(2rem, 4vw, 3.5rem);
            font-family: var(--font-heading);
            font-weight: 700;
            line-height: 1.1;
            letter-spacing: -0.02em;
            max-width: 900px;
            margin-bottom: 3rem;
            text-wrap: balance;
        }

        .btn-editorial {
            background: white;
            color: var(--color-blue-night);
            padding: 1.2rem 3rem;
            font-family: var(--font-heading);
            font-weight: 600;
            font-size: 1.1rem;
            border-radius: 50px;
            transition: all 0.3s;
            text-decoration: none;
            display: inline-block;
            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
        }

        .btn-editorial:hover {
            background: var(--color-blue-medium);
            color: white;
        }

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

            .service-block.reversed {
                direction: ltr;
                /* Reset for mobile stack */
            }

            .service-image-container {
                aspect-ratio: 16/9;
                /* Switch to landscape on smaller screens */
            }

            .service-block-wide {
                grid-template-columns: 1fr;
            }

            .public-grid {
                grid-template-columns: repeat(2, 1fr);
            }

            .full-content-inner {
                padding: 3rem;
            }
        }

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

            .hero-typo {
                padding-top: 120px;
                min-height: 60vh;
            }

            .editorial-section,
            .brutalist-section,
            .public-section {
                padding: 6rem 5%;
            }

            .full-content-inner h2 {
                font-size: 2rem;
            }
        }

        /* Desktop 2-column for the Intégration & Suivi list */
        .service-list-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 1rem;
        }

/* Extracted from resultats-temoignages.html */
/* ============================================
           PAGE-SPECIFIC STYLES — Résultats & Témoignages
           Premium Editorial / Cabinet Aesthetic
           ============================================ */

        /* ---------- HERO — IMMERSIVE BACKGROUND ---------- */
        .rt-hero {
            position: relative;
            min-height: 70vh;
            display: flex;
            align-items: flex-end;
            background-image: url('../assets/images/hero-temoignages.jpg');
            background-size: cover;
            background-position: center center;
            background-repeat: no-repeat;
            overflow: hidden;
        }

        .rt-hero::before {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(to top,
                    rgba(0, 0, 0, 0.82) 0%,
                    rgba(0, 0, 0, 0.55) 40%,
                    rgba(0, 0, 0, 0.30) 70%,
                    rgba(0, 0, 0, 0.20) 100%);
            z-index: 1;
            pointer-events: none;
        }

        .rt-hero .container {
            position: relative;
            z-index: 2;
            padding-top: 10rem;
            padding-bottom: 5rem;
        }

        .rt-hero .rt-section-label {
            color: rgba(255, 255, 255, 0.7);
        }

        .rt-hero h1 {
            font-family: 'Outfit', sans-serif;
            font-size: clamp(3rem, 7vw, 5rem);
            font-weight: 800;
            color: #ffffff;
            letter-spacing: -0.03em;
            line-height: 1.05;
            margin-bottom: 1.5rem;
            text-shadow: 0 2px 20px rgba(0, 0, 0, 0.3);
        }

        .rt-hero .rt-subtitle {
            font-family: 'Inter', sans-serif;
            font-size: 1.2rem;
            font-weight: 400;
            color: rgba(255, 255, 255, 0.85);
            max-width: 620px;
            line-height: 1.7;
            margin-bottom: 2.5rem;
        }

        .rt-hero-actions {
            display: flex;
            align-items: center;
            gap: 1rem;
            flex-wrap: wrap;
            margin-bottom: 2rem;
        }

        .rt-hero-actions .btn-white {
            color: #ffffff;
            border-color: rgba(255, 255, 255, 0.4) !important;
            background: rgba(255, 255, 255, 0.08);
            backdrop-filter: blur(10px);
        }

        .rt-hero-actions .btn-white:hover {
            background: rgba(255, 255, 255, 0.18);
            border-color: rgba(255, 255, 255, 0.6) !important;
        }

        .rt-badge-note {
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            font-size: 0.8rem;
            color: rgba(255, 255, 255, 0.55);
            font-style: italic;
            margin-top: 0.5rem;
        }

        .rt-badge-note::before {
            content: '🔒';
            font-size: 0.75rem;
        }

        /* ---------- SECTION SPACING ---------- */
        .rt-section {
            padding: 6rem 0;
        }

        .rt-section-lg {
            padding: 8rem 0;
        }

        .rt-section--alt {
            background: #FAFBFD;
        }

        /* ---------- SECTION HEADERS ---------- */
        .rt-section-label {
            font-family: 'Inter', sans-serif;
            font-size: 0.8rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 2.5px;
            color: var(--color-blue-medium);
            margin-bottom: 1rem;
        }

        .rt-section-title {
            font-family: 'Outfit', sans-serif;
            font-size: clamp(2rem, 4vw, 3rem);
            font-weight: 700;
            color: var(--color-blue-night);
            letter-spacing: -0.025em;
            line-height: 1.15;
            margin-bottom: 1.5rem;
        }

        .rt-section-desc {
            font-size: 1.05rem;
            color: #4A5568;
            max-width: 640px;
            line-height: 1.7;
        }

        /* ---------- 2. PREUVES CONCRÈTES — ASYMMETRICAL BENTO BOX ---------- */
        .rt-bento-grid-v2 {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 2rem;
            margin-top: 4rem;
        }

        .rt-bento-block {
            border-radius: 24px;
            padding: 3rem;
            position: relative;
            overflow: hidden;
            display: flex;
            flex-direction: column;
            justify-content: center;
        }

        /* Block 1: Master (Dark Mode) */
        .rt-bento-block--master {
            grid-column: 1 / -1;
            /* Full width */
            background: var(--color-blue-night);
            color: white;
            padding: 5rem 4rem;
        }

        .rt-bento-block--master .rt-watermark-icon {
            position: absolute;
            font-size: 24rem;
            color: rgba(255, 255, 255, 0.03);
            right: -2rem;
            bottom: -5rem;
            pointer-events: none;
            user-select: none;
            line-height: 1;
            font-family: 'Material Symbols Outlined';
        }

        .rt-bento-block--master h3 {
            font-family: 'Outfit', sans-serif;
            font-size: clamp(2.5rem, 4vw, 3.5rem);
            font-weight: 700;
            color: white;
            margin-bottom: 1.5rem;
            letter-spacing: -0.02em;
            line-height: 1.1;
            max-width: 800px;
            position: relative;
            z-index: 2;
        }

        .rt-bento-block--master p {
            font-size: 1.25rem;
            color: rgba(255, 255, 255, 0.8);
            line-height: 1.6;
            max-width: 600px;
            position: relative;
            z-index: 2;
        }

        /* Block 2: Process (Micro-Design) */
        .rt-bento-block--process {
            background: white;
            box-shadow: 0 10px 40px rgba(15, 42, 68, 0.05);
            border: 1px solid rgba(226, 232, 240, 0.6);
        }

        .rt-bento-block--process h3,
        .rt-bento-block--human h3 {
            font-family: 'Outfit', sans-serif;
            font-size: 1.8rem;
            font-weight: 700;
            color: var(--color-blue-night);
            margin-bottom: 2.5rem;
        }

        /* Micro-Timeline CSS */
        .rt-mini-timeline {
            display: flex;
            flex-direction: column;
            gap: 1.8rem;
            position: relative;
        }

        .rt-mini-timeline::before {
            content: '';
            position: absolute;
            left: 11px;
            top: 20px;
            bottom: 20px;
            width: 2px;
            background: rgba(31, 111, 178, 0.15);
        }

        .rt-timeline-step {
            display: flex;
            align-items: center;
            gap: 1.5rem;
            position: relative;
            z-index: 2;
        }

        .rt-timeline-dot {
            width: 24px;
            height: 24px;
            border-radius: 50%;
            background: white;
            border: 3px solid var(--color-blue-medium);
            flex-shrink: 0;
            box-shadow: 0 0 0 4px white;
        }

        .rt-timeline-step:last-child .rt-timeline-dot {
            background: var(--color-blue-medium);
        }

        .rt-timeline-text {
            font-size: 1.1rem;
            font-weight: 500;
            color: #334155;
        }

        /* Block 3: Human (Soft Contrast) */
        .rt-bento-block--human {
            background: #F8FAFC;
        }

        .rt-human-list {
            display: flex;
            flex-direction: column;
            gap: 1.8rem;
        }

        .rt-human-item {
            display: flex;
            align-items: flex-start;
            gap: 1.2rem;
        }

        .rt-human-icon {
            font-family: 'Material Symbols Outlined';
            font-size: 1.8rem;
            color: var(--color-blue-medium);
            background: white;
            width: 54px;
            height: 54px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 12px;
            flex-shrink: 0;
            box-shadow: 0 4px 12px rgba(15, 42, 68, 0.04);
        }

        .rt-human-content {
            padding-top: 0.2rem;
        }

        .rt-human-title {
            font-family: 'Outfit', sans-serif;
            font-size: 1.15rem;
            font-weight: 600;
            color: var(--color-blue-night);
            margin-bottom: 0.3rem;
        }

        .rt-human-desc {
            font-size: 0.95rem;
            color: #64748B;
            line-height: 1.5;
        }

        /* ---------- 3. PROOF WALL — Bento Moodboard ---------- */
        .rt-bento {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            grid-template-rows: 260px 220px;
            gap: 1rem;
            margin-top: 3rem;
        }

        .rt-bento-item {
            border-radius: 16px;
            overflow: hidden;
            position: relative;
            background: #E2E8F0;
            cursor: default;
        }

        .rt-bento-item img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
            transition: transform 0.5s ease;
        }

        .rt-bento-item:hover img {
            transform: scale(1.05);
        }

        .rt-bento-item--wide {
            grid-column: span 2;
        }

        .rt-bento-item--tall {
            grid-row: span 2;
        }

        .rt-bento-caption {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            padding: 1rem 1.2rem;
            background: linear-gradient(0deg, rgba(15, 42, 68, 0.85) 0%, transparent 100%);
            color: white;
            font-family: 'Inter', sans-serif;
            font-size: 0.8rem;
            font-weight: 500;
            letter-spacing: 0.5px;
            text-transform: uppercase;
        }

        /* ---------- 4. TÉMOIGNAGES — Cabinet Format ---------- */

        /* A) Parent — Large Editorial Quote */
        .rt-quote-parent {
            background: var(--color-blue-night);
            border-radius: 24px;
            padding: 4rem;
            position: relative;
            overflow: hidden;
            margin-bottom: 3rem;
        }

        .rt-quote-parent::before {
            content: '"';
            position: absolute;
            top: -20px;
            left: 30px;
            font-family: 'Outfit', serif;
            font-size: 12rem;
            color: rgba(255, 255, 255, 0.05);
            line-height: 1;
            pointer-events: none;
        }

        .rt-quote-parent blockquote {
            font-family: 'Outfit', sans-serif;
            font-size: clamp(1.3rem, 2.5vw, 1.8rem);
            font-weight: 500;
            color: white;
            line-height: 1.6;
            margin-bottom: 2rem;
            max-width: 800px;
            position: relative;
        }

        .rt-quote-parent-sig {
            font-family: 'Inter', sans-serif;
            font-size: 0.9rem;
            color: rgba(255, 255, 255, 0.65);
        }

        .rt-quote-parent-sig strong {
            color: rgba(255, 255, 255, 0.9);
        }

        /* B) Students — Typography-First Cards */
        .rt-students-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 1.5rem;
        }

        .rt-student-card {
            background: white;
            border-radius: 20px;
            padding: 2.5rem 2rem 2rem;
            box-shadow: 0 4px 25px rgba(15, 42, 68, 0.05);
            border: 1px solid rgba(226, 232, 240, 0.5);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            position: relative;
        }

        .rt-student-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 16px 50px rgba(15, 42, 68, 0.1);
        }

        .rt-student-card__quote-icon {
            font-family: 'Outfit', serif;
            font-size: 4.5rem;
            line-height: 1;
            color: rgba(31, 111, 178, 0.12);
            margin-bottom: -0.8rem;
            display: block;
            user-select: none;
        }

        .rt-student-card__quote {
            font-family: 'Inter', sans-serif;
            font-size: 1.05rem;
            font-weight: 400;
            font-style: italic;
            color: #334155;
            margin-bottom: 1.2rem;
            line-height: 1.65;
        }

        .rt-student-card__sig {
            font-family: 'Outfit', sans-serif;
            font-size: 0.95rem;
            font-weight: 700;
            color: var(--color-blue-night);
            margin-bottom: 0.5rem;
        }

        .rt-student-card__meta {
            display: flex;
            align-items: center;
            gap: 0.6rem;
            flex-wrap: wrap;
        }

        .rt-tag {
            display: inline-block;
            font-size: 0.72rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 1px;
            padding: 4px 12px;
            border-radius: 50px;
            background: #EFF6FF;
            color: var(--color-blue-medium);
        }

        .rt-tag--city {
            background: #F0FDF4;
            color: #166534;
        }

        .rt-transparency-note {
            font-size: 0.82rem;
            color: #94A3B8;
            font-style: italic;
            margin-top: 2.5rem;
            text-align: center;
            max-width: 600px;
            margin-left: auto;
            margin-right: auto;
        }

        /* ---------- 5. ÉTUDES DE CAS ---------- */
        .rt-cases-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 2.5rem;
            max-width: 1200px;
            margin: 0 auto;
        }

        .rt-case {
            background: white;
            border-radius: 20px;
            overflow: hidden;
            box-shadow: 0 10px 40px rgba(15, 42, 68, 0.06);
            border: 1px solid rgba(226, 232, 240, 0.5);
            display: flex;
            flex-direction: column;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }

        .rt-case:hover {
            transform: translateY(-5px);
            box-shadow: 0 20px 40px rgba(15, 42, 68, 0.1);
        }

        .rt-case__img {
            height: 250px;
            width: 100%;
            overflow: hidden;
        }

        .rt-case__img img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.5s ease;
        }

        .rt-case:hover .rt-case__img img {
            transform: scale(1.05);
        }

        .rt-case__accent-label {
            font-family: 'Outfit', sans-serif;
            font-size: 1.1rem;
            font-weight: 600;
            color: rgba(255, 255, 255, 0.9);
        }

        .rt-case__content {
            padding: 3rem;
        }

        .rt-case__label {
            font-size: 0.75rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 2px;
            color: var(--color-blue-medium);
            margin-bottom: 0.8rem;
        }

        .rt-case__content h3 {
            font-family: 'Outfit', sans-serif;
            font-size: 1.5rem;
            font-weight: 700;
            color: var(--color-blue-night);
            margin-bottom: 1.5rem;
        }

        .rt-case__row {
            margin-bottom: 1.2rem;
        }

        .rt-case__row-label {
            font-size: 0.78rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 1.5px;
            color: #94A3B8;
            margin-bottom: 0.3rem;
        }

        .rt-case__row-text {
            font-size: 0.95rem;
            color: #334155;
            line-height: 1.6;
        }

        .rt-case__bullets {
            list-style: none;
            padding: 0;
        }

        .rt-case__bullets li {
            position: relative;
            padding-left: 1.2rem;
            font-size: 0.92rem;
            color: #334155;
            margin-bottom: 0.3rem;
        }

        .rt-case__bullets li::before {
            content: '→';
            position: absolute;
            left: 0;
            color: var(--color-blue-medium);
            font-weight: 700;
        }

        .rt-case__learning {
            margin-top: 1.5rem;
            padding-top: 1.2rem;
            border-top: 1px solid #F1F5F9;
            font-size: 0.88rem;
            color: #64748B;
            font-style: italic;
        }

        /* ---------- 6. PROFIL SELECTOR ---------- */
        .rt-profiles {
            text-align: center;
        }

        .rt-pills {
            display: flex;
            justify-content: center;
            gap: 0.8rem;
            flex-wrap: wrap;
            margin: 2.5rem 0;
        }

        .rt-pill {
            font-family: 'Outfit', sans-serif;
            font-size: 0.95rem;
            font-weight: 600;
            padding: 0.8rem 2rem;
            border-radius: 50px;
            border: 2px solid #E2E8F0;
            background: white;
            color: var(--color-blue-night);
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .rt-pill:hover,
        .rt-pill.active {
            background: var(--color-blue-night);
            color: white;
            border-color: var(--color-blue-night);
            transform: translateY(-2px);
            box-shadow: 0 6px 20px rgba(15, 42, 68, 0.15);
        }

        .rt-profile-text {
            font-size: 1.05rem;
            color: #4A5568;
            max-width: 600px;
            margin: 0 auto 2rem;
            line-height: 1.7;
            min-height: 80px;
        }

        /* ---------- 7. FAQ CONFIANCE ---------- */
        .rt-faq-list {
            max-width: 780px;
            margin: 3rem auto 0;
        }

        .rt-faq-item {
            background: white;
            border-radius: 16px;
            margin-bottom: 0.8rem;
            box-shadow: 0 4px 15px rgba(15, 42, 68, 0.04);
            border: 1px solid rgba(226, 232, 240, 0.6);
            overflow: hidden;
        }

        .rt-faq-q {
            padding: 1.4rem 1.8rem;
            font-family: 'Outfit', sans-serif;
            font-weight: 600;
            font-size: 1.05rem;
            color: var(--color-blue-night);
            cursor: pointer;
            display: flex;
            justify-content: space-between;
            align-items: center;
            transition: color 0.2s;
        }

        .rt-faq-q:hover {
            color: var(--color-blue-medium);
        }

        .rt-faq-q span {
            font-size: 1.4rem;
            transition: transform 0.3s;
            color: #94A3B8;
        }

        .rt-faq-item.open .rt-faq-q span {
            transform: rotate(45deg);
        }

        .rt-faq-item.open .rt-faq-q {
            color: var(--color-blue-medium);
        }

        .rt-faq-a {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.4s ease, padding 0.3s ease;
            padding: 0 1.8rem;
            font-size: 0.95rem;
            color: #4A5568;
            line-height: 1.7;
        }

        .rt-faq-item.open .rt-faq-a {
            max-height: 300px;
            padding: 0 1.8rem 1.5rem;
        }

        /* ---------- FINAL CTA BANNER ---------- */
        .rt-final-cta {
            background: var(--color-blue-night);
            padding: 5rem 0;
            text-align: center;
            position: relative;
            overflow: hidden;
        }

        .rt-final-cta::before {
            content: '';
            position: absolute;
            top: -50%;
            left: 50%;
            transform: translateX(-50%);
            width: 800px;
            height: 800px;
            background: radial-gradient(circle, rgba(31, 111, 178, 0.15) 0%, transparent 70%);
            border-radius: 50%;
            pointer-events: none;
        }

        .rt-final-cta h2 {
            font-family: 'Outfit', sans-serif;
            font-size: clamp(1.8rem, 4vw, 2.8rem);
            font-weight: 700;
            color: white;
            margin-bottom: 1.5rem;
        }

        .rt-final-cta p {
            color: rgba(255, 255, 255, 0.7);
            font-size: 1.05rem;
            max-width: 500px;
            margin: 0 auto 2.5rem;
            line-height: 1.6;
        }

        /* ---------- DIVIDER ---------- */
        .rt-divider {
            width: 60px;
            height: 3px;
            background: linear-gradient(90deg, var(--color-blue-medium), var(--color-teal-soft));
            border-radius: 3px;
            margin: 0 0 2rem;
        }

        .rt-divider--center {
            margin: 0 auto 2rem;
        }

        /* ---------- RESPONSIVE ---------- */
        @media (max-width: 991px) {
            .rt-cases-grid {
                grid-template-columns: 1fr;
            }

            .rt-bento-grid {
                grid-template-columns: 1fr 1fr;
            }

            .rt-case {
                grid-template-columns: 1fr;
            }

            .rt-case--reverse {
                direction: ltr;
            }

            .rt-case__accent {
                min-height: 200px;
            }

            .rt-case__content {
                padding: 2rem;
            }

            .rt-quote-parent {
                padding: 2.5rem 2rem;
            }

            .rt-hero {
                min-height: 60vh;
            }

            .rt-hero .container {
                padding-top: 8rem;
                padding-bottom: 3rem;
            }
        }

        @media (max-width: 900px) {
            .rt-bento-grid-v2 {
                grid-template-columns: 1fr;
            }

            .rt-bento-block--master {
                padding: 3rem 2rem;
            }

            .rt-bento-block {
                padding: 2.5rem 1.5rem;
            }

            .rt-students-grid {
                grid-template-columns: 1fr;
            }
        }

        @media (max-width: 600px) {
            .rt-bento {
                grid-template-columns: 1fr;
            }

            .rt-pills {
                gap: 0.5rem;
            }

            .rt-pill {
                padding: 0.6rem 1.4rem;
                font-size: 0.85rem;
            }

            .rt-section {
                padding: 4rem 0;
            }

            .rt-section-lg {
                padding: 5rem 0;
            }
        }

/* Extracted from faq.html */
/* ===== FAQ PAGE LAYOUT ===== */
        .faq-split-layout {
            display: grid;
            grid-template-columns: 240px 1fr;
            gap: 4rem;
            align-items: start;
        }

        .faq-sidebar {
            position: sticky;
            top: 100px;
        }

        .faq-nav ul {
            list-style: none;
            padding: 0;
            margin: 0;
        }

        .faq-nav-item {
            display: block;
            padding: 0.7rem 1rem;
            border-radius: 8px;
            color: #64748B;
            font-family: var(--font-heading, 'Outfit', sans-serif);
            font-size: 0.95rem;
            font-weight: 500;
            text-decoration: none;
            transition: all 0.2s ease;
            border-left: 3px solid transparent;
            margin-bottom: 4px;
        }

        .faq-nav-item:hover {
            color: var(--color-blue-night, #0B1120);
            background-color: #F1F5F9;
            border-left-color: var(--color-blue-medium, #1F6FB2);
        }

        .faq-nav-item.active {
            color: var(--color-blue-night, #0B1120);
            background-color: #EEF2FF;
            border-left-color: var(--color-blue-medium, #1F6FB2);
            font-weight: 600;
        }

        .faq-content {
            min-width: 0;
        }

        .faq-category {
            margin-bottom: 4rem;
            scroll-margin-top: 110px;
        }

        .faq-cat-title {
            font-family: var(--font-heading, 'Outfit', sans-serif);
            font-size: 1.5rem;
            font-weight: 700;
            color: var(--color-blue-night, #0B1120);
            margin-bottom: 1.5rem;
            padding-bottom: 1rem;
            border-bottom: 1px solid #E2E8F0;
        }

        @media (max-width: 900px) {
            .faq-split-layout {
                grid-template-columns: 1fr;
                gap: 2rem;
            }

            .faq-sidebar {
                position: static;
            }
        }

/* ==========================================================================
   BLOG BENTO BOX GRID STYLES
   ========================================================================== */
.news-bento-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}

@media (min-width: 900px) {
    .news-bento-grid {
        grid-template-columns: 55% 1fr;
    }
}

.news-bento-major a img, .news-bento-minor a img {
    transition: transform 0.4s ease;
}

.news-bento-major:hover a img, .news-bento-minor:hover a img {
    transform: scale(1.05);
}

.news-bento-major, .news-bento-minor {
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.news-bento-major:hover, .news-bento-minor:hover {
    box-shadow: 0 20px 40px rgba(0,0,0,0.08);
    transform: translateY(-5px);
}

/* ==========================================================================
   MISSION 6: UI/UX CHIRURGICALE OVERRIDES 
   ========================================================================== */

/* 1. Bento Box Asymmetrical Grid Overrides */
.news-bento-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
}

@media (min-width: 900px) {
    .news-bento-grid {
        grid-template-columns: 2fr 1fr !important;
    }
}

.news-bento-major, .news-bento-minor {
    box-shadow: var(--shadow-soft) !important;
    border-radius: var(--radius-md, 16px) !important;
}

.news-bento-major a, .news-bento-minor a {
    aspect-ratio: 16/9 !important;
}

.news-bento-major a img, .news-bento-minor a img {
    object-fit: cover !important;
    aspect-ratio: 16/9 !important;
}

/* 2. Single Post Content Readability */
.post-content.container {
    max-width: 800px;
    margin: 0 auto;
    line-height: 1.8;
    font-size: 1.1rem;
    color: var(--color-text-dark, #334155);
    padding: 0 1rem;
}

.post-content p {
    margin-bottom: 1.5rem;
}

.post-content h2 {
    font-size: 2rem;
    color: var(--color-blue-night);
    margin: 3rem 0 1.5rem;
    font-family: var(--font-heading);
}

.post-content h3 {
    font-size: 1.5rem;
    color: var(--color-blue-night);
    margin: 2rem 0 1rem;
    font-family: var(--font-heading);
}

.post-content ul,
.post-content ol {
    margin-bottom: 1.5rem;
    padding-left: 1.5rem;
}

.post-content li {
    margin-bottom: 0.5rem;
}

.post-content img {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    margin: 2rem 0;
}

.post-content blockquote {
    border-left: 4px solid var(--color-blue-medium);
    padding-left: 1.5rem;
    font-style: italic;
    color: #64748B;
    margin: 2rem 0;
}

.post-content a {
    color: var(--color-blue-medium);
    text-decoration: underline;
}

.post-content a:hover {
    color: var(--color-blue-night);
}

/* ==========================================================================
   MISSION 6.5: STRICT STRUCTURAL ALIGNMENT REPAIR
   ========================================================================== */

/* Bento Box Grid Fix */
.bento-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
    width: 100% !important;
}

@media (min-width: 992px) {
    .bento-grid {
        grid-template-columns: 2fr 1fr !important;
    }
}

.bento-grid img {
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
    border-radius: var(--radius-md, 16px) !important;
    aspect-ratio: 16/9 !important;
}

/* Single Post Fix */
.post-content img {
    max-width: 100% !important;
    height: auto !important;
    border-radius: 8px !important;
    margin: 2rem 0 !important;
}

.post-content p {
    margin-bottom: 1.5rem !important;
    line-height: 1.8 !important;
    color: var(--color-text-dark, #334155) !important;
}

.post-content h2,
.post-content h3 {
    margin-top: 2.5rem !important;
    margin-bottom: 1rem !important;
}

/* ==========================================================================
   MISSION 6.9: RETURN TO BASICS (3 COLUMNS & CLEAN SINGLE)
   ========================================================================== */

/* 1. Resetting Grid to 3 Columns Desktop */
.bento-grid {
    display: grid !important;
    gap: 2rem !important;
    width: 100% !important;
    grid-template-columns: 1fr !important;
}

@media (min-width: 768px) {
    .bento-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (min-width: 992px) {
    .bento-grid {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

/* 2. Strict Article Rules */
.single-post-container { 
    max-width: 800px; 
    margin: 4rem auto; 
    padding: 0 1rem; 
}
.single-header { 
    text-align: center; 
    margin-bottom: 3rem; 
}
.single-title { 
    font-size: 2.8rem; 
    line-height: 1.2; 
    color: var(--color-blue-night); 
    margin-top: 1rem; 
}
.post-content { 
    line-height: 1.8; 
    font-size: 1.1rem; 
    color: var(--color-text-dark); 
}
.post-content p { 
    margin-bottom: 1.5rem; 
}
.post-content h2, .post-content h3 { 
    margin-top: 2.5rem; 
    margin-bottom: 1rem; 
    color: var(--color-blue-night); 
}

/* RÈGLE CRITIQUE ANTI-DÉBORDEMENT POUR WORDPRESS */
.post-content img, .post-content figure, .post-content iframe { 
    max-width: 100% !important; 
    height: auto !important; 
    border-radius: 8px; 
    margin: 2rem 0; 
    display: block; 
}

/* Styling the CTA inside the single post purely with CSS classes */
.single-cta {
    margin-top: 6rem;
}
.single-cta .cta-box {
    background: var(--color-blue-night); 
    border-radius: 24px; 
    padding: 4rem 2rem; 
    text-align: center; 
    color: white; 
    position: relative; 
    overflow: hidden; 
    box-shadow: 0 20px 40px rgba(11, 17, 32, 0.15);
}
.single-cta .cta-glow {
    position: absolute; 
    top: -50px; right: -50px; 
    width: 200px; height: 200px; 
    background: rgba(31, 111, 178, 0.3); 
    filter: blur(60px); border-radius: 50%; 
    pointer-events: none;
}
.single-cta .cta-title {
    color: #FFFFFF; 
    font-size: 2rem; 
    margin-bottom: 1.5rem; 
    font-family: var(--font-heading); 
    position: relative; 
    z-index: 1;
}
.single-cta .cta-desc {
    color: #FFFFFF; 
    font-size: 1.1rem; 
    margin-bottom: 2.5rem; 
    max-width: 500px; 
    margin-left: auto; margin-right: auto; 
    position: relative; z-index: 1;
}
.single-cta .btn {
    background: var(--color-yellow-warm); 
    color: var(--color-blue-night); 
    border: none; 
    font-size: 1.1rem; 
    padding: 1.2rem 2.5rem; 
    position: relative; z-index: 1;
}

/* ==========================================================================
   MISSION 7: POLISHING SINGLE POST UI
   ========================================================================== */

/* 1. Featured Image Constraints */
.single-thumbnail {
    width: 100% !important;
    max-width: 800px !important; /* Cap width to container */
    margin: 0 auto 3rem !important; /* Center and add bottom space */
    border-radius: var(--radius-lg, 24px) !important;
    overflow: hidden !important;
    box-shadow: var(--shadow-soft) !important;
}

.single-thumbnail img {
    width: 100% !important;
    height: auto !important;
    max-height: 450px !important; /* Restrict huge vertical images */
    object-fit: cover !important; /* Ensure it fills perfectly without distortion */
    display: block !important;
}

/* 2. Content Images Constraints */
.post-content img, 
.post-content figure, 
.post-content iframe {
    max-width: 100% !important;
    height: auto !important;
    border-radius: var(--radius-md, 16px) !important; /* Nice rounded corners */
    margin: 2.5rem auto !important; /* Center content images */
    display: block !important;
    box-shadow: 0 10px 30px -10px rgba(15, 42, 68, 0.1) !important; /* Subtle premium shadow for content images */
}

/* 3. Meta Data Styling (Category and Date) */
.single-meta {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 1rem !important;
    margin-bottom: 2rem !important;
    font-size: 0.95rem !important;
    color: #64748B !important;
}

.single-category {
    background: #EEF2FF !important;
    color: var(--color-blue-medium) !important;
    padding: 0.4rem 1.2rem !important;
    border-radius: 50px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    font-size: 0.85rem !important;
    letter-spacing: 0.5px !important;
}

.single-title {
    font-size: 3.2rem !important; /* Slightly larger, more premium */
    line-height: 1.15 !important;
    margin-bottom: 2.5rem !important;
}

@media (max-width: 768px) {
    .single-title {
        font-size: 2.2rem !important;
    }
    .single-thumbnail img {
        max-height: 300px !important;
    }
}

/* ==========================================================================
   MISSION 8: FINAL HOME POLISH
   ========================================================================== */

/* 1. Widening the Strategic Evaluation Card */
@media (min-width: 900px) {
    .eligibility-split {
        grid-template-columns: 1.6fr 0.8fr !important; /* Pushes the left card to be wider */
    }
}
