:root {
  --blue: #6DC6DA;
  --violet: #AFA5D1;
  --green: #6FBC85;
  --pink: #F0869D;
  --gray: #F5F5F5;
  --surface: #DCE1E7;
  --shade: #EEF1F5;
  --card-shadow: 0 5px 18px #14151A0A;
}
.footer-contact{display:grid;gap:9px;margin-top:18px;font-size:.8125rem;line-height:1.5}
.footer-contact a,.footer-contact address{display:flex;gap:10px;align-items:flex-start;color:#d2d7df;font-style:normal}
.footer-contact a:hover{color:var(--yellow)}
.footer-contact svg{width:17px;height:17px;flex:none;margin-top:2px;color:var(--yellow)}

body { --page-accent: var(--blue); background: var(--shade); }
.section { padding-block: 64px; background: linear-gradient(to bottom, #F1F3F6, #E9EDF2); }
.section-gray { background: linear-gradient(to bottom, #E1E6EC, #D8DEE6); }
.hero, .hero:not(.consulting-hero), .domain-hero, .detail-hero {
  --muted: #C6CBD5;
  background: linear-gradient(to right, #272C36, #15181F);
  color: #fff;
}
.hero .breadcrumb, .domain-hero .breadcrumb, .detail-hero .breadcrumb { color: #B9BFCC; }
.hero .eyebrow, .domain-hero .eyebrow, .detail-hero .eyebrow { color: var(--yellow); }
.hero .button-dark, .domain-hero .button-dark { background: var(--yellow); color: var(--ink); }
.hero .button-dark:hover, .domain-hero .button-dark:hover { background: #F4D800; }
.hero .button-outline, .domain-hero .button-outline { border-color: #D9DFE9; color: #fff; background: #ffffff08; }
.hero .button-outline:hover, .domain-hero .button-outline:hover { background: #ffffff18; }
.hero .hero-image figcaption { color: var(--ink); }
.hero .fiche-domain { color: var(--ink); }
.hero-bottom { background: #303642; color: #E4E8EF; border-top: 1px solid #ffffff17; }
.hero-bottom span::before { background: var(--blue); border: 0; }
.hero-image, .domain-hero-photo, .detail-visual, .fiche-image,
.home-domain-heading figure { box-shadow: 0 14px 36px #10131B26; }

mark {
  background: linear-gradient(transparent 64%, var(--mark-color, var(--yellow)) 64%, var(--mark-color, var(--yellow)) 94%, transparent 94%);
}
.hero h1 mark, .domain-hero h1 mark, .detail-hero h1 mark,
.consulting-strip h2 mark {
  background: linear-gradient(transparent 96%, var(--yellow) 96%, var(--yellow) 100%);
  color: var(--yellow);
}
.format-detail-hero .hero-image figcaption, .fiche-image figcaption,
.domain-hero-photo figcaption { background: #fff; color: var(--ink); border-left: 3px solid var(--page-accent); }
.consulting-hero .hero-image figcaption { background: #fff; border-left: 3px solid var(--violet); }
.detail-visual .detail-icon { background: #fff; border-top: 3px solid var(--page-accent); }

.format-card {
  --card-x: 25px;
  --card-y: 27px;
  padding: var(--card-y) var(--card-x) 0;
  background: linear-gradient(to bottom, #FAFBFC, #EEF1F5);
  border-top: 0;
  box-shadow: var(--card-shadow);
}
.format-card .card-top {
  flex-direction: row;
  align-items: center;
  margin: calc(-1 * var(--card-y)) calc(-1 * var(--card-x)) 25px;
  padding: 19px var(--card-x);
  background: color-mix(in srgb, var(--accent) 7%, #fff);
  border-top: 3px solid var(--accent);
  min-height: 79px;
}
.format-card .icon-wrap { width: 38px; height: 38px; background: color-mix(in srgb, var(--accent) 28%, #fff); }
.format-card .tag { color: var(--ink); }
.format-card h3 { margin-bottom: 16px; }
.format-card p { margin-bottom: 23px; }
.format-meta { padding-bottom: 22px; }

.domain-list { box-shadow: var(--card-shadow); }
.domain-list a { --cell-x: 22px; padding-inline: var(--cell-x); border-top: 3px solid var(--accent, var(--yellow)); }
.domain-list a:not(.consulting-cell) { background: #F3F5F8; }
.domain-list .domain-index {
  background: transparent;
  color: var(--ink);
  padding: 13px var(--cell-x);
  margin: -22px calc(-1 * var(--cell-x)) 0;
  min-height: 51px;
  font-weight: 500;
}
.domain-list .domain-index svg { width: 34px; height: 34px; padding: 5px; background: color-mix(in srgb, var(--accent, var(--blue)) 24%, #fff); }
.domain-list .consulting-cell .domain-index { background: transparent; color: var(--yellow); }
.domain-list .consulting-cell .domain-index svg { background: #ffffff0D; }
.domain-list a:not(.consulting-cell):hover { background: var(--gray); }

.expertise-card { --card-x: 23px; --card-y: 24px; padding: var(--card-y) var(--card-x) 0; border-top: 3px solid var(--accent, var(--yellow)); }
.expertise-card:not(.expertise-consulting) { background: linear-gradient(to bottom, #F8FAFC, #EBEFF4); box-shadow: var(--card-shadow); }
.expertise-card .expertise-top {
  margin: calc(-1 * var(--card-y)) calc(-1 * var(--card-x)) 23px;
  padding: 18px var(--card-x);
  background: transparent;
  color: var(--ink);
}
.expertise-card .expertise-number { color: var(--muted); }
.expertise-top > span[data-icon] { padding: 7px; background: color-mix(in srgb, var(--accent) 24%, #fff); }
.expertise-consulting .expertise-top, .expertise-consulting .expertise-number { color: var(--yellow); }
.expertise-consulting .expertise-top > span[data-icon] { background: #ffffff0D; }
.expertise-card .expertise-top svg { width: 26px; height: 26px; }
.expertise-bottom { font-size: .75rem; }
.topic-card { padding: 24px; background: #F5F7FA; border-top: 3px solid var(--accent); box-shadow: var(--card-shadow); }
.topic-card .topic-num { width: fit-content; padding: 4px 8px; margin: 0 0 21px; background: color-mix(in srgb, var(--accent) 22%, #fff); color: var(--ink); }
.course-card { background: #F5F7FA; border-left: 4px solid var(--page-accent); box-shadow: var(--card-shadow); }
.program-card { background: #F5F7FA; border-top-width: 3px; box-shadow: var(--card-shadow); }
.format-domain-tags > a, .related-domains > a { border-left: 4px solid var(--accent, var(--page-accent)); }
.related-domains > a { background: #F5F7FA; }

.consulting-strip { background: linear-gradient(to right, #1C2029, #292F3B); box-shadow: 0 9px 28px #14151A17; }
.consulting-strip-side { background: #ffffff04; border-left: 1px solid #ffffff26; color: #fff; }
.consulting-strip-side svg, .consulting-strip-side strong { color: var(--violet); }
.consulting-strip-side small { color: #bfc0c8; font-weight: 500; }
.audience-card { --audience-accent: var(--blue); background: #F5F7FA; border-top: 3px solid var(--audience-accent); box-shadow: var(--card-shadow); }
.audience-card:nth-child(2) { --audience-accent: var(--violet); }
.audience-icon { padding: 10px; background: color-mix(in srgb, var(--audience-accent) 22%, #fff); color: var(--ink); }
.audience-icon svg { width: 30px; height: 30px; }
.audience-card .eyebrow { color: var(--ink); }
.method-number { padding: 0 4px; background: transparent; border-bottom: 3px solid var(--page-accent); margin-bottom: 21px; }
.advice-areas li > span { width: 28px; height: 28px; padding: 4px 0; text-align: center; background: color-mix(in srgb, var(--page-accent) 20%, #fff); color: var(--ink); }
.path-list .path-number { background: transparent; color: var(--muted); padding: 4px 0; text-align: center; }
.benefit-list > li > span { background: color-mix(in srgb, var(--page-accent) 20%, #fff); color: var(--ink); text-align: center; padding-block: 3px; align-self: start; }
.fiche-preview-meta { background: linear-gradient(to bottom, #EEF1F5, #DEE4EC); border: 0; border-left: 3px solid var(--page-accent); padding: 30px 34px; align-self: stretch; justify-content: center; box-shadow: var(--card-shadow); }
.fiche-preview-meta .tag, .fiche-preview-meta p { color: var(--ink); }

.fiche-layout { gap: 48px; padding-top: 43px; padding-bottom: 52px; }
.fiche-block { padding: 30px; margin-bottom: 24px; border: 1px solid var(--line); background: #F7F9FB; box-shadow: var(--card-shadow); }
.fiche-block:last-child { padding: 30px; border: 1px solid var(--line); }
.fiche-block h2 { margin-bottom: 25px; }
.objective-list > li > span, .method-small { background: color-mix(in srgb, var(--page-accent) 24%, #fff); }
.program-unit summary { padding-inline: 14px; }
.program-unit[open] summary { background: color-mix(in srgb, var(--page-accent) 8%, #fff); }
.program-unit[open] summary h3 { text-decoration-color: var(--page-accent); }
.program-unit ul { padding-top: 19px; }
.program-note { border-color: var(--page-accent); }
.fiche-domain { background: color-mix(in srgb, var(--page-accent) 12%, #fff); border-color: var(--line); }
.fiche-action-card { background: linear-gradient(to bottom, #EAF0F6, #DDE3EC); border: 1px solid #C8D0DB; border-top: 3px solid var(--page-accent); box-shadow: var(--card-shadow); }
.fiche-action-card .eyebrow, .fiche-facts dt, .aside-contact { color: var(--ink); }
.fiche-facts > div, .aside-contact { border-color: #14151a30; }
.fiche-action-card .button-yellow { background: var(--ink); color: #fff; }
.fiche-action-card .button-yellow:hover { background: #30323a; }
.fiche-action-card .brochure-button { background: var(--gray); border-color: var(--line); }
.career-tags span { background: var(--gray); border-color: var(--line); }
.intra-callout { background: color-mix(in srgb, var(--violet) 10%, #fff); }

@media (max-width: 1150px) {
  .format-card { --card-x: 21px; --card-y: 24px; }
  .expertise-card { --card-x: 20px; --card-y: 23px; }
  .fiche-layout { gap: 36px; }
  .fiche-preview-meta { padding: 28px; }
}
@media (max-width: 900px) {
  .section { padding-block: 53px; }
  .format-card { --card-x: 18px; --card-y: 24px; }
  .format-card .card-top { padding-block: 17px; min-height: 73px; gap: 10px; }
  .format-card .icon-wrap { width: 30px; height: 30px; }
  .expertise-card { --card-x: 24px; --card-y: 25px; }
  .fiche-layout { gap: 26px; }
  .fiche-block, .fiche-block:last-child { padding: 25px; }
}
@media (max-width: 700px) {
  .fiche-layout { gap: 25px; padding-top: 30px; padding-bottom: 42px; }
}
@media (max-width: 650px) {
  .section { padding-block: 43px; }
  .format-card { --card-x: 25px; --card-y: 25px; }
  .format-card .card-top { padding-block: 18px; min-height: 75px; }
  .domain-list a { --cell-x: 18px; padding-top: 20px; }
  .domain-list .domain-index { margin-top: -20px; padding-block: 12px; min-height: 48px; }
  .expertise-card { --card-x: 17px; --card-y: 22px; }
  .expertise-card .expertise-top { padding-block: 16px; margin-bottom: 21px; }
  .expertise-bottom { font-size: .6875rem; }
  .consulting-strip-side { border-left: 0; border-top: 1px solid #ffffff26; }
  .audience-icon svg { width: 25px; height: 25px; }
  .fiche-preview-meta { padding: 24px; }
  .fiche-block, .fiche-block:last-child { padding: 25px 22px; }
  .program-unit summary { padding-inline: 10px; }
  .program-unit ul { padding-left: 37px; }
  .method-number { font-size: 1.85rem; padding: 0 4px; }
}
