/* Pack Démarrage : jeunes médecins dentistes (Global Advice)
   Accent unique : turquoise dentaire. Arrondis : boutons et étiquette en pilule, photos et panneaux 24px, champs 12px. */
:root {
    --pk-navy: #06132b;
    --pk-teal: #0d9488;
    --pk-teal-d: #0f766e;
    --pk-teal-l: #5eead4;
    --pk-ink: #334155;
    --pk-muted: #64748b;
    --pk-r: 1.5rem;
}

.pk-teal { color: var(--pk-teal); }
.pk-h2 { font-size: clamp(1.9rem, 1.4rem + 1.6vw, 2.6rem); line-height: 1.12; font-weight: 800; letter-spacing: -0.02em; color: var(--pk-navy); }
.pk-body { font-size: 1.05rem; line-height: 1.7; color: var(--pk-ink); }
.pk-eyebrow { font-size: 0.8rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: var(--pk-teal-d); }
.pk-link { color: var(--pk-teal-d); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(13, 148, 136, 0.35); }
.pk-link:hover { text-decoration-color: currentColor; }

/* ---------- Hero ---------- */
.pk-hero {
    padding: calc(9rem + var(--ga-ribbon, 0px)) 0 5rem;
    background: radial-gradient(110% 80% at 90% 0%, #0f4c4a 0%, rgba(15, 76, 74, 0) 55%), linear-gradient(160deg, #06132b 0%, #0a1f3a 60%, #0a2f33 100%);
}
@media (max-width: 1023px) { .pk-hero { padding: calc(7rem + var(--ga-ribbon, 0px)) 0 4rem; } }
.pk-tag {
    display: inline-block; padding: 0.4rem 0.9rem; border-radius: 999px;
    background: var(--pk-teal); color: #fff;
    font-size: 0.75rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase;
}
.pk-title { margin-top: 1.5rem; font-size: clamp(2.5rem, 1.7rem + 3vw, 4.2rem); line-height: 1.02; font-weight: 800; letter-spacing: -0.025em; color: #fff; }
.pk-title span { display: block; margin-top: 0.9rem; max-width: 32rem; font-size: clamp(1.2rem, 1rem + 0.8vw, 1.6rem); line-height: 1.3; font-weight: 700; letter-spacing: -0.01em; color: var(--pk-teal-l); }
.pk-hero__lead { margin-top: 1.5rem; max-width: 36rem; font-size: 1.1rem; line-height: 1.65; color: #cbd5e1; }

.pk-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 0.6rem;
    padding: 1rem 1.6rem; border-radius: 999px; white-space: nowrap;
    font-size: 0.8rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase;
    transition: background 0.2s, border-color 0.2s, transform 0.15s;
}
.pk-btn:active { transform: translateY(1px); }
.pk-btn svg { width: 1.1rem; height: 1.1rem; flex: none; }
.pk-btn--light { background: #fff; color: var(--pk-navy); }
.pk-btn--light svg { color: #16a34a; }
.pk-btn--light:hover { background: #ccfbf1; }
.pk-btn--ghost { color: #fff; border: 1px solid rgba(255, 255, 255, 0.35); }
.pk-btn--ghost:hover { border-color: #fff; }
.pk-btn--navy { background: var(--pk-navy); color: #fff; border: 0; cursor: pointer; }
.pk-btn--navy:hover { background: #142545; }
.pk-btn--navy:disabled { opacity: 0.6; cursor: wait; }

/* Portrait : photo seule, légende dessous (rien posé sur l'image) */
.pk-portrait { margin: 0; max-width: 26rem; justify-self: center; width: 100%; }
.pk-portrait img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 15%; border-radius: var(--pk-r); background: #1e293b; box-shadow: 0 40px 80px -40px rgba(0, 0, 0, 0.7); }
.pk-portrait figcaption { margin-top: 1.1rem; line-height: 1.45; }
.pk-portrait figcaption strong { display: block; font-size: 1.1rem; font-weight: 800; color: #fff; }
.pk-portrait figcaption span { display: block; font-size: 0.92rem; color: #94a3b8; }

/* ---------- Parcours : rail horizontal (bureau), vertical (mobile) ---------- */
.pk-path { position: relative; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 2rem; list-style: none; margin: 0; padding: 0; }
.pk-path::before {
    content: ""; position: absolute; top: 0.55rem; left: 0.55rem; right: 0.55rem; height: 2px;
    background: linear-gradient(90deg, #cbd5e1 0%, var(--pk-teal) 18%, var(--pk-teal) 82%, var(--pk-navy) 100%);
}
.pk-path__step { position: relative; }
.pk-path__dot { position: relative; z-index: 1; display: block; width: 1.1rem; height: 1.1rem; border-radius: 50%; background: #fff; border: 3px solid var(--pk-teal); margin-bottom: 1.6rem; }
.pk-path__step--start .pk-path__dot { border-color: #cbd5e1; }
.pk-path__step--end .pk-path__dot { background: var(--pk-navy); border-color: var(--pk-navy); }
.pk-path__step h3 { margin: 0 0 0.6rem; font-size: 1.12rem; line-height: 1.3; font-weight: 800; color: var(--pk-navy); }
.pk-path__step p { margin: 0; font-size: 0.95rem; line-height: 1.6; color: var(--pk-ink); }
.pk-path__step p.pk-path__promise { margin-top: 0.8rem; font-weight: 700; color: var(--pk-teal-d); }
.pk-path__step--start h3, .pk-path__step--start p { color: var(--pk-muted); }
.pk-path__link { display: inline-block; margin-top: 0.8rem; font-size: 0.92rem; font-weight: 700; color: var(--pk-teal-d); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 1023px) {
    .pk-path { grid-template-columns: 1fr; gap: 2.25rem; padding-left: 2.5rem; }
    .pk-path::before { top: 0.4rem; bottom: 0.4rem; left: 0.5rem; right: auto; width: 2px; height: auto;
        background: linear-gradient(180deg, #cbd5e1 0%, var(--pk-teal) 18%, var(--pk-teal) 82%, var(--pk-navy) 100%); }
    .pk-path__dot { position: absolute; left: -2.5rem; top: 0.25rem; margin: 0; }
}

/* ---------- Demi-journée ---------- */
.pk-dj { background: linear-gradient(180deg, #f0fdfa 0%, #ffffff 100%); }
.pk-themes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem 2.5rem; }
.pk-themes li { position: relative; padding-left: 1.6rem; font-size: 1.05rem; font-weight: 700; line-height: 1.4; color: var(--pk-navy); }
.pk-themes li::before { content: ""; position: absolute; left: 0.1rem; top: 0.2rem; width: 0.45rem; height: 0.8rem; border: solid var(--pk-teal); border-width: 0 2.5px 2.5px 0; transform: rotate(45deg); }
@media (max-width: 640px) { .pk-themes { grid-template-columns: 1fr; } }

.pk-photo { margin: 0; }
.pk-photo img { display: block; width: 100%; aspect-ratio: 4 / 4.4; object-fit: cover; object-position: 50% 20%; border-radius: var(--pk-r); box-shadow: 0 40px 80px -45px rgba(6, 19, 43, 0.55); }
.pk-photo figcaption { margin-top: 0.9rem; font-size: 0.9rem; color: var(--pk-muted); }
@media (max-width: 1023px) { .pk-photo { max-width: 28rem; } }

/* ---------- Bénéfices : typographie seule ---------- */
.pk-gains { display: grid; gap: 1.75rem; }
.pk-gains p { margin: 0; font-size: clamp(1.25rem, 1rem + 1vw, 1.75rem); line-height: 1.35; font-weight: 500; color: var(--pk-muted); letter-spacing: -0.01em; }
.pk-gains strong { font-weight: 800; color: var(--pk-navy); }

/* ---------- Fondateur ---------- */
.pk-quote { margin: 0; font-size: clamp(1.4rem, 1.1rem + 1.1vw, 2rem); line-height: 1.35; font-weight: 700; letter-spacing: -0.015em; color: var(--pk-navy); }

/* ---------- Réserver ---------- */
.pk-contact { margin: 0; display: grid; gap: 1.1rem; }
.pk-contact div { display: grid; grid-template-columns: 6rem 1fr; align-items: baseline; }
.pk-contact dt { font-size: 0.92rem; color: var(--pk-muted); }
.pk-contact dd { margin: 0; }
.pk-contact a { font-size: 1.1rem; font-weight: 700; color: var(--pk-navy); transition: color 0.2s; }
.pk-contact a:hover { color: var(--pk-teal-d); }

.pk-form { padding: 2.25rem; border-radius: var(--pk-r); background: #f8fafc; border: 1px solid #e2e8f0; }
.pk-form label { display: flex; flex-direction: column; gap: 0.45rem; font-size: 0.92rem; font-weight: 700; color: var(--pk-navy); }
.pk-form__opt { font-weight: 500; color: var(--pk-muted); }
.pk-form input, .pk-form select, .pk-form textarea {
    width: 100%; min-width: 0; max-width: 100%; box-sizing: border-box;
    padding: 0.85rem 1rem; border-radius: 0.75rem; border: 1px solid #cbd5e1; background: #fff;
    font: 500 1rem/1.4 'Manrope', sans-serif; color: #0f172a;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.pk-form input:focus, .pk-form select:focus, .pk-form textarea:focus { outline: none; border-color: var(--pk-teal); box-shadow: 0 0 0 4px rgba(13, 148, 136, 0.15); }
.pk-form__note { margin-top: 1rem; font-size: 0.85rem; color: var(--pk-muted); }
#reserver .grid > *, .pk-form label { min-width: 0; }
@media (max-width: 640px) { .pk-form { padding: 1.5rem; } }

/* les animations d'entrée latérales (reveal-left/right) partent hors écran : on les coupe sans créer de zone de défilement */
main { overflow-x: clip; }

@media (prefers-reduced-motion: reduce) { .pk-btn { transition: none; } }

/* ---------- FAQ en conversation ---------- */
.pk-chat { background: #fff; border: 1px solid #e2e8f0; border-radius: var(--pk-r); box-shadow: 0 30px 60px -40px rgba(6, 19, 43, 0.35); overflow: hidden; }
.pk-chat__head { display: flex; align-items: center; gap: 0.85rem; padding: 1rem 1.5rem; border-bottom: 1px solid #eef2f7; }
.pk-chat__head img { width: 2.75rem; height: 2.75rem; border-radius: 50%; object-fit: cover; object-position: 50% 15%; flex: none; }
.pk-chat__head p { margin: 0; line-height: 1.3; }
.pk-chat__head strong { display: block; font-size: 1rem; font-weight: 800; color: var(--pk-navy); }
.pk-chat__head span { display: block; font-size: 0.88rem; color: var(--pk-muted); }

.pk-chat__thread { list-style: none; margin: 0; padding: 1.75rem 1.5rem 1rem; display: flex; flex-direction: column; gap: 0.75rem; }
.pk-msg { max-width: min(34rem, 85%); padding: 0.85rem 1.1rem; font-size: 1rem; line-height: 1.6; }
.pk-msg[hidden] { display: none; }
.pk-msg--q { align-self: flex-end; background: var(--pk-navy); color: #fff; font-weight: 600; border-radius: 1.25rem 1.25rem 0.35rem 1.25rem; margin-top: 0.75rem; }
.pk-msg--q:first-child { margin-top: 0; }
.pk-msg--a { align-self: flex-start; background: #f1f5f9; color: var(--pk-ink); border-radius: 1.25rem 1.25rem 1.25rem 0.35rem; }
.pk-msg.is-new { animation: pkIn 0.35s cubic-bezier(0.16, 1, 0.3, 1) both; }
@keyframes pkIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.pk-msg--typing { display: inline-flex; gap: 0.3rem; padding: 1rem 1.1rem; }
.pk-msg--typing i { width: 0.4rem; height: 0.4rem; border-radius: 50%; background: #94a3b8; animation: pkType 1s infinite ease-in-out; }
.pk-msg--typing i:nth-child(2) { animation-delay: 0.15s; }
.pk-msg--typing i:nth-child(3) { animation-delay: 0.3s; }
@keyframes pkType { 0%, 60%, 100% { opacity: 0.35; transform: none; } 30% { opacity: 1; transform: translateY(-3px); } }

.pk-chat__replies { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 0.5rem; padding: 0.5rem 1.5rem 1.5rem; }
.pk-chat__replies[hidden] { display: none; }
.pk-chat__replies button {
    padding: 0.6rem 1rem; border-radius: 1.1rem; border: 1px solid #99d5cf; background: #fff; cursor: pointer;
    font: 600 0.92rem/1.3 'Manrope', sans-serif; color: var(--pk-teal-d); text-align: left;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.pk-chat__replies button:hover, .pk-chat__replies button:focus-visible { background: var(--pk-teal-d); border-color: var(--pk-teal-d); color: #fff; outline: none; }

.pk-chat__compose { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.5rem; border-top: 1px solid #eef2f7; background: #f8fafc; }
.pk-chat__compose span { font-weight: 700; color: var(--pk-navy); }
.pk-chat__compose .pk-btn { padding: 0.75rem 1.25rem; }
@media (max-width: 640px) {
    .pk-chat__thread, .pk-chat__replies, .pk-chat__compose, .pk-chat__head { padding-left: 1rem; padding-right: 1rem; }
    .pk-msg { max-width: 92%; }
    .pk-chat__compose { flex-direction: column; align-items: stretch; text-align: center; }
}
@media (prefers-reduced-motion: reduce) { .pk-msg.is-new, .pk-msg--typing i { animation: none; } }

/* ---------- Hero version 2 (proposition) : écran partagé, fond uni, histoire en trois temps ---------- */
.pk2 { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); min-height: min(100dvh, 920px); background: var(--pk-navy); color: #fff; }
.pk2__story {
    display: flex; flex-direction: column; justify-content: center; align-items: flex-start;
    padding: calc(8.5rem + var(--ga-ribbon, 0px)) clamp(1.5rem, 4vw, 4.5rem) 4.5rem max(1.5rem, calc((100vw - 80rem) / 2 + 3rem));
}
.pk2__setup { margin: 1.75rem 0 0; max-width: 32rem; font-size: 1.15rem; line-height: 1.55; color: #cbd5e1; font-weight: 600; }
/* Les cinq sujets dans une seule phrase : mis en avant en blanc, soulignés du turquoise de la réponse */
.pk2__burden { margin: 0.75rem 0 0; max-width: 36rem; font-size: clamp(1.2rem, 1rem + 0.75vw, 1.55rem); line-height: 1.55; font-weight: 500; color: #94a3b8; }
.pk2__burden b { font-weight: 700; color: #fff; text-decoration: underline; text-decoration-color: var(--pk-teal-l); text-decoration-thickness: 2px; text-underline-offset: 0.28em; }

.pk2__title { margin: 1.75rem 0 0; font-size: clamp(2.4rem, 1.5rem + 2.6vw, 3.9rem); line-height: 1.02; font-weight: 800; letter-spacing: -0.03em; }
.pk2__title span { display: block; color: var(--pk-teal-l); }
.pk2__cta { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 2.5rem; }

.pk2__portrait { position: relative; margin: 0; display: grid; grid-template-rows: minmax(0, 1fr) auto; background: #595b5d; }
.pk2__portrait img { width: 100%; height: 100%; min-height: 0; object-fit: cover; object-position: 50% 14%; display: block; }
.pk2__portrait figcaption { padding: 1rem clamp(1.5rem, 3vw, 2.5rem); background: var(--pk-navy); font-size: 0.95rem; color: #94a3b8; border-top: 1px solid rgba(255, 255, 255, 0.08); }
.pk2__portrait figcaption strong { color: #fff; font-weight: 800; margin-right: 0.35rem; }

.pk2__short { margin: 1.5rem 0 0; max-width: 34rem; font-size: 1.2rem; line-height: 1.6; color: #cbd5e1; }

/* Téléphone et tablette : le portrait d'abord, puis une phrase courte (la phrase longue soulignée reste sur ordinateur) */
@media (max-width: 1023px) {
    .pk2 { grid-template-columns: 1fr; min-height: 0; }
    .pk2__portrait { order: -1; }
    .pk2__portrait img { height: min(56vh, 30rem); aspect-ratio: auto; object-position: 50% 12%; padding-top: 0; }
    .pk2__story { padding: 1.75rem 1.5rem 2.75rem; }
    .pk2__story .pk-tag { font-size: 0.68rem; padding: 0.35rem 0.75rem; }
    .pk2__short { margin: 1.1rem 0 0; font-size: 1.08rem; }
    .pk2__title { margin-top: 1.25rem; font-size: clamp(2rem, 1.4rem + 3vw, 2.6rem); line-height: 1.08; }
    .pk2__cta { margin-top: 1.75rem; width: 100%; }
    .pk2__cta .pk-btn { flex: 1 1 100%; }
}

