/* One surface, ten overlapping prints. Positions are independently composed for phones.
   Palette: Studio Green #464D4A (Farrow & Ball digital reference), chalk, brass, oxblood.
   Paper and stage lighting deliberately vary around their base swatches. */
.tabletop{--studio-green:#464d4a;--chalk:#eeeae0;--brass-light:#c8bb9c;--brass-ink:#82704d;--oxblood:#54383c}
.tabletop{background:var(--studio-green);color:#eeeae0}html:has(.tabletop){scroll-behavior:auto}.sequence{height:310svh;position:relative}.table-stage{height:100svh;min-height:540px;position:sticky;top:0;overflow:hidden;background:radial-gradient(ellipse at 45% 35%,#555c56 0%,var(--studio-green) 60%,#303834 100%)}.table-stage::after{content:"";position:absolute;inset:20px;border:1px solid #dedbd020;pointer-events:none;z-index:30}.table-edge{position:absolute;right:42px;top:36px;font-size:12px;color:#eeeae0cc;z-index:25}.table-title{position:absolute;top:14%;left:0;width:100%;text-align:center;z-index:20;will-change:transform,opacity}.table-title h1{font:400 clamp(64px,8.3vw,130px)/1.3 Bookman,Georgia,serif;letter-spacing:-.065em;margin:20px 0 5px}.table-title h1 span{font-size:.78em;font-style:italic;margin:0 .07em}.scroll-cue{display:inline-flex;gap:16px;align-items:center;text-decoration:none;font-size:12px;padding:15px}.scroll-cue span{font:24px Georgia}.photo-field{position:absolute;inset:0;max-width:1450px;margin:auto;transform-origin:50% 52%;will-change:transform}.print{position:absolute;left:var(--x);top:var(--y);width:var(--w,22%);background:#eeeae0;padding:9px 9px 26px;box-shadow:1px 3px 3px #18201c66,4px 9px 16px #18201c55;color:#57584f;aspect-ratio:.79;transform:rotate(var(--r));will-change:transform,opacity;z-index:var(--z)}.print img{object-position:var(--crop,50% 42%)}.print figcaption{position:absolute;bottom:7px;right:11px;font:10px 'Courier New',monospace;letter-spacing:.08em}.p1{--x:28%;--y:23%;--r:-10deg;--z:2}.p2{--x:50%;--y:27%;--r:8deg;--z:3}.p3{--x:13%;--y:15%;--w:25%;--r:-7deg;--z:4;aspect-ratio:1.25}.p4{--x:66%;--y:12%;--w:21%;--r:12deg;--z:5}.p5{--x:5%;--y:39%;--w:21%;--r:-12deg;--z:6}.p6{--x:74%;--y:42%;--w:21%;--r:9deg;--z:7}.p7{--x:20%;--y:54%;--w:22%;--r:8deg;--z:8}.p8{--x:49%;--y:66%;--w:29%;--r:-6deg;--z:9;aspect-ratio:1.38;--crop:70% 50%}.p9{--x:40%;--y:1%;--w:20%;--r:5deg;--z:10}.p10{--x:57%;--y:44%;--w:23%;--r:-7deg;--z:11}.date-card{position:absolute;z-index:20;left:50%;top:49%;width:350px;max-width:calc(100% - 50px);padding:34px 18px 28px;text-align:center;background:#eee9dc;color:#54383c;box-shadow:1px 2px 3px #18201c66,5px 11px 20px #18201c55;transform:translate(-50%,-50%) rotate(-2deg);will-change:transform,opacity}.date-card h2{font:400 42px/1.1 Bookman,Georgia,serif;letter-spacing:-.07em;margin:23px 0 17px}.date-card h2 span{font-style:italic;font-size:.8em}.card-rule{width:35px;height:1px;background:currentColor;margin:0 auto 18px}.date-placeholder{font-size:18px}.placeholder-note{font:11px 'Courier New',monospace;margin:7px 0 19px;color:#6d5d55}.venue{font-size:14px}.invitation{font:italic 15px Georgia,serif;margin-top:21px}.table-bottom{position:absolute;z-index:31;bottom:29px;left:42px;right:42px;display:flex;justify-content:space-between}.progress-line{display:inline-block;width:70px;height:1px;background:#eeeae077;vertical-align:middle;margin-left:10px}.js-motion .print,.js-motion .date-card{opacity:0}.tabletop:not(.js-motion) .table-title{display:none}.tabletop:not(.js-motion) .sequence{height:100svh}.tabletop:not(.js-motion) .table-bottom>span:last-child{display:none}
@media(max-width:700px){.sequence{height:310svh}.table-stage{min-height:520px}.table-stage::after{inset:10px}.table-edge{top:70px;right:22px;font-size:10px}.table-title{top:17%}.table-title h1{font-size:clamp(44px,11.6vw,76px);margin:16px 0 7px}.table-title>.mono{font-size:11px}.print{padding:7px 7px 22px}.print figcaption{font-size:9px;bottom:6px;right:8px}.p1{--x:7%;--y:27%;--w:46%;--r:-9deg}.p2{--x:46%;--y:30%;--w:47%;--r:10deg}.p3{--x:-8%;--y:12%;--w:55%;--r:-9deg}.p4{--x:65%;--y:10%;--w:45%;--r:13deg}.p5{--x:-15%;--y:43%;--w:49%;--r:-10deg}.p6{--x:71%;--y:45%;--w:46%;--r:9deg}.p7{--x:1%;--y:64%;--w:49%;--r:9deg}.p8{--x:29%;--y:77%;--w:62%;--r:-7deg}.p9{--x:29%;--y:4%;--w:46%;--r:5deg}.p10{--x:48%;--y:60%;--w:51%;--r:-8deg}.date-card{padding:28px 10px 23px;width:290px;top:50%}.date-card h2{font-size:37px;margin:21px 0 15px}.date-placeholder{font-size:16px}.card-rule{margin-bottom:16px}.placeholder-note{margin-bottom:17px}.invitation{margin-top:19px}.table-bottom{left:23px;right:23px;bottom:23px}.table-bottom .mono{font-size:10px}.table-bottom>span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){.sequence{height:100svh!important}.table-title{display:none}.print,.date-card{opacity:1!important}.table-bottom>span:last-child{display:none}}

.wedding-date{font:18px/1.4 "Courier New",monospace;letter-spacing:.02em;margin:0 0 24px}@media(max-width:700px){.wedding-date{font-size:17px;margin-bottom:22px}}

/* Revision 3: photographic paper, fine ink rules and restrained film-print details. */
.tabletop{color:var(--chalk)}.table-stage{background:radial-gradient(ellipse at 43% 38%,#555c56 0%,var(--studio-green) 48%,#303834 100%)}
.table-stage::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.095;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath filter='url(%23n)' opacity='.55' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
.table-stage::after{inset:24px;border-color:#dedbd02b}.opening-kicker{font-size:12px;letter-spacing:.22em}.opening-kicker>span{margin:0 16px}.table-title h1{text-shadow:0 1px 0 #eeeae022;font-size:clamp(64px,8.1vw,126px);letter-spacing:-.065em}.table-title h1 span{color:var(--brass-light)}.scroll-cue{letter-spacing:.15em;font-size:11px;opacity:.82}.scroll-cue span{font-size:20px}
.print{background:linear-gradient(125deg,#f7f4ec 0%,#eeeae0 70%,#e2dfd3 100%);padding:10px 10px 29px;border-radius:1px;box-shadow:0 0 0 1px #d7d2c533,inset 0 0 0 1px #fffdf6bb,0 1px 1px #18201ccc,2px 4px 5px #18201c66,8px 13px 22px #11191644}
.print::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:1px;opacity:.10;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath filter='url(%23g)' opacity='.6' d='M0 0h140v140H0z'/%3E%3C/svg%3E")}
.print img{border:1px solid #38423d80;box-shadow:0 0 0 1px #fffdf388;filter:saturate(.96) contrast(1.015)}
.print figcaption{left:11px;right:10px;bottom:9px;display:flex;justify-content:space-between;align-items:center;font:8px/1 'Courier New',monospace;letter-spacing:.075em;color:#57584f}.print-label{white-space:nowrap;opacity:.8}.print-divider{margin:0 4px;opacity:.5}.frame-number{white-space:nowrap;letter-spacing:.14em}.frame-mark{color:#82704d;margin-left:5px}.p3,.p8{padding:8px 8px 24px}.p3 figcaption,.p8 figcaption{bottom:7px}.p8 .print-label{letter-spacing:.12em}
.date-card{width:366px;padding:35px 24px 29px;background:linear-gradient(118deg,#f0ece1,#e6e0d2);color:var(--oxblood);border:1px solid #d1c8b4;box-shadow:inset 0 0 0 1px #fffdf199,0 1px 2px #18201ccc,3px 6px 7px #18201c55,9px 18px 27px #18201c44}
.date-card::before{content:"";position:absolute;inset:11px;border:1px solid #74695440;pointer-events:none}.date-card::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath filter='url(%23p)' opacity='.55' d='M0 0h140v140H0z'/%3E%3C/svg%3E")}
.date-card>.mono{font:11px/1.4 'Courier New',monospace;letter-spacing:.25em}.date-card h2{font-size:44px;line-height:1.12;margin:25px 0 15px}.date-card h2 span{color:var(--brass-ink);margin:0 .025em}.card-rule{width:108px;height:auto;margin:0 auto 21px;background:none;display:flex;align-items:center;gap:12px;color:var(--brass-ink)}.card-rule span{height:1px;flex:1;background:#82704d66}.card-rule i{font:11px Georgia;font-style:normal}.wedding-day{font:10px/1.4 'Courier New',monospace;text-transform:uppercase;letter-spacing:.22em;margin-bottom:8px;color:#6d5d55}.wedding-date{font:400 25px/1.2 Bookman,Georgia,serif;letter-spacing:-.035em;margin-bottom:24px}.venue{font:12px/1.6 'Courier New',monospace;letter-spacing:-.025em}.venue-dot{margin:0 3px;color:var(--brass-ink)}.invitation{font-size:14px;margin-top:21px}.table-bottom{opacity:.72}.table-bottom .mono{font-size:10px;letter-spacing:.14em}
@media(max-width:700px){.table-stage::after{inset:12px}.opening-kicker{font-size:10px!important;letter-spacing:.12em}.opening-kicker>span{margin:0 8px}.table-title h1{font-size:clamp(44px,11.6vw,76px)}.print{padding:7px 7px 22px}.print figcaption{left:8px;right:8px;bottom:7px;font-size:7px}.print-label{font-size:6px;letter-spacing:0}.print-divider{margin:0 2px}.frame-mark{margin-left:2px}.p3,.p8{padding:7px 7px 22px}.date-card{width:290px;max-width:calc(100% - 42px);padding:29px 15px 25px}.date-card::before{inset:9px}.date-card>.mono{font-size:10px;letter-spacing:.20em}.date-card h2{font-size:36px;margin:23px 0 14px}.card-rule{margin-bottom:17px;width:90px}.wedding-day{font-size:9px;margin-bottom:8px}.wedding-date{font-size:23px;margin-bottom:21px}.venue{font-size:11px}.invitation{font-size:13px;margin-top:18px}}
.venue{font-size:14px}.invitation{font-size:14px}@media(max-width:700px){.venue{font-size:14px}.invitation{font-size:14px}}
