.sillage-opening{display:none}
html.sillage-opening-active .sillage-opening{display:grid;place-items:center;position:fixed;inset:0;z-index:9999;overflow:hidden;background:#f5f1ea;pointer-events:none;animation:opening-unveil 1950ms linear both,opening-depart 1950ms cubic-bezier(.45,0,.2,1) both}
.opening-papers{position:absolute;inset:-8%;width:116%;height:116%;overflow:visible}
.opening-sheet{transform-origin:50% 78%;will-change:transform}.opening-sheet-rose,.opening-sheet-ivory{filter:drop-shadow(0 7px 10px #5226381c)}
.opening-sheet-wine{animation:opening-wine 1950ms cubic-bezier(.22,1,.36,1) both}
.opening-sheet-rose{animation:opening-rose 1950ms cubic-bezier(.22,1,.36,1) both}
.opening-sheet-ivory{animation:opening-ivory 1950ms cubic-bezier(.22,1,.36,1) both}
.opening-imprint{position:relative;display:flex;flex-direction:column;align-items:center;gap:clamp(18px,3vh,30px);text-align:center;color:#83152e;animation:opening-imprint 1950ms ease both}
.opening-imprint img{display:block;width:clamp(160px,21vw,270px);height:auto;max-height:140px;object-fit:contain}
.opening-kicker{font:400 9px/1.5 Manrope,Arial,sans-serif;text-transform:uppercase;letter-spacing:.22em;color:#6c4a48}
.opening-caption{font:400 clamp(20px,2.5vw,31px)/1.3 Manrope,Arial,sans-serif;letter-spacing:-.05em}
.opening-caption em{font-family:Instrument,Georgia,serif;font-weight:400;font-size:1.3em}
.opening-rule{height:1px;width:90px;background:#83152e55;transform-origin:left;animation:opening-rule 1100ms cubic-bezier(.22,1,.36,1) both}
@keyframes opening-wine{0%{transform:translate(-18%,40%) rotate(-16deg)}47%,63%{transform:translate(-4%,-5%) rotate(-5deg)}100%{transform:translate(-9%,-16%) rotate(-9deg)}}
@keyframes opening-rose{0%,8%{transform:translate(24%,68%) rotate(16deg)}52%,65%{transform:translate(0,2%) rotate(3deg)}100%{transform:translate(8%,-5%) rotate(7deg)}}
@keyframes opening-ivory{0%,14%{transform:translate(-12%,80%) rotate(-12deg)}55%,63%{transform:translate(0,8%) rotate(-2deg)}100%{transform:translate(-3%,9%) rotate(-4deg)}}
@keyframes opening-imprint{0%,12%{opacity:0;transform:translateY(12px)}32%,51%{opacity:1;transform:translateY(0)}67%,100%{opacity:0;transform:translateY(-9px)}}
@keyframes opening-rule{0%,35%{transform:scaleX(0)}100%{transform:scaleX(1)}}
@keyframes opening-unveil{0%,99.9%{opacity:1;visibility:visible}100%{opacity:1;visibility:hidden}}
@media(max-width:650px){.opening-papers{inset:-3% -35%;width:170%;height:106%}.opening-kicker{font-size:8px;letter-spacing:.16em}.opening-imprint{gap:24px}}
@media(prefers-reduced-motion:reduce){html.sillage-opening-active .sillage-opening{display:none;animation:none}.opening-sheet,.opening-imprint,.opening-rule{animation:none}}


.sillage-opening:after{content:"";position:absolute;inset:0;pointer-events:none;background:url("assets/opening-paper-grain.svg") repeat;opacity:.035;mix-blend-mode:multiply}
@media(prefers-reduced-motion:reduce){html.sillage-opening-active .sillage-opening{display:none;animation:none}}

/* A single paper curtain lifts away; there is no hole or radial mask. */
@keyframes opening-depart{0%,59%{transform:translateY(0)}100%{transform:translateY(-102%)}}
