:root{--paper:#F7F3ED;--wine:#4a1122;--deep:#2B0B14;--ink:#2B0B14;--coral:#FF5A5F;--line:#D9CEC6}body{background:var(--paper)}.elyrune-brand-logo{width:148px;height:auto;max-height:54px;object-fit:contain}.brand{width:150px}.hero-wordmark h1{background:none!important;-webkit-text-fill-color:initial;padding:0;margin:0}.elyrune-hero-logo{width:min(850px,82vw);height:auto;margin:auto}.hero-wordmark{top:49%}.hero-atelier{top:-22%}.hero-signature{margin-top:25px}.opening-imprint .elyrune-logo{font-size:65px;letter-spacing:-.06em}@media(max-width:640px){.elyrune-brand-logo{width:112px}.brand{width:118px}.elyrune-hero-logo{width:90vw}.hero-wordmark{top:44%}.hero-signature{font-size:27px;margin-top:25px}.hero-atelier{top:-30%}}.hero-atelier{font:500 10px/1.6 Manrope,Arial,sans-serif!important;letter-spacing:.16em;text-transform:uppercase;transform:none!important;left:0;right:0;top:-15%}.hero-side{display:none}

.footer-logo{display:block!important;width:155px!important;height:56px!important;position:relative}.footer-brandmark{display:block;width:100%;height:100%;position:relative;background:#F7F3ED;mask:url('assets/elyrune-logo.png') center/contain no-repeat;-webkit-mask:url('assets/elyrune-logo.png') center/contain no-repeat}.footer-brandmark:after{content:'';position:absolute;inset:0;background:#FF5A5F;clip-path:inset(0 31% 72% 50%)}

.footer-logo .footer-brandmark{position:relative;left:auto;top:auto;font:inherit;letter-spacing:normal}

/* Retirer les deux marques isolées du champ lumineux du hero. */
.hero-lightfield>i,.hero-lightfield>b{display:none!important}

/* Une seule teinte de marque, éclairée au survol. */
:root {
  --wine: #4a1122;
  --elyrune-halo: radial-gradient(ellipse 600px 440px at var(--gx, 62%) var(--gy, 36%), #f391ae3d, transparent 72%);
}
.site-footer,
.call-editorial {
  background: var(--wine);
}
.site-footer > .surface-glow,
.call-editorial > .surface-glow {
  background: var(--elyrune-halo);
  mix-blend-mode: screen;
}
.header-contact:hover,
.call-button:hover,
.call-submit:hover,
.call-submit:focus-visible {
  box-shadow: 0 0 28px #f391ae45, inset 0 0 22px #f391ae23;
}

/* Le ruban se prolonge jusque dans la dernière invitation. */
.site-footer > .footer-top {
  position: relative;
  isolation: isolate;
  padding-block: clamp(30px, 5vw, 80px);
}
.site-footer > .footer-top::before {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  inset: 1% -6% 0 35%;
  background: url("assets/elyrune-footer-trace.svg") center right / 100% 100% no-repeat;
  opacity: .62;
}
.site-footer .footer-top h2 em {
  color: #f3c1cf;
}
.site-footer .footer-orbit {
  background: radial-gradient(circle, #f6b0c32c, transparent 68%);
  filter: drop-shadow(0 0 18px #f391ae26);
}
.site-footer .footer-call-row {
  position: relative;
  z-index: 1;
  padding-bottom: clamp(24px, 4vw, 54px);
}
.site-footer .footer-call-row .call-button {
  border-radius: 99px;
  padding-inline: 20px;
}

/* Réservation : un panneau éditorial et un formulaire lisible. */
.call-dialog {
  border: 1px solid #4a112228;
  border-radius: 22px;
  background: var(--paper);
}
.call-editorial {
  isolation: isolate;
  background-image: url("assets/elyrune-footer-trace.svg");
  background-position: center bottom;
  background-size: 165% auto;
  background-repeat: no-repeat;
}
.call-editorial > :not(.surface-glow) {
  position: relative;
  z-index: 1;
}
.call-editorial .call-rendezvous {
  z-index: 1;
}
.call-panel {
  background: var(--paper);
}
.call-panel input:not([type=checkbox]),
.call-panel textarea {
  border: 1px solid #4a11222b;
  border-radius: 8px;
  background: #fffaf6;
  padding-inline: 12px;
}
.call-close {
  border: 1px solid #4a112237;
  border-radius: 50%;
  background: var(--paper);
}
.call-submit {
  border-radius: 99px;
}

/* L’image source comporte un fond sombre intégré. */
.atelier-vivant-stage {
  border-radius: 16px;
  overflow: hidden;
}
.atelier-vivant-art,
.atelier-vivant-canvas {
  mask-image: none;
}
.studio-world.studio-world-poudre {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  align-items: center;
  gap: clamp(24px, 5vw, 80px);
  padding: clamp(24px, 5vw, 72px) var(--gutter);
  aspect-ratio: auto;
  background: var(--paper);
}
.studio-world.studio-world-poudre > picture {
  position: relative;
  inset: auto;
  z-index: 0;
  aspect-ratio: 3 / 2;
  height: auto;
  border-radius: 16px;
  overflow: hidden;
}
.studio-world.studio-world-poudre > picture > img {
  transform: none;
  object-fit: contain;
  width: 100%;
  height: auto;
}
.studio-world.studio-world-poudre .studio-material-caption {
  position: relative;
  inset: auto;
  width: auto;
  min-width: 0;
}
.studio-world.studio-world-poudre .studio-material-caption > p {
  font-size: clamp(38px, 4.5vw, 76px);
}
@media (max-width: 760px) {
  .studio-world.studio-world-poudre { grid-template-columns: 1fr; }
  .site-footer > .footer-top::before { inset: 25% -15% 0 14%; opacity: .44; }
  .call-dialog { border-radius: 14px; }
}

.call-close { color: var(--wine); }
@media (max-width: 620px) {
  .call-editorial .call-rendezvous { max-width: 235px; margin-inline: auto; }
}

/* L’invitation et le sceau composent ensemble le dernier écran. */
.site-footer > .footer-top:has(.footer-invitation) {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, .85fr);
  gap: clamp(32px, 6vw, 110px);
  align-items: center;
  padding: 0 0 clamp(45px, 7vw, 105px);
}
.site-footer > .footer-top:has(.footer-invitation)::before { content: none; }
.footer-invitation .eyebrow { margin-bottom: clamp(22px, 3vw, 42px); }
.site-footer .footer-invitation h2 {
  font-size: clamp(50px, 7.4vw, 122px);
  line-height: .97;
  text-wrap: balance;
}
.footer-intro {
  margin: clamp(22px, 3vw, 40px) 0 0;
  color: #f3d9df;
  font-size: clamp(15px, 1.35vw, 20px);
}
.site-footer .footer-invitation .footer-call-row {
  gap: 14px 22px;
  margin-top: 22px;
  padding-bottom: 0;
}
.site-footer .footer-invitation .call-button {
  background: var(--paper);
  color: var(--wine);
  border-color: var(--paper);
  min-height: 48px;
}
.site-footer .footer-invitation .call-button:hover {
  box-shadow: 0 0 34px #f391ae66;
}
.site-footer .footer-invitation .tiny {
  color: #e9bfc9;
  text-transform: none;
  letter-spacing: .025em;
}
.footer-imprint {
  display: grid;
  place-items: center;
  position: relative;
  isolation: isolate;
  min-height: clamp(270px, 28vw, 460px);
  border: 1px solid #efb5c438;
  border-radius: 48% 48% 10px 10px / 65% 65% 10px 10px;
  background: radial-gradient(ellipse at 50% 58%, #b25c7348, transparent 66%);
}
.footer-imprint::before {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  inset: 12% 1%;
  background: url("assets/elyrune-empreinte.svg") center / contain no-repeat;
}
.site-footer .footer-imprint .footer-orbit {
  width: clamp(180px, 20vw, 310px);
  height: auto;
  aspect-ratio: 1;
  margin: 0;
}
@media (max-width: 760px) {
  .site-footer > .footer-top:has(.footer-invitation) { grid-template-columns: 1fr; gap: 32px; }
  .site-footer .footer-invitation h2 { font-size: clamp(43px, 11vw, 70px); }
  .footer-imprint { min-height: 224px; max-width: 420px; width: 100%; }
}
