/* MARQUE PSYCŒURLOGIE — typographie, logo, langage visuel et blocs de récit.
   La palette du site ne change pas : aubergine, eucalyptus, pierre, or. */

body { font-weight: 300; }
strong, b { font-weight: 500; }

/* ---------- Logo ---------- */
.pc-logo {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 400; font-style: normal;
  text-transform: uppercase; letter-spacing: 0.3em;
  color: #ECE4D5; white-space: nowrap;
}
.pc-oe { color: #C9A76E; }
.rh-logo .pc-logo { font-size: 17px; }
footer .logo .pc-logo { font-size: 20px; }
@media (max-width: 440px) { .rh-logo .pc-logo { font-size: 14px; letter-spacing: 0.22em; } }

/* ---------- Étiquettes de section : fines, espacées, précédées d'un trait ---------- */
.section-eyebrow, .kicker, .hero-eyebrow, .lib-kicker, .rh-next-kicker {
  letter-spacing: 0.4em !important; font-weight: 400 !important;
}
.pc-label {
  display: inline-flex; align-items: center; gap: 14px;
  font-size: 11px; letter-spacing: 0.45em; text-transform: uppercase; color: #C9A76E;
  margin-bottom: 26px;
}
.pc-label::before { content: ""; width: 26px; height: 1px; background: currentColor; }

/* ---------- Titres de la charte ---------- */
.pc-h2 {
  font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 300;
  font-size: clamp(34px, 5vw, 60px); line-height: 1.1; color: #ECE4D5; margin: 0 0 36px;
}
.pc-h2 em { font-style: italic; color: #A9B684; }
.s-vert .pc-h2 em { color: #D9AFCB; }
.pc-wrap { max-width: 1100px; margin: 0 auto; padding: 0 24px; }
.pc-sec { padding: clamp(90px, 13vh, 150px) 0; }

/* ---------- Accueil : titre de la charte ---------- */
.home-hero h1 { font-weight: 300 !important; line-height: 1.02 !important; }
.home-hero h1 em { color: #A9B684; }
.pc-hero-meta { margin-top: 26px; font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-size: 18px; color: #C9A76E; }

/* ---------- Pour qui ---------- */
.pc-rec { max-width: 820px; }
.pc-rec-item {
  display: grid; grid-template-columns: 14px 1fr; gap: 24px; align-items: start;
  padding: 26px 0; border-bottom: 1px solid rgba(236, 228, 213, 0.14);
}
.pc-rec-item::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #C9A76E; margin-top: 12px; }
.pc-rec-item p { font-size: clamp(16px, 1.6vw, 18px); line-height: 1.8; color: #DCD2C2; margin: 0; }

/* ---------- Ce que fait Psycœurlogie ---------- */
.pc-what { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 10px; }
.pc-what-card {
  padding: 40px 32px; border: 1px solid rgba(201, 167, 110, 0.2);
  background: rgba(236, 228, 213, 0.03);
  transition: background .35s, border-color .35s;
}
.pc-what-card:hover { background: rgba(169, 182, 132, 0.08); border-color: rgba(201, 167, 110, 0.45); }
.pc-what-ic { display: block; font-family: 'Cormorant Garamond', Georgia, serif; font-size: 34px; color: #C9A76E; margin-bottom: 20px; }
.pc-what-card h3 { font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-weight: 400; font-size: 24px; color: #ECE4D5; margin: 0 0 14px; }
.pc-what-card p { font-size: 15px; line-height: 1.85; color: #C8BDAE; margin: 0; }
.pc-note { margin-top: 56px; padding: 6px 0 6px 28px; border-left: 2px solid #C9A76E; max-width: 720px; }
.pc-note p { font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-size: clamp(20px, 2.2vw, 26px); line-height: 1.6; color: #C9A76E; margin: 0; }

/* ---------- Voix off ---------- */
.pc-voix {
  min-height: 92vh; display: flex; align-items: center; justify-content: center; text-align: center;
  background: radial-gradient(ellipse 60% 50% at 50% 30%, rgba(169, 182, 132, 0.07), transparent 70%), #1E1A1C;
}
.pc-voix-text {
  max-width: 760px; padding: 80px 24px;
  font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-weight: 300;
  font-size: clamp(22px, 3.2vw, 34px); line-height: 1.7; color: #ECE4D5;
}
.pc-voix-text strong { color: #C9A76E; font-weight: 400; }
.pc-voix-sig { margin-top: 56px; font-family: 'Jost', sans-serif; font-style: normal; font-size: 11px; letter-spacing: 0.5em; text-transform: uppercase; color: #C9A76E; }

/* ---------- Origine ---------- */
.pc-origin { display: grid; grid-template-columns: 1fr 2fr; gap: 64px; align-items: start; }
.pc-big { font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(120px, 16vw, 240px); line-height: .9; color: rgba(236, 228, 213, 0.12); display: block; }
.pc-origin-body p { font-size: 17px; line-height: 1.95; color: #DCD2C2; margin: 0 0 20px; max-width: 64ch; }
.pc-pull { margin: 34px 0; padding: 22px 28px; border-left: 2px solid #C9A76E; background: rgba(236, 228, 213, 0.05); }
.pc-pull p { font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-size: clamp(20px, 2.3vw, 26px) !important; line-height: 1.6 !important; color: #ECE4D5 !important; margin: 0 !important; }
.pc-link { display: inline-block; margin-top: 8px; color: #C9A76E; text-decoration: none; letter-spacing: .12em; text-transform: uppercase; font-size: 12px; border-bottom: 1px solid rgba(201,167,110,.4); padding-bottom: 4px; }
.pc-link:hover { border-color: #C9A76E; }

/* Portrait de Majda : cadre décalé en or, grand « M » en filigrane derrière */
.pc-portrait { position: relative; margin: 8px 0 0; max-width: 340px; }
.pc-portrait .pc-big { position: absolute; left: -40px; top: -10px; z-index: 0; pointer-events: none; }
.pc-portrait img { position: relative; z-index: 1; display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: center 20%; }
.pc-ph { position: relative; display: block; }
.pc-ph::after { content: ""; position: absolute; z-index: 0; inset: 18px -18px -18px 18px; border: 1px solid rgba(201, 167, 110, 0.55); }
.pc-portrait figcaption { position: relative; z-index: 1; margin-top: 30px; font-size: 11px; letter-spacing: .4em; text-transform: uppercase; color: #C9A76E; }

/* ---------- Promesse avant / après ---------- */
.pc-promise { max-width: 980px; }
.pc-pr { display: grid; grid-template-columns: 1fr 40px 1fr; gap: 20px; padding: 24px 0; border-bottom: 1px solid rgba(236, 228, 213, 0.14); align-items: start; }
.pc-pr-head span { font-size: 11px; letter-spacing: .35em; text-transform: uppercase; color: #C9A76E; }
.pc-pr-b { font-style: italic; color: #A99C90; font-size: 16px; line-height: 1.7; }
.pc-pr-a { color: #ECE4D5; font-size: 16px; line-height: 1.7; font-weight: 400; }
.pc-pr-arrow { color: #C9A76E; text-align: center; }
.pc-seal { margin: 56px auto 0; max-width: 620px; text-align: center; padding: 44px 32px; border: 1px solid rgba(201,167,110,.35); }
.pc-seal p { font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-size: clamp(22px, 2.6vw, 28px); line-height: 1.55; color: #ECE4D5; margin: 0 0 18px; }
.pc-seal p em { font-style: normal; color: #C9A76E; }
.pc-seal span { font-size: 11px; letter-spacing: .4em; text-transform: uppercase; color: #C9A76E; }

.pc-step { display: grid; grid-template-columns: 64px 1fr; gap: 20px; padding: 26px 0; border-bottom: 1px solid rgba(236, 228, 213, 0.14); align-items: baseline; }
.pc-step .pc-pr-a { border: 0 !important; padding: 0 !important; }

/* ---------- Intro cinématographique (accueil, une fois par visite) ---------- */
.pc-intro {
  position: fixed; inset: 0; z-index: 10000; background: #0F0D0C;
  display: flex; align-items: center; justify-content: center; cursor: pointer;
  transition: opacity .9s ease;
}
.pc-intro p {
  font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-weight: 300;
  font-size: clamp(18px, 2.6vw, 26px); letter-spacing: .08em; line-height: 1.7;
  color: #C9A76E; text-align: center; padding: 0 28px; margin: 0;
  opacity: 0; animation: pcFade 1.1s ease .2s forwards;
}
.pc-intro small { position: absolute; bottom: 32px; font-size: 10px; letter-spacing: .4em; text-transform: uppercase; color: rgba(201,167,110,.45); }
.pc-intro[hidden] { display: none; }
.pc-intro.is-out { opacity: 0; pointer-events: none; }
@keyframes pcFade { to { opacity: 1; } }

@media (max-width: 820px) {
  .pc-what { grid-template-columns: 1fr; }
  .pc-origin { grid-template-columns: 1fr; gap: 10px; }
  .pc-big { font-size: 110px; }
  .pc-portrait { max-width: 280px; margin: 10px 0 40px; }
  .pc-pr { grid-template-columns: 1fr; gap: 6px; }
  .pc-pr-arrow { display: none; }
  .pc-pr-a { padding-left: 16px; border-left: 2px solid #C9A76E; }
  .pc-pr-head { display: none; }
}
@media (prefers-reduced-motion: reduce) { .pc-intro { display: none; } }

/* Aucune bande visible à droite sur smartphone : les halos qui dépassent sont rognés */
html, body { overflow-x: clip; max-width: 100%; }
