/* Shared footer: visible without scripts, with native disclosure panels. */
.site-footer.prisme-footer {
  display: block;
  padding-block: clamp(3.5rem, 6vw, 6.5rem) 1.5rem;
  border-top: 1px solid #383128;
  background: #000;
  color: #f5f3ed;
  font-size: 1rem;
  letter-spacing: 0;
  line-height: 1.6;
}
.prisme-footer__main {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 6rem);
  padding-bottom: clamp(3rem, 5vw, 5rem);
}
.prisme-footer__main > * { min-width: 0; }
.prisme-footer__logo {
  position: relative;
  display: block;
  width: 240px;
  max-width: 100%;
  height: 59px;
  overflow: hidden;
}
.prisme-footer__logo img {
  position: absolute;
  top: 50%;
  left: -15.3%;
  display: block;
  width: 130.7%;
  max-width: none;
  height: auto;
  transform: translateY(-50%);
}
.prisme-footer p.prisme-footer__signature {
  margin-top: 1.3rem;
  max-width: 23rem;
  color: #d7d5cf;
  font-size: .95rem;
  line-height: 1.6;
}
.prisme-footer__email {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-top: .65rem;
  max-width: 100%;
  color: #a9a9a3;
  font-size: .85rem;
  overflow-wrap: anywhere;
  text-decoration: underline;
  text-decoration-color: #4d4b45;
  text-underline-offset: .35em;
}
.prisme-footer__label {
  margin: .4rem 0 1.25rem;
  color: #aaa89f;
  font-family: var(--sans);
  font-size: .7rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.prisme-footer__list { margin: 0; padding: 0; list-style: none; }
.prisme-footer__list li { margin: 0; padding: 0; }
.prisme-footer__list a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  width: fit-content;
  min-height: 44px;
  max-width: 100%;
  color: #e7e5de;
  font-size: 1rem;
  line-height: 1.5;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: .35em;
}
.prisme-footer__social .prisme-footer__list a { width: min(100%, 13rem); }
.prisme-footer__arrow {
  flex: 0 0 auto;
  color: #bfa16b;
  font-size: 1.1rem;
}
.prisme-footer__bottom { padding-top: 1.35rem; border-top: 1px solid #262626; }
.prisme-footer p.prisme-footer__copyright {
  color: #aaa89f;
  font-size: .75rem;
  line-height: 1.8;
}
.prisme-footer__copyright span { margin-inline: .45rem; }
.prisme-footer__notices {
  display: flex;
  flex-wrap: wrap;
  gap: 0 2rem;
  margin-top: .65rem;
}
.prisme-footer .footer-notice { min-width: 0; }
.prisme-footer .footer-notice[open] { flex-basis: 100%; }
.prisme-footer .footer-notice summary {
  display: flex;
  align-items: center;
  gap: .8rem;
  width: fit-content;
  min-height: 44px;
  padding: .4rem 0;
  color: #c3c1b9;
  font-size: .75rem;
  line-height: 1.5;
  list-style: none;
  cursor: pointer;
}
.prisme-footer .footer-notice summary::-webkit-details-marker { display: none; }
.prisme-footer .footer-notice summary::after {
  content: '+';
  color: #bfa16b;
  font-size: 1rem;
  line-height: 1;
}
.prisme-footer .footer-notice[open] summary::after { content: '−'; }
.prisme-footer .footer-notice__body {
  max-width: 58rem;
  padding: .6rem 0 1.5rem;
  color: #bcbab3;
  font-size: .85rem;
  line-height: 1.85;
  overflow-wrap: anywhere;
}
.prisme-footer .footer-notice__body p + p { margin-top: 1rem; }
.prisme-footer .footer-notice__body strong { color: #e7e5de; font-weight: 500; }
.prisme-footer .footer-notice__body h3 {
  margin: 1.3rem 0 .5rem;
  color: #e7e5de;
  font-size: .95rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
}
.prisme-footer .footer-notice__body h3:first-child { margin-top: 0; }
.prisme-footer .footer-notice__body a { text-decoration: underline; text-underline-offset: .25em; }
.prisme-footer a:focus-visible,
.prisme-footer summary:focus-visible { outline: 2px solid #c9a86a; outline-offset: 5px; }
@media (hover: hover) {
  .prisme-footer__list a:hover,
  .prisme-footer__email:hover,
  .prisme-footer .footer-notice summary:hover { color: #f5f3ed; text-decoration-color: #c9a86a; }
  .prisme-footer__list a:hover .prisme-footer__arrow { transform: translate(2px, -2px); }
}
@media (prefers-reduced-motion: no-preference) {
  .prisme-footer__list a,
  .prisme-footer__email { transition: color .2s ease, text-decoration-color .2s ease; }
  .prisme-footer__arrow { transition: transform .2s ease; }
}
@media (max-width: 900px) {
  .prisme-footer__main { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem; }
  .prisme-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 480px) {
  .prisme-footer__main { gap: 2rem 1.1rem; }
  .prisme-footer__logo { width: 200px; height: 49px; }
  .prisme-footer__label { font-size: .625rem; letter-spacing: .09em; margin-bottom: .9rem; }
  .prisme-footer__list a { font-size: .875rem; gap: .65rem; }
  .prisme-footer__social .prisme-footer__list a { width: 100%; }
  .prisme-footer__notices { gap: 0 1.5rem; }
}
@media (forced-colors: active) {
  .site-footer.prisme-footer,
  .prisme-footer__bottom { border-color: CanvasText; }
  .prisme-footer a:focus-visible,
  .prisme-footer summary:focus-visible { outline-color: Highlight; }
}
