:root {
  --ie-text: #202020;
  --ie-muted: #656565;
  --ie-line: #e8e8e8;
  --ie-soft: #f7f7f7;
  --ie-soft-blue: #eff4f8;
  --ie-accent: #254536;
  --ie-shadow: 0 18px 40px rgba(0,0,0,.08);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.ie-public-body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ie-text);
  background: #fff;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
.ie-shell { width: min(1520px, calc(100% - 64px)); margin: 0 auto; }

.ie-header {
  position: sticky; top: 0; z-index: 40; background: rgba(255,255,255,.98); border-bottom: 1px solid #ececec;
}
.ie-header-inner {
  min-height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 20px;
}
.ie-brand { display: inline-flex; align-items: center; gap: 16px; font-weight: 800; }
.ie-brand-text { letter-spacing: -.03em; font-size: clamp(1.8rem, 2.1vw, 2.95rem); }
.ie-nav { display: flex; align-items: center; gap: 34px; font-size: 1rem; }
.ie-nav-link, .ie-nav-button { color: #202020; font-weight: 500; }
.ie-nav-button { background: transparent; border: 0; padding: 0; cursor: pointer; font: inherit; display: inline-flex; align-items: center; gap: 6px; }
.ie-nav-dropdown { position: relative; }
.ie-dropdown-menu {
  position: absolute; top: calc(100% + 16px); left: 0; min-width: 220px; background: #fff; border: 1px solid var(--ie-line);
  border-radius: 18px; box-shadow: var(--ie-shadow); padding: 10px; display: none;
}
.ie-nav-dropdown.open .ie-dropdown-menu { display: block; }
.ie-dropdown-menu a { display: block; padding: 12px 14px; border-radius: 12px; }
.ie-dropdown-menu a:hover { background: var(--ie-soft); }

.ie-hero { background: #fff; }
.ie-hero-media { position: relative; }
.ie-hero-media > img {
  width: 100%; height: min(44vw, 740px); min-height: 560px; object-fit: cover;
}
.ie-hero-overlay {
  position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255,255,255,.14) 0%, rgba(0,0,0,.14) 100%);
}
.ie-hero-content {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
}
.ie-hero-copy {
  text-align: center; max-width: 950px; padding: 28px 32px; border-radius: 28px;
  background: rgba(255,255,255,.72); backdrop-filter: blur(8px); box-shadow: 0 24px 60px rgba(0,0,0,.12);
}
.ie-hero-copy h1 {
  margin: 0 0 18px; font-size: clamp(2.6rem, 4.8vw, 5.2rem); line-height: 1.02; letter-spacing: -.05em; font-weight: 800;
}
.ie-hero-copy p {
  margin: 0 auto; max-width: 880px; font-size: clamp(1.06rem, 1.9vw, 1.55rem); line-height: 1.52; color: #292929;
}

.ie-section { padding: 86px 0; }
.ie-section-muted { background: var(--ie-soft); }
.ie-summary-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 38px; }
.ie-summary-card { text-align: center; }
.ie-summary-image { background: var(--ie-soft-blue); border-radius: 10px; overflow: hidden; margin-bottom: 28px; aspect-ratio: 4 / 3; }
.ie-summary-image img { width: 100%; height: 100%; object-fit: cover; }
.ie-summary-card h2, .ie-feature-copy h3, .ie-split-copy h2, .ie-section-title { letter-spacing: -.03em; }
.ie-summary-card h2 { margin: 0 0 16px; font-size: clamp(1.8rem, 2.8vw, 3rem); line-height: 1.1; font-weight: 800; }
.ie-summary-card p { margin: 0; font-size: 1rem; line-height: 1.75; color: #333; }

.ie-concept-banner { position: relative; }
.ie-concept-banner img { width: 100%; height: 430px; object-fit: cover; }
.ie-concept-banner-copy {
  position: absolute; inset: 0; display: grid; place-items: center; font-size: clamp(2rem, 3.7vw, 4.4rem); font-weight: 800; color: #fff; letter-spacing: -.03em; text-shadow: 0 10px 30px rgba(0,0,0,.28);
}
.ie-split { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); gap: 56px; align-items: center; }
.ie-split-copy h2 { margin: 0 0 28px; font-size: clamp(2rem, 3.2vw, 3.6rem); line-height: 1.12; font-weight: 800; }
.ie-split-copy p { margin: 0 0 24px; font-size: 1.08rem; line-height: 1.9; color: #333; }
.ie-text-link { text-decoration: underline; text-underline-offset: 6px; font-weight: 700; }
.ie-split-media img { width: min(440px, 100%); margin-inline: auto; border-radius: 34px; box-shadow: var(--ie-shadow); }

.ie-section-title { margin: 0 0 38px; text-align: center; font-size: clamp(2rem, 3.6vw, 4rem); line-height: 1.08; font-weight: 800; }
.ie-feature-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
.ie-feature-card { background: #fff; }
.ie-feature-image { aspect-ratio: 4 / 3; background: var(--ie-soft-blue); overflow: hidden; border-radius: 6px 6px 0 0; }
.ie-feature-image img { width: 100%; height: 100%; object-fit: cover; }
.ie-feature-copy { padding: 26px 10px 8px; }
.ie-feature-copy h3 { margin: 0 0 14px; font-size: 1.3rem; line-height: 1.2; font-weight: 800; }
.ie-feature-copy p { margin: 0; font-size: 1rem; line-height: 1.7; color: #333; }

.ie-compare-wrap { overflow-x: auto; }
.ie-compare-table { width: 100%; min-width: 760px; border-collapse: collapse; background: #fff; border: 1px solid var(--ie-line); }
.ie-compare-table th, .ie-compare-table td { padding: 16px 18px; border-bottom: 1px solid var(--ie-line); text-align: left; font-size: 1rem; }
.ie-compare-table thead th { background: #fafafa; font-size: 1.05rem; }
.ie-compare-table tbody tr td:last-child { font-weight: 700; color: var(--ie-accent); }

.ie-cta-box { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 34px; align-items: center; }
.ie-cta-media img { border-radius: 10px; width: 100%; height: 100%; object-fit: cover; }
.ie-cta-copy h2 { margin: 0 0 20px; font-size: clamp(2rem, 3.2vw, 3.3rem); line-height: 1.12; font-weight: 800; letter-spacing: -.03em; }
.ie-cta-copy p { margin: 0 0 28px; font-size: 1.08rem; line-height: 1.8; color: #333; }
.ie-cta-actions { display: flex; gap: 14px; flex-wrap: wrap; }
.ie-button-primary, .ie-button-secondary { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 24px; border-radius: 999px; font-weight: 700; }
.ie-button-primary { background: var(--ie-accent); color: #fff; }
.ie-button-secondary { background: #fff; border: 1px solid var(--ie-line); }

.ie-page-main { min-height: 60vh; }
.ie-page-hero { padding: 84px 0 52px; background: #fff; }
.ie-page-hero h1 { margin: 0 0 16px; font-size: clamp(2.1rem, 4vw, 4rem); line-height: 1.06; font-weight: 800; letter-spacing: -.04em; }
.ie-page-hero p { margin: 0; max-width: 880px; font-size: 1.12rem; line-height: 1.8; color: #444; }
.ie-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
.ie-steps article { background: #fff; border: 1px solid var(--ie-line); border-radius: 18px; padding: 28px; }
.ie-steps span { width: 38px; height: 38px; display: inline-grid; place-items: center; border-radius: 999px; background: #111; color: #fff; font-weight: 800; margin-bottom: 18px; }
.ie-steps h3 { margin: 0 0 10px; font-size: 1.25rem; }
.ie-steps p { margin: 0; color: #444; line-height: 1.7; }

.ie-price-box { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 34px; align-items: start; }
.ie-price-main { padding: 34px; border-radius: 24px; border: 1px solid var(--ie-line); background: #fff; box-shadow: var(--ie-shadow); }
.ie-price-main p { line-height: 1.8; color: #333; }
.ie-price { font-size: clamp(2.8rem, 5vw, 4.6rem); font-weight: 800; line-height: 1; margin-bottom: 18px; }
.ie-price span { font-size: .42em; color: var(--ie-muted); font-weight: 700; }
.ie-price-list { margin: 0; padding: 28px 28px 28px 48px; border-radius: 24px; border: 1px solid var(--ie-line); background: #fafafa; line-height: 2; font-size: 1.04rem; }

.ie-footer { border-top: 1px solid var(--ie-line); padding: 44px 0 70px; }
.ie-footer-inner { display: flex; justify-content: space-between; gap: 28px; }
.ie-footer-brand { font-weight: 800; font-size: 1.1rem; margin-bottom: 10px; }
.ie-footer p { margin: 0; color: #555; line-height: 1.7; max-width: 420px; }
.ie-footer-links { display: flex; gap: 18px 28px; flex-wrap: wrap; align-content: start; }
.ie-footer-links a { color: #333; }

@media (max-width: 1180px) {
  .ie-nav { gap: 22px; font-size: .95rem; }
  .ie-summary-grid, .ie-feature-grid, .ie-price-box { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ie-split, .ie-cta-box { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .ie-shell { width: min(100% - 36px, 1520px); }
  .ie-header-inner { flex-wrap: wrap; padding: 18px 0; }
  .ie-nav { width: 100%; flex-wrap: wrap; gap: 18px; }
  .ie-hero-media > img { min-height: 480px; height: 560px; }
  .ie-summary-grid, .ie-feature-grid, .ie-steps { grid-template-columns: 1fr; }
  .ie-section { padding: 68px 0; }
  .ie-concept-banner img { height: 320px; }
  .ie-footer-inner { flex-direction: column; }
}
@media (max-width: 620px) {
  .ie-brand-text { font-size: 1.55rem; }
  .ie-shell { width: calc(100% - 24px); }
  .ie-hero-copy { padding: 22px 18px; }
  .ie-hero-media > img { height: 440px; min-height: 440px; }
  .ie-feature-copy, .ie-summary-card p, .ie-feature-copy p, .ie-split-copy p { font-size: .98rem; }
  .ie-summary-card h2 { font-size: 2rem; }
}


/* V100 — page Proches émotionnelle */
.ie-nav-connexion{font-weight:750;color:#d54f76!important}

/* ============================================================
   V101 — PAGE PROCHES / TRANSMISSION
   Nouvelle URL CSS pour éviter le cache V99/V100.
   Pas de blur, pas d'animations lourdes.
   ============================================================ */

.ie-proches-page{background:#fff}
.ie-proches-page .ie-section{padding:84px 0}

/* HERO */
.ie-p101-hero{position:relative;min-height:650px;overflow:hidden;background:#24201d}
.ie-p101-hero>img{width:100%;height:650px;object-fit:cover;object-position:center 44%}
.ie-p101-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(19,17,16,.75) 0%,rgba(19,17,16,.55) 43%,rgba(19,17,16,.14) 75%,rgba(19,17,16,.05) 100%)}
.ie-p101-hero-content{position:absolute;inset:0;display:flex;align-items:center}
.ie-p101-hero-copy{width:min(720px,62%);color:#fff}
.ie-p101-kicker{display:block;margin:0 0 14px;color:#ffd4df;font-size:.82rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase}
.ie-p101-hero-copy h1{margin:0 0 20px;font-size:clamp(2.75rem,4.7vw,5rem);line-height:1.01;letter-spacing:-.05em;color:#fff}
.ie-p101-hero-copy p{margin:0 0 28px;max-width:690px;color:#fff;font-size:clamp(1.05rem,1.42vw,1.3rem);line-height:1.7}
.ie-p101-hero-copy .ie-button-primary{background:#ea5f87;color:#fff}
.ie-p101-hero-note{display:inline-flex;gap:10px;align-items:center;margin-top:18px;color:#fff;font-weight:750}
.ie-p101-hero-note::before{content:"♥";color:#ffb6ca}

/* INTRO 3 PROMESSES */
.ie-p101-intro-head{max-width:900px;margin:0 auto 44px;text-align:center}
.ie-p101-intro-head span,.ie-p101-heading span{display:block;color:#e85d84;font-size:.83rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px}
.ie-p101-intro-head h2,.ie-p101-heading h2{margin:0 0 14px;font-size:clamp(2.1rem,3.7vw,3.7rem);line-height:1.06;letter-spacing:-.045em}
.ie-p101-intro-head p,.ie-p101-heading p{margin:0 auto;max-width:780px;color:#555;font-size:1.07rem;line-height:1.8}
.ie-p101-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.ie-p101-three article{background:#fff;border:1px solid #ebe6e2;border-radius:20px;overflow:hidden}
.ie-p101-three img{width:100%;aspect-ratio:4/3;object-fit:cover}
.ie-p101-three-copy{padding:26px}
.ie-p101-three b{display:block;margin-bottom:8px;color:#e85d84;font-size:.78rem;letter-spacing:.1em}
.ie-p101-three h3{margin:0 0 10px;font-size:1.45rem;line-height:1.2;letter-spacing:-.025em}
.ie-p101-three p{margin:0;color:#555;line-height:1.72}

/* GRAND BLOC EMOTION */
.ie-p101-legacy{background:#f7f4f2}
.ie-p101-legacy-grid{display:grid;grid-template-columns:1.03fr .97fr;gap:54px;align-items:center}
.ie-p101-legacy-media img{width:100%;border-radius:22px;box-shadow:0 20px 42px rgba(0,0,0,.08)}
.ie-p101-legacy-copy .ie-p101-kicker{color:#e85d84}
.ie-p101-legacy-copy h2{margin:0 0 20px;font-size:clamp(2.2rem,3.8vw,3.9rem);line-height:1.04;letter-spacing:-.05em}
.ie-p101-legacy-copy p{margin:0 0 18px;color:#4e4e4e;font-size:1.08rem;line-height:1.82}
.ie-p101-legacy-quote{margin:28px 0 0;padding:22px 24px;border-left:4px solid #e85d84;background:#fff;border-radius:0 16px 16px 0;font-size:1.14rem;font-weight:720;line-height:1.7;color:#333}

/* TOUT CE QU'ILS PEUVENT TRANSMETTRE */
.ie-p101-heading{max-width:920px;margin:0 auto 42px;text-align:center}
.ie-p101-idea-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.ie-p101-idea{padding:26px 24px;border:1px solid #ece6e2;border-radius:20px;background:#fff}
.ie-p101-idea:nth-child(4n+1){background:#fff6f8}
.ie-p101-idea:nth-child(4n+2){background:#f7f4ff}
.ie-p101-idea:nth-child(4n+3){background:#fff9ef}
.ie-p101-idea:nth-child(4n){background:#f1f8f5}
.ie-p101-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#fff;margin-bottom:16px;font-size:1.45rem;border:1px solid rgba(0,0,0,.05)}
.ie-p101-idea h3{margin:0 0 9px;font-size:1.12rem;line-height:1.25}
.ie-p101-idea p{margin:0;color:#555;line-height:1.68;font-size:.95rem}

/* Raconte-moi */
.ie-p101-prompts{background:#23201f;color:#fff}
.ie-p101-prompts .ie-p101-heading span{color:#ffbfd1}
.ie-p101-prompts .ie-p101-heading h2,.ie-p101-prompts .ie-p101-heading p{color:#fff}
.ie-p101-prompt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:1040px;margin:0 auto}
.ie-p101-prompt{padding:25px 28px;border-radius:18px;background:#fff;color:#242424;font-size:1.18rem;font-weight:800;line-height:1.45}
.ie-p101-prompt small{display:block;margin-top:8px;color:#777;font-size:.87rem;font-weight:550}
.ie-p101-prompt::before{content:"«";color:#e85d84;font-size:2rem;line-height:1;margin-right:7px}

/* FLUX DIRECT */
.ie-p101-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:18px;max-width:1180px;margin:0 auto}
.ie-p101-flow article{padding:28px 22px;background:#fff;border:1px solid #ece7e3;border-radius:20px;text-align:center}
.ie-p101-flow strong{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;margin:0 auto 14px;background:#e85d84;color:#fff}
.ie-p101-flow h3{margin:0 0 8px;font-size:1.18rem}
.ie-p101-flow p{margin:0;color:#555;line-height:1.62}
.ie-p101-arrow{font-size:1.8rem;color:#d7a2b0;font-weight:800}

/* FINAL */
.ie-p101-final{padding-top:30px!important}
.ie-p101-final-box{max-width:1120px;margin:0 auto;padding:50px 48px;text-align:center;border-radius:26px;background:linear-gradient(135deg,#fff1f5 0%,#fff8ee 100%);border:1px solid #f0dce1}
.ie-p101-final-box span{display:block;color:#e85d84;font-size:.8rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px}
.ie-p101-final-box h2{margin:0 auto 18px;max-width:940px;font-size:clamp(2.1rem,3.5vw,3.6rem);line-height:1.07;letter-spacing:-.045em}
.ie-p101-final-box p{margin:0 auto 26px;max-width:790px;color:#555;line-height:1.8;font-size:1.05rem}
.ie-p101-final-box .ie-button-primary{background:#e85d84}

/* cache/perf : pas d'effets coûteux */
.ie-proches-page *,.ie-proches-page *::before,.ie-proches-page *::after{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  animation:none!important;
}

@media(max-width:1100px){
  .ie-p101-three{grid-template-columns:1fr}
  .ie-p101-legacy-grid{grid-template-columns:1fr}
  .ie-p101-idea-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ie-p101-flow{grid-template-columns:1fr}
  .ie-p101-arrow{transform:rotate(90deg);text-align:center}
  .ie-p101-hero-copy{width:min(760px,80%)}
  .ie-p101-hero-shade{background:linear-gradient(90deg,rgba(19,17,16,.72),rgba(19,17,16,.32))}
}
@media(max-width:700px){
  .ie-p101-hero,.ie-p101-hero>img{height:620px;min-height:620px}
  .ie-p101-hero-copy{width:100%}
  .ie-p101-idea-grid,.ie-p101-prompt-grid{grid-template-columns:1fr}
  .ie-p101-final-box{padding:36px 20px}
  .ie-p101-hero-copy h1{font-size:2.65rem}
}


/* V102 — Page proches plus courte, moins répétitive */
.ie-p102-soft-legacy{
  background:linear-gradient(135deg,#fff8f4 0%,#f8f4ff 100%);
  border:1px solid #eee2de;
  border-radius:24px;
  padding:38px;
}
.ie-p102-soft-legacy h2{
  margin:0 0 16px;
  font-size:clamp(2rem,3.4vw,3.35rem);
  line-height:1.06;
  letter-spacing:-.045em;
}
.ie-p102-soft-legacy p{
  margin:0;
  color:#555;
  font-size:1.08rem;
  line-height:1.82;
}
.ie-p102-soft-legacy strong{color:#333}
.ie-p102-idea-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.ie-p102-idea{
  padding:26px 24px;
  border:1px solid #ebe5e1;
  border-radius:20px;
  background:#fff;
}
.ie-p102-idea h3{margin:0 0 8px;font-size:1.15rem}
.ie-p102-idea p{margin:0;color:#555;line-height:1.68}
.ie-p102-idea .ie-p101-icon{margin-bottom:14px}
.ie-p102-flow{margin-top:40px}
@media(max-width:900px){
  .ie-p102-idea-grid{grid-template-columns:1fr}
  .ie-p102-soft-legacy{padding:28px 22px}
}


/* V103 — Ajustements page proches */
.ie-p103-legacy-wrap{
  max-width: 1180px;
  margin: 0 auto;
}
.ie-p103-legacy-card{
  display:grid;
  grid-template-columns: 120px minmax(0,1fr);
  gap: 28px;
  align-items: start;
  background: linear-gradient(135deg,#fff9fb 0%,#fff8f2 100%);
  border: 1px solid #f0e0e5;
  border-radius: 28px;
  padding: 38px 40px;
  box-shadow: 0 18px 42px rgba(0,0,0,.04);
}
.ie-p103-legacy-badge{
  width: 104px;
  height: 104px;
  border-radius: 24px;
  background: linear-gradient(135deg,#ffe2ea 0%,#fff0db 100%);
  display:grid;
  place-items:center;
  font-size: 2.35rem;
  border:1px solid rgba(232,93,132,.14);
}
.ie-p103-legacy-copy .ie-p101-kicker{
  margin-bottom: 14px;
}
.ie-p103-legacy-copy h2{
  margin:0 0 18px;
  font-size: clamp(2rem,3.3vw,3.3rem);
  line-height:1.08;
  letter-spacing:-.045em;
}
.ie-p103-legacy-copy p{
  margin:0;
  color:#555;
  font-size:1.08rem;
  line-height:1.82;
  max-width: 980px;
}
.ie-p103-legacy-copy strong{color:#2e2e2e;}

@media(max-width:900px){
  .ie-p103-legacy-card{
    grid-template-columns: 1fr;
    padding: 30px 22px;
    gap: 18px;
  }
  .ie-p103-legacy-badge{
    width: 82px;
    height: 82px;
    border-radius: 20px;
  }
}
