/* ══════════════════════════════════════════════
   SOFIA — Design System
   Palette : #d0c4df · #c792df · #4a4a4a
   Typo    : DM Sans + Playfair Display
══════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400;1,600&display=swap');

:root {
    /* Palette */
    --blush:        #d0c4df;
    --rose:         #c792df;
    --rose-hover:   #b070cc;
    --cta:          #ADEEC5;
    --cta-hover:    #85DBA8;
    --cta-text:     #1a4a2e;
    --plum:         #4a4a4a;
    --plum-light:   #888888;

    /* Neutres */
    --bg:           #FAFAFA;
    --white:        #FFFFFF;
    --border:       #dddfdf;
    --border-light: #eaeaea;

    /* Tokens */
    --radius-btn:   24px;
    --radius-card:  20px;
    --radius-sm:    12px;
    --shadow:       0 2px 16px rgba(74,74,74,0.07);
    --shadow-hover: 0 8px 30px rgba(74,74,74,0.13);
    --transition:   0.3s cubic-bezier(0.25,0.46,0.45,0.94);
}

/* ── BASE ─────────────────────────────────── */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
    font-family: 'DM Sans', sans-serif;
    font-size: 16px;
    line-height: 1.7;
    color: #111111;
    background: var(--bg);
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
    padding-top: 72px;
}

img { max-width: 100%; display: block; }
a   { text-decoration: none; color: inherit; }

h1, h2, h3, h4 {
    font-family: 'Playfair Display', serif;
    line-height: 1.2;
    font-weight: 600;
    color: #111111;
}

/* ── CONTAINER ──────────────────────────── */
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 32px;
}

/* ── HEADER / NAV ───────────────────────── */
header {
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: 999;
    background: rgba(251,246,246,0.92);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-bottom: 1px solid rgba(93,87,107,0.06);
    transition: box-shadow var(--transition);
}

header.scrolled { box-shadow: 0 2px 20px rgba(93,87,107,0.08); }

nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 72px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 32px;
}

.logo {
    font-family: 'Playfair Display', serif;
    font-size: 22px;
    font-weight: 700;
    color: var(--plum);
    letter-spacing: -0.3px;
}
.logo span { color: var(--rose); }

.nav-links {
    display: flex;
    align-items: center;
    gap: 28px;
    list-style: none;
}

.nav-links a {
    font-size: 15px;
    font-weight: 500;
    color: var(--plum-light);
    padding: 6px 0;
    transition: color var(--transition);
}
.nav-links a:hover,
.nav-links a.active { color: var(--plum); }

.nav-cta {
    background: var(--cta) !important;
    color: var(--cta-text) !important;
    padding: 10px 24px !important;
    border-radius: var(--radius-btn) !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    transition: background var(--transition), transform var(--transition), box-shadow var(--transition) !important;
}
.nav-cta:hover {
    background: var(--cta-hover) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 20px rgba(173,238,197,0.5) !important;
}

.lang-badge {
    font-size: 12px;
    font-weight: 500;
    color: var(--plum-light);
    border: 1px solid var(--border);
    padding: 5px 12px;
    border-radius: var(--radius-btn);
    cursor: default;
}

/* ── BUTTONS ────────────────────────────── */
.btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 32px;
    border-radius: var(--radius-btn);
    font-family: 'DM Sans', sans-serif;
    font-size: 16px;
    font-weight: 600;
    border: none;
    cursor: pointer;
    transition: background var(--transition), transform var(--transition), box-shadow var(--transition);
    text-decoration: none;
}

.btn-rose {
    background: var(--cta);
    color: var(--cta-text);
}
.btn-rose:hover {
    background: var(--cta-hover);
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(173,238,197,0.5);
}

.btn-outline {
    background: transparent;
    color: var(--plum);
    border: 1.5px solid var(--border);
}
.btn-outline:hover {
    border-color: var(--rose);
    color: var(--rose);
    transform: translateY(-1px);
}

/* ── SECTION HELPERS ────────────────────── */
section { padding: 96px 32px; }

.section-tag {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--rose);
    margin-bottom: 12px;
}

.section-label {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: var(--rose-hover);
    margin-bottom: 12px;
    display: block;
}

.section-title {
    font-family: 'Playfair Display', serif;
    font-size: 38px;
    font-weight: 600;
    color: var(--plum);
    line-height: 1.2;
    margin-bottom: 16px;
}

.section-lead {
    font-size: 17px;
    color: #333333;
    max-width: 560px;
    line-height: 1.75;
}

/* ── FOOTER ─────────────────────────────── */
footer {
    background: var(--plum);
    padding: 48px 32px;
}

.footer-inner {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}

.footer-logo {
    font-family: 'Playfair Display', serif;
    font-size: 20px;
    font-weight: 700;
    color: var(--white);
}
.footer-logo span { color: var(--blush); }

.footer-links {
    display: flex;
    gap: 28px;
    list-style: none;
    flex-wrap: wrap;
}
.footer-links a {
    font-size: 14px;
    color: rgba(255,255,255,0.5);
    transition: color var(--transition);
}
.footer-links a:hover { color: var(--white); }

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

/* ── NAV STATES ─────────────────────────── */
.nav-soon {
    font-size: 15px;
    font-weight: 500;
    color: var(--border);
    cursor: not-allowed;
    padding: 6px 0;
}

.nav-lang {
    position: relative;
}

.nav-lang-btn {
    display: flex;
    align-items: center;
    gap: 4px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px 6px;
    border-radius: 8px;
    transition: background 0.15s;
    line-height: 1;
}

.nav-lang-btn:hover { background: #f5f0fa; }

.nav-lang-flag { font-size: 20px; line-height: 1; }

.nav-lang-chevron {
    color: #aaa;
    transition: transform 0.25s ease;
    flex-shrink: 0;
}

.nav-lang.is-open .nav-lang-chevron { transform: rotate(180deg); }

.nav-lang-dropdown {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    background: #fff;
    border: 1px solid var(--border-light);
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.10);
    padding: 6px;
    list-style: none;
    margin: 0;
    min-width: 160px;
    opacity: 0;
    transform: translateY(-6px);
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
    z-index: 200;
}

.nav-lang.is-open .nav-lang-dropdown {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.nav-lang-option {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    color: #bbb;
    cursor: not-allowed;
}

.nav-lang-option--active {
    color: var(--plum);
    background: #f8f5ff;
    cursor: default;
}

/* ── STICKY CTA ─────────────────────────── */
.sticky-cta {
    position: fixed;
    bottom: 92px;
    right: 32px;
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--cta);
    color: var(--cta-text);
    padding: 12px 20px;
    border-radius: 100px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 4px 20px rgba(173,238,197,0.5);
    opacity: 0;
    transform: translateY(12px);
    pointer-events: none;
    transition: opacity 0.3s ease, transform 0.3s ease, box-shadow 0.2s;
    z-index: 997;
}

.sticky-cta.visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.sticky-cta:hover {
    background: var(--cta-hover);
    box-shadow: 0 6px 28px rgba(173,238,197,0.7);
    transform: translateY(-2px);
}

/* ── BACK TO TOP ────────────────────────── */
.back-to-top {
    position: fixed;
    bottom: 32px;
    right: 32px;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: var(--rose);
    color: white;
    border: none;
    cursor: pointer;
    font-size: 18px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 16px rgba(199,146,223,0.45);
    transition: transform var(--transition), opacity var(--transition), box-shadow var(--transition);
    opacity: 0;
    pointer-events: none;
    z-index: 998;
}

.back-to-top.visible {
    opacity: 1;
    pointer-events: auto;
}

.back-to-top:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(199,146,223,0.5);
}

/* ══════════════════════════════════════════════
   PAGE — Accueil (index)
══════════════════════════════════════════════ */

/* ── HERO ───────────────────────────────── */
.hero {
    background: var(--bg);
    padding: 0 24px;
    height: calc(100vh - 72px - 68px);
    display: flex;
    align-items: center;
}

.hero-inner {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}

.hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--white);
    border: 1px solid var(--border);
    padding: 8px 18px;
    border-radius: 100px;
    font-size: 13px;
    font-weight: 500;
    color: #555;
    margin-bottom: 28px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}

.hero-eyebrow svg { flex-shrink: 0; color: var(--rose); }

.hero h1 {
    font-size: clamp(56px, 7vw, 88px);
    line-height: 1.0;
    color: #111;
    margin-bottom: 14px;
    letter-spacing: -2px;
}

.hero-tagline {
    font-family: 'DM Sans', sans-serif;
    font-size: clamp(18px, 2.2vw, 23px);
    font-weight: 600;
    background: linear-gradient(135deg, #c792df, #7a38a0);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 36px;
}

.hero-bio {
    font-size: 17px;
    color: #666;
    line-height: 1.75;
    max-width: 420px;
    margin-bottom: 12px;
}

.hero-bio-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 32px;
}

.hero-bio-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 16px;
    color: #444;
    font-weight: 500;
}

.hero-bio-list li::before {
    content: '';
    width: 7px;
    height: 7px;
    min-width: 7px;
    background: var(--rose);
    border-radius: 50%;
}

.hero-actions {
    display: flex;
    gap: 12px;
    margin-bottom: 28px;
}

.hero-stats-row {
    display: flex;
    gap: 32px;
    border-top: 1px solid var(--border-light);
    padding-top: 28px;
}

.hero-stat-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
}

.hero-stat-icon {
    width: 34px;
    height: 34px;
    background: linear-gradient(135deg, rgba(208,196,223,0.6), rgba(199,146,223,0.3));
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.hero-stat-icon svg {
    width: 16px;
    height: 16px;
    stroke: var(--rose-hover);
    fill: none;
    stroke-width: 2;
}

.hero-stat-num {
    font-family: 'Playfair Display', serif;
    font-size: 34px;
    font-weight: 700;
    color: #111;
    display: block;
    line-height: 1;
}

.hero-stat-lbl {
    font-size: 12px;
    color: #999;
    font-weight: 500;
}

.hero-photo-wrap {
    position: relative;
    display: flex;
    justify-content: center;
}

.hero-photo-frame {
    width: 100%;
    max-width: 400px;
    aspect-ratio: 4/5;
    background: var(--blush);
    border-radius: 28px;
    border: 6px solid rgba(208,196,223,0.5);
    transform: rotate(2deg);
    overflow: hidden;
    box-shadow: 0 24px 64px rgba(199,146,223,0.22);
    display: flex;
    align-items: center;
    justify-content: center;
}

.hero-badge {
    position: absolute;
    bottom: 36px;
    left: -16px;
    background: var(--white);
    border-radius: 16px;
    padding: 14px 18px;
    box-shadow: 0 8px 32px rgba(74,74,74,0.12);
    display: flex;
    align-items: center;
    gap: 12px;
    z-index: 2;
}

.hero-badge-icon {
    width: 38px;
    height: 38px;
    background: linear-gradient(135deg, #d0c4df, #c792df);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    flex-shrink: 0;
}

.hero-badge strong {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: #111;
}

.hero-badge span {
    font-size: 12px;
    color: #888;
}

/* ── RIBBON ─────────────────────────────── */
.ribbon {
    background: var(--rose);
    padding: 22px 0;
    overflow: hidden;
    white-space: nowrap;
}

.ribbon-track {
    display: inline-flex;
    animation: marquee 28s linear infinite;
}

.ribbon-item {
    color: var(--white);
    font-size: 15px;
    font-weight: 500;
    padding: 0 32px;
    display: inline-flex;
    align-items: center;
    gap: 32px;
    letter-spacing: 0.3px;
}

.ribbon-item::after {
    content: '✦';
    opacity: 0.45;
    font-size: 9px;
}

@keyframes marquee {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* ── PORTES D'ENTRÉE ────────────────────── */
.services-alt {
    padding: 120px 24px;
    background: var(--white);
}

.services-alt-inner {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 96px;
}

.srows-header {
    text-align: center;
    max-width: 640px;
    margin: 0 auto;
}

.srows-header h2 {
    font-size: clamp(30px, 3.5vw, 42px);
    color: #111;
    margin: 10px 0 16px;
    line-height: 1.2;
}

.srows-lead {
    font-size: 17px;
    color: #666;
    line-height: 1.8;
}

.srow-door-label {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: var(--rose-hover);
    display: block;
    margin-bottom: 8px;
}

.srow-who {
    font-size: 16px;
    color: #888;
    font-style: italic;
    margin-bottom: 20px;
    line-height: 1.6;
}

.srow {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}

.srow-reverse .srow-visual { order: 2; }
.srow-reverse .srow-text   { order: 1; }

.srow-visual {
    aspect-ratio: 4/3;
    border-radius: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 72px;
    box-shadow: var(--shadow);
}

.srow-text h3 {
    font-size: 30px;
    color: #111;
    margin: 10px 0 20px;
    line-height: 1.25;
}

.srow-bullets {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.srow-bullets li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 16px;
    color: #555;
    line-height: 1.65;
}

.srow-bullets li::before {
    content: '';
    width: 20px;
    height: 20px;
    min-width: 20px;
    background: linear-gradient(135deg, rgba(208,196,223,0.7), rgba(199,146,223,0.4));
    border-radius: 50%;
    margin-top: 3px;
}

/* ── MINI UI MOCKS ──────────────────────── */
.sv-mock {
    flex-direction: column;
    align-items: stretch !important;
    justify-content: flex-start !important;
    font-size: 14px;
    padding: 24px 22px;
    overflow: hidden;
    background: #f4f0f9;
}

.sv-searchbar {
    background: white;
    border: 1.5px solid var(--border);
    border-radius: 100px;
    padding: 8px 14px;
    font-size: 12px;
    color: #444;
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 10px;
}

.sv-results { display: flex; flex-direction: column; gap: 5px; }

.sv-result {
    background: white;
    border-radius: 10px;
    padding: 9px 11px;
    border: 1.5px solid transparent;
}

.sv-result.sv-first {
    background: rgba(199,146,223,0.09);
    border-color: rgba(199,146,223,0.3);
}

.sv-pos {
    font-size: 9px;
    font-weight: 700;
    color: var(--rose-hover);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 2px;
}

.sv-pos.sv-grey { color: #ccc; }
.sv-domain { font-size: 10px; color: #1a6e3c; margin-bottom: 2px; }

.sv-title {
    font-size: 12px;
    color: #1a0dab;
    font-weight: 600;
    line-height: 1.35;
}

.sv-result.sv-first .sv-title { color: #222; }
.sv-desc { font-size: 10px; color: #666; line-height: 1.45; margin-top: 3px; }

.sv-gpt-mock {
    background: white !important;
    padding: 16px 18px !important;
    gap: 0;
}

.sv-gpt-header {
    display: flex;
    align-items: center;
    gap: 7px;
    padding-bottom: 11px;
    border-bottom: 1px solid #f0f0f0;
    margin-bottom: 12px;
}

.sv-gpt-icon {
    width: 20px;
    height: 20px;
    background: #19c37d;
    border-radius: 50%;
    flex-shrink: 0;
}

.sv-gpt-brand { font-size: 11px; font-weight: 700; color: #222; }

.sv-gpt-user {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 12px;
}

.sv-gpt-user-msg {
    background: #f0f0f0;
    border-radius: 14px 14px 4px 14px;
    padding: 7px 12px;
    font-size: 11px;
    color: #333;
    max-width: 82%;
    line-height: 1.45;
}

.sv-gpt-resp-wrap {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 14px;
}

.sv-gpt-resp-icon {
    width: 20px;
    height: 20px;
    background: #19c37d;
    border-radius: 50%;
    flex-shrink: 0;
    margin-top: 1px;
}

.sv-gpt-resp-text {
    font-size: 11px;
    color: #111;
    line-height: 1.75;
    flex: 1;
}

.sv-gpt-hl {
    background: rgba(199,146,223,0.2);
    border-radius: 3px;
    padding: 0 3px;
    font-weight: 700;
    color: var(--rose-hover);
}

.sv-gpt-ref {
    font-size: 8px;
    font-weight: 700;
    color: white;
    background: #aaa;
    border-radius: 3px;
    padding: 0 3px;
    vertical-align: super;
    margin-left: 1px;
    line-height: 1;
}

.sv-gpt-sources {
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
    border-top: 1px solid #f0f0f0;
    padding-top: 10px;
    margin-top: auto;
}

.sv-gpt-src {
    display: flex;
    align-items: center;
    gap: 5px;
    background: #f8f8f8;
    border: 1px solid #ebebeb;
    border-radius: 8px;
    padding: 4px 8px;
    font-size: 9px;
    color: #555;
    line-height: 1;
}

.sv-gpt-src-num {
    width: 14px;
    height: 14px;
    background: #19c37d;
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 8px;
    font-weight: 700;
    flex-shrink: 0;
}

.sv-insta-mock {
    background: white !important;
    padding: 0 !important;
    overflow: hidden;
    justify-content: flex-start !important;
}

.sv-insta-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    border-bottom: 1px solid #efefef;
}

.sv-insta-logo {
    font-family: 'Playfair Display', serif;
    font-size: 15px;
    font-weight: 700;
    color: #111;
    font-style: italic;
}

.sv-insta-icons { display: flex; gap: 14px; font-size: 15px; color: #111; }

.sv-insta-profile {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 14px 14px 8px;
}

.sv-insta-avatar-ring {
    padding: 2px;
    border-radius: 50%;
    background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
    flex-shrink: 0;
}

.sv-insta-avatar {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: linear-gradient(135deg, #c792df, #7a38a0);
    border: 2px solid white;
    display: block;
}

.sv-insta-stats {
    display: flex;
    gap: 10px;
    flex: 1;
    justify-content: space-around;
}

.sv-insta-stat { display: flex; flex-direction: column; align-items: center; gap: 1px; }
.sv-insta-stat strong { font-size: 13px; font-weight: 700; color: #111; }
.sv-insta-stat span { font-size: 10px; color: #555; }

.sv-insta-bio { padding: 0 14px 10px; display: flex; flex-direction: column; gap: 3px; }
.sv-insta-username { font-size: 12px; font-weight: 700; color: #111; }
.sv-insta-biotext { font-size: 11px; color: #333; line-height: 1.45; }

.sv-insta-follow {
    margin: 0 14px 12px;
    width: calc(100% - 28px);
    background: #0095f6;
    color: white;
    border: none;
    border-radius: 8px;
    padding: 6px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    font-family: 'DM Sans', sans-serif;
    display: block;
}

.sv-insta-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2px;
}

.sv-insta-post {
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
}

.sv-newsletter-mock {
    background: #f0ecf6 !important;
    padding: 16px !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0;
}

.sv-nl-wrap {
    background: white;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(100,60,160,0.12);
    display: flex;
    flex-direction: column;
    flex: 1;
}

.sv-nl-header {
    background: linear-gradient(135deg, #7a38a0, #c792df);
    padding: 18px 20px;
    text-align: center;
}

.sv-nl-brand {
    font-family: 'Playfair Display', serif;
    font-size: 15px;
    font-weight: 700;
    color: white;
    letter-spacing: 0.5px;
    display: block;
}

.sv-nl-edition {
    font-size: 9px;
    color: rgba(255,255,255,0.65);
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-top: 3px;
    display: block;
}

.sv-nl-hero {
    background: linear-gradient(135deg, #f6f2fb, #ede8f5);
    padding: 14px 18px 12px;
    border-bottom: 1px solid #ede8f5;
}

.sv-nl-greeting {
    font-size: 10px;
    color: #999;
    margin-bottom: 4px;
    display: block;
}

.sv-nl-subject {
    font-family: 'Playfair Display', serif;
    font-size: 14px;
    font-weight: 700;
    color: #111;
    line-height: 1.35;
}

.sv-nl-body {
    padding: 14px 18px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.sv-nl-text {
    font-size: 11px;
    color: #555;
    line-height: 1.7;
}

.sv-nl-offer {
    background: linear-gradient(135deg, rgba(199,146,223,0.12), rgba(208,196,223,0.18));
    border: 1px solid rgba(199,146,223,0.3);
    border-radius: 10px;
    padding: 10px 13px;
}

.sv-nl-offer-title {
    font-size: 12px;
    font-weight: 700;
    color: #7a38a0;
    display: block;
    margin-bottom: 2px;
}

.sv-nl-offer-sub { font-size: 10px; color: #888; }

.sv-nl-cta {
    display: block;
    background: linear-gradient(135deg, #9060c0, #7a38a0);
    color: white;
    font-size: 12px;
    font-weight: 700;
    padding: 10px 0;
    border-radius: 100px;
    text-align: center;
    box-shadow: 0 4px 14px rgba(122,56,160,0.3);
}

.sv-nl-footer {
    padding: 8px 18px;
    border-top: 1px solid #f4f0f9;
    text-align: center;
    font-size: 9px;
    color: #ccc;
}

.sv-ads-badge {
    display: inline-block;
    font-size: 9px;
    font-weight: 600;
    color: #5f6368;
    border: 1px solid #aaa;
    border-radius: 3px;
    padding: 1px 4px;
    margin-bottom: 3px;
    letter-spacing: 0.3px;
}

.sv-sep-line { text-align: center; font-size: 9px; color: #ccc; padding: 4px 0; }

/* ── PARETO ─────────────────────────────── */
.pareto-section {
    padding: 120px 24px;
    background: var(--bg);
}

.pareto-wrap { max-width: 1100px; margin: 0 auto; }

.pareto-header {
    text-align: center;
    max-width: 620px;
    margin: 0 auto 64px;
}

.pareto-header h2 {
    font-size: clamp(30px, 3.5vw, 42px);
    color: #111;
    margin: 10px 0 18px;
    line-height: 1.2;
}

.pareto-header p { font-size: 17px; color: #555; line-height: 1.8; }

.pareto-split-card {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-radius: 28px;
    overflow: hidden;
    box-shadow: var(--shadow-hover);
}

.pareto-col { padding: 52px 48px; }
.pareto-col-grey   { background: #f2f2f2; }
.pareto-col-violet { background: linear-gradient(140deg, #9060c0 0%, #7a38a0 100%); }

.pareto-pct {
    font-family: 'Playfair Display', serif;
    font-size: 72px;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 6px;
    display: block;
}

.pareto-col-grey  .pareto-pct { color: #c8c8c8; }
.pareto-col-violet .pareto-pct { color: rgba(255,255,255,0.9); }

.pareto-col-label {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 36px;
    display: block;
}

.pareto-col-grey  .pareto-col-label { color: #aaa; }
.pareto-col-violet .pareto-col-label { color: rgba(255,255,255,0.65); }

.pareto-items {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 13px;
    margin-bottom: 36px;
}

.pareto-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 15px;
    line-height: 1.4;
}

.pareto-col-grey  .pareto-item { color: #aaa; }
.pareto-col-violet .pareto-item { color: rgba(255,255,255,0.92); font-weight: 500; }

.pi-dot {
    width: 7px; height: 7px; min-width: 7px;
    border-radius: 50%;
    flex-shrink: 0;
}

.pareto-col-grey  .pi-dot { background: #ccc; }
.pareto-col-violet .pi-dot { background: rgba(255,255,255,0.7); }

.pareto-result {
    display: inline-block;
    font-size: 13px;
    font-weight: 600;
    padding: 9px 18px;
    border-radius: 100px;
}

.pareto-col-grey  .pareto-result { background: #e8e8e8; color: #aaa; }
.pareto-col-violet .pareto-result { background: rgba(255,255,255,0.15); color: white; border: 1px solid rgba(255,255,255,0.2); }

/* ── SERVICES GRID ──────────────────────── */
.services-section {
    padding: 120px 24px;
    background: var(--blush);
}

.services-head {
    max-width: 1200px;
    margin: 0 auto 56px;
    text-align: center;
}

.services-head h2 {
    font-size: clamp(32px, 3.5vw, 42px);
    color: #111;
    line-height: 1.2;
}

.services-grid {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.sg-card {
    background: var(--white);
    border-radius: var(--radius-card);
    padding: 32px 28px 28px;
    box-shadow: var(--shadow);
    display: flex;
    flex-direction: column;
    transition: transform var(--transition), box-shadow var(--transition);
}

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

.sg-icon { font-size: 30px; margin-bottom: 16px; line-height: 1; }

.sg-card h3 {
    font-family: 'DM Sans', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #111;
    margin-bottom: 6px;
    line-height: 1.3;
}

.sg-pro-name {
    display: block;
    font-size: 11px;
    font-weight: 600;
    color: var(--rose-hover);
    text-transform: uppercase;
    letter-spacing: 1.2px;
    margin-bottom: 10px;
}

.sg-card p { font-size: 14px; color: #666; line-height: 1.7; flex: 1; }

.sg-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 13px;
    font-weight: 600;
    color: var(--rose-hover);
    margin-top: 18px;
    transition: gap var(--transition);
}

.sg-link::after { content: '→'; }
.sg-link:hover { gap: 9px; }

/* ── RÉASSURANCE ────────────────────────── */
.reassurance-section {
    padding: 96px 24px;
    background: var(--white);
    border-top: 1px solid var(--border-light);
}

.reassurance-inner {
    max-width: 960px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.reassurance-item {
    padding: 32px;
    border: 1px solid var(--border-light);
    border-radius: 16px;
    background: #fff;
    display: flex;
    flex-direction: column;
    transition: box-shadow 0.2s;
}

.reassurance-item:hover {
    box-shadow: 0 4px 24px rgba(0,0,0,0.07);
}

.reassurance-front {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.reassurance-value {
    font-family: 'Playfair Display', serif;
    font-size: 48px;
    font-weight: 700;
    line-height: 1;
    background: linear-gradient(135deg, #111, #555);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.reassurance-icon { font-size: 32px; line-height: 1; }
.reassurance-label { font-size: 16px; font-weight: 700; color: #111; line-height: 1.3; }

.reassurance-toggle {
    margin-top: 16px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1.5px solid #ddd;
    background: transparent;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: border-color 0.2s, background 0.2s;
}

.reassurance-toggle:hover {
    border-color: var(--rose);
    background: var(--rose);
}

.reassurance-toggle-icon {
    position: relative;
    width: 12px;
    height: 1.5px;
    background: #555;
    transition: background 0.2s;
}

.reassurance-toggle-icon::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 12px;
    height: 1.5px;
    background: #555;
    transform: translateY(-50%) rotate(90deg);
    transition: transform 0.3s, background 0.2s;
}

.reassurance-toggle:hover .reassurance-toggle-icon,
.reassurance-toggle:hover .reassurance-toggle-icon::before { background: #fff; }

.reassurance-item.is-open .reassurance-toggle {
    border-color: var(--rose);
    background: var(--rose);
}

.reassurance-item.is-open .reassurance-toggle .reassurance-toggle-icon,
.reassurance-item.is-open .reassurance-toggle .reassurance-toggle-icon::before { background: #fff; }

.reassurance-item.is-open .reassurance-toggle-icon::before {
    transform: translateY(-50%) rotate(0deg);
}

.reassurance-body {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.35s ease;
}

.reassurance-body > p {
    overflow: hidden;
    min-height: 0;
    margin: 0;
    padding-top: 0;
    font-size: 14px;
    color: #777;
    line-height: 1.75;
    transition: padding-top 0.35s ease;
}

.reassurance-item.is-open .reassurance-body {
    grid-template-rows: 1fr;
}

.reassurance-item.is-open .reassurance-body > p {
    padding-top: 16px;
}

/* ── PÉDAGOGIE SEO/GEO ──────────────────── */
.seo-section {
    padding: 120px 24px;
    background: var(--white);
}

.seo-wrap { max-width: 1200px; margin: 0 auto; }

.seo-header { text-align: center; margin-bottom: 64px; }

.seo-header h2 {
    font-size: clamp(32px, 3.5vw, 44px);
    color: #111;
    margin-top: 10px;
}

.seo-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
    align-items: start;
}

.seo-card {
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: 24px;
    padding: 48px 44px;
}

.seo-card-tag {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: var(--rose-hover);
    display: block;
    margin-bottom: 10px;
}

.seo-card h3 {
    font-size: clamp(24px, 2.5vw, 30px);
    color: #111;
    margin-bottom: 20px;
    line-height: 1.2;
}

.seo-card-def {
    font-size: 17px;
    font-weight: 600;
    color: #111;
    line-height: 1.65;
    margin-bottom: 32px;
    padding-bottom: 28px;
    border-bottom: 1px solid var(--border);
}

.seo-steps { display: flex; flex-direction: column; gap: 14px; }

.seo-step { display: flex; align-items: flex-start; gap: 14px; }

.seo-step-num {
    width: 26px;
    height: 26px;
    min-width: 26px;
    border-radius: 50%;
    background: linear-gradient(135deg, #d0c4df, #c792df);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    color: white;
    flex-shrink: 0;
}

.seo-step-text { font-size: 15px; color: #555; line-height: 1.55; padding-top: 3px; }
.seo-step-text strong { color: #111; font-weight: 600; }

.seo-conclusion {
    margin-top: 20px;
    background: linear-gradient(135deg, rgba(208,196,223,0.35), rgba(199,146,223,0.18));
    border-radius: 12px;
    padding: 14px 18px;
    font-size: 14px;
    font-weight: 700;
    color: var(--rose-hover);
}

/* ── CONTACT ────────────────────────────── */
.contact-section {
    padding: 120px 24px;
    background: linear-gradient(135deg, #9060c0 0%, #c792df 100%);
    position: relative;
    overflow: hidden;
}

.contact-section::before {
    content: '';
    position: absolute;
    top: -160px; right: -160px;
    width: 520px; height: 520px;
    background: rgba(255,255,255,0.06);
    border-radius: 50%;
    pointer-events: none;
}

.contact-inner {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1.3fr;
    gap: 80px;
    align-items: start;
    position: relative;
    z-index: 1;
}

.contact-copy { padding-top: 8px; }

.contact-label {
    display: inline-block;
    background: rgba(255,255,255,0.2);
    border: 1px solid rgba(255,255,255,0.3);
    color: white;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 7px 18px;
    border-radius: 100px;
    margin-bottom: 24px;
}

.contact-title {
    font-size: clamp(34px, 4vw, 52px);
    color: white;
    margin-bottom: 20px;
    line-height: 1.15;
}

.contact-lead {
    font-size: 17px;
    color: rgba(255,255,255,0.82);
    line-height: 1.8;
    margin-bottom: 24px;
}

.contact-reassure {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 8px;
}

.contact-reassure li {
    font-size: 14px;
    color: rgba(255,255,255,0.75);
    display: flex;
    align-items: center;
    gap: 8px;
}

.contact-reassure li::before {
    content: '✓';
    font-size: 12px;
    font-weight: 700;
    background: rgba(255,255,255,0.2);
    width: 22px;
    height: 22px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.contact-card {
    background: white;
    border-radius: 24px;
    padding: 44px 40px;
    box-shadow: 0 24px 64px rgba(80,40,120,0.22);
}

.contact-form { display: flex; flex-direction: column; gap: 20px; }

.cf-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }

.cf-field { display: flex; flex-direction: column; gap: 6px; }

.cf-field label { font-size: 13px; font-weight: 600; color: #444; }

.cf-required { color: var(--rose); }
.cf-optional { font-weight: 400; color: #aaa; font-size: 12px; }

.cf-field input[type="text"],
.cf-field input[type="email"],
.cf-field input[type="url"],
.cf-field input[type="tel"] {
    border: 1.5px solid var(--border);
    border-radius: 12px;
    padding: 11px 14px;
    font-family: 'DM Sans', sans-serif;
    font-size: 15px;
    color: #111;
    background: var(--bg);
    transition: border-color var(--transition);
    outline: none;
}

.cf-field input:focus { border-color: var(--rose); background: white; }

.cf-lang-pills { display: flex; gap: 8px; flex-wrap: wrap; }

.cf-lang-pill {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border: 1.5px solid var(--border);
    border-radius: 100px;
    font-size: 13px;
    font-weight: 500;
    color: #555;
    cursor: pointer;
    transition: all var(--transition);
    user-select: none;
}

.cf-lang-pill input { display: none; }

.cf-lang-pill:has(input:checked) {
    border-color: var(--cta);
    background: rgba(173,238,197,0.15);
    color: var(--cta-text);
    font-weight: 700;
}

.cf-checks {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.cf-check {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 13px;
    color: #444;
    cursor: pointer;
    padding: 6px 10px;
    border-radius: 8px;
    border: 1.5px solid transparent;
    transition: all var(--transition);
}

.cf-check input[type="checkbox"] { display: none; }

.cf-check-box {
    width: 18px;
    height: 18px;
    min-width: 18px;
    border: 1.5px solid var(--border);
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all var(--transition);
    font-size: 11px;
    background: white;
}

.cf-check:has(input:checked) .cf-check-box {
    background: var(--cta);
    border-color: var(--cta);
    color: var(--cta-text);
}

.cf-check:has(input:checked) .cf-check-box::after { content: '✓'; }

.cf-check:has(input:checked) {
    background: rgba(199,146,223,0.08);
    border-color: rgba(199,146,223,0.3);
    color: #222;
    font-weight: 500;
}

.cf-submit {
    background: var(--cta);
    color: var(--cta-text);
    border: none;
    border-radius: 100px;
    padding: 16px 0;
    font-family: 'DM Sans', sans-serif;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    transition: background var(--transition), transform var(--transition), box-shadow var(--transition);
    margin-top: 4px;
}

.cf-submit:hover {
    background: var(--cta-hover);
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(173,238,197,0.5);
}

/* ══════════════════════════════════════════════
   PAGE — Discuter de votre business
══════════════════════════════════════════════ */
.discuter-section {
    background: var(--bg);
    padding: 100px 24px 80px;
}

.discuter-wrap {
    max-width: 1100px;
    margin: 0 auto;
}

.discuter-title-block {
    margin-bottom: 56px;
}

.discuter-title-block h1 {
    font-family: 'Playfair Display', serif;
    font-size: clamp(36px, 4vw, 56px);
    color: #111;
    line-height: 1.15;
    margin-top: 12px;
}

.discuter-inner {
    display: grid;
    grid-template-columns: 340px 1fr;
    gap: 64px;
    align-items: start;
}

.discuter-left {
    position: sticky;
    top: 100px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.discuter-name {
    font-family: 'Playfair Display', serif;
    font-size: 28px;
    font-weight: 700;
    color: var(--rose);
    margin: 0;
}

.discuter-message {
    font-size: 15px;
    color: #555;
    line-height: 1.75;
    margin: 0;
    font-style: italic;
}

.discuter-photo-wrap {
    border-radius: 20px;
    overflow: hidden;
    aspect-ratio: 3/4;
    margin-top: 8px;
}

.discuter-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
}

.discuter-right {
    padding-top: 4px;
}

/* ══════════════════════════════════════════════
   PAGE — Cas pratiques
══════════════════════════════════════════════ */

/* ── HERO ───────────────────────────────── */
.cp-hero {
    background: var(--bg);
    padding: 80px 24px 64px;
    border-bottom: 1px solid var(--border-light);
}

.cp-hero-inner {
    max-width: 860px;
    margin: 0 auto;
}

.cp-hero-inner h1 {
    font-size: clamp(38px, 5vw, 62px);
    color: #111;
    margin: 14px 0 20px;
    line-height: 1.1;
}

.cp-hero-inner p {
    font-size: 17px;
    color: #666;
    line-height: 1.8;
    max-width: 520px;
}

/* ── CASE SECTION ───────────────────────── */
.cp-case {
    padding: 80px 24px 100px;
    background: var(--white);
}

.cp-case-inner {
    max-width: 860px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 56px;
}

/* ── CLIENT HEADER ──────────────────────── */
.cp-case-header {
    display: flex;
    align-items: center;
    gap: 20px;
    padding-bottom: 32px;
    border-bottom: 1px solid var(--border-light);
    flex-wrap: wrap;
}

.cp-logo {
    flex-shrink: 0;
}

.cp-logo svg {
    border-radius: 12px;
}

.cp-client-info {
    flex: 1;
}

.cp-client-name {
    font-family: 'Playfair Display', serif;
    font-size: 20px;
    font-weight: 700;
    color: #111;
    margin: 0 0 4px;
}

.cp-client-meta {
    font-size: 14px;
    color: #888;
    margin: 0;
}

.cp-tag {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: var(--rose-hover);
    background: rgba(199,146,223,0.1);
    border: 1px solid rgba(199,146,223,0.25);
    padding: 6px 14px;
    border-radius: 100px;
    white-space: nowrap;
}

/* ── RECOGNITION ────────────────────────── */
.cp-recognition {
    background: linear-gradient(135deg, #faf8ff, #f5f0fc);
    border: 1px solid rgba(199,146,223,0.2);
    border-radius: 16px;
    padding: 32px 36px;
}

.cp-recognition-label {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: var(--rose-hover);
    margin: 0 0 12px;
}

.cp-recognition p:last-child {
    font-size: 16px;
    color: #444;
    line-height: 1.8;
    margin: 0;
}

/* ── BODY (2 columns) ───────────────────── */
.cp-body {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    align-items: start;
}

/* ── STRATEGY ───────────────────────────── */
.cp-strategy h2,
.cp-results h2 {
    font-size: 22px;
    color: #111;
    margin: 0 0 28px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--border-light);
}

.cp-step {
    display: flex;
    gap: 16px;
    margin-bottom: 28px;
}

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

.cp-step-num {
    font-family: 'Playfair Display', serif;
    font-size: 13px;
    font-weight: 700;
    color: var(--rose);
    opacity: 0.6;
    min-width: 28px;
    padding-top: 2px;
}

.cp-step-title {
    font-size: 15px;
    font-weight: 700;
    color: #111;
    margin: 0 0 6px;
}

.cp-step-desc {
    font-size: 14px;
    color: #666;
    line-height: 1.7;
    margin: 0;
}

.cp-articles {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin: 10px 0 0;
    padding: 0;
}

.cp-articles li {
    font-size: 13px;
    color: #888;
    line-height: 1.5;
    padding-left: 14px;
    position: relative;
}

.cp-articles li::before {
    content: '"';
    position: absolute;
    left: 0;
    color: var(--rose);
    font-weight: 700;
}

/* ── RESULTS ────────────────────────────── */
.cp-metrics {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 28px;
}

.cp-metric {
    background: var(--bg);
    border: 1px solid var(--border-light);
    border-radius: 14px;
    padding: 18px 14px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.cp-metric-value {
    font-family: 'Playfair Display', serif;
    font-size: 22px;
    font-weight: 700;
    color: #111;
    line-height: 1.1;
}

.cp-metric-label {
    font-size: 11px;
    color: #999;
    font-weight: 500;
    line-height: 1.3;
}

/* ── CHART ──────────────────────────────── */
.cp-chart {
    background: var(--bg);
    border: 1px solid var(--border-light);
    border-radius: 14px;
    padding: 20px;
}

.cp-chart-labels {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 8px;
}

.cp-chart-end {
    font-size: 13px;
    font-weight: 700;
    color: #111;
}

.cp-chart-start {
    font-size: 12px;
    color: #bbb;
}

.cp-curve {
    display: block;
    width: 100%;
    height: 80px;
    overflow: visible;
}

.cp-curve-fill {
    fill: url(#curveGradient);
}

.cp-curve-line {
    fill: none;
    stroke: #ADEEC5;
    stroke-width: 2.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.cp-chart-axis {
    display: flex;
    justify-content: space-between;
    margin-top: 8px;
}

.cp-chart-axis span {
    font-size: 11px;
    color: #ccc;
}

/* ── PRICING ────────────────────────────── */
.cp-pricing {
    padding-top: 40px;
    border-top: 1px solid var(--border-light);
}

.cp-pricing h2 {
    font-size: 22px;
    color: #111;
    margin: 0 0 24px;
}

.cp-pricing-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.cp-pricing-item {
    background: var(--bg);
    border: 1px solid var(--border-light);
    border-radius: 14px;
    padding: 22px 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.cp-pricing-label {
    font-size: 13px;
    font-weight: 700;
    color: #111;
    line-height: 1.3;
}

.cp-pricing-price {
    font-family: 'Playfair Display', serif;
    font-size: 22px;
    font-weight: 700;
    color: var(--rose-hover);
}

.cp-pricing-detail {
    font-size: 12px;
    color: #aaa;
    line-height: 1.5;
    margin-top: auto;
}
