
/* Invitation suite styling: palette and decoration only. */
:root{--wine:#610f2d;--dark-wine:#490b23;--pink:#ed75ad;--paper:#fff8e9;--gold:#b09a43;--ink:#40121e;--raspberry:#b31340;--gold-light:#c7b464}
.harlequin{opacity:1;background-image:url('assets/suite-pattern.png')}
.envelope{background:transparent url('assets/suite-envelope.svg?v=reference-pattern1') center/100% 100% no-repeat;border:0;box-shadow:none;filter:drop-shadow(1px 12px 12px #24000f44)}
.envelope:before,.envelope:after,.envelope-seam{display:none}
.envelope-monogram{color:var(--ink)}
.envelope-monogram span{color:transparent;position:relative}
.envelope-monogram span:after{content:"";position:absolute;inset:3px 0;background:var(--ink);clip-path:polygon(50% 0,60% 39%,100% 50%,60% 61%,50% 100%,40% 61%,0 50%,40% 39%)}
.pink-note{background:var(--pink) url('assets/suite-grain.svg');border-color:#40121e55;color:var(--ink)}
#invitation-title{color:var(--ink);text-shadow:1px 1.5px 0 #b3134055}
.card-star{color:var(--raspberry)}
.bulletin-frame{background:linear-gradient(135deg,#85702d,#c7b464 12%,#b09a43 40%,#85702d 60%,#c7b464 88%,#b09a43);border-color:var(--gold);box-shadow:0 22px 55px #28000e70,inset 0 0 0 3px #85702d,inset 0 0 0 5px #c7b464}
.bulletin-board{background-color:var(--dark-wine)}
.polaroid-paper,.profile-front,.profile-back{background-color:#ed75ad;border-color:var(--ink)}
.profile-back-inner,.mission-paper,.folder-sheet{background-color:var(--paper);color:var(--ink)}
.mission-folder{--folder-color:#b09a43;--folder-edge:#85702d;--folder-light:#c7b464;color:var(--ink)}
.open-folder,.open-folder-tab{background-color:var(--gold);background-image:url('assets/suite-grain.svg');border-color:var(--gold-light)}
.missions-cta,.rsvp-choice:has(input:checked){background-color:var(--pink);color:var(--ink);border-color:var(--ink);background-image:url('assets/suite-grain.svg')}
.rsvp-seal{background:var(--gold) url('assets/suite-grain.svg');border-color:var(--gold-light);color:var(--ink);font-family:Pirata,Georgia,serif;box-shadow:2px 4px 0 #85702d,3px 7px 12px #40121e30}
.entrance:before{border-color:#b09a4380}
.mission-slot:nth-child(odd) .mission-folder{--folder-color:#ed75ad;--folder-edge:#40121e;--folder-light:#ed75ad}
.mission-slot:nth-child(even) .mission-folder{--folder-color:#b09a43;--folder-edge:#85702d;--folder-light:#c7b464}
.folder-tab{color:var(--ink)}

/* Clearer invitation colors, corrected for photographic shadows. */
.page-shell,.board-view,.missions-view{background:radial-gradient(ellipse at 50% 35%,#681431 0%,#610f2d 65%,#490b23 100%)}
.bulletin-frame{background:linear-gradient(135deg,#85702d,#c7b464 12%,#b09a43 40%,#85702d 60%,#c7b464 88%,#b09a43)}

/* Reduce veiling grain and shading while retaining the paper feel. */
.page-shell,.board-view,.missions-view{background:var(--wine)}
.page-shell:after,.entrance:after,.board-view:after,.missions-view:after{opacity:.018;mix-blend-mode:normal}
.bulletin-board:before{opacity:.035}
.polaroid-paper:after,.folder-cover:after{opacity:.018}
.bulletin-board{background-image:none;background-color:var(--dark-wine)}
.folder-cover{background:var(--folder-color)}
/* Larger, weightier case files, scattered across the desk. */
.folders-desk{max-width:1240px;padding:45px 12px 36px}
.mission-folders{gap:24px 16px;padding:0 6px 22px}
.mission-slot{flex-basis:calc((100% - 32px)/3);transform:translate(var(--scatter-x,0px),var(--scatter-y,0px)) rotate(var(--folder-tilt));transform-origin:45% 70%}
.mission-folder{aspect-ratio:1.28}
.folder-back{box-shadow:1px 2px 0 var(--folder-edge),2px 5px 0 #29121b50,5px 12px 13px #22081280;border-radius:3px 6px 5px 5px}
.folder-sheet{top:18px;left:12px;right:11px;box-shadow:0 2px 0 #dbd1bc,1px 4px 0 #fff8e9,2px 6px 0 #c9bda4,2px 8px 4px #30151d45;transform:rotate(-1.7deg)}
.folder-cover{background:linear-gradient(178deg,#ffffff18,transparent 19%,#301b0b08 88%,#301b0b22),var(--folder-color);border-bottom:3px solid var(--folder-edge);box-shadow:inset 0 1px 0 #fff8e988,inset 0 -5px 0 #ffffff0b,0 -2px 3px #20101835;padding:26px 25px 21px}
.folder-cover:before{content:"";position:absolute;left:8px;right:8px;bottom:9px;height:3px;border-top:1px solid #30200c35;border-bottom:1px solid #fff8e925;pointer-events:none}
.folder-cover:after{opacity:.055}
.folder-tab{box-shadow:inset 0 1px 0 #fff8e966;font-family:'Courier New',monospace;font-size:11px}
.folder-number{font-size:clamp(36px,3.3vw,49px)}
.folder-subtitle{font-size:20px;line-height:1.2}
.folder-stamp{font-family:'Courier New',monospace;font-size:10px;letter-spacing:1.4px;border:2px double currentColor;opacity:.65;transform:rotate(-11deg);bottom:22px}
.folders-desk.is-dropping .mission-slot{animation:weighted-folder-fall .95s linear both;animation-delay:var(--drop-delay)}
.folders-desk.is-dropping .folder-back{animation:none}
@keyframes weighted-folder-fall{
 0%{opacity:0;transform:translate(calc(var(--scatter-x) + var(--throw-x)), -85svh) rotate(calc(var(--folder-tilt) + var(--throw-turn)));animation-timing-function:cubic-bezier(.42,.05,.74,.6)}
 15%{opacity:1}
 72%{opacity:1;transform:translate(calc(var(--scatter-x) + 3px),var(--scatter-y)) rotate(calc(var(--folder-tilt) + .8deg));animation-timing-function:ease-out}
 86%{transform:translate(calc(var(--scatter-x) + 1px),calc(var(--scatter-y) - 3px)) rotate(calc(var(--folder-tilt) - .3deg))}
 100%{opacity:1;transform:translate(var(--scatter-x),var(--scatter-y)) rotate(var(--folder-tilt))}
}
@media(max-width:1000px){.mission-slot{flex-basis:calc((100% - 16px)/2)}.mission-folders{row-gap:32px}.folders-desk{padding-top:35px}}
@media(max-width:600px){.mission-slot{flex-basis:100%;max-width:360px;--scatter-x:0px!important;--scatter-y:0px!important}.mission-folders{gap:30px}.folders-desk{padding:28px 5px}.folder-number{font-size:40px}.folder-subtitle{font-size:20px}}
@media(prefers-reduced-motion:reduce){.folders-desk.is-dropping .mission-slot,.folders-desk.is-dropping .folder-back{animation:none!important}}

/* Simple folded cardstock, following the physical-folder reference. */
.folder-sheet{display:none}
.folder-back{inset:23px 0 0;background:linear-gradient(#ffffff26,#ffffff09),var(--folder-color);border:0;border-radius:7px 5px 2px 2px;box-shadow:1px 2px 2px #210b1830,4px 8px 12px #210b1845}
.folder-tab{left:auto;right:0;top:0;width:34%;height:34px;justify-content:center;padding:0 8px;border:0;border-radius:10px 10px 0 0;background:linear-gradient(#ffffff26,#ffffff20),var(--folder-color);box-shadow:inset 0 1px 0 #fff8e940}
.folder-tab:after{display:none}
.folder-cover{inset:33px 0 0;border:0;border-radius:5px 5px 2px 2px;background:linear-gradient(175deg,#ffffff10,transparent 50%,#30200c08),var(--folder-color);box-shadow:none;clip-path:polygon(0 3%,.4% 1%,1.5% 0,62% 0,64% .5%,65% 2%,66% 5%,67% 6%,96% 6%,98% 7%,99% 9%,100% 10%,100% 100%,0 100%);padding-top:31px;transform-origin:bottom}
.folder-cover:before{left:7px;right:7px;bottom:9px;height:5px;border-top:1px solid #ffffff18;border-bottom:1px solid #30200c12}
.folder-cover:after{opacity:.035}
.mission-folder:enabled:hover .folder-cover{transform:rotateX(-4deg)}
.mission-folder:enabled:hover{transform:translateY(-4px)}

/* Original invitation artwork, preserved without recoloring or distortion. */
.harlequin,.board-view .harlequin,.missions-view .harlequin{background-image:url('assets/suite-pattern.png');background-size:390px auto;background-position:0 0;opacity:1}
.harlequin-right{background-position:195px 0}
/* Larger physical folders, with the existing gentle staggered drop. */
.folders-desk{max-width:1080px}
.mission-slot{flex-basis:calc((100% - 24px)/2)}
.mission-folders{gap:42px 24px}
/* Pooled wax rim, pressed center and softly embossed lettering. */
.rsvp-seal{position:relative;isolation:isolate;width:94px;height:92px;border:0;border-radius:47% 53% 46% 54% / 52% 44% 56% 48%;background:radial-gradient(ellipse at 27% 16%,#e2d18c 0,transparent 30%),conic-gradient(from 15deg,#ab913b,#d1bb64 17%,#81702d 37%,#baa04b 58%,#e1cc7c 76%,#ab913b);box-shadow:inset 1px 2px 2px #fff1b980,inset -2px -3px 2px #5b4b25a0,1px 3px 0 #77612d,3px 7px 10px #40121e40;color:#746027;font-family:Pirata,Georgia,serif;font-size:25px;letter-spacing:1px;text-shadow:0 1px 1px #e5d58d,0 -1px 1px #51431c80}
.rsvp-seal:before{content:'';position:absolute;inset:11px 10px 12px 11px;border-radius:49% 51% 48% 52%;z-index:-1;background:radial-gradient(ellipse at 65% 75%,#c4ac58,#a28b3c 80%);border:1px solid #89712e;box-shadow:inset 1px 2px 3px #63512090,inset -1px -1px 1px #edda9780,0 1px 1px #edda97b0,0 -1px 2px #6c572c80}
.rsvp-seal:after{content:'';position:absolute;inset:5px;border-radius:46% 54% 48% 52% / 53% 45% 55% 47%;border-top:1px solid #f4e2a280;border-left:1px solid #f4e2a250;pointer-events:none}
@media(max-width:800px){.harlequin,.board-view .harlequin,.missions-view .harlequin{background-size:280px auto}.harlequin-right{background-position:140px 0}}
@media(max-width:600px){.mission-slot{flex-basis:100%;max-width:400px}.mission-folders{gap:34px}.missions-main{padding-left:27px;padding-right:27px}.harlequin,.board-view .harlequin,.missions-view .harlequin{background-size:220px auto}.harlequin-right{background-position:110px 0}}

/* Two complete diamond rows repeat without clipping the source image at its edges. */
.harlequin,.board-view .harlequin,.missions-view .harlequin{background-image:url('assets/harlequin-seamless.svg');background-size:141.283px 204.566px;background-position:center top;background-repeat:repeat}
@media(max-width:800px){.harlequin,.board-view .harlequin,.missions-view .harlequin{background-size:101.434px 146.868px}}
@media(max-width:600px){.harlequin,.board-view .harlequin,.missions-view .harlequin{background-size:79.698px 115.396px}}

/* Typed file labels and a larger ink stamp. */
.folder-number,.folder-subtitle,.folder-tab,.folder-stamp{font-family:"Courier New",Courier,monospace;font-style:normal}
.folder-number{font-size:clamp(30px,3vw,42px);font-weight:700;letter-spacing:-1.5px}
.folder-subtitle{font-size:20px;line-height:1.25;-webkit-line-clamp:3;max-width:90%}
.folder-stamp{font-size:18px;font-weight:700;letter-spacing:2px;padding:7px 10px;border:3px double currentColor;bottom:25px;right:24px;opacity:.72}
/* Medium folders in two comfortably spaced desktop rows. */
.folders-desk{max-width:1240px;padding:45px 12px 36px}
@media(min-width:701px){
 .mission-folders{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:48px 22px;padding:0 6px 22px}
 .mission-slot{width:100%;max-width:none;align-self:start;--scatter-x:0px!important;--scatter-y:0px!important}
 .mission-slot:nth-child(1){grid-column:1/3;grid-row:1}
 .mission-slot:nth-child(2){grid-column:3/5;grid-row:1}
 .mission-slot:nth-child(3){grid-column:5/7;grid-row:1}
 .mission-slot:nth-child(4){grid-column:2/4;grid-row:2}
 .mission-slot:nth-child(5){grid-column:4/6;grid-row:2}
 .folder-number{font-size:clamp(24px,2.7vw,38px)}
 .folder-subtitle{font-size:clamp(14px,1.55vw,20px);max-width:100%;margin-top:8px}
 .folder-cover{padding-left:20px;padding-right:20px}
 .folder-stamp{font-size:clamp(12px,1.3vw,17px);padding:4px 7px;bottom:18px;right:16px}
}
.mission-slot:hover,.mission-slot:focus-within{z-index:10}
/* Restore the earlier soft falling entrance and small settling motion. */
.folders-desk.is-dropping .mission-slot{animation:weighted-folder-fall .95s linear both;animation-delay:var(--drop-delay);filter:none;will-change:auto}
@media(max-width:600px){.folder-number{font-size:32px}.folder-subtitle{font-size:18px}.folder-stamp{font-size:16px;padding:6px 8px;bottom:22px;right:18px}}
@media(prefers-reduced-motion:reduce){.folders-desk.is-dropping .mission-slot{animation:none!important}}

@media(min-width:701px) and (max-width:900px){.mission-folder{aspect-ratio:1}.folder-cover{padding:25px 12px 15px}.folder-number{font-size:22px}.folder-subtitle{font-size:13px}.folder-stamp{font-size:11px;bottom:16px;right:12px;letter-spacing:1px}}

/* Lighter typewriter lettering on the closed mission files. */
.folder-number,.folder-subtitle,.folder-tab,.folder-stamp{font-weight:400}

/* Board navigation replaces the monogram at the foot of the cork board. */
.bulletin-board .board-actions{margin-top:42px;padding:12px 0 4px;position:relative;z-index:2}
.bulletin-board .missions-cta{max-width:100%;gap:14px}
.folders-desk.is-loading-folders .mission-folders{visibility:hidden}
/* Keep letters on a flat layer while the folder itself moves. */
.folders-desk.is-dropping .mission-folder{perspective:none}
.folders-desk.is-dropping .folder-cover{transform:none;transition:none}
#rsvp-weekend-choices{flex-wrap:wrap;gap:10px}
@media(max-width:520px){.bulletin-board .missions-cta{font-size:19px;padding:12px 19px}}

/* Even close-button insets and a geometrically centered cross. */
.mission-dialog:not(.is-briefing) .mission-close{top:12px;right:12px;width:40px;height:40px;padding:9px;box-sizing:border-box;display:grid;place-items:center;line-height:1}
.mission-close svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.mission-dialog.is-briefing .mission-close{padding:8px;box-sizing:border-box;display:grid;place-items:center}
.mission-dialog:not(.is-briefing) #mission-dialog-title{padding-right:34px}
/* Compact this short briefing so its navigation stays within easy reach. */
.briefing-sheet.is-time-apart{min-height:0;padding-top:24px;padding-bottom:20px}
.briefing-sheet.is-time-apart .briefing-art-page{width:27%;min-width:150px;max-width:210px;margin-bottom:12px}
.briefing-sheet.is-time-apart .briefing-illustration{max-height:190px}
.briefing-sheet.is-time-apart .briefing-copy-page h3{font-size:24px;margin-bottom:20px}
.briefing-sheet.is-time-apart .briefing-prose{font-size:18px;line-height:1.5}
.briefing-sheet.is-time-apart .briefing-sheet-topline{margin-bottom:18px;padding-bottom:12px}
@media(max-width:540px){.briefing-sheet.is-time-apart .briefing-art-page{width:44%;min-width:0;margin:0 auto 16px}.briefing-sheet.is-time-apart .briefing-illustration{max-height:110px}.briefing-sheet.is-time-apart .briefing-prose{font-size:15px}.briefing-sheet.is-time-apart .briefing-copy-page h3{font-size:21px}}
