:root {  --color-bg:       #f2f8fa; --color-bg-alt:   #dfeaef; --color-bandeau:  #cadbe1; --color-white:    #ffffff;
--color-ink:      #111111; --color-ink-soft: #2a2a2a;
--color-muted:    #5f6675; --color-line:     #cdd9df;   --color-red:      #de1f1f; --color-red-dark: #bf1b1b; --color-orange:   #f0c35d; --color-blue:     #395495; --color-yellow:   #f6e448; --color-navy:     #2b2f48; --color-green:    #47943f;  --font-display: 'Josefin Sans', 'Helvetica Neue', system-ui, sans-serif;
--font-body:    'Comfortaa', 'Helvetica Neue', system-ui, sans-serif; --container:     1280px;
--sidebar-width: 320px;
--gutter:         48px;
--padding-x:      40px; --space-2:  0.5rem;
--space-3:  0.75rem;
--space-4:  1rem;
--space-6:  1.5rem;
--space-8:  2rem;
--space-10: 2.5rem;
--space-12: 3rem;
--space-16: 4rem;
--space-20: 5rem; --ease: 0.25s ease;
--ease-fast: 0.15s ease; --shadow-card: 0 10px 30px -16px rgba(17,17,17,0.22);
--shadow-hard: 14px 14px 0 0 var(--color-navy);
} *, *::before, *::after { box-sizing: border-box; }
html {
-webkit-text-size-adjust: 100%;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-rendering: optimizeLegibility;
scroll-behavior: smooth;
}
body { margin: 0; min-height: 100vh; overflow-x: hidden; }
h1,h2,h3,h4,h5,h6,p,ul,ol,figure,blockquote { margin: 0; padding: 0; }
ul,ol { list-style: none; }
a { color: inherit; text-decoration: none; }
img,svg,picture { display: block; max-width: 100%; height: auto; }
button { font: inherit; cursor: pointer; border: 0; background: transparent; color: inherit; }
input,textarea,select { font: inherit; }
:focus-visible { outline: 2px solid var(--color-red); outline-offset: 3px; }body {
background: var(--color-bg);
color: var(--color-ink);
font-family: var(--font-body);
font-size: 1rem;
font-weight: 400;
line-height: 1.6;
}
h1, h2, h3, h4 {
font-family: var(--font-display);
font-weight: 500;
line-height: 1.06;
letter-spacing: -0.015em;
color: var(--color-ink);
}
h1 { font-size: clamp(2.6rem, 5.6vw, 5rem);   }
h2 { font-size: clamp(2rem,   3.4vw, 3.2rem);  }
h3 { font-size: clamp(1.3rem, 1.9vw, 1.7rem);  }
h4 { font-size: 1.2rem; }
p  { color: var(--color-ink-soft); line-height: 1.7; }
p + p { margin-top: 1em; }
strong { font-weight: 600; } .site { display: flex; flex-direction: column; min-height: 100vh; }
.site-content { flex: 1; } .container {
max-width: var(--container);
margin-inline: auto;
padding-inline: var(--padding-x);
} .page-grid {
max-width: var(--container);
margin-inline: auto;
padding-inline: var(--padding-x);
display: grid;
grid-template-columns: 1fr var(--sidebar-width);
gap: var(--gutter);
align-items: start;
padding-top: var(--space-12);
padding-bottom: var(--space-16);
}
.page-grid__main   { min-width: 0; }
.page-grid__sidebar { position: sticky; top: 108px; min-width: 0; } .entry-content > * + * { margin-top: 1.5em; } .entry-content h2,
.entry-content h3,
.entry-content h4,
.post-header__title {
text-wrap: balance;
} .entry-content a:not(.btn) {
color: var(--color-blue);
border-bottom: 1px solid currentColor;
transition: color var(--ease-fast);
}
.entry-content a:not(.btn):hover { color: var(--color-red); }
.entry-content ul,
.entry-content ol  { list-style: revert; padding-left: 1.5em; }
.entry-content ul li + li,
.entry-content ol li + li { margin-top: 0.4em; } .entry-content figure { margin-block: 2.75em; }
.entry-content figcaption {
font-size: 0.85rem;
line-height: 1.5;
color: var(--color-muted);
margin-top: 0.7em;
text-align: center;
} .entry-content .wp-block-image { margin-block: 2.75em; }
.entry-content .wp-block-image img {
background: var(--color-white);
padding: 6px;
border: 2px solid var(--color-orange);
box-shadow: var(--shadow-card);
}
.entry-content .wp-block-image figcaption {
margin-top: 0.7em;
font-size: 0.85rem;
color: var(--color-muted);
text-align: center;
} .entry-content .wp-block-image.alignright { margin-left: var(--space-8); }
.entry-content .wp-block-image.alignleft  { margin-right: var(--space-8); } .entry-content .wp-block-image.alignfull img,
.entry-content .wp-block-image.alignwide img { border: 0; padding: 0; box-shadow: none; }
.entry-content blockquote {
border-left: 4px solid var(--color-red);
padding-left: 1.25em;
font-family: var(--font-display);
font-style: italic;
font-size: 1.3rem;
color: var(--color-ink-soft);
}
.entry-content table { width: 100%; border-collapse: collapse; }
.entry-content th,
.entry-content td   { padding: 0.6em 0.9em; border-bottom: 1px solid var(--color-line); }
.entry-content th   { font-weight: 600; background: var(--color-bg-alt); } .section       { padding-block: var(--space-20); }
.section--alt  { background: var(--color-bg-alt); } .section__eyebrow {
display: block;
font-family: var(--font-body);
font-size: 0.76rem;
font-weight: 500;
letter-spacing: 0.24em;
text-transform: uppercase;
color: var(--color-blue);
margin-bottom: var(--space-3);
}
.section__title { margin-bottom: var(--space-4); }
.section__title em { font-style: italic; color: var(--color-blue); }
.section__lede  { font-size: 1.02rem; color: var(--color-muted); max-width: 58ch; } .deco-divider {
display: flex;
align-items: center;
gap: 10px;
margin-bottom: var(--space-3);
}
.deco-divider span { display: block; height: 3px; }
.deco-divider span:nth-child(1) { width: 36px; background: var(--color-red); }
.deco-divider span:nth-child(2) { width: 14px; background: var(--color-yellow); }
.deco-divider span:nth-child(3) { width: 22px; background: var(--color-blue); } .skip-link {
position: absolute;
top: -100px; left: 16px;
background: var(--color-red);
color: var(--color-white);
padding: 12px 20px;
font-weight: 500;
z-index: 9999;
transition: top 0.2s;
}
.skip-link:focus { top: 16px; } .post-header { margin-bottom: var(--space-8); }
.post-header__meta {
font-size: 0.82rem;
color: var(--color-muted);
letter-spacing: 0.1em;
text-transform: uppercase;
margin-bottom: var(--space-3);
}
.post-header__title {
font-family: var(--font-display);
font-style: italic;
} .post-thumbnail {
margin-bottom: var(--space-12);
aspect-ratio: 16 / 7;
overflow: hidden;
}
.post-thumbnail img { width: 100%; height: 100%; object-fit: cover; } .post-header-duo {
display: grid;
grid-template-columns: 1fr minmax(0, 280px);
gap: var(--gutter);
align-items: center;
margin-bottom: var(--space-12);
}
.post-header-duo .post-header { margin-bottom: 0; }
.post-header-duo .post-thumbnail--cote {
aspect-ratio: 1 / 1;
margin-bottom: 0;
} .post-thumbnail--cote img { object-position: center top; }
@media (max-width: 700px) {
.post-header-duo { grid-template-columns: 1fr; gap: var(--space-6); }
.post-header-duo .post-thumbnail--cote { max-width: 280px; }
} .post-thumbnail--haut img { object-position: center top; }
.post-thumbnail--bas  img { object-position: center bottom; } .post-thumbnail--entiere { aspect-ratio: auto; }
.post-thumbnail--entiere img {
width: auto;
height: auto;
max-height: 620px;
max-width: 100%;
margin-inline: auto;
object-fit: contain;
} .pagination { display: flex; justify-content: center; gap: 8px; margin-top: var(--space-12); }
.pagination a,
.pagination .current {
display: flex;
align-items: center;
justify-content: center;
width: 40px; height: 40px;
border: 1px solid var(--color-line);
font-size: 0.9rem;
transition: var(--ease-fast);
}
.pagination a:hover { border-color: var(--color-red); color: var(--color-red); }
.pagination .current { background: var(--color-red); border-color: var(--color-red); color: var(--color-white); } @media (max-width: 1100px) {
:root { --padding-x: 32px; }
.page-grid { grid-template-columns: 1fr; gap: 0; }
.page-grid__sidebar { position: static; padding-top: var(--space-10); }
}
@media (max-width: 768px) {
:root { --padding-x: 20px; --gutter: 28px; }
}.entry-content,
.contact-info-list,
.contact-info-block,
.sidebar-card,
.site-footer,
.invitation-card,
.hero-offer { overflow-wrap: break-word; } .topbar { display: flex; height: 6px; }
.topbar span { flex: 1; }
.topbar span:nth-child(1) { background: var(--color-red); }
.topbar span:nth-child(2) { background: var(--color-yellow); }
.topbar span:nth-child(3) { background: var(--color-blue); }
.topbar span:nth-child(4) { background: var(--color-navy); }
.topbar span:nth-child(5) { background: var(--color-green); } .quickbar {
background: var(--color-bg-alt);
border-bottom: 1px solid var(--color-line);
}
.quickbar__inner {
max-width: var(--container);
margin-inline: auto;
padding: 0 var(--padding-x);
display: flex;
align-items: center;
gap: 0;
flex-wrap: wrap;
min-height: 38px;
}
.quickbar__link {
display: flex;
align-items: center;
gap: 6px;
padding: 8px 14px;
font-size: 0.78rem;
font-weight: 500;
color: var(--color-ink-soft);
letter-spacing: 0.04em;
transition: color var(--ease-fast), background var(--ease-fast);
white-space: nowrap;
}
.quickbar__link:hover { color: var(--color-red); background: rgba(228,61,61,0.05); }
.quickbar__icon { font-size: 0.88rem; }
.quickbar__sep {
display: block;
width: 1px;
height: 14px;
background: var(--color-line);
}
.quickbar__cta {
margin-left: auto;
display: inline-flex;
align-items: center;
padding: 5px 16px;
background: var(--color-red);
color: var(--color-white);
font-size: 0.76rem;
font-weight: 600;
letter-spacing: 0.1em;
text-transform: uppercase;
transition: background var(--ease-fast);
white-space: nowrap;
}
.quickbar__cta:hover { background: var(--color-red-dark); color: var(--color-white); }
@media (max-width: 768px) {
.quickbar { display: none; }
} .site-header {
position: sticky;
top: 0;
z-index: 50;
background: var(--color-bg);
border-bottom: 1px solid var(--color-line);
}
.site-header__inner {
max-width: var(--container);
margin-inline: auto;
padding: 14px var(--padding-x);
display: grid;
grid-template-columns: auto 1fr auto;
align-items: center;
gap: 24px;
} .site-logo { display: flex; align-items: center; gap: 14px; }
.site-logo__img { height: 64px; width: auto; }
.site-logo__text { font-family: var(--font-display); line-height: 1.1; }
.site-logo__name { display: block; font-size: 1.55rem; font-weight: 500; color: var(--color-ink); }
.site-logo__sub  {
display: block;
font-family: var(--font-body);
font-size: 0.74rem;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--color-muted);
} .main-nav__list {
display: flex;
justify-content: center;
gap: 0;
flex-wrap: nowrap; list-style: none;
margin: 0; padding: 0;
}
.main-nav__list li { position: relative; }
.main-nav__list > li > a {
display: block;
padding: 8px 9px;
font-size: 0.84rem;
font-weight: 500;
color: var(--color-ink-soft);
position: relative;
white-space: nowrap;
transition: color var(--ease-fast);
}
.main-nav__list > li > a::after {
content: "";
position: absolute;
left: 12px; right: 12px; bottom: 0;
height: 3px;
background: var(--color-yellow);
transform: scaleX(0);
transform-origin: left;
transition: transform var(--ease);
}
.main-nav__list > li > a:hover { color: var(--color-red); }
.main-nav__list > li > a:hover::after { transform: scaleX(1); }
.main-nav__list .current-menu-item > a,
.main-nav__list .current-page-ancestor > a { color: var(--color-red); }
.main-nav__list .current-menu-item > a::after { transform: scaleX(1); } .main-nav__list .sub-menu {
position: absolute;
top: 100%; left: 0;
min-width: 220px;
background: var(--color-white);
border: 1px solid var(--color-line);
border-top: 3px solid var(--color-red);
box-shadow: var(--shadow-card);
opacity: 0;
visibility: hidden;
transform: translateY(-6px);
transition: opacity var(--ease), transform var(--ease), visibility var(--ease);
z-index: 100;
list-style: none;
margin: 0; padding: 8px 0;
} .main-nav__list li:hover > .sub-menu,
.main-nav__list li:focus-within > .sub-menu {
opacity: 1; visibility: visible; transform: translateY(0);
}
.main-nav__list .sub-menu a {
display: block;
padding: 8px 18px;
font-size: 0.88rem;
color: var(--color-ink-soft);
}
.main-nav__list .sub-menu a:hover { background: var(--color-bg-alt); color: var(--color-red); } .main-nav__list .sub-menu .sub-menu {
top: -8px;
left: 100%;
border-top: 1px solid var(--color-line);
border-left: 3px solid var(--color-red);
transform: translateX(-6px);
}
.main-nav__list .sub-menu li:hover > .sub-menu,
.main-nav__list .sub-menu li:focus-within > .sub-menu { transform: translateX(0); } .main-nav__list > li:nth-last-child(-n+4) .sub-menu .sub-menu {
left: auto;
right: 100%;
border-left: 1px solid var(--color-line);
border-right: 3px solid var(--color-red);
} .main-nav__list .menu-item-has-children > a::before {
content: "";
position: absolute;
right: 2px;
top: 50%;
width: 4px; height: 4px;
border-right: 1.5px solid currentColor;
border-bottom: 1.5px solid currentColor;
transform: translateY(-70%) rotate(45deg);
opacity: 0.55;
}
.main-nav__list > li.menu-item-has-children > a { padding-right: 18px; }
.main-nav__list .sub-menu .menu-item-has-children > a { padding-right: 26px; }
.main-nav__list .sub-menu .menu-item-has-children > a::before {
right: 12px;
transform: translateY(-50%) rotate(-45deg);
}  .menu-toggle { display: none; } .menu-toggle-label__texte {
position: absolute;
width: 1px; height: 1px;
margin: -1px; padding: 0;
overflow: hidden;
clip-path: inset(50%);
white-space: nowrap;
border: 0;
}
.menu-toggle-label {
display: none;
flex-direction: column;
gap: 5px;
padding: 8px;
cursor: pointer;
}
.menu-toggle-label span { display: block; width: 26px; height: 2px; background: var(--color-navy); } .btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
padding: 12px 24px;
font-family: var(--font-body);
font-weight: 500;
font-size: 0.88rem;
letter-spacing: 0.06em;
text-transform: uppercase;
cursor: pointer;
border: 0;
transition: background var(--ease-fast), color var(--ease-fast);
} .btn--primary { background: var(--color-red);    color: var(--color-white); }
.btn--primary:hover { background: var(--color-red-dark); color: var(--color-white); }
.btn--blue    { background: var(--color-blue);   color: var(--color-white); }
.btn--blue:hover { background: var(--color-red); color: var(--color-white); }
.btn--yellow  { background: var(--color-yellow); color: var(--color-ink); }
.btn--yellow:hover { background: var(--color-red); color: var(--color-white); } .btn--soutien {
background: var(--color-navy);
color: var(--color-yellow);
}
.btn--soutien:hover { background: var(--color-red); color: var(--color-white); }
.btn--ghost   {
background: transparent;
color: var(--color-ink);
border: 2px solid var(--color-navy);
}
.btn--ghost:hover { background: var(--color-red); border-color: var(--color-red); color: var(--color-white); }
.btn--ghost-red {
background: transparent;
color: var(--color-red);
border: 2px solid var(--color-red);
}
.btn--ghost-red:hover { background: var(--color-red); color: var(--color-white); }
.btn--block { width: 100%; }
.btn--sm  { padding: 9px 18px; font-size: 0.8rem; }
.btn--lg  { padding: 16px 36px; font-size: 1rem; } .hero-home {
padding: 64px 0 56px;
position: relative;
overflow: hidden;
}
.hero-home__inner {
max-width: var(--container);
margin-inline: auto;
padding-inline: var(--padding-x);
display: grid;
grid-template-columns: 1.05fr 0.95fr;
gap: 56px;
align-items: center;
position: relative;
z-index: 1;
} .hero-home__shapes {
position: absolute;
inset: 0;
pointer-events: none;
z-index: 0;
overflow: hidden;
}
.shape-circle-red {
position: absolute;
top: -50px; left: -70px;
width: 240px; height: 240px;
background: var(--color-red);
border-radius: 50%;
opacity: 0.92;
}
.shape-triangle-yellow {
position: absolute;
top: 110px; right: 42%;
width: 0; height: 0;
border-left:  28px solid transparent;
border-right: 28px solid transparent;
border-bottom: 48px solid var(--color-yellow);
transform: rotate(18deg);
}
.shape-circle-blue {
position: absolute;
bottom: 32px; left: 34%;
width: 40px; height: 40px;
background: var(--color-blue);
border-radius: 50%;
}
.shape-dot-green {
position: absolute;
top: 20px; right: 6%;
width: 26px; height: 26px;
background: var(--color-green);
border-radius: 50%;
} .hero-home__copy { position: relative; z-index: 1; min-width: 0; } .hero-home__eyebrow {
display: inline-block;
font-family: var(--font-body);
font-size: 0.76rem;
font-weight: 600;
letter-spacing: 0.24em;
text-transform: uppercase;
color: var(--color-navy);
margin-bottom: var(--space-4);
background: var(--color-orange);
padding: 5px 14px;
}
.hero-home__title {
font-family: var(--font-display);
font-style: italic;
font-weight: 500;
font-size: clamp(2.8rem, 5.6vw, 5.2rem);
line-height: 0.98;
letter-spacing: -0.02em;
margin-bottom: var(--space-4);
}
.hero-home__title em { font-style: normal; color: var(--color-red); }
.hero-home__meta {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 14px;
margin-bottom: var(--space-6);
font-size: 0.95rem;
font-weight: 500;
color: var(--color-ink);
}
.hero-home__dot {
width: 6px; height: 6px;
background: var(--color-yellow);
border-radius: 50%;
display: block;
}
.hero-home__lede {
font-size: 1.06rem;
color: var(--color-ink-soft);
line-height: 1.65;
max-width: 40ch;
margin-bottom: var(--space-8);
}
.hero-home__actions { display: flex; flex-wrap: wrap; gap: 14px; } .hero-home__offers {
display: flex;
flex-direction: column;
gap: var(--space-6);
max-width: 46ch;
}
.hero-offer {
border-left: 4px solid var(--color-orange);
padding-left: 16px;
}
.hero-offer__text {
font-size: 1rem;
line-height: 1.55;
color: var(--color-ink);
margin-bottom: 12px;
}
.hero-offer__actions {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 14px;
}
.hero-offer__contact {
font-size: 0.9rem;
color: var(--color-blue);
border-bottom: 1px solid transparent;
transition: border-color var(--ease-fast), color var(--ease-fast);
}
.hero-offer__contact:hover {
color: var(--color-red);
border-bottom-color: var(--color-red);
} .hero-home__poster { position: relative; z-index: 1; min-width: 0; } .hero-home__poster-frame {
background: var(--color-white);
padding: 6px;
border: 2px solid var(--color-orange);
box-shadow: var(--shadow-hard);
transition: transform var(--ease), box-shadow var(--ease);
position: relative;
}
.hero-home__poster-frame:hover {
transform: translate(-3px, -3px);
box-shadow: 18px 18px 0 0 var(--color-red);
}
.hero-home__poster-frame img { width: 100%; display: block; } .hero-home__poster-second { margin-top: 26px; }
.hero-home__poster-second .hero-home__poster-frame { box-shadow: 10px 10px 0 0 var(--color-navy); }
.hero-home__poster-second .hero-home__poster-caption { margin-top: 10px; } .festival-logo {
margin: 0 0 var(--space-8);
text-align: center;
} .festival-logo--bas {
margin-top: var(--space-12);
max-width: 520px;
}
.festival-logo img {
max-width: min(420px, 100%);
height: auto;
display: inline-block;
} .poster-frame {
display: block;
max-width: 340px;
margin-inline: auto;
background: var(--color-white);
padding: 6px;
border: 2px solid var(--color-orange);
box-shadow: var(--shadow-hard);
} .poster-frame:not([class*="--float"]) {
clear: both; margin-block: 2.75em;
} .entry-content h2, .entry-content h3, .entry-content h4 {
clear: both;
}
.poster-frame img { width: 100%; display: block; }
@media (min-width: 600px) {
.poster-frame--float-right {
float: right;
margin-left: var(--space-8);
margin-bottom: var(--space-4);
}
}
.hero-home__poster-placeholder {
aspect-ratio: 3 / 4;
background: var(--color-bg-alt);
display: flex;
align-items: center;
justify-content: center;
font-size: 0.85rem;
color: var(--color-muted);
text-align: center;
padding: 20px;
}
.hero-home__poster-caption {
margin-top: 12px;
font-size: 0.78rem;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--color-muted);
text-align: center;
} .pillars-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
}
.pillar-card {
background: var(--color-white);
border: 1px solid var(--color-line);
min-width: 0;
display: flex;
flex-direction: column;
position: relative;
overflow: hidden;
transition: transform var(--ease);
}
.pillar-card:hover { transform: translateY(-4px); }
.pillar-card__bar { height: 6px; }
.pillar-card--red    .pillar-card__bar { background: var(--color-red); }
.pillar-card--yellow .pillar-card__bar { background: var(--color-yellow); }
.pillar-card--blue   .pillar-card__bar { background: var(--color-blue); }
.pillar-card__media {
aspect-ratio: 4 / 3;
overflow: hidden;
background: var(--color-bg-alt);
}
.pillar-card__media img {
width: 100%; height: 100%;
object-fit: cover;
transition: transform 0.5s ease;
}
.pillar-card:hover .pillar-card__media img { transform: scale(1.05); } .pillar-card__tagline { display: flex; flex-direction: column; gap: 16px; }
.pillar-card__tagline .pillar-card__tag { padding: 0 24px 6px; }
.pillar-card > .pillar-card__title { padding: 0 24px 16px; align-self: start; } .pillars-grid { grid-template-rows: auto auto 1fr; }
.pillar-card {
grid-row: span 3;
display: grid;
grid-template-rows: subgrid;
}
.pillar-card__rest { display: flex; flex-direction: column; min-width: 0; } @supports not (grid-template-rows: subgrid) {
.pillar-card { display: flex; flex-direction: column; }
.pillar-card__tagline { min-height: 62px; }
.pillar-card__title   { min-height: 68px; }
}
.pillar-card__body > .pillar-card__list {
list-style: disc;
padding-left: 1.15em;
margin: 0;
font-size: 0.95rem;
line-height: 1.55;
color: var(--color-ink-soft);
}
.pillar-card__body > .pillar-card__list li + li { margin-top: 0.45em; }
.pillar-card__body {
padding: 22px 24px 28px;
display: flex;
flex-direction: column;
gap: 10px;
flex: 1;
}
.pillar-card__tag {
font-size: 0.74rem;
letter-spacing: 0.2em;
text-transform: uppercase;
color: var(--color-muted);
font-weight: 500;
}
.pillar-card__title {
font-family: var(--font-display);
font-size: 1.5rem;
line-height: 1.15;
}
.pillar-card__text { font-size: 0.94rem; color: var(--color-ink-soft); flex: 1; line-height: 1.6; }
.pillar-card__link {
align-self: flex-start;
font-weight: 500;
font-size: 0.88rem;
padding-bottom: 2px;
border-bottom: 2px solid var(--color-ink);
color: var(--color-ink);
transition: color var(--ease-fast), border-color var(--ease-fast);
} .pillar-card__link + .pillar-card__link { margin-top: 10px; }
.pillar-card--red    .pillar-card__link { color: var(--color-red);    border-color: var(--color-red); } .pillar-card--yellow .pillar-card__link { color: var(--color-navy);   border-color: var(--color-yellow); }
.pillar-card--blue   .pillar-card__link { color: var(--color-blue);   border-color: var(--color-blue); } .quote-band {
background: var(--color-navy);
padding: 88px var(--padding-x);
position: relative;
overflow: hidden;
text-align: center;
}
.quote-band__inner {
max-width: 760px;
margin-inline: auto;
position: relative;
z-index: 1;
}
.quote-band__text {
font-family: var(--font-display);
font-style: italic;
font-size: clamp(1.8rem, 3.2vw, 2.8rem);
color: var(--color-white);
line-height: 1.25;
margin-bottom: 18px;
}
.quote-band__attr {
font-family: var(--font-body);
font-size: 0.78rem;
letter-spacing: 0.26em;
text-transform: uppercase;
color: var(--color-yellow);
} .quote-band__shape { position: absolute; }
.quote-band__shape--circle-red {
top: 24px; left: 6%;
width: 88px; height: 88px;
background: var(--color-red);
border-radius: 50%;
}
.quote-band__shape--triangle {
bottom: 20px; left: 16%;
width: 0; height: 0;
border-left: 22px solid transparent;
border-right: 22px solid transparent;
border-bottom: 38px solid var(--color-yellow);
transform: rotate(-10deg);
}
.quote-band__shape--rect {
top: 50%; right: 5%;
width: 64px; height: 64px;
background: var(--color-green);
transform: translateY(-50%);
}
.quote-band__shape--line {
bottom: 40px; right: 20%;
width: 110px; height: 2px;
background: var(--color-yellow);
transform: rotate(8deg);
} .news-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 28px;
} .invitations-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 28px;
margin-top: var(--space-10);
}
.invitation-card {
background: var(--color-white);
border-top: 4px solid var(--color-blue);
padding: 22px 24px;
display: flex;
flex-direction: column;
gap: 10px;
}
.invitation-card__title {
font-family: var(--font-display);
font-size: 1.1rem;
color: var(--color-navy);
}
.invitation-card__text {
font-size: 0.94rem;
line-height: 1.6;
color: var(--color-ink-soft);
}
.invitation-card__link {
align-self: flex-start;
margin-top: auto;
font-size: 0.88rem;
font-weight: 500;
color: var(--color-blue);
border-bottom: 2px solid var(--color-blue);
padding-bottom: 2px;
transition: color var(--ease-fast), border-color var(--ease-fast);
}
.invitation-card__link:hover { color: var(--color-red); border-bottom-color: var(--color-red); } .soutiens-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 28px;
margin-bottom: var(--space-10);
}
.soutien-card {
background: var(--color-white);
padding: 24px 26px;
display: flex;
flex-direction: column;
gap: 14px;
}
.soutien-card--navy   { border-top: 4px solid var(--color-navy); }
.soutien-card--yellow { border-top: 4px solid var(--color-yellow); }
.soutien-card__text {
font-size: 0.96rem;
line-height: 1.65;
color: var(--color-ink-soft);
}
.soutien-card__link {
align-self: flex-start;
margin-top: auto;
font-size: 0.9rem;
font-weight: 600;
color: var(--color-navy);
border-bottom: 2px solid var(--color-navy);
padding-bottom: 2px;
transition: color var(--ease-fast), border-color var(--ease-fast);
}
.soutien-card__link:hover { color: var(--color-red); border-bottom-color: var(--color-red); }
.news-item { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.news-item__media {
aspect-ratio: 16 / 10;
overflow: hidden;
background: var(--color-bg-alt);
border: 2px solid var(--color-orange);
}
.news-item__media img {
width: 100%; height: 100%;
object-fit: cover;
transition: transform 0.5s ease;
}
.news-item:hover .news-item__media img { transform: scale(1.04); }
.news-item__date {
font-size: 0.76rem;
letter-spacing: 0.18em;
text-transform: uppercase;
color: var(--color-muted);
}
.news-item__date strong { color: var(--color-red); font-weight: 600; }
.news-item__title {
font-family: var(--font-display);
font-style: italic;
font-size: 1.4rem;
line-height: 1.2;
}
.news-item__title a:hover { color: var(--color-red); }
.news-item__excerpt { font-size: 0.94rem; color: var(--color-ink-soft); line-height: 1.6; }
.news-item__link {
align-self: flex-start;
font-size: 0.84rem;
font-weight: 500;
color: var(--color-red);
border-bottom: 1px solid var(--color-red);
padding-bottom: 1px;
} .partners-grid {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
gap: 20px;
}
.partner-logo {
display: flex;
align-items: center;
justify-content: center;
flex: 0 0 auto;
height: 80px;
max-width: 100%;
padding: 10px;
filter: grayscale(1) opacity(0.5);
transition: filter var(--ease), transform var(--ease);
}
.partner-logo:hover {
filter: grayscale(0) opacity(1);
transform: translateY(-2px);
}
.partner-logo img { max-height: 100%; max-width: 220px; width: auto; object-fit: contain; }
a.partner-logo { text-decoration: none; color: inherit; cursor: pointer; } .partner-logo--texte {
font-family: var(--font-display);
font-size: 0.95rem;
color: var(--color-ink-soft);
text-align: center;
line-height: 1.25;
max-width: 170px;
border: 1px solid var(--color-line);
} .artist-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
gap: 24px;
margin-block: 1.5em;
}
.artist-card { text-align: center; }
.artist-card__photo {
aspect-ratio: 3 / 4;
overflow: hidden;
margin-bottom: var(--space-2);
background: var(--color-bg-alt);
border: 2px solid var(--color-orange);
}
.artist-card__photo img { width: 100%; height: 100%; object-fit: cover; }
.artist-card__photo--empty {
display: flex;
align-items: center;
justify-content: center;
color: var(--color-muted);
font-size: 0.75rem;
}
.artist-card__name {
font-family: var(--font-display);
font-weight: 500;
font-size: 0.98rem;
line-height: 1.25;
}
.artist-card__bio { display: block; font-size: 0.8rem; margin-top: 2px; } .sidebar { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.sidebar-card {
background: var(--color-white);
border: 1px solid var(--color-line);
padding: 20px 20px 24px;
min-width: 0;
}
.sidebar-card--red    { border-top: 4px solid var(--color-red); }
.sidebar-card--yellow { border-top: 4px solid var(--color-yellow); }
.sidebar-card--orange { border-top: 4px solid var(--color-orange); }
.sidebar-card--green  { border-top: 4px solid var(--color-green); }
.sidebar-card--blue   { border-top: 4px solid var(--color-blue); }
.sidebar-card--dark   {
background: var(--color-navy);
border: 0;
color: var(--color-white);
}
.sidebar-card--dark p    { color: rgba(255,255,255,0.72); }
.sidebar-card__eyebrow {
display: block;
font-size: 0.7rem;
letter-spacing: 0.26em;
text-transform: uppercase;
color: var(--color-muted);
margin-bottom: 8px;
font-weight: 500;
}
.sidebar-card--dark .sidebar-card__eyebrow { color: var(--color-yellow); }
.sidebar-card__title {
font-family: var(--font-display);
font-size: 1.25rem;
line-height: 1.2;
margin-bottom: 8px;
color: var(--color-ink);
} .sidebar-card--dark .sidebar-card__title { color: var(--color-yellow); } .sidebar-card--dark .btn--soutien {
background: var(--color-yellow);
color: var(--color-navy);
}
.sidebar-card--dark .btn--soutien:hover { background: var(--color-red); color: var(--color-white); }
.sidebar-card__poster {
margin: 0 -6px 14px;
}
.sidebar-card__poster img {
width: 100%;
display: block;
border: 5px solid rgba(255,255,255,0.08);
box-shadow: 8px 8px 0 0 var(--color-navy);
}
.sidebar-card--dark .sidebar-card__poster img {
border-color: rgba(255,255,255,0.1);
} .sidebar-agenda { display: flex; flex-direction: column; }
.sidebar-agenda__item {
display: flex;
gap: 12px;
padding: 10px 0;
border-bottom: 1px solid var(--color-line);
}
.sidebar-agenda__item:last-child { border-bottom: 0; }
.sidebar-agenda__date {
flex: 0 0 52px;
text-align: center;
background: var(--color-bg-alt);
padding: 6px 4px;
}
.sidebar-agenda__day {
display: block;
font-family: var(--font-display);
font-size: 1.5rem;
line-height: 1;
color: var(--color-red);
}
.sidebar-agenda__month {
display: block;
font-size: 0.64rem;
letter-spacing: 0.2em;
text-transform: uppercase;
color: var(--color-muted);
}
.sidebar-agenda__info strong {
display: block;
font-weight: 500;
color: var(--color-ink);
font-size: 0.88rem;
}
.sidebar-agenda__info span { font-size: 0.78rem; color: var(--color-muted); } .sidebar-contact { display: flex; flex-direction: column; gap: 10px; }
.sidebar-contact__item {
display: flex;
gap: 10px;
align-items: flex-start;
font-size: 0.86rem;
color: var(--color-ink-soft);
}
.sidebar-contact__icon { flex: 0 0 16px; margin-top: 3px; color: var(--color-yellow); } .sidebar-card--quote {
background: var(--color-bg-alt);
border-left: 4px solid var(--color-green);
}
.sidebar-quote p {
font-family: var(--font-display);
font-style: italic;
font-size: 1.02rem;
line-height: 1.45;
color: var(--color-ink);
}
.sidebar-quote cite {
display: block;
margin-top: 12px;
font-family: var(--font-body);
font-style: normal;
font-size: 0.72rem;
letter-spacing: 0.22em;
text-transform: uppercase;
color: var(--color-muted);
} .sidebar-card__note {
margin-top: 10px;
font-size: 0.82rem;
line-height: 1.45;
color: var(--color-muted);
} .sidebar-card__note a {
color: var(--color-red);
border-bottom: 1px solid currentColor;
}
.sidebar-card__note a:hover { color: var(--color-red-dark); } .sidebar-card__link-more {
margin-top: 12px;
font-size: 0.84rem;
}
.sidebar-card__link-more a {
color: var(--color-blue);
border-bottom: 1px solid transparent;
transition: border-color var(--ease-fast);
}
.sidebar-card__link-more a:hover { color: var(--color-red); border-bottom-color: var(--color-red); } .sidebar-links { display: flex; flex-direction: column; gap: 8px; }
.sidebar-links li {
border-bottom: 1px solid var(--color-line);
padding-bottom: 8px;
}
.sidebar-links li:last-child { border-bottom: 0; padding-bottom: 0; }
.sidebar-links a {
font-size: 0.86rem;
color: var(--color-ink-soft);
transition: color var(--ease-fast);
}
.sidebar-links a:hover { color: var(--color-red); }
.sidebar-links a.is-current { color: var(--color-red); font-weight: 500; } .sidebar-social {
display: flex;
gap: 14px;
margin-top: 16px;
padding-top: 16px;
border-top: 1px solid rgba(255,255,255,0.12);
}
.sidebar-social__link {
display: flex;
transition: transform var(--ease);
}
.sidebar-social__link:hover { transform: scale(1.12); }
.sidebar-social__link svg { width: 26px; height: 26px; } .site-footer__social {
display: flex;
gap: 14px;
margin-top: 14px;
}
.site-footer__social-link {
display: flex;
transition: transform var(--ease);
}
.site-footer__social-link:hover { transform: scale(1.12); }
.site-footer__social-link svg { width: 26px; height: 26px; } .sidebar-partners { overflow: hidden; max-width: 100%; min-width: 0; }
.sidebar-partners__track {
display: flex;
align-items: center;
gap: 26px;
width: max-content;
animation: sidebar-partners-scroll 22s linear infinite;
}
.sidebar-partners:hover .sidebar-partners__track { animation-play-state: paused; } .sidebar-partners { position: relative; }
.sidebar-partners__pause {
position: absolute;
top: 0; right: 0;
z-index: 2;
display: flex;
align-items: center;
justify-content: center;
width: 22px; height: 22px;
padding: 0;
border: 0;
border-radius: 50%;
background: rgba(255,255,255,0.18);
cursor: pointer;
opacity: 0;
transition: opacity var(--ease);
} .sidebar-partners:hover .sidebar-partners__pause,
.sidebar-partners__pause:focus-visible,
.sidebar-partners__pause[aria-pressed="true"] { opacity: 1; }
.sidebar-partners__pause:focus-visible {
outline: 2px solid var(--color-rouge);
outline-offset: 2px;
} .sidebar-partners__pause-icone {
width: 8px; height: 9px;
border-left: 3px solid #fff;
border-right: 3px solid #fff;
}
.sidebar-partners__pause[aria-pressed="true"] .sidebar-partners__pause-icone {
width: 0; height: 0;
border: 0;
border-left: 8px solid #fff;
border-top: 5px solid transparent;
border-bottom: 5px solid transparent;
margin-left: 2px;
}
.sidebar-partners__pause-texte {
position: absolute;
width: 1px; height: 1px;
margin: -1px; padding: 0;
overflow: hidden;
clip-path: inset(50%);
white-space: nowrap;
}
.sidebar-partners.is-en-pause .sidebar-partners__track { animation-play-state: paused; } @media (prefers-reduced-motion: reduce) {
.sidebar-partners__track {
animation: none;
flex-wrap: wrap;
justify-content: center;
}
}
.sidebar-partners__track img {
height: 42px;
width: auto;
max-width: 110px;
object-fit: contain;
}
@keyframes sidebar-partners-scroll {
from { transform: translateX(0); }
to   { transform: translateX(-50%); }
} .video-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
gap: 24px;
margin-block: var(--space-6);
}
.video-card {
display: flex;
flex-direction: column;
background: var(--color-white);
border: 1px solid var(--color-line);
transition: border-color var(--ease-fast), transform var(--ease-fast);
}
.video-card:hover { border-color: var(--color-red); transform: translateY(-2px); }
.video-card__thumb {
position: relative;
display: block;
aspect-ratio: 16 / 9;
overflow: hidden;
background: var(--color-bg-alt);
}
.video-card__thumb img {
width: 100%; height: 100%;
object-fit: cover;
display: block;
} .video-card__play {
position: absolute;
top: 50%; left: 50%;
transform: translate(-50%, -50%);
width: 52px; height: 52px;
border-radius: 50%;
background: var(--color-red);
transition: background var(--ease-fast);
}
.video-card__play::after {
content: "";
position: absolute;
top: 50%; left: 54%;
transform: translate(-50%, -50%);
border-left: 16px solid var(--color-white);
border-top: 10px solid transparent;
border-bottom: 10px solid transparent;
}
.video-card:hover .video-card__play { background: var(--color-red-dark); }
.video-card__body { padding: 14px 16px 18px; }
.video-card__title {
display: block;
font-family: var(--font-display);
font-size: 1.05rem;
line-height: 1.25;
color: var(--color-ink);
}
.video-card__meta {
display: block;
margin-top: 6px;
font-size: 0.78rem;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var(--color-muted);
} .video-card--lu { cursor: default; }
.video-card--lu:hover { border-color: var(--color-line); transform: none; }
.video-card__player-wrap {
position: relative;
aspect-ratio: 16 / 9;
background: #000;
}
.video-card__player {
position: absolute;
inset: 0;
width: 100%; height: 100%;
border: 0;
}
.video-card__externe {
display: inline-block;
margin-top: 8px;
font-size: 0.78rem;
color: var(--color-blue);
}
.video-card__externe:hover { color: var(--color-red); } .media-filtres {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 10px 28px;
margin-bottom: var(--space-8);
padding-bottom: var(--space-6);
border-bottom: 1px solid var(--color-line);
}
.media-filtres__groupe { display: flex; flex-wrap: wrap; gap: 8px; }
.media-filtres__chip {
padding: 7px 16px;
font-family: var(--font-body);
font-size: 0.82rem;
font-weight: 500;
background: transparent;
color: var(--color-navy);
border: 2px solid var(--color-navy);
border-radius: 999px;
cursor: pointer;
transition: background var(--ease-fast), color var(--ease-fast), border-color var(--ease-fast);
}
.media-filtres__chip:hover { border-color: var(--color-red); color: var(--color-red); }
.media-filtres__chip.is-active {
background: var(--color-red);
border-color: var(--color-red);
color: var(--color-white);
}
.media-filtres__vide {
flex-basis: 100%;
color: var(--color-muted);
font-style: italic;
} .musmat-highlight { padding-block: var(--space-12); }
.musmat-highlight__inner {
max-width: var(--container);
margin-inline: auto;
padding: 40px var(--padding-x);
background: var(--color-white);
border-left: 6px solid var(--color-green);
box-shadow: var(--shadow-card);
text-align: center;
}
.musmat-highlight__eyebrow {
display: inline-block;
font-size: 0.72rem;
letter-spacing: 0.26em;
text-transform: uppercase;
font-weight: 600;
color: var(--color-navy);
background: var(--color-orange);
padding: 5px 14px;
margin-bottom: 14px;
}
.musmat-highlight__title {
font-family: var(--font-display);
font-size: clamp(1.5rem, 2.6vw, 2.1rem);
line-height: 1.15;
margin-bottom: 12px;
}
.musmat-highlight__text {
max-width: 640px;
margin: 0 auto 22px;
color: var(--color-ink-soft);
} .site-footer {
background: var(--color-navy);
color: var(--color-white);
padding: 0 var(--padding-x) 28px;
margin-top: var(--space-20);
} .actus-liste__titre {
margin-top: var(--space-16);
margin-bottom: var(--space-8);
} .bandeau-identite {
position: relative;
overflow: hidden;
background: var(--color-bandeau);
text-align: center;
}
.bandeau-identite__inner {
position: relative;
z-index: 1;
max-width: 960px;
margin-inline: auto;
}
.bandeau-identite__phrase {
font-family: var(--font-display);
font-style: italic;
line-height: 1.3;
color: var(--color-navy);
text-wrap: balance;
}
.bandeau-identite__texte {
line-height: 1.6;
color: var(--color-ink-soft);
text-wrap: pretty;
} .bandeau-identite--accueil { padding: 28px var(--padding-x); }
.bandeau-identite--accueil .bandeau-identite__phrase { font-size: clamp(1.25rem, 2.2vw, 1.75rem); }
.bandeau-identite--accueil .bandeau-identite__texte  { margin-top: 10px; font-size: 0.95rem; } .bandeau-identite--pied {
margin-inline: calc(var(--padding-x) * -1);
padding: 56px var(--padding-x);
}
.bandeau-identite--pied .bandeau-identite__phrase { font-size: clamp(1.4rem, 2.8vw, 2.2rem); }
.bandeau-identite--pied .bandeau-identite__texte  { margin-top: 14px; font-size: 0.98rem; } .site-footer .bandeau-identite__phrase { color: var(--color-navy); }
.site-footer .bandeau-identite__texte  { color: var(--color-ink-soft); } .bandeau-identite__forme { position: absolute; }
.bandeau-identite__forme--cercle {
top: -34px; left: 5%;
width: 96px; height: 96px;
background: var(--color-green);
border-radius: 50%;
opacity: 0.22;
}
.bandeau-identite__forme--triangle {
bottom: -18px; right: 8%;
width: 0; height: 0;
border-left: 26px solid transparent;
border-right: 26px solid transparent;
border-bottom: 44px solid var(--color-red);
opacity: 0.22;
transform: rotate(14deg);
}
@media (max-width: 768px) {
.bandeau-identite--accueil { padding: 22px var(--padding-x); }
.bandeau-identite--pied { padding: 40px var(--padding-x); }
.bandeau-identite__texte { font-size: 0.95rem; }
}
.site-footer__inner {
max-width: var(--container);
margin-inline: auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: flex-start;
gap: 32px;
padding-top: 48px;
}
.site-footer__links {
display: flex;
flex-direction: column;
gap: 10px;
align-items: flex-end;
text-align: right;
}
.site-footer__links a {
font-size: 0.92rem;
font-weight: 500;
color: var(--color-yellow);
border-bottom: 1px solid transparent;
transition: border-color var(--ease-fast);
}
.site-footer__links a:hover { border-bottom-color: var(--color-yellow); }
.site-footer h4 {
font-family: var(--font-body);
font-size: 0.72rem;
letter-spacing: 0.28em;
text-transform: uppercase;
font-weight: 500;
color: var(--color-yellow);
margin-bottom: 14px;
}
.site-footer p,
.site-footer li { font-size: 0.88rem; color: rgba(255,255,255,0.58); line-height: 1.8; }
.site-footer a:hover { color: var(--color-yellow); }
.site-footer__brand-title {
font-family: var(--font-display);
font-style: italic;
font-size: 2rem;
font-weight: 500;
color: var(--color-white);
margin-bottom: 12px;
}
.footer-nav__list { list-style: none; margin: 0; padding: 0; }
.site-footer__bottom {
max-width: var(--container);
margin: 40px auto 0;
border-top: 1px solid rgba(255,255,255,0.1);
padding-top: 20px;
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
gap: 12px;
font-size: 0.78rem;
color: rgba(255,255,255,0.35);
}
.site-footer__bottom ul { display: flex; gap: 18px; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; }
.site-footer__bottom a:hover { color: var(--color-yellow); } .site-footer__credit-row {
max-width: var(--container);
margin: 10px auto 0;
display: flex;
justify-content: center;
align-items: center;
gap: 6px;
font-size: 0.75rem;
}
.site-footer__credit-icon { color: rgba(255,255,255,0.5); flex-shrink: 0; } .site-footer__credit { white-space: normal; color: rgba(255,255,255,0.6); }
.site-footer__credit-row { flex-wrap: wrap; text-align: center; }
a.site-footer__credit {
border-bottom: 1px solid transparent;
transition: color var(--ease-fast), border-color var(--ease-fast);
}
a.site-footer__credit:hover {
color: var(--color-yellow);
border-bottom-color: var(--color-yellow);
}
@media (max-width: 700px) {
.site-footer__credit-row { white-space: normal; text-align: center; }
} @media (max-width: 1100px) {
.sidebar { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.bandeau-identite--pied { padding: 44px var(--padding-x); }
}
@media (max-width: 900px) {
.hero-home__inner { grid-template-columns: 1fr; gap: 48px; }
.pillars-grid { grid-template-columns: 1fr; }
.news-grid    { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 1200px) { .site-header__inner { grid-template-columns: 1fr auto auto; gap: 16px; }
.header-cta        { order: 1; }
.menu-toggle-label { order: 2; display: flex; }
.main-nav {
position: absolute;
top: 100%; left: 0; right: 0;
background: var(--color-bg);
border-bottom: 1px solid var(--color-line);
padding: 16px var(--padding-x) 24px;
display: none; max-height: calc(100vh - 100%);
max-height: calc(100dvh - 100%);
overflow-y: auto;
overscroll-behavior: contain;
-webkit-overflow-scrolling: touch;
} .menu-toggle {
display: block;
position: absolute;
width: 1px; height: 1px;
margin: -1px; padding: 0;
overflow: hidden;
clip-path: inset(50%);
border: 0;
} .menu-toggle:focus-visible ~ .menu-toggle-label {
outline: 2px solid var(--color-rouge);
outline-offset: 4px;
border-radius: 3px;
}
.menu-toggle:checked ~ .main-nav { display: block; }
.main-nav__list { flex-direction: column; gap: 0; }
.main-nav__list > li > a {
padding: 12px 4px;
border-bottom: 1px solid var(--color-line);
font-size: 1rem;
}
.main-nav__list > li > a::after { display: none; } .main-nav__list .sub-menu,
.main-nav__list .sub-menu .sub-menu {
position: static;
left: auto; right: auto; top: auto;
opacity: 1; visibility: visible; transform: none;
box-shadow: none; border: 0;
border-left: 2px solid var(--color-line);
padding: 0 0 0 16px;
margin-left: 4px;
min-width: 0;
}
.main-nav__list .menu-item-has-children > a::before { display: none; }
.main-nav__list > li.menu-item-has-children > a,
.main-nav__list .sub-menu .menu-item-has-children > a { padding-right: 4px; }
}
@media (max-width: 768px) { .header-cta { display: none; }
.site-logo       { gap: 10px; }
.site-logo__img  { height: 46px; }
.site-logo__name { font-size: 1.15rem; }
.site-logo__sub  { font-size: 0.62rem; letter-spacing: 0.12em; } .quote-band { padding: 64px var(--padding-x); }
.hero-home  { padding: 40px 0 32px; } .shape-circle-blue { display: none; } .pillars-grid,
.news-grid,
.soutiens-grid,
.invitations-grid { grid-template-columns: 1fr; }
.sidebar { grid-template-columns: 1fr; } .site-footer { padding: 48px var(--padding-x) 24px; margin-top: var(--space-12); }
.site-footer__inner { flex-direction: column; gap: 20px; }
.site-footer__links { align-items: flex-start; text-align: left; }
.site-footer__bottom { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 480px) {
.news-grid { grid-template-columns: 1fr; }
} .contact-wrap { padding-bottom: var(--space-16); }
.contact-header { margin-bottom: var(--space-10); }
.contact-header__title {
font-family: var(--font-display);
font-style: italic;
font-size: clamp(2rem,4vw,3.4rem);
margin-bottom: var(--space-4);
}
.contact-header__intro { font-size: 1.05rem; color: var(--color-muted); max-width: 54ch; }
.contact-grid {
display: grid;
grid-template-columns: 1.3fr 1fr;
gap: var(--gutter);
align-items: start;
} .contact-grid > * { min-width: 0; }
.contact-form-col__title {
font-family: var(--font-display);
font-size: 1.4rem;
margin-bottom: var(--space-6);
padding-bottom: var(--space-3);
border-bottom: 2px solid var(--color-red);
} .wpcf7-form label {
display: block;
font-weight: 500;
font-size: 0.88rem;
letter-spacing: 0.06em;
text-transform: uppercase;
color: var(--color-muted);
margin-bottom: var(--space-2);
margin-top: var(--space-4);
}
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea {
width: 100%;
max-width: 100%;
min-width: 0;
padding: 11px 14px;
border: 1.5px solid var(--color-line);
background: var(--color-white);
font-family: var(--font-body);
font-size: 0.97rem;
color: var(--color-ink);
transition: border-color var(--ease-fast);
border-radius: 0;
outline: none;
}
.wpcf7-form input:focus,
.wpcf7-form textarea:focus { border-color: var(--color-red); }
.wpcf7-form textarea { min-height: 140px; resize: vertical; }
.wpcf7-form input[type="submit"] {
margin-top: var(--space-6);
background: var(--color-red);
color: var(--color-white);
padding: 13px 28px;
font-weight: 500;
font-size: 0.9rem;
letter-spacing: 0.08em;
text-transform: uppercase;
border: 0;
cursor: pointer;
transition: background var(--ease-fast);
width: auto;
}
.wpcf7-form input[type="submit"]:hover { background: var(--color-red-dark); }
.contact-info-col { display: flex; flex-direction: column; gap: var(--space-6); }
.contact-info-block {
background: var(--color-white);
border: 1px solid var(--color-line);
border-top: 4px solid var(--color-blue);
padding: var(--space-6) var(--space-6) var(--space-8);
}
.contact-info-block--alt { border-top-color: var(--color-red); }
.contact-info-block__title {
font-family: var(--font-display);
font-size: 1.2rem;
margin-bottom: var(--space-4);
}
.contact-info-list { display: flex; flex-direction: column; gap: var(--space-4); }
.contact-info-list__item {
display: flex;
gap: 12px;
align-items: flex-start;
font-size: 0.93rem;
color: var(--color-ink-soft);
line-height: 1.55;
}
.contact-info-list__icon { flex: 0 0 18px; margin-top: 3px; color: var(--color-yellow); } .contact-info-list__item > * { min-width: 0; }
.contact-info-list__item a { overflow-wrap: anywhere; } .contact-info-social { display: flex; gap: 14px; }
.contact-info-social__link {
display: flex;
transition: transform var(--ease);
}
.contact-info-social__link:hover { transform: scale(1.12); }
.contact-info-social__link svg { width: 26px; height: 26px; }
@media (max-width: 860px) {
.contact-grid { grid-template-columns: 1fr; }
} .archives-header { margin-bottom: var(--space-12); }
.archives-header__title {
font-family: var(--font-display);
font-style: italic;
font-size: clamp(2rem,4vw,3.4rem);
margin-bottom: var(--space-3);
}
.archives-header__intro { font-size: 1.05rem; color: var(--color-muted); max-width: 54ch; }
.archive-season { padding-block: var(--space-10); }
.archive-season__head {
display: flex;
align-items: baseline;
gap: 16px;
margin-bottom: var(--space-6);
padding-bottom: var(--space-3);
border-bottom: 2px solid var(--color-navy);
}
.archive-season__title {
display: flex;
align-items: baseline;
gap: 14px;
font-family: var(--font-display);
font-style: italic;
font-size: 1.9rem;
}
.archive-season__year {
font-family: var(--font-display);
font-style: normal;
font-size: 2.6rem;
font-weight: 600;
color: var(--color-red);
line-height: 1;
}
.archive-season__tag {
font-family: var(--font-body);
font-size: 0.74rem;
letter-spacing: 0.2em;
text-transform: uppercase;
color: var(--color-muted);
margin-left: auto;
}
.archive-season__body {
display: grid;
grid-template-columns: 240px 1fr;
gap: var(--space-10);
align-items: start;
}
.archive-season__img {
width: 100%;
display: block;
border: 1px solid var(--color-line);
box-shadow: var(--shadow-hard);
}
.archive-season__img-placeholder {
width: 240px;
height: 320px;
background: var(--color-bg-alt);
display: flex;
align-items: center;
justify-content: center;
color: var(--color-muted);
font-size: 0.9rem;
border: 1px solid var(--color-line);
}
.archive-season__caption {
font-size: 0.82rem;
color: var(--color-muted);
margin-top: var(--space-3);
text-align: center;
}
.archive-docs { display: flex; flex-direction: column; gap: var(--space-2); margin-top: var(--space-3); }
.archive-docs a { font-size: 0.92rem; color: var(--color-blue); }
.archive-docs a:hover { color: var(--color-red); }
.archive-divider {
border: 0;
height: 1px;
background: var(--color-line);
}
.archive-older { padding-block: var(--space-10); }
.archive-older h2 {
font-family: var(--font-display);
font-style: italic;
font-size: 1.9rem;
margin-bottom: var(--space-6);
padding-bottom: var(--space-3);
border-bottom: 2px solid var(--color-navy);
}
.archive-older__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-6); }
.archive-older__item {
background: var(--color-white);
border: 1px solid var(--color-line);
border-left: 4px solid var(--color-red);
padding: var(--space-6);
}
.archive-older__year {
font-family: var(--font-display);
font-size: 2.2rem;
font-weight: 600;
color: var(--color-red);
display: block;
line-height: 1;
margin-bottom: var(--space-2);
}
.archive-older__item h3 {
font-family: var(--font-display);
font-style: italic;
font-size: 1.3rem;
margin-bottom: var(--space-1);
}
.archive-older__item p { font-size: 0.9rem; color: var(--color-muted); } .photo-gallery {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 12px;
}
.photo-gallery__item {
aspect-ratio: 4 / 3;
overflow: hidden;
display: block;
background: var(--color-bg-alt);
}
.photo-gallery__img {
width: 100%; height: 100%;
object-fit: cover;
transition: transform var(--ease-slow), filter var(--ease);
filter: brightness(0.95);
}
.photo-gallery__item:hover .photo-gallery__img {
transform: scale(1.06);
filter: brightness(1);
}
@media (max-width: 768px) {
.archive-season__body { grid-template-columns: 1fr; }
.archive-older__grid  { grid-template-columns: 1fr; }
.photo-gallery { grid-template-columns: repeat(2, 1fr); }
}  .ada-zoomable { cursor: zoom-in; }
.ada-zoomable:focus-visible { outline: 3px solid var(--color-red); outline-offset: 3px; }
.poster-frame a, .photo-gallery__item { cursor: zoom-in; } body.ada-lightbox-ouverte { overflow: hidden; }
.ada-lightbox {
position: fixed;
inset: 0;
z-index: 1000;
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
padding: 4vh 3vw; background: rgba(43, 47, 72, 0.86);
}
.ada-lightbox[hidden] { display: none; }
.ada-lightbox__figure {
margin: 0;
max-width: 100%;
max-height: 92vh;
display: flex;
flex-direction: column;
align-items: center;
gap: 12px;
}
.ada-lightbox__img {
max-width: 100%;
max-height: 84vh;
width: auto;
height: auto;
display: block;
background: var(--color-white);
padding: 6px;
border: 2px solid var(--color-orange);
box-shadow: 14px 14px 0 0 rgba(0, 0, 0, 0.35);
}
.ada-lightbox__caption {
font-family: var(--font-body);
font-size: 0.9rem;
color: rgba(255, 255, 255, 0.85);
text-align: center;
max-width: 60ch;
}
.ada-lightbox__caption[hidden] { display: none; } .ada-lightbox__close,
.ada-lightbox__nav {
background: transparent;
border: 2px solid rgba(255, 255, 255, 0.4);
color: var(--color-white);
font-family: var(--font-display);
line-height: 1;
cursor: pointer;
flex: none;
transition: background var(--ease-fast), border-color var(--ease-fast), color var(--ease-fast);
}
.ada-lightbox__close:hover,
.ada-lightbox__nav:hover,
.ada-lightbox__close:focus-visible,
.ada-lightbox__nav:focus-visible {
background: var(--color-red);
border-color: var(--color-red);
color: var(--color-white);
}
.ada-lightbox__close {
position: absolute;
top: 18px;
right: 22px;
width: 44px;
height: 44px;
font-size: 1.8rem;
border-radius: 50%;
}
.ada-lightbox__nav {
width: 48px;
height: 48px;
font-size: 2rem;
border-radius: 50%;
}
.ada-lightbox__nav[hidden] { display: none; }
@media (max-width: 768px) {
.ada-lightbox { padding: 6vh 2vw; gap: 4px; }
.ada-lightbox__img { max-height: 72vh; box-shadow: 8px 8px 0 0 rgba(0, 0, 0, 0.35); }
.ada-lightbox__nav { width: 40px; height: 40px; font-size: 1.6rem; }
.ada-lightbox__close { top: 10px; right: 12px; width: 38px; height: 38px; font-size: 1.5rem; }
} .page-grid--full { grid-template-columns: 1fr; }
.error-404 {
position: relative;
overflow: hidden;
min-height: 60vh;
display: flex;
align-items: center;
padding: var(--space-16) 0;
}
.error-404__inner {
position: relative;
z-index: 1;
max-width: 640px;
margin-inline: auto;
text-align: center;
}
.error-404__inner .deco-divider { margin-inline: auto; }
.error-404__title {
font-family: var(--font-display);
font-style: italic;
font-weight: 500;
font-size: clamp(2rem, 4vw, 2.8rem);
line-height: 1.1;
margin: var(--space-4) 0;
}
.error-404__text {
color: var(--color-ink-soft, var(--color-ink));
margin-bottom: var(--space-8);
}
.error-404__actions {
display: flex;
justify-content: center;
flex-wrap: wrap;
gap: var(--space-4);
margin-bottom: var(--space-10);
}
.error-404__links {
display: flex;
justify-content: center;
flex-wrap: wrap;
gap: var(--space-6);
font-size: 0.85rem;
}
.error-404__links a { color: var(--color-blue); border-bottom: 1px solid transparent; }
.error-404__links a:hover { color: var(--color-red); border-bottom-color: var(--color-red); } .entry-content .wp-block-details,
.contact-sections .wp-block-details {
background: var(--color-white);
border: 1px solid var(--color-line);
border-left: 4px solid var(--color-line);
padding: var(--space-4) var(--space-6);
margin-block: var(--space-3);
transition: border-color var(--ease);
}
.entry-content .wp-block-details[open],
.contact-sections .wp-block-details[open] { border-left-color: var(--color-green); }
.entry-content .wp-block-details > summary,
.contact-sections .wp-block-details > summary {
font-family: var(--font-display);
font-weight: 600;
font-size: 1.02rem;
line-height: 1.35;
color: var(--color-ink);
cursor: pointer;
list-style: none;
display: flex;
align-items: baseline;
gap: var(--space-3);
transition: color var(--ease-fast);
}
.entry-content .wp-block-details > summary::-webkit-details-marker,
.contact-sections .wp-block-details > summary::-webkit-details-marker { display: none; } .entry-content .wp-block-details > summary::before,
.contact-sections .wp-block-details > summary::before {
content: "";
flex: 0 0 auto;
width: 0.42em;
height: 0.42em;
margin-top: 0.24em;
border-right: 2px solid currentColor;
border-bottom: 2px solid currentColor;
transform: rotate(-45deg);
transition: transform var(--ease);
}
.entry-content .wp-block-details[open] > summary::before,
.contact-sections .wp-block-details[open] > summary::before { transform: rotate(45deg); }
.entry-content .wp-block-details > summary:hover,
.contact-sections .wp-block-details > summary:hover { color: var(--color-red); }
.entry-content .wp-block-details > summary + *,
.contact-sections .wp-block-details > summary + * { margin-top: var(--space-4); }
.entry-content .wp-block-details p,
.contact-sections .wp-block-details p { color: var(--color-ink-soft); }
@media (prefers-reduced-motion: reduce) {
.entry-content .wp-block-details > summary::before,
.contact-sections .wp-block-details > summary::before { transition: none; }
} .champ-requis {
color: var(--color-red);
font-weight: 700;
margin-left: 0.15em;
}
.form-legend {
margin-top: var(--space-4);
font-size: 0.82rem;
color: var(--color-muted);
} @media (max-width: 768px) {
.site-footer__links a,
.site-footer__bottom ul a,
.sidebar-card__link-more a,
.sidebar-contact__item a,
.news-item__link,
.site-footer__credit a {
display: inline-block;
min-height: 24px;
padding-block: 4px;
}
} .entry-content .wp-block-gallery.galerie-photos {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 12px;
margin-block: var(--space-8);
}
.entry-content .wp-block-gallery.galerie-photos figure.wp-block-image:not(#i):not(#j) { width: 100%;
min-width: 100%;
max-width: none;
flex: none;
margin: 0;
display: flex;
flex-direction: column;
}
.entry-content .wp-block-gallery.galerie-photos figure.wp-block-image:not(#i):not(#j) > a,
.entry-content .wp-block-gallery.galerie-photos figure.wp-block-image:not(#i):not(#j) > img {
display: block;
width: 100%;
aspect-ratio: 4 / 3;
overflow: hidden;
background: var(--color-bg-alt);
cursor: zoom-in;
flex: none;
}
.entry-content .wp-block-gallery.galerie-photos figure.wp-block-image:not(#i):not(#j) img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.4s ease, filter var(--ease);
filter: brightness(0.95);
}
.entry-content .wp-block-gallery.galerie-photos figure.wp-block-image:not(#i):not(#j):hover img {
transform: scale(1.06);
filter: brightness(1);
} .entry-content .wp-block-gallery.galerie-photos figure.wp-block-image:not(#i):not(#j) figcaption {
position: static;
margin: 6px 0 0;
padding: 0;
max-height: none;
font-size: 0.78rem;
line-height: 1.35;
color: var(--color-muted);
text-align: center;
background: none;
overflow: visible;
text-overflow: clip;
} .entry-content .wp-block-gallery.galerie-photos--duo,
.entry-content .wp-block-gallery.galerie-photos:has(> figure:nth-child(2):last-child) {
grid-template-columns: repeat(2, 1fr);
max-width: 500px;
}
@media (max-width: 768px) {
.entry-content .wp-block-gallery.galerie-photos { grid-template-columns: repeat(2, 1fr); }
} .entry-content figure.wp-block-image.poster-frame { margin-bottom: 0; }
.entry-content figure.wp-block-image.poster-frame > img,
.entry-content figure.wp-block-image.poster-frame > a > img { display: block; width: 100%; height: auto; }