/* Reference-led paper loader. Static SVG grain; only transforms/opacity animate. */
.planque-loader {
  --paper: #f3ede1; --ink: #30291f; --red: #b90000;
  position: fixed; inset: 0; z-index: 999999; display: grid; place-items: center;
  overflow: hidden; background: radial-gradient(ellipse at 65% 20%, #f3eee5, #e4dbce 78%);
  color: var(--ink); opacity: 1; visibility: visible;
  transition: opacity .45s ease, visibility .45s ease;
}
.planque-loader[hidden] { display: none; }
.planque-loader.is-leaving { opacity: 0; visibility: hidden; pointer-events: none; }
.planque-loader__content {
  container-type: inline-size; position: relative; isolation: isolate;
  width: min(78vw, 64svh, 860px); aspect-ratio: .765;
  --paper-shift: 3%; transform: translateX(var(--paper-shift)) rotate(-3deg); animation: planque-paper-enter .65s cubic-bezier(.2,.75,.2,1) both;
}
/* Shadow only the paper silhouette, never the printed logo or lettering. */
.planque-loader__paper-shadow {
  position: absolute; inset: 0; z-index: -1; pointer-events: none;
  filter: drop-shadow(-22px 28px 23px #46362166) drop-shadow(-1px 2px 1px #493b3466);
}
.planque-loader__paper {
  position: absolute; inset: 0; overflow: hidden;
  border-radius: 4px 5px 0 0;
  background: linear-gradient(120deg, #fffaf025, #d5cab512), var(--paper);
  clip-path: polygon(0 0,100% 0,100% 98.8%,98% 100%,96% 98.8%,94% 100%,92% 98.8%,90% 100%,88% 98.8%,86% 100%,84% 98.8%,82% 100%,80% 98.8%,78% 100%,76% 98.8%,74% 100%,72% 98.8%,70% 100%,68% 98.8%,66% 100%,64% 98.8%,62% 100%,60% 98.8%,58% 100%,56% 98.8%,54% 100%,52% 98.8%,50% 100%,48% 98.8%,46% 100%,44% 98.8%,42% 100%,40% 98.8%,38% 100%,36% 98.8%,34% 100%,32% 98.8%,30% 100%,28% 98.8%,26% 100%,24% 98.8%,22% 100%,20% 98.8%,18% 100%,16% 98.8%,14% 100%,12% 98.8%,10% 100%,8% 98.8%,6% 100%,4% 98.8%,2% 100%,0 98.8%);
  box-shadow: inset 1px 1px 2px #fff9;
}
.planque-loader__grain { width: 100%; height: 100%; display: block; opacity: .13; mix-blend-mode: multiply; }
.planque-loader__tab { position: absolute; top: 1%; left: 10%; width: 13.5%; height: 1.4%; background: var(--red); box-shadow: 0 1px 1px #fff8; }
.planque-loader__header {
  position: absolute; top: 5.5%; left: 8%; right: 6%;
  display: grid; grid-template-columns: 1fr 1.1fr; gap: 17%;
  font-family: "Courier New", Courier, monospace; text-transform: uppercase;
}
.planque-loader__header p { margin: 0; font-size: 2.55cqw; line-height: 1.5; letter-spacing: .11em; white-space: nowrap; }
.planque-loader__header p::after { content: ""; display: block; margin-top: 1.6cqw; border-bottom: 1px solid #62574699; }
.planque-loader__header small { display: block; margin-top: 2.1cqw; font-size: 1.65cqw; line-height: 1.8; letter-spacing: .3em; }
.planque-loader__header-left::after { content: ""; display: block; margin-top: 1.6cqw; width: 5.7cqw; border-bottom: 1px solid #62574699; }
.planque-loader__header-right { text-align: center; }
.planque-loader__header-right p { color: var(--red); }
.planque-loader__header-right small { font-size: 1.55cqw; white-space: nowrap; }
.planque-loader__headline {
  position: absolute; top: 20%; left: 3%; right: 3%; margin: 0;
  font: normal 12.6cqw/.88 Georgia, "Times New Roman", serif;
  letter-spacing: -.07em; text-align: center;
}
.planque-loader__headline span { display: block; }
.planque-loader__headline span:last-child { color: var(--red); font-style: italic; font-size: 1.08em; line-height: .94; }
.planque-loader__headline::after { content: ""; display: block; width: 10.5cqw; margin: 2.6cqw auto 0; border-bottom: 1px solid #655a48aa; }
.planque-loader__logo-wrap { position: absolute; top: 40%; left: 11%; width: 72%; }
.planque-loader__logo { display: block; width: 100%; height: auto; filter: brightness(.86); }
.planque-loader__crown { position: absolute; inset: 0; width: 100%; height: auto; clip-path: inset(0 41% 72% 43%); filter: brightness(0) saturate(100%) invert(10%) sepia(100%) saturate(6214%) hue-rotate(6deg) brightness(87%) contrast(109%); }
.planque-loader__stamp {
  position: absolute; width: 29%; right: -6.5%; top: 47%; color: var(--red);
  transform: rotate(8deg); animation: planque-stamp-in .42s .7s cubic-bezier(.2,.7,.2,1) both;
}
.planque-loader__stamp svg { display: block; width: 100%; height: auto; overflow: visible; }
.planque-loader__status { position: absolute; top: 69%; left: 8%; right: 6%; border-top: 1px dashed #5d514a99; padding-top: 2.4cqw; }
.planque-loader__status p { margin: 0 0 4.5cqw; font: 3.9cqw/1.4 "Courier New", Courier, monospace; text-align: center; letter-spacing: .22em; }
.planque-loader__track { height: .75cqw; background: #91877530; overflow: hidden; }
.planque-loader__track::after { content: ""; display: block; width: 36%; height: 100%; background: var(--red); animation: planque-scan 2.4s ease-in-out infinite; }
.planque-loader__foot { position: absolute; top: 83%; left: 8%; right: 6%; display: flex; justify-content: space-between; align-items: center; gap: 3cqw; }
.planque-loader__motto { font: 2.8cqw/1.65 "Courier New", Courier, monospace; letter-spacing: .13em; text-transform: uppercase; }
.planque-loader__signature { position: relative; white-space: nowrap; font: 7.2cqw/1 "Snell Roundhand", "Segoe Script", "Brush Script MT", cursive; font-style: italic; letter-spacing: -.025em; color: var(--red); transform: rotate(-7deg); }
.planque-loader__signature svg { position: absolute; width: 51%; height: 2.7cqw; right: 1%; top: 100%; overflow: visible; }
.planque-loader__baseline { position: absolute; bottom: 4.4%; left: 8%; right: 6%; display: flex; align-items: center; gap: 2.5cqw; font: 1.5cqw/1.5 "Courier New", Courier, monospace; letter-spacing: .42em; text-transform: uppercase; white-space: nowrap; }
.planque-loader__baseline::before, .planque-loader__baseline::after { content: ""; flex: 1; border-top: 1px solid #665c4d99; }
@keyframes planque-paper-enter { from { opacity: 0; transform: translate(var(--paper-shift),12px) rotate(-4deg); } to { opacity: 1; transform: translate(var(--paper-shift),0) rotate(-3deg); } }
@keyframes planque-stamp-in { from { opacity: 0; transform: scale(1.09) rotate(11deg); } to { opacity: 1; transform: scale(1) rotate(8deg); } }
@keyframes planque-scan { 0% { transform: translateX(-105%); } 100% { transform: translateX(385%); } }
@media (max-width: 600px) {
  .planque-loader__content { --paper-shift: 0%; width: min(83vw, 65svh); }
  .planque-loader__header { gap: 9%; grid-template-columns: 1fr 1.2fr; }
  .planque-loader__header p { font-size: 2.5cqw; letter-spacing: .06em; }
  .planque-loader__header small { font-size: 1.85cqw; letter-spacing: .18em; }
  .planque-loader__header-right small { font-size: 1.65cqw; letter-spacing: .16em; }
  .planque-loader__paper-shadow { filter: drop-shadow(-10px 20px 17px #46362155) drop-shadow(-1px 1px 1px #493b3444); }
}
@media (prefers-reduced-motion: reduce) {
  .planque-loader { transition: none; }
  .planque-loader__content, .planque-loader__stamp, .planque-loader__track::after { animation: none; }
  .planque-loader__track::after { transform: translateX(90%); }
}
