/* ============================================================================
 * Snazzy Espace Dentaire — Styles frontend
 * Snazzy Digital Agency · charte « Espace Dentaire du Forum »
 * Bleu royal #0E1740 + crème #FBF8F2 · Cormorant Garamond + Inter.
 *
 * TOUT est scopé sous .sedf-page : le plugin s'insère dans n'importe quel
 * thème / page Elementor sans jamais écraser les styles globaux (h1, .btn,
 * .container, etc.). Les variables de design (--ink, --royal…) sont elles
 * aussi confinées au wrapper.
 * ========================================================================== */

/* Wrapper : on neutralise l'héritage du thème hôte sans déborder. */
.sedf-page{
  position:relative;
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  color:#0E1740;
  background:#FBF8F2;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.sedf-page::after{content:"";display:table;clear:both;}

/* Carte d'accès : si un embed (iframe Google Maps) est fourni, il remplit le bloc. */
.sedf-page .access__map iframe,
.sedf-page .access__map .sedf-map-embed{
  position:absolute;inset:0;width:100%;height:100%;border:0;display:block;z-index:2;
}
.sedf-page .access__map.has-embed::before,
.sedf-page .access__map.has-embed::after{display:none;}

.sedf-page {
  --ink: #0E1740;
  --royal: #1A2A5E;
  --royal-2: #2A3B7A;
  --royal-soft: #4C5DA0;
  --cream: #F4EFE6;
  --cream-2: #EAE2D2;
  --paper: #FBF8F2;
  --line: rgba(14, 23, 64, 0.12);
  --line-soft: rgba(14, 23, 64, 0.06);
  --muted: #6B7090;
  --white: #ffffff;

  --display: "Cormorant Garamond", "Times New Roman", serif;
  --sans: "Inter", system-ui, -apple-system, sans-serif;

  --r-sm: 4px;
  --r-md: 8px;
  --r-lg: 14px;
  --r-pill: 999px;

  --shadow-card: 0 30px 60px -30px rgba(14, 23, 64, 0.25);
  --shadow-soft: 0 12px 30px -12px rgba(14, 23, 64, 0.15);
}
.sedf-page * { box-sizing: border-box; margin: 0; padding: 0; }
.sedf-page { scroll-behavior: smooth; }
.sedf-page {
  font-family: var(--sans);
  color: var(--ink);
  background: var(--paper);
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.sedf-page img { max-width: 100%; display: block; }
.sedf-page a { color: inherit; text-decoration: none; }
.sedf-page .eyebrow {
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--royal);
}
.sedf-page .eyebrow--light { color: rgba(255,255,255,0.85); }
.sedf-page h1, .sedf-page h2, .sedf-page h3, .sedf-page h4 {
  font-family: var(--display);
  font-weight: 400;
  color: var(--ink);
  line-height: 1.05;
  letter-spacing: -0.01em;
}
.sedf-page h1 { font-size: clamp(48px, 6vw, 88px); }
.sedf-page h2 { font-size: clamp(36px, 4vw, 60px); }
.sedf-page h3 { font-size: clamp(24px, 2vw, 32px); }
.sedf-page h4 { font-size: 20px; }
.sedf-page p { font-size: 16px; color: #2A2F4A; max-width: 62ch; }
.sedf-page p.lead { font-size: 19px; line-height: 1.6; color: #2A2F4A; }
.sedf-page .serif-italic { font-family: var(--display); font-style: italic; font-weight: 400; }
.sedf-page .container { max-width: 1320px; margin: 0 auto; padding: 0 40px; }
.sedf-page .container--narrow { max-width: 980px; margin: 0 auto; padding: 0 40px; }
.sedf-page .site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  height: 88px;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 40px;
}
.sedf-page .header-cta { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.sedf-page .btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 26px;
  border-radius: var(--r-pill);
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  border: 1px solid transparent;
  cursor: pointer;
  transition: all 220ms ease;
  white-space: nowrap;
}
.sedf-page .btn--primary {
  background: var(--royal);
  color: var(--paper);
}
.sedf-page .btn--primary:hover {
  background: var(--ink);
  transform: translateY(-1px);
  box-shadow: 0 10px 24px -8px rgba(26, 42, 94, 0.45);
}
.sedf-page .btn--ghost {
  background: transparent;
  color: var(--ink);
  border-color: var(--line);
}
.sedf-page .btn--ghost:hover { border-color: var(--royal); color: var(--royal); }
.sedf-page .btn--outline-light {
  background: transparent;
  color: var(--paper);
  border-color: rgba(255,255,255,0.45);
}
.sedf-page .btn--outline-light:hover { background: rgba(255,255,255,0.1); border-color: var(--paper); }
.sedf-page .btn--lg { padding: 18px 36px; font-size: 13px; }
.sedf-page .btn .arrow { display: inline-block; transition: transform 200ms ease; }
.sedf-page .btn:hover .arrow { transform: translateX(4px); }
.sedf-page .pill {
  display: inline-flex;
  align-items: center;
  padding: 8px 24px;
  background: var(--royal);
  color: var(--paper);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  border-radius: var(--r-pill);
}
.sedf-page .hero {
  position: relative;
  height: calc(100vh - 88px);
  min-height: 640px;
  max-height: 860px;
  overflow: hidden;
  isolation: isolate;
  color: var(--paper);
}
.sedf-page .hero__bg {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(135deg, rgba(26, 42, 94, 0.55) 0%, rgba(14, 23, 64, 0.75) 100%),
    radial-gradient(at 80% 20%, #6B7DBA 0%, transparent 50%),
    linear-gradient(180deg, #3A4B8F 0%, #1A2A5E 100%);
}
.sedf-page .hero__bg::after {
  content: "";
  position: absolute; inset: 0;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8'><rect width='8' height='8' fill='none'/><circle cx='1' cy='1' r='0.5' fill='%23ffffff' opacity='0.04'/></svg>");
  mix-blend-mode: overlay;
}
.sedf-page .hero__inner {
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 40px;
}
.sedf-page .hero__logo {
  font-family: var(--display);
  font-size: clamp(120px, 18vw, 240px);
  font-weight: 300;
  letter-spacing: 0.04em;
  line-height: 0.85;
  color: var(--paper);
  margin-bottom: 8px;
}
.sedf-page .hero__logo .small {
  display: inline-block;
  font-size: 0.08em;
  letter-spacing: 0.4em;
  vertical-align: middle;
  transform: translateY(-0.7em);
  margin: 0 0.2em;
}
.sedf-page .hero h1.hero__logo { font-weight: 300; }
.sedf-page .hero__sub {
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.78);
  margin-bottom: 40px;
}
.sedf-page .hero__tag {
  font-family: var(--display);
  font-style: italic;
  font-weight: 400;
  font-size: clamp(24px, 2.4vw, 34px);
  line-height: 1.3;
  max-width: 620px;
  color: rgba(255,255,255,0.92);
  margin-bottom: 36px;
}
.sedf-page .hero__cta { display: flex; gap: 14px; flex-wrap: wrap; }
.sedf-page .hero__meta {
  position: absolute;
  right: 40px;
  bottom: 40px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
  text-align: right;
}
.sedf-page .hero__meta-label {
  font-size: 10px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.6);
}
.sedf-page .hero__meta-value {
  font-family: var(--display);
  font-size: 20px;
}
.sedf-page .glass {
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.22);
  backdrop-filter: blur(20px) saturate(140%);
  -webkit-backdrop-filter: blur(20px) saturate(140%);
  border-radius: var(--r-md);
  color: var(--paper);
  padding: 22px 26px;
}
.sedf-page .section { padding: 120px 0; }
.sedf-page .section--tight { padding: 80px 0; }
.sedf-page .section--cream { background: var(--cream); }
.sedf-page .section--ink { background: var(--ink); color: var(--paper); }
.sedf-page .section--ink p { color: rgba(255,255,255,0.78); }
.sedf-page .section--ink h1, .sedf-page .section--ink h2, .sedf-page .section--ink h3 { color: var(--paper); }
.sedf-page .section-head {
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: 80px;
  margin-bottom: 64px;
  align-items: end;
}
.sedf-page .section-head__title { }
.sedf-page .section-head__copy { padding-bottom: 6px; }
.sedf-page .section-head__copy p { font-size: 17px; }
.sedf-page .divider {
  height: 1px;
  background: var(--line);
  margin: 0;
}
.sedf-page .specs-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.sedf-page .spec-card {
  padding: 36px 28px 32px;
  border-right: 1px solid var(--line);
  background: var(--paper);
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-height: 280px;
  cursor: pointer;
  transition: background 250ms ease;
  position: relative;
}
.sedf-page .spec-card:last-child { border-right: none; }
.sedf-page .spec-card:hover { background: var(--cream); }
.sedf-page .spec-card__num {
  font-family: var(--display);
  font-size: 14px;
  color: var(--royal);
  letter-spacing: 0.1em;
}
.sedf-page .spec-card__title {
  font-family: var(--display);
  font-size: 26px;
  line-height: 1.1;
  margin-top: auto;
}
.sedf-page .spec-card__desc { font-size: 13px; color: var(--muted); }
.sedf-page .spec-card__more {
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--royal);
  margin-top: 6px;
}
.sedf-page .team-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
}
.sedf-page .team-card {
  background: var(--paper);
  border: 1px solid var(--line);
  padding: 0;
  overflow: hidden;
  transition: all 280ms ease;
}
.sedf-page .team-card:hover { box-shadow: var(--shadow-soft); transform: translateY(-2px); }
.sedf-page .team-card__media {
  aspect-ratio: 4/5;
  background: linear-gradient(135deg, #2A3B7A 0%, #1A2A5E 100%);
  position: relative;
  overflow: hidden;
}
.sedf-page .team-card__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(135deg, transparent 0 18px, rgba(255,255,255,0.04) 18px 19px);
}
.sedf-page .team-card__media-label {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--sans);
  font-size: 10px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.4);
}
.sedf-page .team-card__body { padding: 22px 22px 26px; }
.sedf-page .team-card__role {
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--royal);
  margin-bottom: 10px;
}
.sedf-page .team-card__name {
  font-family: var(--display);
  font-size: 24px;
  line-height: 1.1;
  margin-bottom: 8px;
}
.sedf-page .team-card__credits { font-size: 13px; color: var(--muted); line-height: 1.5; }
.sedf-page .team-card__phone {
  font-family: var(--display);
  font-size: 18px;
  margin-top: 14px;
  color: var(--ink);
  letter-spacing: 0.04em;
}
.sedf-page .footer-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 60px;
  margin-bottom: 60px;
}
.sedf-page .footer-grid p, .sedf-page .footer-grid a { font-size: 14px; line-height: 1.8; color: rgba(255,255,255,0.7); }
.sedf-page .footer-grid a:hover { color: var(--paper); }
.sedf-page .footer-grid ul { list-style: none; }
.sedf-page .footer-brand-mark {
  font-family: var(--display);
  font-size: 40px;
  letter-spacing: 0.04em;
  color: var(--paper);
  line-height: 1;
  margin-bottom: 12px;
}
.sedf-page .footer-brand-mark .small {
  font-size: 0.18em;
  letter-spacing: 0.4em;
  vertical-align: middle;
  transform: translateY(-1.4em);
  display: inline-block;
  margin: 0 0.2em;
}
.sedf-page .footer-bottom {
  display: flex;
  justify-content: space-between;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,0.1);
  font-size: 12px;
  color: rgba(255,255,255,0.5);
}
.sedf-page .editorial {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 90px;
  align-items: center;
}
.sedf-page .editorial__media {
  aspect-ratio: 4/5;
  background:
    repeating-linear-gradient(135deg, #1A2A5E 0 22px, #2A3B7A 22px 23px);
  position: relative;
  overflow: hidden;
}
.sedf-page .editorial__media-label {
  position: absolute;
  bottom: 24px;
  left: 24px;
  font-family: var(--sans);
  font-size: 10px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.6);
  background: rgba(14,23,64,0.5);
  padding: 6px 12px;
  backdrop-filter: blur(8px);
}
.sedf-page .editorial h2 {
  font-size: clamp(40px, 4vw, 56px);
  margin-bottom: 28px;
}
.sedf-page .editorial p { margin-bottom: 16px; }
.sedf-page .editorial__stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 36px;
  padding-top: 36px;
  border-top: 1px solid var(--line);
}
.sedf-page .editorial__stat-num {
  font-family: var(--display);
  font-size: 48px;
  color: var(--royal);
  line-height: 1;
  margin-bottom: 6px;
}
.sedf-page .editorial__stat-label {
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--muted);
}
.sedf-page .access {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 0;
}
.sedf-page .access__map {
  aspect-ratio: 5/4;
  background:
    linear-gradient(0deg, rgba(244,239,230,0.4), rgba(244,239,230,0.4)),
    repeating-linear-gradient(0deg, transparent 0 39px, rgba(14,23,64,0.08) 39px 40px),
    repeating-linear-gradient(90deg, transparent 0 39px, rgba(14,23,64,0.08) 39px 40px),
    var(--cream);
  position: relative;
  overflow: hidden;
}
.sedf-page .access__map::before {
  content: "";
  position: absolute;
  top: 50%; left: 50%;
  width: 14px; height: 14px;
  background: var(--royal);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 0 6px rgba(26, 42, 94, 0.18), 0 0 0 14px rgba(26, 42, 94, 0.08);
}
.sedf-page .access__map::after {
  content: "CARTE DU CABINET";
  position: absolute;
  top: 20px; left: 20px;
  font-size: 10px;
  letter-spacing: 0.24em;
  color: var(--muted);
}
.sedf-page .access__info {
  background: var(--royal);
  color: var(--paper);
  padding: 60px 56px;
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.sedf-page .access__info h2 { color: var(--paper); }
.sedf-page .access__row {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding-bottom: 24px;
  border-bottom: 1px solid rgba(255,255,255,0.15);
}
.sedf-page .access__row:last-child { border-bottom: none; }
.sedf-page .access__row .label {
  font-size: 10px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.55);
}
.sedf-page .access__row .value {
  font-family: var(--display);
  font-size: 22px;
  font-weight: 400;
  color: var(--paper);
}
.sedf-page .access__row .value-sm { font-family: var(--sans); font-size: 15px; line-height: 1.5; color: rgba(255,255,255,0.85); }
.sedf-page .page-hero {
  padding: 80px 0 60px;
  background: var(--paper);
  border-bottom: 1px solid var(--line);
}
.sedf-page .page-hero__inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 40px;
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 80px;
  align-items: end;
}
.sedf-page .page-hero h1 {
  font-size: clamp(56px, 7vw, 96px);
  line-height: 0.95;
}
.sedf-page .page-hero__path {
  font-size: 11px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 24px;
}
.sedf-page .treatment-section {
  padding: 100px 0;
  border-bottom: 1px solid var(--line);
}
.sedf-page .treatment-section:nth-child(even) {
  background: var(--cream);
}
.sedf-page .treatment-grid {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 90px;
  align-items: start;
}
.sedf-page .treatment-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 60px;
}
.sedf-page .treatment-item {
  padding: 22px 0;
  border-bottom: 1px solid var(--line);
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
  cursor: default;
  transition: padding 200ms ease;
}
.sedf-page .treatment-item:hover { padding-left: 8px; }
.sedf-page .treatment-item__name {
  font-family: var(--display);
  font-size: 20px;
}
.sedf-page .treatment-item__tag {
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--muted);
}
.sedf-page .featured-article {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 80px;
  align-items: center;
  margin-bottom: 100px;
}
.sedf-page .featured-article__media {
  aspect-ratio: 5/4;
  background: linear-gradient(135deg, #3A4B8F 0%, #1A2A5E 100%);
  position: relative;
}
.sedf-page .featured-article__media::after {
  content: "";
  position: absolute; inset: 0;
  background: repeating-linear-gradient(45deg, transparent 0 14px, rgba(255,255,255,0.04) 14px 15px);
}
.sedf-page .featured-article__media-label {
  position: absolute;
  bottom: 20px; left: 20px;
  color: rgba(255,255,255,0.6);
  font-size: 10px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
}
.sedf-page .featured-article h2 { font-size: clamp(36px, 3.6vw, 48px); margin: 16px 0 20px; }
.sedf-page .articles-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}
.sedf-page .article-card {
  cursor: pointer;
}
.sedf-page .article-card__media {
  aspect-ratio: 4/3;
  background: var(--cream);
  position: relative;
  overflow: hidden;
  margin-bottom: 20px;
  transition: transform 400ms ease;
}
.sedf-page .article-card:hover .article-card__media { transform: scale(0.98); }
.sedf-page .article-card__media::after {
  content: "";
  position: absolute; inset: 0;
  background: repeating-linear-gradient(135deg, transparent 0 16px, rgba(14,23,64,0.05) 16px 17px);
}
.sedf-page .article-card__cat {
  position: absolute;
  top: 16px; left: 16px;
  background: var(--paper);
  padding: 6px 14px;
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  z-index: 2;
}
.sedf-page .article-card__title {
  font-family: var(--display);
  font-size: 24px;
  line-height: 1.2;
  margin-bottom: 8px;
}
.sedf-page .article-card__excerpt { font-size: 14px; color: var(--muted); margin-bottom: 12px; }
.sedf-page .article-card__meta {
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--royal);
}
.sedf-page .video-filters {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 48px;
}
.sedf-page .video-filter {
  padding: 10px 22px;
  border: 1px solid var(--line);
  border-radius: var(--r-pill);
  background: transparent;
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink);
  cursor: pointer;
  transition: all 220ms ease;
}
.sedf-page .video-filter:hover { border-color: var(--royal); color: var(--royal); }
.sedf-page .video-filter.is-active { background: var(--royal); color: var(--paper); border-color: var(--royal); }
.sedf-page .video-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}
.sedf-page .video-card {
  cursor: pointer;
  transition: transform 300ms ease;
}
.sedf-page .video-card:hover { transform: translateY(-4px); }
.sedf-page .video-card__thumb {
  aspect-ratio: 16/10;
  background:
    radial-gradient(at 70% 30%, #4C5DA0 0%, transparent 60%),
    linear-gradient(135deg, #2A3B7A 0%, #0E1740 100%);
  position: relative;
  overflow: hidden;
  margin-bottom: 20px;
}
.sedf-page .video-card__play {
  position: absolute;
  top: 50%; left: 50%;
  width: 64px; height: 64px;
  border-radius: 50%;
  background: rgba(255,255,255,0.92);
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 240ms ease;
}
.sedf-page .video-card:hover .video-card__play {
  background: var(--paper);
  transform: translate(-50%, -50%) scale(1.08);
}
.sedf-page .video-card__play::after {
  content: "";
  width: 0; height: 0;
  border-left: 14px solid var(--royal);
  border-top: 9px solid transparent;
  border-bottom: 9px solid transparent;
  margin-left: 3px;
}
.sedf-page .video-card__duration {
  position: absolute;
  bottom: 14px; right: 14px;
  background: rgba(14,23,64,0.7);
  color: var(--paper);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.06em;
  padding: 4px 10px;
  border-radius: 4px;
}
.sedf-page .video-card__cat {
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--royal);
  margin-bottom: 8px;
}
.sedf-page .video-card__title {
  font-family: var(--display);
  font-size: 22px;
  line-height: 1.2;
  margin-bottom: 6px;
}
.sedf-page .video-card__author { font-size: 13px; color: var(--muted); }
.sedf-page .modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(14, 23, 64, 0.85);
  backdrop-filter: blur(10px);
  z-index: 100;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 40px;
  opacity: 0;
  transition: opacity 240ms ease;
}
.sedf-page .modal-backdrop.is-open { display: flex; opacity: 1; }
.sedf-page .modal {
  width: 100%;
  max-width: 1100px;
  background: var(--paper);
  overflow: hidden;
  position: relative;
}
.sedf-page .modal__player {
  aspect-ratio: 16/9;
  background: #000;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,0.5);
  font-size: 12px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
}
.sedf-page .modal__player::before {
  content: "";
  width: 0; height: 0;
  border-left: 28px solid rgba(255,255,255,0.4);
  border-top: 18px solid transparent;
  border-bottom: 18px solid transparent;
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
}
.sedf-page .modal__body { padding: 28px 36px 32px; }
.sedf-page .modal__close {
  position: absolute;
  top: 16px; right: 16px;
  width: 40px; height: 40px;
  background: rgba(14,23,64,0.5);
  color: var(--paper);
  border: none;
  border-radius: 50%;
  cursor: pointer;
  font-size: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  backdrop-filter: blur(8px);
}
.sedf-page .modal__close:hover { background: var(--ink); }
.sedf-page .contact-layout {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 80px;
  align-items: start;
}
.sedf-page .contact-form {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.sedf-page .field { display: flex; flex-direction: column; gap: 8px; }
.sedf-page .field label {
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--muted);
}
.sedf-page .field input, .sedf-page .field select, .sedf-page .field textarea {
  font-family: var(--sans);
  font-size: 15px;
  color: var(--ink);
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--line);
  padding: 10px 0;
  outline: none;
  transition: border 200ms ease;
}
.sedf-page .field input:focus, .sedf-page .field select:focus, .sedf-page .field textarea:focus {
  border-color: var(--royal);
}
.sedf-page .field textarea { resize: vertical; min-height: 100px; }
.sedf-page .field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.sedf-page .contact-info {
  background: var(--ink);
  color: var(--paper);
  padding: 56px 48px;
}
.sedf-page .contact-info h3 { color: var(--paper); margin-bottom: 36px; }
.sedf-page .contact-info__row {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 22px 0;
  border-bottom: 1px solid rgba(255,255,255,0.12);
}
.sedf-page .contact-info__row:last-child { border-bottom: none; }
.sedf-page .contact-info__label {
  font-size: 10px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.5);
}
.sedf-page .contact-info__value {
  font-family: var(--display);
  font-size: 22px;
  color: var(--paper);
}
.sedf-page .contact-info__value-sm { font-size: 14px; color: rgba(255,255,255,0.8); }
.sedf-page .success-msg {
  margin-top: 16px;
  padding: 14px 20px;
  background: rgba(26, 42, 94, 0.08);
  border-left: 2px solid var(--royal);
  font-size: 14px;
  color: var(--ink);
  display: none;
}
.sedf-page .success-msg.is-show { display: block; }
.sedf-page .rdv-widget {
  background: var(--paper);
  border: 1px solid var(--line);
  padding: 36px;
}
.sedf-page .rdv-step { display: none; }
.sedf-page .rdv-step.is-active { display: block; }
.sedf-page .rdv-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 24px;
}
.sedf-page .rdv-option {
  padding: 18px 22px;
  border: 1px solid var(--line);
  background: var(--paper);
  cursor: pointer;
  text-align: left;
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 500;
  color: var(--ink);
  transition: all 200ms ease;
}
.sedf-page .rdv-option:hover { border-color: var(--royal); }
.sedf-page .rdv-option.is-active { background: var(--royal); color: var(--paper); border-color: var(--royal); }
.sedf-page .rdv-option__sub { display: block; font-size: 11px; font-weight: 400; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); margin-top: 6px; }
.sedf-page .rdv-option.is-active .rdv-option__sub { color: rgba(255,255,255,0.7); }
.sedf-page .rdv-days {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 6px;
  margin-top: 16px;
}
.sedf-page .rdv-day {
  padding: 14px 8px;
  text-align: center;
  border: 1px solid var(--line);
  background: var(--paper);
  cursor: pointer;
  transition: all 180ms ease;
}
.sedf-page .rdv-day:hover:not(:disabled) { border-color: var(--royal); }
.sedf-page .rdv-day.is-active { background: var(--royal); color: var(--paper); border-color: var(--royal); }
.sedf-page .rdv-day:disabled { opacity: 0.3; cursor: not-allowed; }
.sedf-page .rdv-day__name { font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: inherit; opacity: 0.7; }
.sedf-page .rdv-day__num { font-family: var(--display); font-size: 22px; display: block; margin-top: 4px; }
.sedf-page .rdv-slots {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin-top: 16px;
}
.sedf-page .rdv-slot {
  padding: 12px;
  text-align: center;
  border: 1px solid var(--line);
  background: var(--paper);
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  transition: all 180ms ease;
}
.sedf-page .rdv-slot:hover { border-color: var(--royal); }
.sedf-page .rdv-slot.is-active { background: var(--royal); color: var(--paper); border-color: var(--royal); }
.sedf-page .rdv-actions { display: flex; justify-content: space-between; margin-top: 32px; }
.sedf-page .rdv-back {
  background: none;
  border: none;
  font-family: var(--sans);
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--muted);
  cursor: pointer;
}
.sedf-page .rdv-back:hover { color: var(--ink); }
.sedf-page .rdv-summary {
  margin-top: 24px;
  padding: 22px;
  background: var(--cream);
  border: 1px solid var(--line-soft);
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 14px;
}
.sedf-page .rdv-summary .l { font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--muted); }
@media (max-width: 1200px) {
.sedf-page .header-cta .btn { padding: 12px 18px; font-size: 11px; letter-spacing: 0.1em; }
}
@media (max-width: 1080px) {
.sedf-page .section { padding: 80px 0; }
.sedf-page .specs-grid { grid-template-columns: repeat(2, 1fr); }
.sedf-page .spec-card:nth-child(2n) { border-right: none; }
.sedf-page .spec-card { border-bottom: 1px solid var(--line); }
.sedf-page .team-grid { grid-template-columns: repeat(2, 1fr); }
.sedf-page .editorial, .sedf-page .access, .sedf-page .contact-layout, .sedf-page .featured-article, .sedf-page .treatment-grid, .sedf-page .page-hero__inner, .sedf-page .section-head { grid-template-columns: 1fr; gap: 40px; }
.sedf-page .articles-grid, .sedf-page .video-grid { grid-template-columns: 1fr; }
.sedf-page .footer-grid { grid-template-columns: 1fr 1fr; }
}
.sedf-page .vitrine {
  position: relative;
  min-height: 100vh;
  margin-top: calc( -1 * var(--sedf-hoff, 88px) ); /* glisse sous le header (hauteur réglable via --sedf-hoff) */
  overflow: hidden;
  isolation: isolate;
  color: var(--paper);
  background: #0A1133;
}
.sedf-page .vitrine__photo {
  position: absolute;
  inset: 0;
  z-index: -3;
  background-size: cover;
  background-position: center;
  filter: saturate(1.05) contrast(1.02);
  transform: scale(1.04);
  animation: sedf-kenburns 20s ease-in-out infinite alternate;
}
@keyframes sedf-kenburns {
  from { transform: scale(1.04) translate(0, 0); }
  to { transform: scale(1.1) translate(-1%, -1%); }
}
.sedf-page .vitrine__overlay {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(180deg, rgba(10,17,51,0.35) 0%, rgba(10,17,51,0.6) 60%, rgba(10,17,51,0.85) 100%),
    linear-gradient(135deg, rgba(26,42,94,0.45) 0%, rgba(10,17,51,0.7) 100%);
}
.sedf-page .vitrine__blobs {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
  opacity: 0.55;
  mix-blend-mode: screen;
}
.sedf-page .vitrine__blobs::before, .sedf-page .vitrine__blobs::after {
  content: "";
  position: absolute;
  width: 60vw;
  height: 60vw;
  border-radius: 50%;
  filter: blur(80px);
}
.sedf-page .vitrine__blobs::before {
  background: radial-gradient(circle, rgba(108,140,220,0.45), transparent 60%);
  top: -10vw;
  right: -10vw;
  animation: sedf-blob1 18s ease-in-out infinite alternate;
}
.sedf-page .vitrine__blobs::after {
  background: radial-gradient(circle, rgba(76,93,160,0.4), transparent 60%);
  bottom: -15vw;
  left: -15vw;
  animation: sedf-blob2 22s ease-in-out infinite alternate;
}
@keyframes sedf-blob1 {
  from { transform: translate(0,0) scale(1); }
  to { transform: translate(-10vw, 8vw) scale(1.2); }
}
@keyframes sedf-blob2 {
  from { transform: translate(0,0) scale(1); }
  to { transform: translate(8vw, -6vw) scale(1.15); }
}
.sedf-page .vitrine::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.18 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  opacity: 0.35;
  mix-blend-mode: overlay;
}
.sedf-page .vitrine__inner {
  position: relative;
  z-index: 2;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  padding-top: 88px;
}
.sedf-page .vitrine__top {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 80px 40px 40px;
}
.sedf-page .vitrine__eyebrow {
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.4em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.7);
  margin-bottom: 32px;
  display: inline-flex;
  align-items: center;
  gap: 16px;
}
.sedf-page .vitrine__eyebrow::before, .sedf-page .vitrine__eyebrow::after {
  content: "";
  width: 40px;
  height: 1px;
  background: rgba(255,255,255,0.35);
}
.sedf-page .vitrine__wordmark {
  font-family: var(--display);
  font-weight: 300;
  font-size: clamp(96px, 18vw, 280px);
  line-height: 0.82;
  letter-spacing: 0.02em;
  color: var(--paper);
  text-shadow: 0 4px 40px rgba(0,0,0,0.2);
  position: relative;
  display: inline-block;
  white-space: nowrap;
}
.sedf-page .vitrine__wordmark .small {
  display: inline-block;
  font-size: 0.07em;
  letter-spacing: 0.5em;
  vertical-align: middle;
  transform: translateY(-1em);
  margin: 0 0.15em 0 0.18em;
  color: rgba(255,255,255,0.9);
}
.sedf-page .vitrine__name {
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.4em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.85);
  margin-top: 12px;
  white-space: nowrap;
}
.sedf-page .vitrine__tagline {
  font-family: var(--display);
  font-style: italic;
  font-weight: 300;
  font-size: clamp(22px, 2vw, 30px);
  line-height: 1.4;
  max-width: 640px;
  color: rgba(255,255,255,0.9);
  margin: 36px auto 0;
}
.sedf-page .vitrine__cta {
  display: flex;
  gap: 14px;
  justify-content: center;
  margin-top: 44px;
  flex-wrap: wrap;
}
.sedf-page .vitrine__cards {
  padding: 0 40px 40px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  max-width: 1320px;
  margin: 0 auto;
  width: 100%;
}
.sedf-page .glass-card {
  position: relative;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(24px) saturate(160%);
  -webkit-backdrop-filter: blur(24px) saturate(160%);
  border-radius: 10px;
  padding: 24px 28px;
  color: var(--paper);
  overflow: hidden;
}
.sedf-page .glass-card::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
}
.sedf-page .glass-card__label {
  font-size: 10px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.65);
  margin-bottom: 14px;
}
.sedf-page .glass-card__value {
  font-family: var(--display);
  font-size: 26px;
  line-height: 1.2;
  color: var(--paper);
  font-weight: 400;
}
.sedf-page .glass-card__sub {
  font-size: 12px;
  letter-spacing: 0.06em;
  color: rgba(255,255,255,0.7);
  margin-top: 6px;
}
.sedf-page .glass-card__arrow {
  position: absolute;
  bottom: 24px;
  right: 24px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--paper);
  font-size: 14px;
  transition: all 240ms ease;
}
.sedf-page .glass-card:hover .glass-card__arrow {
  background: rgba(255,255,255,0.95);
  color: var(--ink);
  transform: translateX(2px);
}
.sedf-page .vitrine__scroll {
  position: absolute;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 10px;
  letter-spacing: 0.4em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.6);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  z-index: 3;
  pointer-events: none;
}
.sedf-page .vitrine__scroll::after {
  content: "";
  width: 1px;
  height: 36px;
  background: linear-gradient(180deg, rgba(255,255,255,0.6), transparent);
  animation: sedf-scrolllineMove 2.4s ease-in-out infinite;
}
@keyframes sedf-scrolllineMove {
  0% { opacity: 0; transform: translateY(-12px); }
  50% { opacity: 1; }
  100% { opacity: 0; transform: translateY(12px); }
}
.sedf-page .editorial__media--photo {
  background:
    linear-gradient(135deg, rgba(26,42,94,0.18), rgba(10,17,51,0.05)),
    var(--photo);
  background-size: cover;
  background-position: center;
  filter: saturate(1.05);
}
.sedf-page .editorial__media--photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(135deg, transparent 0 60px, rgba(255,255,255,0.02) 60px 61px);
  pointer-events: none;
}
.sedf-page .marquee {
  background: var(--ink);
  color: rgba(255,255,255,0.7);
  padding: 20px 0;
  overflow: hidden;
  border-top: 1px solid rgba(255,255,255,0.08);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.sedf-page .marquee__track {
  display: flex;
  gap: 64px;
  animation: sedf-marquee 40s linear infinite;
  white-space: nowrap;
  width: max-content;
}
.sedf-page .marquee__item {
  font-family: var(--display);
  font-style: italic;
  font-size: 28px;
  letter-spacing: 0.04em;
  color: var(--paper);
  display: flex;
  align-items: center;
  gap: 64px;
}
.sedf-page .marquee__item::after {
  content: "✦";
  font-size: 14px;
  font-style: normal;
  color: var(--royal-soft);
}
@keyframes sedf-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
.sedf-page .specs-photo-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 14px;
}
.sedf-page .spec-photo {
  position: relative;
  aspect-ratio: 3/4.4;
  border-radius: 10px;
  overflow: hidden;
  cursor: pointer;
  isolation: isolate;
  color: var(--paper);
  background: #1A2A5E;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 22px;
  transition: transform 500ms cubic-bezier(0.22, 0.61, 0.36, 1);
}
.sedf-page .spec-photo::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background-image: var(--photo);
  background-size: cover;
  background-position: center;
  transition: transform 1.2s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.sedf-page .spec-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(180deg, rgba(10,17,51,0.25) 0%, rgba(10,17,51,0.85) 100%),
    linear-gradient(135deg, rgba(26,42,94,0.4), rgba(10,17,51,0.2));
  transition: opacity 400ms ease;
}
.sedf-page .spec-photo:hover::before { transform: scale(1.08); }
.sedf-page .spec-photo:hover { transform: translateY(-6px); }
.sedf-page .spec-photo__top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.sedf-page .spec-photo__num {
  font-family: var(--display);
  font-style: italic;
  font-size: 14px;
  color: rgba(255,255,255,0.7);
  letter-spacing: 0.05em;
}
.sedf-page .spec-photo__pill {
  display: inline-flex;
  padding: 6px 14px;
  background: rgba(255,255,255,0.14);
  border: 1px solid rgba(255,255,255,0.22);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: 999px;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--paper);
}
.sedf-page .spec-photo__title {
  font-family: var(--display);
  font-size: clamp(24px, 2vw, 30px);
  font-weight: 400;
  line-height: 1.05;
  margin-bottom: 6px;
}
.sedf-page .spec-photo__desc {
  font-size: 12px;
  color: rgba(255,255,255,0.78);
  max-width: 96%;
  margin-bottom: 18px;
}
.sedf-page .spec-photo__arrow {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(255,255,255,0.95);
  color: var(--ink);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  transition: all 300ms ease;
}
.sedf-page .spec-photo:hover .spec-photo__arrow {
  background: var(--paper);
  transform: rotate(-45deg);
}
.sedf-page .team-card__media--photo {
  background-image: var(--photo);
  background-size: cover;
  background-position: center;
}
.sedf-page .team-card__media--photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(10,17,51,0.4) 100%);
}
.sedf-page .manifesto {
  position: relative;
  padding: 160px 0;
  background: var(--ink);
  color: var(--paper);
  overflow: hidden;
}
.sedf-page .manifesto::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(at 80% 20%, rgba(108,140,220,0.18), transparent 50%),
    radial-gradient(at 20% 80%, rgba(76,93,160,0.18), transparent 50%);
}
.sedf-page .manifesto__inner {
  position: relative;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 40px;
  text-align: center;
}
.sedf-page .manifesto__quote {
  font-family: var(--display);
  font-weight: 300;
  font-size: clamp(40px, 4.5vw, 64px);
  line-height: 1.15;
  color: var(--paper);
  letter-spacing: -0.01em;
}
.sedf-page .manifesto__quote em {
  font-style: italic;
  color: rgba(255,255,255,0.78);
  font-weight: 300;
}
.sedf-page .manifesto__sig {
  margin-top: 56px;
  font-size: 11px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.55);
}
.sedf-page .photo-strip {
  height: 60vh;
  min-height: 480px;
  background-size: cover;
  background-position: center;
  position: relative;
  isolation: isolate;
  color: var(--paper);
}
.sedf-page .photo-strip::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, rgba(10,17,51,0.2), rgba(10,17,51,0.6));
}
.sedf-page .photo-strip__inner {
  height: 100%;
  display: flex;
  align-items: flex-end;
  max-width: 1320px;
  margin: 0 auto;
  padding: 60px 40px;
}
.sedf-page .page-hero--photo {
  position: relative;
  padding: 200px 0 120px;
  margin-top: calc( -1 * var(--sedf-hoff, 88px) ); /* glisse sous le header (hauteur réglable via --sedf-hoff) */
  color: var(--paper);
  isolation: isolate;
  border-bottom: none;
  overflow: hidden;
  background: #0A1133;
}
.sedf-page .page-hero--photo::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background-image: var(--photo);
  background-size: cover;
  background-position: center;
  filter: saturate(1.05);
  transform: scale(1.04);
}
.sedf-page .page-hero--photo::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(180deg, rgba(10,17,51,0.4), rgba(10,17,51,0.75));
}
.sedf-page .page-hero--photo .page-hero__path { color: rgba(255,255,255,0.6); }
.sedf-page .page-hero--photo .eyebrow { color: rgba(255,255,255,0.8); }
.sedf-page .page-hero--photo h1 { color: var(--paper); }
.sedf-page .page-hero--photo .lead { color: rgba(255,255,255,0.85); }
@media (max-width: 1100px) {
.sedf-page .vitrine__cards { grid-template-columns: 1fr; }
.sedf-page .specs-photo-grid { grid-template-columns: repeat(2, 1fr); }
}
.sedf-page .luxe-hero {
  position: relative;
  margin-top: calc( -1 * var(--sedf-hoff, 88px) ); /* glisse sous le header (hauteur réglable via --sedf-hoff) */
  padding: 240px 0 140px;
  color: var(--paper);
  isolation: isolate;
  overflow: hidden;
  background: #0A1133;
  min-height: 90vh;
  display: flex;
  align-items: flex-end;
}
.sedf-page .luxe-hero__photo {
  position: absolute;
  inset: 0;
  z-index: -3;
  background-size: cover;
  background-position: center;
  filter: saturate(1.05) contrast(1.02);
  transform: scale(1.04);
  animation: sedf-kenburns 24s ease-in-out infinite alternate;
}
.sedf-page .luxe-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(180deg, rgba(10,17,51,0.4) 0%, rgba(10,17,51,0.55) 50%, rgba(10,17,51,0.85) 100%),
    linear-gradient(135deg, rgba(26,42,94,0.3), rgba(10,17,51,0.5));
}
.sedf-page .luxe-hero__blobs {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
  opacity: 0.45;
  mix-blend-mode: screen;
}
.sedf-page .luxe-hero__blobs::before {
  content: "";
  position: absolute;
  width: 50vw;
  height: 50vw;
  border-radius: 50%;
  filter: blur(80px);
  background: radial-gradient(circle, rgba(108,140,220,0.5), transparent 60%);
  top: -10vw;
  right: -10vw;
  animation: sedf-blob1 20s ease-in-out infinite alternate;
}
.sedf-page .luxe-hero__blobs::after {
  content: "";
  position: absolute;
  width: 50vw;
  height: 50vw;
  border-radius: 50%;
  filter: blur(80px);
  background: radial-gradient(circle, rgba(76,93,160,0.45), transparent 60%);
  bottom: -15vw;
  left: -15vw;
  animation: sedf-blob2 26s ease-in-out infinite alternate;
}
.sedf-page .luxe-hero__inner {
  position: relative;
  z-index: 2;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 40px;
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 80px;
  align-items: end;
}
.sedf-page .luxe-hero__path {
  font-size: 11px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.6);
  margin-bottom: 20px;
  display: inline-flex;
  align-items: center;
  gap: 16px;
}
.sedf-page .luxe-hero__path::before {
  content: "";
  width: 32px;
  height: 1px;
  background: rgba(255,255,255,0.4);
}
.sedf-page .luxe-hero__eyebrow {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.8);
}
.sedf-page .luxe-hero h1 {
  font-family: var(--display);
  font-weight: 300;
  font-size: clamp(64px, 8vw, 128px);
  line-height: 0.92;
  color: var(--paper);
  letter-spacing: -0.01em;
}
.sedf-page .luxe-hero h1 em {
  font-style: italic;
  font-weight: 300;
  color: rgba(255,255,255,0.78);
}
.sedf-page .luxe-hero__lead {
  font-family: var(--sans);
  font-size: 18px;
  line-height: 1.6;
  color: rgba(255,255,255,0.82);
  max-width: 56ch;
  margin-top: 28px;
}
.sedf-page .luxe-hero__chips {
  display: flex;
  gap: 10px;
  margin-top: 32px;
  flex-wrap: wrap;
}
.sedf-page .luxe-hero__chip {
  padding: 8px 18px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.2);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.92);
}
.sedf-page .tx-section {
  position: relative;
  padding: 140px 0;
  overflow: hidden;
}
.sedf-page .tx-section + .tx-section { border-top: 1px solid var(--line); }
.sedf-page .tx-section--dark {
  background: var(--ink);
  color: var(--paper);
}
.sedf-page .tx-section--dark p { color: rgba(255,255,255,0.8); }
.sedf-page .tx-section--dark h2 { color: var(--paper); }
.sedf-page .tx-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 40px;
}
.sedf-page .tx-grid--reverse .tx-grid__media { order: 2; }
.sedf-page .tx-grid__media {
  position: relative;
  aspect-ratio: 4/5;
  border-radius: 10px;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  box-shadow: 0 40px 80px -30px rgba(14, 23, 64, 0.4);
}
.sedf-page .tx-grid__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(10,17,51,0.4) 100%);
}
.sedf-page .tx-grid__media-badge {
  position: absolute;
  top: 24px;
  left: 24px;
  z-index: 2;
  padding: 8px 18px;
  background: rgba(255,255,255,0.14);
  border: 1px solid rgba(255,255,255,0.28);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-radius: 999px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--paper);
}
.sedf-page .tx-grid__media-caption {
  position: absolute;
  bottom: 24px;
  left: 24px;
  z-index: 2;
  font-size: 10px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.7);
}
.sedf-page .tx-grid__body h2 {
  font-size: clamp(40px, 4vw, 56px);
  line-height: 1.05;
  margin-top: 16px;
}
.sedf-page .tx-grid__body p.lead { margin-top: 24px; font-size: 18px; }
.sedf-page .tx-grid__body p { margin-top: 14px; }
.sedf-page .tx-list {
  margin-top: 32px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 40px;
}
.sedf-page .tx-list__item {
  padding: 18px 0;
  border-bottom: 1px solid var(--line);
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
}
.sedf-page .tx-section--dark .tx-list__item { border-color: rgba(255,255,255,0.12); }
.sedf-page .tx-list__name { font-family: var(--display); font-size: 18px; }
.sedf-page .tx-list__tag {
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--muted);
}
.sedf-page .tx-section--dark .tx-list__tag { color: rgba(255,255,255,0.55); }
.sedf-page .tx-praticiens {
  margin-top: 40px;
  padding-top: 32px;
  border-top: 1px solid var(--line);
}
.sedf-page .tx-section--dark .tx-praticiens { border-top-color: rgba(255,255,255,0.12); }
.sedf-page .tx-praticiens__label {
  font-size: 10px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 20px;
}
.sedf-page .tx-section--dark .tx-praticiens__label { color: rgba(255,255,255,0.55); }
.sedf-page .tx-praticiens__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 22px;
}
.sedf-page .tx-praticien-card {
  display: flex;
  align-items: center;
  gap: 14px;
}
.sedf-page .tx-praticien-card__avatar {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  background-color: var(--royal-soft);
  flex-shrink: 0;
}
.sedf-page .tx-praticien-card__name { font-family: var(--display); font-size: 18px; }
.sedf-page .tx-praticien-card__sub {
  font-size: 12px;
  color: var(--muted);
}
.sedf-page .tx-section--dark .tx-praticien-card__sub { color: rgba(255,255,255,0.6); }
.sedf-page .article-feature {
  position: relative;
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 0;
  background: var(--ink);
  color: var(--paper);
  min-height: 70vh;
  overflow: hidden;
  border-radius: 12px;
}
.sedf-page .article-feature__media {
  background-size: cover;
  background-position: center;
  position: relative;
  min-height: 480px;
}
.sedf-page .article-feature__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(14,23,64,0.3));
}
.sedf-page .article-feature__body {
  padding: 64px 56px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}
.sedf-page .article-feature__cat {
  font-size: 10px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.6);
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.sedf-page .article-feature__cat::before { content: ""; width: 24px; height: 1px; background: rgba(255,255,255,0.4); }
.sedf-page .article-feature h2 {
  font-family: var(--display);
  font-size: clamp(36px, 3.6vw, 52px);
  line-height: 1.05;
  margin-top: 16px;
  color: var(--paper);
}
.sedf-page .article-feature__byline {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,0.15);
  display: flex;
  gap: 32px;
}
.sedf-page .article-feature__byline > div { display: flex; flex-direction: column; gap: 4px; }
.sedf-page .article-feature__byline .l {
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.5);
}
.sedf-page .article-feature__byline .v { font-family: var(--display); font-size: 18px; }
.sedf-page .article-card-luxe {
  position: relative;
  cursor: pointer;
  transition: transform 400ms cubic-bezier(0.22, 0.61, 0.36, 1);
}
.sedf-page .article-card-luxe:hover { transform: translateY(-4px); }
.sedf-page .article-card-luxe__media {
  position: relative;
  aspect-ratio: 4/5;
  border-radius: 10px;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  margin-bottom: 20px;
}
.sedf-page .article-card-luxe__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 40%, rgba(10,17,51,0.65) 100%);
}
.sedf-page .article-card-luxe__cat {
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 2;
  padding: 6px 14px;
  background: rgba(255,255,255,0.14);
  border: 1px solid rgba(255,255,255,0.28);
  backdrop-filter: blur(12px);
  border-radius: 999px;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--paper);
}
.sedf-page .article-card-luxe__meta {
  position: absolute;
  bottom: 20px;
  left: 20px;
  z-index: 2;
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.8);
}
.sedf-page .article-card-luxe__title {
  font-family: var(--display);
  font-size: 26px;
  line-height: 1.15;
  margin-bottom: 10px;
}
.sedf-page .article-card-luxe__excerpt {
  font-size: 14px;
  color: var(--muted);
  line-height: 1.6;
}
.sedf-page .video-card-luxe {
  position: relative;
  cursor: pointer;
  transition: transform 400ms cubic-bezier(0.22, 0.61, 0.36, 1);
}
.sedf-page .video-card-luxe:hover { transform: translateY(-4px); }
.sedf-page .video-card-luxe__thumb {
  position: relative;
  aspect-ratio: 16/10;
  border-radius: 10px;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  margin-bottom: 20px;
  background-color: #1A2A5E;
}
.sedf-page .video-card-luxe__thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10,17,51,0.1) 0%, rgba(10,17,51,0.65) 100%);
}
.sedf-page .video-card-luxe__play {
  position: absolute;
  top: 50%; left: 50%;
  width: 72px; height: 72px;
  border-radius: 50%;
  background: rgba(255,255,255,0.14);
  border: 1px solid rgba(255,255,255,0.35);
  backdrop-filter: blur(16px) saturate(160%);
  -webkit-backdrop-filter: blur(16px) saturate(160%);
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  transition: all 300ms ease;
}
.sedf-page .video-card-luxe__play::after {
  content: "";
  width: 0; height: 0;
  border-left: 14px solid var(--paper);
  border-top: 9px solid transparent;
  border-bottom: 9px solid transparent;
  margin-left: 3px;
}
.sedf-page .video-card-luxe:hover .video-card-luxe__play {
  background: var(--paper);
  transform: translate(-50%, -50%) scale(1.06);
}
.sedf-page .video-card-luxe:hover .video-card-luxe__play::after { border-left-color: var(--royal); }
.sedf-page .video-card-luxe__cat {
  position: absolute;
  top: 18px; left: 18px;
  z-index: 2;
  padding: 6px 14px;
  background: rgba(255,255,255,0.14);
  border: 1px solid rgba(255,255,255,0.28);
  backdrop-filter: blur(12px);
  border-radius: 999px;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--paper);
}
.sedf-page .video-card-luxe__duration {
  position: absolute;
  bottom: 18px; right: 18px;
  z-index: 2;
  font-family: var(--display);
  font-size: 16px;
  color: var(--paper);
  letter-spacing: 0.04em;
}
.sedf-page .video-card-luxe__title {
  font-family: var(--display);
  font-size: 22px;
  line-height: 1.2;
  margin-bottom: 6px;
}
.sedf-page .video-card-luxe__author { font-size: 13px; color: var(--muted); }
.sedf-page .video-feature {
  position: relative;
  height: 70vh;
  min-height: 540px;
  border-radius: 12px;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  background-color: #1A2A5E;
  display: flex;
  align-items: flex-end;
  padding: 60px;
  color: var(--paper);
  cursor: pointer;
}
.sedf-page .video-feature::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10,17,51,0.1) 0%, rgba(10,17,51,0.7) 100%);
}
.sedf-page .video-feature__body { position: relative; z-index: 2; max-width: 640px; }
.sedf-page .video-feature__play {
  position: absolute;
  top: 50%; left: 50%;
  width: 96px; height: 96px;
  border-radius: 50%;
  background: rgba(255,255,255,0.14);
  border: 1px solid rgba(255,255,255,0.4);
  backdrop-filter: blur(20px) saturate(160%);
  -webkit-backdrop-filter: blur(20px) saturate(160%);
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  transition: all 300ms ease;
}
.sedf-page .video-feature__play::after {
  content: "";
  width: 0; height: 0;
  border-left: 20px solid var(--paper);
  border-top: 13px solid transparent;
  border-bottom: 13px solid transparent;
  margin-left: 4px;
}
.sedf-page .video-feature:hover .video-feature__play {
  background: var(--paper);
  transform: translate(-50%, -50%) scale(1.05);
}
.sedf-page .video-feature:hover .video-feature__play::after { border-left-color: var(--royal); }
.sedf-page .video-feature__cat {
  font-size: 11px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.7);
  display: inline-flex;
  align-items: center;
  gap: 14px;
}
.sedf-page .video-feature__cat::before { content: ""; width: 24px; height: 1px; background: rgba(255,255,255,0.5); }
.sedf-page .video-feature h2 {
  font-family: var(--display);
  font-size: clamp(36px, 4vw, 56px);
  line-height: 1.05;
  margin-top: 14px;
  color: var(--paper);
}
.sedf-page .video-feature__author {
  font-size: 13px;
  color: rgba(255,255,255,0.7);
  margin-top: 20px;
}
.sedf-page .cabinet-values {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.sedf-page .cabinet-value {
  padding: 36px 32px;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 10px;
  transition: all 300ms ease;
}
.sedf-page .cabinet-value:hover {
  background: var(--cream);
  transform: translateY(-4px);
}
.sedf-page .cabinet-value__num {
  font-family: var(--display);
  font-style: italic;
  font-size: 14px;
  color: var(--royal);
  margin-bottom: 16px;
  display: block;
}
.sedf-page .cabinet-value__title {
  font-family: var(--display);
  font-size: 24px;
  line-height: 1.15;
  margin-bottom: 12px;
}
.sedf-page .cabinet-value__desc {
  font-size: 14px;
  color: var(--muted);
  line-height: 1.6;
}
.sedf-page .gallery-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: 120px;
  gap: 14px;
}
.sedf-page .gallery-item {
  background-size: cover;
  background-position: center;
  border-radius: 8px;
  background-color: #1A2A5E;
  position: relative;
  overflow: hidden;
  transition: transform 500ms ease;
}
.sedf-page .gallery-item:hover { transform: scale(0.99); }
.sedf-page .gallery-item:nth-child(1) { grid-column: span 7; grid-row: span 4; }
.sedf-page .gallery-item:nth-child(2) { grid-column: span 5; grid-row: span 2; }
.sedf-page .gallery-item:nth-child(3) { grid-column: span 5; grid-row: span 2; }
.sedf-page .gallery-item:nth-child(4) { grid-column: span 4; grid-row: span 3; }
.sedf-page .gallery-item:nth-child(5) { grid-column: span 4; grid-row: span 3; }
.sedf-page .gallery-item:nth-child(6) { grid-column: span 4; grid-row: span 3; }
.sedf-page .cabinet-timeline {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.sedf-page .cabinet-tl-item {
  padding: 36px 28px;
  border-right: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.sedf-page .cabinet-tl-item:last-child { border-right: none; }
.sedf-page .cabinet-tl-year {
  font-family: var(--display);
  font-style: italic;
  font-size: 14px;
  color: var(--royal);
  letter-spacing: 0.04em;
}
.sedf-page .cabinet-tl-title {
  font-family: var(--display);
  font-size: 24px;
  line-height: 1.15;
}
.sedf-page .cabinet-tl-desc { font-size: 13px; color: var(--muted); line-height: 1.55; }
.sedf-page .team-grid--all {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}
.sedf-page .video-filters-luxe {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  padding: 14px;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 999px;
  margin-bottom: 56px;
  width: fit-content;
}
.sedf-page .video-filter-luxe {
  padding: 10px 22px;
  border: none;
  border-radius: 999px;
  background: transparent;
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink);
  cursor: pointer;
  transition: all 220ms ease;
}
.sedf-page .video-filter-luxe:hover { color: var(--royal); }
.sedf-page .video-filter-luxe.is-active {
  background: var(--royal);
  color: var(--paper);
}
.sedf-page .contact-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 90vh;
}
.sedf-page .contact-split__photo {
  background-size: cover;
  background-position: center;
  position: relative;
  min-height: 540px;
}
.sedf-page .contact-split__photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(10,17,51,0.3), rgba(10,17,51,0.5));
}
.sedf-page .contact-split__photo-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  padding: 60px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  color: var(--paper);
}
.sedf-page .contact-split__photo-overlay .glass-card {
  margin-top: auto;
}
.sedf-page .contact-split__form {
  padding: 80px 60px;
  background: var(--paper);
}
.sedf-page .rdv-luxe {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 48px;
  box-shadow: 0 30px 80px -30px rgba(14,23,64,0.15);
}
@media (max-width: 1080px) {
.sedf-page .luxe-hero__inner { grid-template-columns: 1fr; gap: 32px; }
.sedf-page .luxe-hero { padding: 200px 0 100px; min-height: 80vh; }
.sedf-page .tx-grid { grid-template-columns: 1fr; gap: 40px; }
.sedf-page .tx-grid--reverse .tx-grid__media { order: 0; }
.sedf-page .tx-list { grid-template-columns: 1fr; }
.sedf-page .tx-praticiens__grid { grid-template-columns: 1fr; }
.sedf-page .cabinet-values { grid-template-columns: 1fr 1fr; }
.sedf-page .cabinet-timeline { grid-template-columns: 1fr 1fr; }
.sedf-page .cabinet-tl-item:nth-child(2) { border-right: none; }
.sedf-page .team-grid--all { grid-template-columns: 1fr 1fr; }
.sedf-page .gallery-grid { grid-template-columns: repeat(6, 1fr); }
.sedf-page .gallery-item:nth-child(n) { grid-column: span 3; grid-row: span 2; }
.sedf-page .article-feature { grid-template-columns: 1fr; min-height: auto; }
.sedf-page .article-feature__body { padding: 40px; }
.sedf-page .contact-split { grid-template-columns: 1fr; }
.sedf-page .contact-split__form { padding: 56px 32px; }
}
@media (prefers-reduced-motion: no-preference) {
.sedf-page.js-reveal [data-reveal] {
    opacity: 0;
    will-change: opacity, transform;
    transition:
      opacity 0.95s cubic-bezier(0.22, 0.61, 0.36, 1),
      transform 0.95s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition-delay: var(--reveal-delay, 0ms);
  }
.sedf-page.js-reveal [data-reveal="up"] { transform: translateY(38px); }
.sedf-page.js-reveal [data-reveal="fade"] { transform: none; }
.sedf-page.js-reveal [data-reveal="left"] { transform: translateX(-46px); }
.sedf-page.js-reveal [data-reveal="right"] { transform: translateX(46px); }
.sedf-page.js-reveal [data-reveal="scale"] { transform: scale(0.945); }
.sedf-page.js-reveal [data-reveal].is-revealed {
    opacity: 1;
    transform: none;
  }
.sedf-page.js-reveal [data-reveal="wipe"] {
    opacity: 1;
    clip-path: inset(0 100% -0.25em 0);
    transition: clip-path 1.15s cubic-bezier(0.76, 0, 0.24, 1);
    transition-delay: var(--reveal-delay, 0ms);
  }
.sedf-page.js-reveal [data-reveal="wipe"].is-revealed {
    clip-path: inset(0 0 -0.25em 0);
  }
.sedf-page.js-reveal .vitrine__eyebrow, .sedf-page.js-reveal .vitrine__wordmark, .sedf-page.js-reveal .vitrine__name, .sedf-page.js-reveal .vitrine__tagline, .sedf-page.js-reveal .vitrine__cta, .sedf-page.js-reveal .vitrine__cards, .sedf-page.js-reveal .vitrine__scroll {
    opacity: 0;
    transform: translateY(30px);
    transition:
      opacity 1.1s cubic-bezier(0.22, 0.61, 0.36, 1),
      transform 1.1s cubic-bezier(0.22, 0.61, 0.36, 1);
  }
.sedf-page.js-reveal .vitrine__wordmark {
    transform: translateY(30px) scale(0.965);
    filter: blur(6px);
    transition:
      opacity 1.3s cubic-bezier(0.22, 0.61, 0.36, 1),
      transform 1.3s cubic-bezier(0.22, 0.61, 0.36, 1),
      filter 1.3s cubic-bezier(0.22, 0.61, 0.36, 1);
  }
.sedf-page.is-loaded .vitrine__eyebrow { opacity: 1; transform: none; transition-delay: 0.15s; }
.sedf-page.is-loaded .vitrine__wordmark { opacity: 1; transform: none; filter: blur(0); transition-delay: 0.35s; }
.sedf-page.is-loaded .vitrine__name { opacity: 1; transform: none; transition-delay: 0.70s; }
.sedf-page.is-loaded .vitrine__tagline { opacity: 1; transform: none; transition-delay: 0.88s; }
.sedf-page.is-loaded .vitrine__cta { opacity: 1; transform: none; transition-delay: 1.04s; }
.sedf-page.is-loaded .vitrine__cards { opacity: 1; transform: none; transition-delay: 1.20s; }
.sedf-page.is-loaded .vitrine__scroll { opacity: 0.6; transform: none; transition-delay: 1.5s; }
.sedf-page.js-reveal .luxe-hero__inner > div {
    opacity: 0;
    transform: translateY(34px);
    transition:
      opacity 1.1s cubic-bezier(0.22, 0.61, 0.36, 1),
      transform 1.1s cubic-bezier(0.22, 0.61, 0.36, 1);
  }
.sedf-page.is-loaded .luxe-hero__inner > div:nth-child(1) { opacity: 1; transform: none; transition-delay: 0.25s; }
.sedf-page.is-loaded .luxe-hero__inner > div:nth-child(2) { opacity: 1; transform: none; transition-delay: 0.45s; }
.sedf-page .btn--primary, .sedf-page .btn--lg { position: relative; overflow: hidden; }
.sedf-page .btn--primary::after, .sedf-page .btn--lg::after {
    content: "";
    position: absolute;
    top: 0; left: -130%;
    width: 55%; height: 100%;
    background: linear-gradient(120deg, transparent, rgba(255,255,255,0.32), transparent);
    transform: skewX(-22deg);
    pointer-events: none;
  }
.sedf-page .btn--primary:hover::after, .sedf-page .btn--lg:hover::after { animation: sedf-btnSheen 0.95s ease; }
@keyframes sedf-btnSheen { from { left: -130%; } to { left: 150%; } }
.sedf-page .glass-card { transition: transform 360ms cubic-bezier(0.22,0.61,0.36,1), background 360ms ease, border-color 360ms ease; }
.sedf-page .glass-card:hover { transform: translateY(-6px); background: rgba(255,255,255,0.14); border-color: rgba(255,255,255,0.4); }
.sedf-page .team-card__media { transition: transform 800ms cubic-bezier(0.22,0.61,0.36,1); }
.sedf-page .team-card:hover .team-card__media { transform: scale(1.05); }
.sedf-page .editorial__media--photo { transition: transform 1.4s cubic-bezier(0.22,0.61,0.36,1); }
.sedf-page.js-reveal .editorial[data-reveal].is-revealed .editorial__media--photo, .sedf-page.js-reveal .editorial .editorial__media--photo.is-zoomed { transform: scale(1.04); }
.sedf-page .tx-grid__media { transition: transform 1s cubic-bezier(0.22,0.61,0.36,1), box-shadow 0.6s ease; }
.sedf-page .tx-grid__media:hover { transform: scale(1.02); }
.sedf-page .manifesto::before { animation: sedf-manifestoGlow 14s ease-in-out infinite alternate; }
@keyframes sedf-manifestoGlow {
    from { opacity: 0.7; transform: scale(1); }
    to   { opacity: 1;   transform: scale(1.08); }
  }
.sedf-page .spec-photo__arrow { transition: transform 300ms ease, background 300ms ease; }
}
.sedf-page .editorial__stat-num { font-variant-numeric: tabular-nums; }
/* ============================================================================
 * ARMURE ANTI-THÈME (v1.0.1)
 * Certains thèmes / Elementor forcent couleur + fond sur les <a> et boutons
 * en !important, ce qui écrase nos styles (y compris inline). On re-verrouille
 * ici l'apparence exacte des boutons, flèches et chips, confinée à .sedf-page.
 * ============================================================================ */
.sedf-page a { text-decoration: none; box-shadow: none; }

.sedf-page .btn {
  text-decoration: none !important;
  border-radius: var(--r-pill) !important;
  text-transform: uppercase !important;
  font-family: var(--sans) !important;
}
.sedf-page .btn--primary {
  background: var(--royal) !important;
  color: var(--paper) !important;
  border: 1px solid transparent !important;
}
.sedf-page .btn--primary:hover { background: var(--ink) !important; }

/* Bouton « clair » (crème) — héro & bandeaux. Remplace l'ancien style inline. */
.sedf-page .btn--light,
.sedf-page a.btn--light,
.sedf-page button.btn--light {
  background: var(--paper) !important;
  color: var(--ink) !important;
  border: 1px solid var(--paper) !important;
}
.sedf-page .btn--light:hover { background: #ffffff !important; color: var(--ink) !important; }
.sedf-page .btn--light .arrow { color: var(--ink) !important; }

.sedf-page .btn--outline-light {
  background: transparent !important;
  color: var(--paper) !important;
  border: 1px solid rgba(255,255,255,0.45) !important;
}
.sedf-page .btn--outline-light:hover { background: rgba(255,255,255,0.1) !important; border-color: var(--paper) !important; }

.sedf-page .btn--ghost {
  background: transparent !important;
  color: var(--ink) !important;
  border: 1px solid var(--line) !important;
}

/* Cartes en verre + leur flèche : on garde le verre translucide, pas de pastille pleine. */
.sedf-page .glass-card { text-decoration: none !important; color: var(--paper) !important; }
.sedf-page .glass-card__arrow {
  background: rgba(255,255,255,0.12) !important;
  border: 1px solid rgba(255,255,255,0.25) !important;
  color: var(--paper) !important;
}
.sedf-page .glass-card:hover .glass-card__arrow {
  background: rgba(255,255,255,0.95) !important;
  color: var(--ink) !important;
}

/* Chips du héro (liens) : verre translucide, jamais le bleu du thème. */
.sedf-page .luxe-hero__chip {
  background: rgba(255,255,255,0.08) !important;
  color: var(--paper) !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
}
.sedf-page a.luxe-hero__chip:hover { background: rgba(255,255,255,0.16) !important; color: var(--paper) !important; }


/* ============================================================================
 * OFFSET HEADER (v1.0.5) — fait remonter les pages SOUS le header Elementor
 * pour supprimer la bande blanche. Règle la valeur si ton header n'est pas
 * haut de 88px : change simplement --sedf-hoff.
 * ============================================================================ */
.sedf-page{ --sedf-hoff:0px; } /* header flottant (fixed) : pas de remontée. Mettre une valeur si bande/gap résiduel. */
@media (max-width:1024px){ .sedf-page{ --sedf-hoff:0px; } }

/* ============================================================================
 * FICHE PRATICIEN (v1.2.0) — éditorial, animé, responsive
 * Snazzy Digital Agency
 * ============================================================================ */
.sedf-page--praticien{ background: var(--paper); overflow-x: clip; }

/* ---------- HERO ---------- */
.sedf-page .prat-hero{
  position: relative; isolation: isolate; color: var(--paper); overflow: hidden;
  background: linear-gradient(158deg, #0B1233 0%, #16224F 55%, #1A2A5E 100%);
  padding: 168px 0 104px;
}
.sedf-page .prat-hero__glow{
  position: absolute; z-index: 0; width: 640px; height: 640px; right: -170px; top: -210px;
  background: radial-gradient(circle, rgba(76,93,160,.34), transparent 62%);
  filter: blur(20px); pointer-events: none;
}
.sedf-page .prat-hero__inner{
  position: relative; z-index: 1;
  display: grid; grid-template-columns: .82fr 1.18fr; gap: 64px; align-items: center;
}
.sedf-page .prat-hero__portrait{ position: relative; }
.sedf-page .prat-hero__portrait::before{
  content: ''; position: absolute; inset: 18px -18px -18px 18px;
  border: 1px solid rgba(76,93,160,.42); border-radius: 22px; z-index: 0;
}
.sedf-page .prat-hero__photo{
  position: relative; z-index: 1; background: var(--photo) center/cover no-repeat, #0a0f2e;
  border-radius: 22px; aspect-ratio: 4/5; min-height: 420px;
  box-shadow: 0 44px 90px -30px rgba(0,0,0,.62), inset 0 0 0 1px rgba(255,255,255,.08);
}
.sedf-page .prat-hero__monogram{
  position: absolute; z-index: 2; right: -8px; bottom: -24px; pointer-events: none;
  font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 600; font-size: 128px; line-height: .8;
  color: rgba(251,248,242,.10); -webkit-text-stroke: 1px rgba(251,248,242,.20);
}
.sedf-page .prat-back{
  display: inline-flex; align-items: center; gap: 9px; text-decoration: none;
  color: rgba(255,255,255,.66); font-size: 12.5px; letter-spacing: .08em; text-transform: uppercase;
  margin-bottom: 22px; transition: color .25s, gap .25s;
}
.sedf-page .prat-back:hover{ color: var(--paper); gap: 13px; }
.sedf-page .prat-back__ico{ font-size: 16px; line-height: 1; }
.sedf-page .prat-hero__eyebrow{ color: var(--royal-soft); }
.sedf-page .prat-hero__name{
  font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 500; color: var(--paper);
  font-size: clamp(44px, 5.6vw, 72px); line-height: .98; margin: 16px 0 0; letter-spacing: -.012em;
}
.sedf-page .prat-hero__role{ font-size: 15.5px; letter-spacing: .02em; color: var(--royal-soft); margin-top: 14px; font-weight: 500; }
.sedf-page .prat-hero__creds{ list-style: none; margin: 22px 0 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
.sedf-page .prat-hero__creds li{ display: flex; align-items: flex-start; gap: 10px; font-size: 14px; color: rgba(255,255,255,.74); line-height: 1.5; }
.sedf-page .prat-cred-ic{ width: 15px; height: 15px; flex-shrink: 0; margin-top: 2px; color: var(--royal-soft); }
.sedf-page .prat-hero__bio{ font-size: 16.5px; line-height: 1.75; color: rgba(255,255,255,.86); margin-top: 24px; max-width: 58ch; }
.sedf-page .prat-hero__actions{ display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }

/* ---------- RÉALISATIONS (rangées éditoriales alternées) ---------- */
.sedf-page .prat-cases{ background: var(--paper); }
.sedf-page .prat-cases__list{ display: flex; flex-direction: column; gap: 88px; margin-top: 64px; }
.sedf-page .prat-case{ display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.sedf-page .prat-case--alt .prat-case__media{ order: 2; }
.sedf-page .prat-case--alt .prat-case__body{ order: 1; }
.sedf-page .prat-case__media{
  position: relative; border-radius: 18px; overflow: hidden; background: #0a0f2e;
  aspect-ratio: 4/3; box-shadow: 0 32px 64px -30px rgba(14,23,64,.42);
}
.sedf-page .prat-case__media img{
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .7s cubic-bezier(.16,1,.3,1);
}
.sedf-page .prat-case:hover .prat-case__media img{ transform: scale(1.05); }
.sedf-page .prat-case__num{
  position: absolute; left: 20px; top: 12px; z-index: 2; pointer-events: none;
  font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 600; font-size: 66px; line-height: 1;
  color: rgba(251,248,242,.94); text-shadow: 0 4px 22px rgba(0,0,0,.45);
}
.sedf-page .prat-case__body{ padding: 6px 4px; }
.sedf-page .prat-case__tag{
  display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
  color: var(--royal); background: rgba(26,42,94,.07); padding: 6px 13px; border-radius: 999px; margin-bottom: 16px;
}
.sedf-page .prat-case__title{
  font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 500; color: var(--ink);
  font-size: clamp(26px, 3vw, 36px); line-height: 1.1; margin: 0;
}
.sedf-page .prat-case__text{ font-size: 16px; line-height: 1.72; color: var(--muted, #5a5d72); margin: 14px 0 0; max-width: 46ch; }

/* embeds vidéo (remplissent .prat-case__media) */
.sedf-page .prat-embed{ position: absolute; inset: 0; width: 100%; height: 100%; }
.sedf-page .prat-embed iframe, .sedf-page .prat-embed-video{ position: absolute; inset: 0; width: 100%; height: 100%; border: 0; object-fit: cover; }
.sedf-page .prat-embed-link{ display: flex; align-items: center; justify-content: center; gap: 6px; width: 100%; height: 100%; background: var(--ink); color: var(--paper); text-decoration: none; font-size: 14px; font-weight: 600; }

/* ---------- CTA ---------- */
.sedf-page .prat-cta{
  position: relative; isolation: isolate; color: var(--paper); padding: 96px 0; text-align: center; overflow: hidden;
  background: linear-gradient(158deg, #1A2A5E 0%, #0E1740 100%);
}
.sedf-page .prat-cta__glow{
  position: absolute; z-index: 0; width: 560px; height: 560px; left: 50%; top: -180px; transform: translateX(-50%);
  background: radial-gradient(circle, rgba(76,93,160,.3), transparent 60%); filter: blur(16px); pointer-events: none;
}
.sedf-page .prat-cta__inner{ position: relative; z-index: 1; max-width: 720px; margin: 0 auto; }
.sedf-page .prat-cta__eyebrow{ color: rgba(255,255,255,.7); }
.sedf-page .prat-cta__title{
  font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 500; color: var(--paper);
  font-size: clamp(34px, 4.6vw, 54px); line-height: 1.06; margin: 14px 0 0;
}
.sedf-page .prat-cta__text{ font-size: 16.5px; line-height: 1.7; color: rgba(255,255,255,.8); margin: 18px auto 32px; max-width: 52ch; }

/* ---------- Autres praticiens ---------- */
.sedf-page .prat-others{ background: var(--cream); }

/* ---------- carte équipe cliquable ---------- */
.sedf-page a.team-card--link{ display: block; text-decoration: none; color: inherit; cursor: pointer; }
.sedf-page .team-card--link:hover{ transform: translateY(-4px); box-shadow: 0 26px 52px -26px rgba(14,23,64,.3); }
.sedf-page .team-card__more{
  display: inline-flex; align-items: center; gap: 7px; margin-top: 16px;
  font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--royal); transition: gap .2s ease;
}
.sedf-page .team-card--link:hover .team-card__more{ gap: 11px; }

/* ---------- responsive ---------- */
@media (max-width: 980px){
  .sedf-page .prat-hero{ padding: 132px 0 72px; }
  .sedf-page .prat-hero__inner{ grid-template-columns: 1fr; gap: 38px; }
  .sedf-page .prat-hero__portrait{ max-width: 440px; }
  .sedf-page .prat-hero__photo{ aspect-ratio: 4/5; min-height: 0; }
  .sedf-page .prat-cases__list{ gap: 56px; margin-top: 44px; }
  .sedf-page .prat-case{ grid-template-columns: 1fr; gap: 24px; }
  .sedf-page .prat-case--alt .prat-case__media, .sedf-page .prat-case--alt .prat-case__body{ order: initial; }
  .sedf-page .prat-case__media{ aspect-ratio: 16/10; }
  .sedf-page .prat-case__num{ font-size: 54px; }
}
@media (max-width: 560px){
  .sedf-page .prat-hero{ padding: 120px 0 56px; }
  .sedf-page .prat-hero__monogram{ font-size: 88px; bottom: -14px; }
  .sedf-page .prat-hero__actions .btn{ width: 100%; justify-content: center; }
  .sedf-page .prat-cta{ padding: 74px 0; }
}

/* ============================================================================
 * CAS PATIENTS — blocs + galerie multi-médias (v1.3.0)
 * ============================================================================ */
.sedf-page .prat-cases__list{ gap: 76px; }
.sedf-page .prat-case-block__head{ display: flex; gap: 22px; align-items: flex-start; max-width: 800px; margin: 0 0 30px; }
.sedf-page .prat-case-block__head .prat-case__num{ position: static; flex-shrink: 0; font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 600; font-size: 50px; line-height: .82; color: rgba(26,42,94,.18); text-shadow: none; }
.sedf-page .prat-case-block__head h3{ margin: 0; }
.sedf-page .prat-case-block__head .prat-case__text{ margin-top: 10px; max-width: 62ch; }
.sedf-page .prat-shots{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.sedf-page .prat-shot{ position: relative; border-radius: 14px; overflow: hidden; background: #0a0f2e; aspect-ratio: 4/3; box-shadow: 0 18px 42px -24px rgba(14,23,64,.4); }
.sedf-page .prat-shot img{ width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s cubic-bezier(.16,1,.3,1); }
.sedf-page .prat-shot:hover img{ transform: scale(1.06); }
.sedf-page .prat-shot--video .prat-embed{ position: absolute; inset: 0; }
.sedf-page .prat-shot--video .prat-embed iframe,
.sedf-page .prat-shot--video .prat-embed-video{ position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
@media (max-width: 900px){
  .sedf-page .prat-shots{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px){
  .sedf-page .prat-shots{ grid-template-columns: 1fr; }
  .sedf-page .prat-case-block__head{ gap: 14px; }
  .sedf-page .prat-case-block__head .prat-case__num{ font-size: 38px; }
}

/* ============================================================================
 * FICHE — vidéo de présentation, réseaux sociaux, infos pratiques (v1.4.0)
 * ============================================================================ */
.sedf-page .prat-hero__video{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; border-radius: inherit; }

.sedf-page .prat-hero__socials{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.sedf-page .prat-social{ width: 42px; height: 42px; border-radius: 50%; border: 1px solid rgba(255,255,255,.22); display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,.82); transition: background .2s, color .2s, border-color .2s, transform .2s; }
.sedf-page .prat-social:hover{ background: #fff; color: var(--ink); border-color: #fff; transform: translateY(-2px); }
.sedf-page .prat-social svg{ width: 19px; height: 19px; }

.sedf-page .prat-info{ background: var(--cream); }
.sedf-page .prat-info-grid{ display: grid; grid-template-columns: 1fr .82fr; gap: 48px; align-items: center; }
.sedf-page .prat-info-title{ margin: 16px 0 24px; }
.sedf-page .prat-hours-list{ list-style: none; margin: 0; padding: 0; }
.sedf-page .prat-hours-list li{ display: flex; align-items: baseline; gap: 14px; padding: 13px 0; border-bottom: 1px solid rgba(26,42,94,.10); font-size: 16px; }
.sedf-page .prat-hours-day{ font-weight: 600; color: var(--ink); min-width: 152px; }
.sedf-page .prat-hours-dots{ flex: 1; border-bottom: 1px dotted rgba(26,42,94,.28); transform: translateY(-4px); }
.sedf-page .prat-hours-time{ color: var(--royal); font-weight: 500; white-space: nowrap; }
.sedf-page .prat-info-cta{ background: #fff; border: 1px solid var(--line, #E4DECF); border-radius: 18px; padding: 30px 30px 32px; box-shadow: 0 26px 60px -34px rgba(14,23,64,.4); }
.sedf-page .prat-info-cta__eyebrow{ font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--royal-soft); }
.sedf-page .prat-info-cta__title{ font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 500; font-size: clamp(24px, 2.6vw, 32px); line-height: 1.1; margin: 10px 0; color: var(--ink); }
.sedf-page .prat-info-cta p{ font-size: 15px; color: var(--muted, #5a5d72); margin: 0 0 20px; line-height: 1.6; }
.sedf-page .prat-info-btn{ background: var(--royal); color: #fff; }
.sedf-page .prat-info-btn:hover{ background: var(--ink); }
.sedf-page .prat-info-phone{ display: inline-flex; align-items: center; gap: 8px; margin-top: 16px; color: var(--ink); font-weight: 600; font-size: 15px; text-decoration: none; }
.sedf-page .prat-info-phone svg{ width: 16px; height: 16px; color: var(--royal-soft); }
.sedf-page .prat-info-phone:hover{ color: var(--royal); }
@media (max-width: 900px){
  .sedf-page .prat-info-grid{ grid-template-columns: 1fr; gap: 30px; }
  .sedf-page .prat-hours-day{ min-width: 120px; }
}

/* ============================================================================
 * CAS PATIENTS — carrousel animé (v1.4.1)
 * ============================================================================ */
.sedf-page .prat-case-block__headtext{ flex: 1; min-width: 0; }
.sedf-page .prat-carousel{ position: relative; }
.sedf-page .prat-carousel__track{ display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; -webkit-overflow-scrolling: touch; padding: 6px 2px 8px; scrollbar-width: none; }
.sedf-page .prat-carousel__track::-webkit-scrollbar{ display: none; }
.sedf-page .prat-carousel .prat-shot{ flex: 0 0 82%; scroll-snap-align: center; }
@media (min-width: 640px){ .sedf-page .prat-carousel .prat-shot{ flex-basis: 56%; } }
@media (min-width: 980px){ .sedf-page .prat-carousel .prat-shot{ flex-basis: 44%; } }
.sedf-page .prat-carousel--single .prat-shot{ flex-basis: 100%; }

.sedf-page .prat-carousel__btn{ position: absolute; top: calc(50% - 15px); transform: translateY(-50%); width: 46px; height: 46px; border-radius: 50%; background: rgba(255,255,255,.94); border: 1px solid var(--line, #E4DECF); box-shadow: 0 12px 30px -12px rgba(14,23,64,.45); display: flex; align-items: center; justify-content: center; cursor: pointer; color: var(--ink); z-index: 3; transition: opacity .2s, background .2s, transform .2s; }
.sedf-page .prat-carousel__btn:hover{ background: #fff; transform: translateY(-50%) scale(1.07); }
.sedf-page .prat-carousel__btn--prev{ left: 6px; }
.sedf-page .prat-carousel__btn--next{ right: 6px; }
.sedf-page .prat-carousel__btn.is-disabled{ opacity: 0; pointer-events: none; }
.sedf-page .prat-carousel__btn svg{ width: 18px; height: 18px; }

.sedf-page .prat-carousel__dots{ display: flex; justify-content: center; gap: 8px; margin-top: 18px; }
.sedf-page .prat-carousel__dot{ width: 8px; height: 8px; border-radius: 50%; border: 0; background: rgba(26,42,94,.22); cursor: pointer; padding: 0; transition: width .25s, background .25s, border-radius .25s; }
.sedf-page .prat-carousel__dot:hover{ background: rgba(26,42,94,.4); }
.sedf-page .prat-carousel__dot.is-active{ background: var(--royal); width: 24px; border-radius: 5px; }

/* slides en cascade quand le cas se révèle */
.sedf-page.js-reveal .prat-case-block[data-reveal] .prat-carousel__track > .prat-shot{ opacity: 0; transform: translateY(18px); transition: opacity .6s cubic-bezier(.16,1,.3,1), transform .6s cubic-bezier(.16,1,.3,1); }
.sedf-page.js-reveal .prat-case-block[data-reveal].is-revealed .prat-carousel__track > .prat-shot{ opacity: 1; transform: none; }
.sedf-page.js-reveal .prat-case-block[data-reveal].is-revealed .prat-carousel__track > .prat-shot:nth-child(2){ transition-delay: .09s; }
.sedf-page.js-reveal .prat-case-block[data-reveal].is-revealed .prat-carousel__track > .prat-shot:nth-child(3){ transition-delay: .18s; }
.sedf-page.js-reveal .prat-case-block[data-reveal].is-revealed .prat-carousel__track > .prat-shot:nth-child(4){ transition-delay: .27s; }

@media (max-width: 760px){
  .sedf-page .prat-carousel__btn{ display: none; }
  .sedf-page .prat-cases__list{ gap: 54px; }
  .sedf-page .prat-case-block__head{ margin-bottom: 22px; }
}

/* ============================================================================
 * FICHE — animations « wow » + horaires redessinés (v1.4.2)
 * ============================================================================ */

/* ---- Ken Burns sur le portrait (zoom lent vivant) ---- */
.sedf-page .prat-hero__photo{ overflow: hidden; background: #0a0f2e; }
.sedf-page .prat-hero__photo::before{ content: ''; position: absolute; inset: 0; z-index: 0; background: var(--photo) center/cover no-repeat; transform: scale(1.04); animation: sedfKen 22s ease-in-out infinite alternate; }
.sedf-page .prat-hero__photo > *{ position: relative; z-index: 1; }
@keyframes sedfKen{ from{ transform: scale(1.04) translate(0,0);} to{ transform: scale(1.13) translate(-2.5%,-2%);} }

/* ---- monogramme flottant + halos qui dérivent ---- */
.sedf-page .prat-hero__monogram{ animation: sedfFloatY 7s ease-in-out infinite; }
@keyframes sedfFloatY{ 0%,100%{ transform: translateY(0);} 50%{ transform: translateY(-10px);} }
.sedf-page .prat-hero__glow{ animation: sedfGlowDrift 16s ease-in-out infinite alternate; }
.sedf-page .prat-cta__glow{ animation: sedfGlowDrift 18s ease-in-out infinite alternate; }
@keyframes sedfGlowDrift{ from{ transform: translate(0,0) scale(1);} to{ transform: translate(-34px,22px) scale(1.14);} }

/* ---- Horaires : refonte UX/UI ---- */
.sedf-page .prat-hours-list{ list-style: none; margin: 0; padding: 0; }
.sedf-page .prat-hours-row{ position: relative; display: flex; align-items: center; gap: 14px; padding: 15px 6px; border-bottom: 1px solid rgba(26,42,94,.10); border-radius: 12px; transition: background .25s, padding .25s; }
.sedf-page .prat-hours-row:last-child{ border-bottom: 0; }
.sedf-page .prat-hours-row:hover{ background: rgba(26,42,94,.04); padding-left: 14px; padding-right: 14px; }
.sedf-page .prat-hours-ic{ width: 36px; height: 36px; flex-shrink: 0; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: rgba(26,42,94,.07); color: var(--royal); transition: background .25s, color .25s; }
.sedf-page .prat-hours-ic svg{ width: 18px; height: 18px; }
.sedf-page .prat-hours-day{ font-weight: 600; color: var(--ink); min-width: 132px; }
.sedf-page .prat-hours-dots{ flex: 1; border-bottom: 1px dotted rgba(26,42,94,.26); transform: translateY(-3px); }
.sedf-page .prat-hours-time{ font-weight: 600; color: var(--royal); white-space: nowrap; background: rgba(26,42,94,.07); padding: 5px 13px; border-radius: 999px; font-size: 14px; transition: background .25s, color .25s; }
.sedf-page .prat-hours-note{ margin-top: 18px; font-size: 13.5px; color: var(--muted, #5a5d72); font-style: italic; }

/* jour courant mis en avant */
.sedf-page .prat-hours-row.is-today .prat-hours-ic{ background: var(--royal); color: #fff; }
.sedf-page .prat-hours-row.is-today .prat-hours-time{ background: var(--royal); color: #fff; }
.sedf-page .prat-hours-badge{ font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #fff; background: var(--royal-soft, #4C5DA0); padding: 4px 10px; border-radius: 999px; margin-right: 10px; }

/* ---- reflet sur la carte RDV + boutons ---- */
.sedf-page .prat-info-cta{ position: relative; overflow: hidden; }
.sedf-page .prat-info-cta::after{ content: ''; position: absolute; top: 0; left: -70%; width: 45%; height: 100%; background: linear-gradient(115deg, transparent, rgba(26,42,94,.07), transparent); transform: skewX(-18deg); pointer-events: none; }
.sedf-page .prat-info-cta:hover::after{ animation: sedfSheen 1.05s ease; }
@keyframes sedfSheen{ from{ left: -70%;} to{ left: 140%;} }
.sedf-page .prat-info-btn{ position: relative; overflow: hidden; }
.sedf-page .prat-info-btn::after{ content: ''; position: absolute; top: 0; left: -80%; width: 50%; height: 100%; background: linear-gradient(115deg, transparent, rgba(255,255,255,.28), transparent); transform: skewX(-18deg); pointer-events: none; }
.sedf-page .prat-info-btn:hover::after{ animation: sedfSheen 0.9s ease; }

/* ---- respect de « réduire les animations » ---- */
@media (prefers-reduced-motion: reduce){
  .sedf-page .prat-hero__photo::before,
  .sedf-page .prat-hero__monogram,
  .sedf-page .prat-hero__glow,
  .sedf-page .prat-cta__glow{ animation: none !important; }
  .sedf-page .prat-hero__photo::before{ transform: scale(1.04); }
}

/* ============================================================================
 * RÉALISATIONS — cartes façon « Nos spécialités » + lightbox (v1.5.0)
 * ============================================================================ */

/* ---- Grille ---- */
.sedf-page .prat-cases-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 46px; }
@media (max-width: 980px){ .sedf-page .prat-cases-grid{ grid-template-columns: repeat(2, 1fr); gap: 18px; } }
@media (max-width: 620px){ .sedf-page .prat-cases-grid{ grid-template-columns: 1fr; } }

/* léger décalage d'apparition des cartes */
.sedf-page.js-reveal .prat-cases-grid .prat-card:nth-child(2){ --reveal-delay: 90ms; }
.sedf-page.js-reveal .prat-cases-grid .prat-card:nth-child(3){ --reveal-delay: 180ms; }
.sedf-page.js-reveal .prat-cases-grid .prat-card:nth-child(4){ --reveal-delay: 110ms; }
.sedf-page.js-reveal .prat-cases-grid .prat-card:nth-child(5){ --reveal-delay: 200ms; }
.sedf-page.js-reveal .prat-cases-grid .prat-card:nth-child(6){ --reveal-delay: 290ms; }

/* ---- Carte ---- */
.sedf-page .prat-card{ position: relative; aspect-ratio: 3 / 4; border-radius: 18px; overflow: hidden; display: flex; flex-direction: column; padding: 24px; color: #fff; isolation: isolate; box-shadow: 0 18px 50px -22px rgba(14,23,64,.5); }
.sedf-page .prat-card--open{ cursor: pointer; }
.sedf-page .prat-card__media{ position: absolute; inset: 0; z-index: 0; background: var(--card-img, none) center / cover no-repeat, #0E1740; transition: transform .9s cubic-bezier(.16,1,.3,1); }
.sedf-page .prat-card__overlay{ position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(14,23,64,.18) 0%, rgba(14,23,64,.48) 48%, rgba(14,23,64,.92) 100%); }
.sedf-page .prat-card--novisual .prat-card__media{ background: linear-gradient(160deg, #1A2A5E, #0E1740); }
.sedf-page .prat-card--open:hover .prat-card__media{ transform: scale(1.07); }
.sedf-page .prat-card--open:hover{ box-shadow: 0 30px 72px -24px rgba(14,23,64,.66); }
.sedf-page .prat-card--open:focus-visible{ outline: 2px solid #fff; outline-offset: 3px; }

.sedf-page .prat-card__head{ position: relative; z-index: 2; display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.sedf-page .prat-card__num{ font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.72); font-weight: 600; }
.sedf-page .prat-card__tags{ display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
.sedf-page .prat-card__tag{ font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #fff; background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.24); padding: 5px 11px; border-radius: 999px; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }

.sedf-page .prat-card__body{ position: relative; z-index: 2; margin-top: auto; padding-top: 24px; }
.sedf-page .prat-card__title{ font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 600; font-size: clamp(24px, 2.4vw, 30px); line-height: 1.08; color: #fff; margin: 0 0 8px; }
.sedf-page .prat-card__text{ font-size: 13.5px; line-height: 1.55; color: rgba(255,255,255,.82); margin: 0; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

.sedf-page .prat-card__foot{ position: relative; z-index: 2; margin-top: 20px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.sedf-page .prat-card__arrow{ width: 44px; height: 44px; flex-shrink: 0; border-radius: 50%; background: #fff; color: var(--royal, #1A2A5E); display: flex; align-items: center; justify-content: center; transition: transform .3s ease, background .3s ease; }
.sedf-page .prat-card__arrow svg{ width: 20px; height: 20px; }
.sedf-page .prat-card--open:hover .prat-card__arrow{ transform: translateX(3px); }
.sedf-page .prat-card__count{ font-size: 12px; color: rgba(255,255,255,.74); font-weight: 500; }

@media (max-width: 620px){
  .sedf-page .prat-card{ aspect-ratio: auto; min-height: 360px; }
}

/* ---- Lightbox ---- */
body.sedf-lb-open{ overflow: hidden; }
.sedf-page .prat-lightbox, .prat-lightbox{ position: fixed; inset: 0; z-index: 99999; display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity .28s ease; }
.prat-lightbox[hidden]{ display: none; }
.prat-lightbox.is-open{ opacity: 1; }
.prat-lightbox__backdrop{ position: absolute; inset: 0; background: rgba(8,12,32,.93); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); cursor: zoom-out; }
.prat-lightbox__panel{ position: relative; z-index: 1; width: min(1100px, 94vw); max-height: 92vh; display: flex; flex-direction: column; transform: scale(.97); transition: transform .3s cubic-bezier(.16,1,.3,1); }
.prat-lightbox.is-open .prat-lightbox__panel{ transform: none; }
.prat-lightbox__close{ position: absolute; top: -4px; right: 0; width: 44px; height: 44px; border-radius: 50%; border: 0; background: rgba(255,255,255,.12); color: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background .2s; z-index: 4; }
.prat-lightbox__close:hover{ background: rgba(255,255,255,.22); }
.prat-lightbox__close svg{ width: 22px; height: 22px; }
.prat-lightbox__head{ color: #fff; padding: 0 56px 14px 2px; flex-shrink: 0; }
.prat-lightbox__tags{ display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.prat-lightbox__tags:empty{ display: none; }
.prat-lightbox__tag{ font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #fff; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.24); padding: 4px 10px; border-radius: 999px; }
.prat-lightbox__title{ font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(22px, 3vw, 30px); font-weight: 600; margin: 0; color: #fff; line-height: 1.1; }
.prat-lightbox__title:empty{ display: none; }

.prat-lightbox__viewport{ position: relative; flex: 1; min-height: 0; display: flex; align-items: center; }
.prat-lightbox__track{ display: flex; overflow-x: auto; scroll-snap-type: x mandatory; width: 100%; height: 100%; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.prat-lightbox__track::-webkit-scrollbar{ display: none; }
.prat-lightbox__slide{ flex: 0 0 100%; scroll-snap-align: center; display: flex; align-items: center; justify-content: center; padding: 0 6px; }

.prat-lightbox .prat-shot{ aspect-ratio: auto; width: auto; max-width: 100%; max-height: 74vh; background: transparent; border-radius: 12px; overflow: hidden; box-shadow: 0 24px 70px -22px rgba(0,0,0,.65); }
.prat-lightbox .prat-shot img{ display: block; width: auto; max-width: 100%; max-height: 74vh; object-fit: contain; }
.prat-lightbox .prat-shot--video{ width: min(900px, 88vw); max-height: 74vh; box-shadow: none; }

.prat-lightbox__nav{ position: absolute; top: 50%; transform: translateY(-50%); width: 48px; height: 48px; border-radius: 50%; border: 0; background: rgba(255,255,255,.12); color: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; z-index: 3; transition: background .2s, opacity .2s; }
.prat-lightbox__nav:hover{ background: rgba(255,255,255,.24); }
.prat-lightbox__nav svg{ width: 22px; height: 22px; }
.prat-lightbox__nav--prev{ left: -6px; }
.prat-lightbox__nav--next{ right: -6px; }
.prat-lightbox__nav.is-disabled{ opacity: .28; pointer-events: none; }

.prat-lightbox__dots{ display: flex; gap: 8px; justify-content: center; padding-top: 16px; flex-shrink: 0; }
.prat-lightbox__dot{ width: 8px; height: 8px; border-radius: 50%; border: 0; background: rgba(255,255,255,.3); cursor: pointer; padding: 0; transition: background .2s, width .2s; }
.prat-lightbox__dot.is-active{ background: #fff; width: 22px; border-radius: 999px; }

@media (max-width: 680px){
  .prat-lightbox__head{ padding-right: 50px; }
  .prat-lightbox__nav{ width: 40px; height: 40px; }
  .prat-lightbox__nav--prev{ left: 0; }
  .prat-lightbox__nav--next{ right: 0; }
  .prat-lightbox .prat-shot img, .prat-lightbox .prat-shot{ max-height: 64vh; }
}

/* ============================================================================
 * FICHE-CAS — modale éditoriale premium (v1.6.1)
 * ============================================================================ */
body.sedf-lb-open{ overflow: hidden; }
.prat-detail{ position: fixed; inset: 0; z-index: 99999; display: flex; align-items: center; justify-content: center; padding: 28px; opacity: 0; transition: opacity .32s ease; }
.prat-detail[hidden]{ display: none; }
.prat-detail.is-open{ opacity: 1; }
.prat-detail__backdrop{ position: absolute; inset: 0; background: rgba(7,11,30,.78); -webkit-backdrop-filter: blur(10px) saturate(120%); backdrop-filter: blur(10px) saturate(120%); cursor: zoom-out; }

.prat-detail__panel{ position: relative; z-index: 1; width: min(1140px, 95vw); height: min(700px, 88vh); background: #FCFAF5; border-radius: 26px; overflow: hidden; display: grid; grid-template-columns: 1.12fr .88fr; transform: scale(.96) translateY(14px); transition: transform .42s cubic-bezier(.18,.9,.28,1); box-shadow: 0 60px 140px -40px rgba(0,0,0,.7); }
.prat-detail.is-open .prat-detail__panel{ transform: none; }
.prat-detail.is-textonly .prat-detail__panel{ grid-template-columns: 1fr; width: min(760px, 95vw); height: auto; max-height: 88vh; }
.prat-detail.is-textonly .prat-detail__media{ display: none; }

.prat-detail__close{ position: absolute; top: 18px; right: 18px; width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(14,23,64,.1); background: rgba(255,255,255,.82); color: #0E1740; cursor: pointer; display: flex; align-items: center; justify-content: center; z-index: 8; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); box-shadow: 0 6px 20px -6px rgba(0,0,0,.3); transition: transform .3s cubic-bezier(.18,.9,.28,1), background .2s; outline: none; }
.prat-detail__close:hover{ background: #fff; transform: rotate(90deg); }
.prat-detail__close:focus-visible{ box-shadow: 0 0 0 3px rgba(26,42,94,.3); }
.prat-detail__close svg{ width: 20px; height: 20px; }

/* volet média : image immersive plein cadre */
.prat-detail__media{ position: relative; background: #0a0f2e; overflow: hidden; }
.prat-detail__viewport{ position: absolute; inset: 0; }
.prat-detail__track{ display: flex; overflow-x: auto; scroll-snap-type: x mandatory; width: 100%; height: 100%; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.prat-detail__track::-webkit-scrollbar{ display: none; }
.prat-detail__slide{ flex: 0 0 100%; height: 100%; scroll-snap-align: center; position: relative; display: flex; align-items: center; justify-content: center; }
.prat-detail .prat-shot{ width: 100%; height: 100%; aspect-ratio: auto; background: transparent; border-radius: 0; overflow: hidden; box-shadow: none; }
.prat-detail .prat-shot img{ display: block; width: 100%; height: 100%; max-height: none; object-fit: cover; object-position: center; }
.prat-detail .prat-shot--video{ width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; padding: 24px; }
.prat-detail .prat-shot--video .prat-embed{ width: 100%; }
.prat-detail__media::after{ content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 34%; background: linear-gradient(to top, rgba(8,12,32,.55), rgba(8,12,32,0)); pointer-events: none; z-index: 2; }

.prat-detail__nav{ position: absolute; top: 50%; transform: translateY(-50%); width: 46px; height: 46px; border-radius: 50%; border: 0; background: rgba(15,20,45,.34); color: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; z-index: 4; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); opacity: 0; transition: opacity .25s, background .2s; }
.prat-detail__media:hover .prat-detail__nav{ opacity: 1; }
.prat-detail__nav:hover{ background: rgba(15,20,45,.62); }
.prat-detail__nav svg{ width: 20px; height: 20px; }
.prat-detail__nav--prev{ left: 16px; }
.prat-detail__nav--next{ right: 16px; }
.prat-detail__nav.is-disabled{ opacity: 0 !important; pointer-events: none; }
.prat-detail__dots{ position: absolute; left: 0; right: 0; bottom: 18px; display: flex; gap: 7px; justify-content: center; z-index: 5; }
.prat-detail__dot{ width: 7px; height: 7px; border-radius: 50%; border: 0; background: rgba(255,255,255,.45); cursor: pointer; padding: 0; transition: background .2s, width .2s; box-shadow: 0 1px 3px rgba(0,0,0,.3); }
.prat-detail__dot.is-active{ background: #fff; width: 22px; border-radius: 999px; }

/* volet récit : éditorial clair */
.prat-detail__info{ position: relative; background: #FCFAF5; color: #2c3047; padding: 54px 50px; overflow-y: auto; display: flex; flex-direction: column; }
.prat-detail__info::-webkit-scrollbar{ width: 8px; }
.prat-detail__info::-webkit-scrollbar-thumb{ background: rgba(26,42,94,.16); border-radius: 8px; }
.prat-detail__infohead{ flex-shrink: 0; }
.prat-detail__infohead::after{ content: ''; display: block; width: 46px; height: 2px; background: var(--royal, #1A2A5E); border-radius: 2px; margin-top: 22px; }
.prat-detail__tags{ display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 16px; }
.prat-detail__tags:empty{ display: none; }
.prat-detail__tag{ font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--royal, #1A2A5E); background: transparent; border: 1px solid rgba(26,42,94,.28); padding: 5px 12px; border-radius: 999px; }
.prat-detail__title{ font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(30px, 3.6vw, 44px); font-weight: 600; line-height: 1.04; letter-spacing: -.005em; color: var(--ink, #0E1740); margin: 0; }
.prat-detail__title:empty{ display: none; }
.prat-detail__date{ display: inline-block; font-size: 11.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--royal-soft, #4C5DA0); font-weight: 600; margin-top: 14px; }
.prat-detail__date:empty{ display: none; }

.prat-detail__body{ flex: 1; font-size: 15.5px; line-height: 1.8; color: #3c4257; margin-top: 26px; }
.prat-detail__body > :first-child{ margin-top: 0; }
.prat-detail__body > p:first-of-type{ font-size: 17px; line-height: 1.7; color: #20253c; }
.prat-detail__body p{ margin: 0 0 16px; }
.prat-detail__h3{ font-family: 'Cormorant Garamond', Georgia, serif; font-size: 25px; font-weight: 600; color: var(--royal, #1A2A5E); margin: 30px 0 8px; line-height: 1.15; }
.prat-detail__h4{ font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--royal-soft, #4C5DA0); margin: 24px 0 6px; }
.prat-detail__list{ margin: 4px 0 16px; padding: 0; list-style: none; }
.prat-detail__list li{ position: relative; padding-left: 22px; margin-bottom: 9px; }
.prat-detail__list li::before{ content: ''; position: absolute; left: 2px; top: 9px; width: 7px; height: 7px; border-radius: 50%; background: var(--royal-soft, #4C5DA0); }

.prat-detail__foot{ flex-shrink: 0; margin-top: 34px; padding-top: 24px; border-top: 1px solid rgba(26,42,94,.12); display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; }
.prat-detail__foot-label{ font-size: 14px; color: #5a607a; font-style: italic; }
.prat-detail__cta{ display: inline-flex; align-items: center; gap: 9px; background: var(--royal, #1A2A5E); color: #fff; font-size: 13px; font-weight: 600; letter-spacing: .03em; text-transform: uppercase; padding: 13px 24px; border-radius: 999px; text-decoration: none; white-space: nowrap; transition: transform .25s ease, box-shadow .25s ease, background .2s; box-shadow: 0 12px 28px -12px rgba(26,42,94,.7); }
.prat-detail__cta span{ transition: transform .25s ease; }
.prat-detail__cta:hover{ background: var(--ink, #0E1740); transform: translateY(-2px); box-shadow: 0 18px 36px -14px rgba(26,42,94,.75); }
.prat-detail__cta:hover span{ transform: translateX(4px); }

/* apparition en fondu du texte */
.prat-detail__infohead, .prat-detail__body, .prat-detail__foot{ opacity: 0; transform: translateY(14px); }
.prat-detail.is-open .prat-detail__infohead{ animation: sedfDetailIn .65s cubic-bezier(.16,1,.3,1) .14s forwards; }
.prat-detail.is-open .prat-detail__body{ animation: sedfDetailIn .65s cubic-bezier(.16,1,.3,1) .24s forwards; }
.prat-detail.is-open .prat-detail__foot{ animation: sedfDetailIn .65s cubic-bezier(.16,1,.3,1) .34s forwards; }
@keyframes sedfDetailIn{ to{ opacity: 1; transform: none; } }

@media (prefers-reduced-motion: reduce){
  .prat-detail__infohead, .prat-detail__body, .prat-detail__foot{ opacity: 1 !important; transform: none !important; animation: none !important; }
}

@media (max-width: 880px){
  .prat-detail{ padding: 0; align-items: stretch; }
  .prat-detail__panel{ grid-template-columns: 1fr; width: 100%; height: 100%; max-height: 100vh; border-radius: 0; display: flex; flex-direction: column; transform: translateY(16px); }
  .prat-detail.is-textonly .prat-detail__panel{ width: 100%; height: 100%; }
  .prat-detail__media{ flex: 0 0 auto; height: 40vh; }
  .prat-detail__nav{ opacity: 1; width: 40px; height: 40px; }
  .prat-detail__info{ flex: 1; padding: 30px 24px 36px; }
  .prat-detail__title{ font-size: clamp(28px, 7vw, 36px); }
}
