/* Corrections after review of the actual invitation screenshots. */
html.intro-lock{overflow:hidden;scroll-behavior:auto}html.intro-lock body{position:fixed;inset:0;width:100%;overflow:hidden}.feather-trigger,#opening-canvas{filter:none;box-shadow:none}.hero:before{display:none!important}.hero{background:#f5f0e7}.hero:after{box-shadow:none!important}.hero .hero-photo{width:100%;margin:0;object-fit:cover;object-position:50% 40%}
.date-reveal{height:480px;max-width:740px;overflow:visible;margin:35px auto 0;background:none}.date-vines{inset:0;overflow:visible}.independent-sprig{position:absolute;left:var(--x);top:0;width:170px;height:var(--h);transform:translateX(-50%) rotate(var(--lean));transform-origin:50% 3%;transition:left 2.6s var(--delay) cubic-bezier(.3,.1,.2,1),transform 2.8s var(--delay) cubic-bezier(.25,.1,.2,1);pointer-events:none}.independent-sprig img{width:100%;height:100%;object-fit:contain;filter:url(#alpha-clean);transform-origin:50% 3%;animation:sprig-breeze var(--sway) ease-in-out infinite alternate}.date-reveal.is-revealed .independent-sprig{left:var(--open-x);transform:translateX(-50%) rotate(var(--open-angle))}.date-inside{inset:75px 0 5px;transition-delay:.8s}.date-trigger{padding:0 20px 25px;text-shadow:0 0 8px #fff,0 0 15px #fff;background:radial-gradient(ellipse at center,#fff9,transparent 50%)}.is-revealed .date-trigger{background:none}.date-caption{margin-top:20px}.date-reveal .pollen{overflow:visible}.announcement{overflow:hidden}.announcement-vine{filter:none}@keyframes sprig-breeze{from{transform:rotate(-1.5deg)}to{transform:rotate(1.8deg)}}
.locket{transform:none;filter:none;isolation:auto}.locket.is-open{transform:translateX(27px)}.locket-inside{inset:0;border:0;border-radius:0;background:none;box-shadow:none;overflow:visible;transform:none}.locket-inside:after{display:none}.locket-inside .locket-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center}.locket-inside img:not(.locket-frame){position:absolute;left:25%;top:22%;width:50%;height:56%;object-fit:cover;object-position:center;border-radius:50%;box-shadow:inset 0 0 5px #705c3a50}.locket-inside>span{bottom:25%;font-size:22px}.locket-lid{transform-origin:15% 50%;filter:none}.locket-lid-front{filter:none;transform:translateZ(2px)}.locket-lid-back{inset:0;background:none;border:0;border-radius:0;padding:0;box-shadow:none;transform:rotateY(180deg) translateZ(1px)}.locket-lid-back img{width:100%;height:100%;object-fit:contain}.locket.is-open .locket-lid{transform:rotateY(-125deg);filter:none}.locket-glint{display:none}
.event-mark{width:126px;height:140px;border:0;background:transparent;box-shadow:none;border-radius:0;margin-bottom:20px}.event-mark img{width:100%;height:100%;object-fit:contain;filter:url(#alpha-clean)}.timeline li:before{top:153px}.timeline li:after{content:'';position:absolute;left:calc(50% - 3px);top:150px;width:6px;height:6px;border-radius:50%;background:#b59a6a}.timeline time{display:block;margin-top:28px}
.dress-editorial{max-width:1150px;margin:35px auto 18px}.dress-editorial img{border-radius:0;box-shadow:none;mix-blend-mode:multiply}.dress-editorial figcaption{font-size:29px}.dresscode{background:#f8f4ed}.dresscode-flowers{opacity:.25}
.lace-trigger{width:17%;height:17%;left:41.5%;top:65.5%;min-width:44px;min-height:44px}.lace-trigger img{filter:none}
@media(max-width:760px){.date-reveal{height:420px;margin-top:30px}.independent-sprig{width:120px;height:calc(var(--h)*.83)}.date-inside{inset:50px 0 0}.date-trigger{font-size:11px;padding-bottom:5px}.date-trigger em{font-size:30px}.date-day{font-size:77px}.date-month{font-size:43px}.date-inside .eyebrow{font-size:6px;letter-spacing:.1em}.date-weekday{font-size:8px;letter-spacing:.05em}.date-reveal.is-revealed .independent-sprig{transform:translateX(-50%) rotate(calc(var(--open-angle)*.55))}.locket.is-open{transform:translateX(27px)}.locket.is-open .locket-lid{transform:rotateY(-120deg)}.dress-editorial{margin-left:-8px;margin-right:-8px}.dress-editorial img{width:100%;max-width:none}.event-mark{width:125px;height:145px}.hero h1{font-size:72px}.hero-copy{bottom:10%}}
@media(prefers-reduced-motion:reduce){.independent-sprig{transition:none}.independent-sprig img{animation:none}}
.independent-sprig{width:calc(var(--h)*.6667)}
@media(max-width:760px){.independent-sprig{width:calc(var(--h)*.5533)}}
@media(max-width:760px){.date-reveal.is-revealed .independent-sprig{left:clamp(19%,var(--open-x),81%);transform:translateX(-50%) rotate(calc(var(--open-angle)*.3))}}
@media(min-width:1200px){.hero .hero-photo{width:65%;margin:auto}}

/* Distinct botanical specimens suspended from individual stems. */
.dress-editorial img{mix-blend-mode:normal;background:transparent}
.independent-sprig img{filter:none;animation-name:botanical-breeze;animation-delay:var(--phase);object-position:50% 0}
.independent-sprig{transition:left 3.2s var(--delay) cubic-bezier(.33,.05,.22,1),transform 3.6s var(--delay) cubic-bezier(.22,.5,.3,1)}
.date-reveal.is-revealed .independent-sprig{transform:translate(-50%,var(--lift)) rotate(var(--open-angle))}
@keyframes botanical-breeze{0%{transform:rotate(calc(var(--breeze)*-1))}60%{transform:rotate(var(--breeze))}100%{transform:rotate(calc(var(--breeze)*-.4))}}
@media(max-width:760px){.date-reveal.is-revealed .independent-sprig{transform:translate(-50%,var(--lift)) rotate(calc(var(--open-angle)*.3))}}
@media(prefers-reduced-motion:reduce){.independent-sprig{transition:none}.independent-sprig img{animation:none}}
/* Natural full-width canopy and independent hanging racemes. */
.date-reveal{width:100vw;max-width:none;left:50%;margin-left:-50vw;height:530px;margin-top:55px}
.date-vines{z-index:2}.date-canopy{position:absolute;inset:-38px 0 auto;height:190px;z-index:3;pointer-events:none}.date-canopy img{position:absolute;left:var(--position);top:0;width:38%;height:190px;object-fit:fill;transform:translateX(-50%) scaleX(var(--mirror))}
.independent-sprig{width:calc(var(--h)*.56);top:24px}.independent-sprig img{animation-name:leaf-breeze;transform:scaleX(var(--flip));object-fit:contain}
@keyframes leaf-breeze{0%{transform:scaleX(var(--flip)) rotate(calc(var(--breeze)*-1))}60%{transform:scaleX(var(--flip)) rotate(var(--breeze))}100%{transform:scaleX(var(--flip)) rotate(calc(var(--breeze)*-.4))}}
.date-inside{z-index:1;inset:125px 0 15px;filter:none;transition:opacity 2.5s 1s,transform 2.5s 1s}.date-trigger{z-index:4}.date-reveal .pollen{z-index:5;overflow:visible}
.pollen i{top:90px;width:var(--leaf-size);height:calc(var(--leaf-size)*1.7);border-radius:80% 0 80% 0;background:linear-gradient(120deg,#bec994,#718252);box-shadow:none}
.pollen i:nth-child(3n){background:linear-gradient(120deg,#e7ddeb,#ad92c3);border-radius:60% 20% 70% 30%}
.is-revealed .pollen i{animation:gentle-leaves var(--duration) var(--delay) ease-in-out both}
@keyframes gentle-leaves{0%{opacity:0;transform:translate(0,0) rotate(0)}10%{opacity:.65}50%{opacity:.5;transform:translate(calc(var(--dx)*-.3),180px) rotate(calc(var(--turn)*.45))}90%{opacity:.3}100%{opacity:0;transform:translate(var(--dx),430px) rotate(var(--turn))}}
.announcement-vine{width:200px;height:320px;top:-70px;object-fit:contain;opacity:.75;mask-image:linear-gradient(to bottom,transparent,#000 25%,#000 95%,transparent)}.vine-left{left:-70px;transform:rotate(-16deg)}.vine-right{right:-70px;transform:scaleX(-1) rotate(-16deg)}
.lace-pocket{clip-path:none!important}.drawn-icon{display:inline-block;width:15px;height:15px;vertical-align:middle;margin-left:7px}.fine-line:after{content:''!important;width:5px;height:5px;border:1px solid #ab9469;transform:rotate(45deg);background:#faf7ef}.dance-ornament{display:none}
.photo-actions{display:flex;flex-direction:column;align-items:center;gap:15px;margin:25px 0}.photo-previews{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.photo-previews img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:3px}.contribution-modal{background:#fbf7ee;border:1px solid #cbb897}.contribution-modal h2{font-size:45px}.contribution-modal form{text-align:left;margin:25px 0}.contribution-modal label{display:flex;flex-direction:column;gap:8px;margin:16px 0}.contribution-modal input{border:1px solid #cbbdd0;padding:12px;background:#fffdf8}.contribution-modal ul{text-align:left;padding-left:20px;line-height:1.8}.contribution-modal [role=status]{font-size:12px;margin:15px 0}.contribution-modal .demo-note{font-size:11px;line-height:1.6}
@media(max-width:760px){.date-reveal{height:470px}.date-canopy{height:135px;top:-20px}.date-canopy img{width:65%;height:130px}.independent-sprig{width:calc(var(--h)*.36);height:calc(var(--h)*.83);top:32px}.date-reveal.is-revealed .independent-sprig{left:var(--open-x);transform:translate(-50%,var(--lift)) rotate(calc(var(--open-angle)*.45))}.date-inside{inset:130px 0 0}.date-inside .eyebrow{font-size:8px}.announcement-vine{width:150px;height:250px;top:-65px}.vine-left{left:-65px}.vine-right{right:-65px}.date-trigger{padding-top:65px}.date-month{font-size:43px}}
@media(prefers-reduced-motion:reduce){.is-revealed .pollen i{animation:none}.independent-sprig img{animation:none}.date-inside{transition:none}}
/* Longer flowers and a silver-lilac script date. */
.date-reveal{height:660px}.date-inside{inset:240px 0 0}.date-script{font-family:var(--script);font-size:clamp(48px,7.5vw,100px);font-weight:400;white-space:nowrap;line-height:1.5;margin:12px 0;color:#887395;background:linear-gradient(110deg,#776284 0%,#b6a6c2 24%,#e5e3e9 38%,#8e7a9e 49%,#f4f1fa 54%,#a595b4 65%,#786483 80%);background-size:250% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 1px 0 #fff9)}.is-revealed .date-script{animation:date-silver 7s 1s ease-in-out infinite}
@keyframes date-silver{0%,20%{background-position:100% 50%}80%,100%{background-position:0 50%}}
.hanging-fringe{position:absolute;left:var(--x);top:55px;width:calc(var(--length)*.55);height:var(--length);transform:translateX(-50%);pointer-events:none}.hanging-fringe img{width:100%;height:100%;object-fit:contain;transform-origin:50% 0;animation:leaf-breeze var(--sway) ease-in-out infinite alternate}
.pollen i,.pollen i:nth-child(3n){width:var(--leaf-size);height:calc(var(--leaf-size)*1.1);border-radius:0;background:transparent url('assets/wisteria-petal.png') center/contain no-repeat;box-shadow:none;will-change:transform,opacity}
@keyframes gentle-leaves{0%{opacity:0;transform:translate3d(0,0,0) rotate(0) rotateY(20deg)}12%{opacity:.85}45%{opacity:.8;transform:translate3d(calc(var(--dx)*-.4),230px,0) rotate(calc(var(--turn)*.4)) rotateY(125deg)}80%{opacity:.65;transform:translate3d(calc(var(--dx)*.6),440px,0) rotate(calc(var(--turn)*.8)) rotateY(230deg)}100%{opacity:0;transform:translate3d(var(--dx),580px,0) rotate(var(--turn)) rotateY(310deg)}}
/* A bound book: fixed final page, three leaves, and a hinged cloth cover. */
.dance-card{width:210px;height:310px;perspective:1300px;transition:transform 1.2s;margin-bottom:35px}.dance-card.is-flipped{transform:translateX(85px)}.dance-card-turn,.dance-card.is-flipped .dance-card-turn{transform:rotate(-3deg);transition:none;transform-style:preserve-3d}.book-spine{position:absolute;left:-5px;top:0;width:10px;height:100%;border-radius:5px;background:linear-gradient(90deg,#7e6c8c,#c1aecb,#8d769b);transform:translateZ(2px);z-index:1}.dance-back{transform:none;z-index:0;background:linear-gradient(90deg,#d8d0c2,#fffaf0 8%,#f8f1e5 96%,#c6b797);border-radius:2px 7px 7px 2px;box-shadow:2px 1px #e2d7c6,4px 3px #fff8e9,6px 5px #c7bca8,9px 10px 20px #51415430;padding:16px 12px}.dance-back .dance-hour{font-size:42px;margin:15px 0}.dance-back .dance-message{font-size:12px}.dance-back .dance-signature{font-size:27px}.dance-back:before{inset:9px}.book-cover{position:absolute;inset:0;z-index:8;transform-origin:0 50%;transform-style:preserve-3d;transition:transform 1.6s cubic-bezier(.25,.65,.25,1);transform:translateZ(7px)}.book-cover:after{content:'';position:absolute;inset:0;transform:rotateY(180deg);backface-visibility:hidden;border:2px solid #9983a7;border-radius:5px;background:radial-gradient(ellipse,#e5d9eb,#bda8c9);box-shadow:inset 0 0 0 8px #d6c7df,inset 0 0 0 9px #a58cab}.dance-front{border:2px solid #a18aad;border-radius:3px 7px 7px 3px;background:repeating-linear-gradient(0deg,#b5a1c01a 0 1px,transparent 1px 3px),linear-gradient(120deg,#ded0e5,#f3ebf4 45%,#cbb6d6);box-shadow:inset 5px 0 7px #74608045,2px 3px 0 #9e87a9,8px 12px 24px #54405c30}.dance-front:before{border-color:#a790b4;inset:12px}.dance-title{font-size:55px}.dance-date{font-size:7px;letter-spacing:.16em;padding:0 14px}.book-page{position:absolute;inset:3px 2px 3px 0;border-radius:0 5px 5px 0;transform-origin:0 50%;transform-style:preserve-3d;background:linear-gradient(90deg,#d2c6b3,#fffaf1 12%,#eee5d4);border:1px solid #cbbba2;box-shadow:2px 2px 3px #63513b26;transition:transform 1.3s cubic-bezier(.25,.6,.3,1);backface-visibility:visible}.book-page:before{content:'';position:absolute;inset:30px 20px;border-top:1px solid #bdabc7;border-bottom:1px solid #bdabc7;background:repeating-linear-gradient(transparent 0 24px,#bba9bd30 24px 25px)}.page-one{z-index:6;transform:translateZ(5px);transition-delay:.9s}.page-two{z-index:5;transform:translateZ(4px);transition-delay:1.7s}.page-three{z-index:4;transform:translateZ(3px);transition-delay:2.5s}.is-flipped .book-cover{transform:translateZ(7px) rotateY(-172deg)}.is-flipped .page-one{transform:translateZ(5px) rotateY(-166deg)}.is-flipped .page-two{transform:translateZ(4px) rotateY(-160deg)}.is-flipped .page-three{transform:translateZ(3px) rotateY(-154deg)}
@media(max-width:760px){.date-reveal{height:610px}.date-inside{inset:250px 0 10px}.date-script{font-size:clamp(39px,12vw,59px);margin:12px 0;letter-spacing:-.02em}.date-canopy img{height:145px}.hanging-fringe{top:65px;height:calc(var(--length)*.95);width:calc(var(--length)*.4)}.independent-sprig{width:calc(var(--h)*.29);height:calc(var(--h)*.87)}.dance-card{width:170px;height:270px}.dance-card.is-flipped{transform:translateX(74px)}.dance-title{font-size:46px}.dance-date{font-size:6px}.dance-back .eyebrow{font-size:7px}.dance-back .dance-message{font-size:10px}.dance-back .dance-hour{font-size:35px;margin:15px 0}.dance-back .dance-signature{font-size:25px}.dance-scene{width:100%}}
@media(prefers-reduced-motion:reduce){.is-revealed .date-script,.hanging-fringe img{animation:none}.book-cover,.book-page,.dance-card{transition:none}}
/* Preserve the requested hanging length instead of fitting the flowers into a narrow box. */
.independent-sprig img{object-fit:fill}.hanging-fringe{top:25px}.hanging-fringe img{object-fit:fill}
@media(max-width:760px){.hanging-fringe{top:25px}.dance-card{width:165px}.dance-card.is-flipped{transform:translateX(80px)}}
/* Refinements from the annotated mobile review. */
.feather-opening.opening:before{content:'';display:block;position:absolute;inset:0;background:#eee8dd;z-index:-1;opacity:1;transition:opacity 1.4s ease .25s}.feather-opening.is-closing:before{opacity:0}
.book-page:before{background:none;border:1px solid #bfaec12e;inset:18px;border-radius:40% 3% 35% 2%}.book-page{background:radial-gradient(ellipse at 30% 30%,#fffdf5,#f3ebdd 75%,#d3c7b7);box-shadow:inset -3px 0 8px #8f7e6320,2px 3px 4px #63513b26}.book-page:after{content:'';position:absolute;inset:0;background:url('assets/roses-peonies.png') 110% 110%/75% auto no-repeat;opacity:.12;pointer-events:none}.dance-back{background:radial-gradient(ellipse at 60% 25%,#fffdf7,#f2e9db);box-shadow:inset 7px 0 12px #98867323,2px 1px #e2d7c6,4px 3px #fff8e9,6px 5px #c7bca8,9px 10px 20px #51415430}
.hero h1{display:flex;flex-direction:column;align-items:center;gap:0;line-height:.95}.hero h1 .given-name{display:block;font-size:clamp(76px,8.5vw,120px);color:#fffaf0}.hero h1 .names-and{font-family:var(--script);display:block;font-size:42px;line-height:1.05;color:#e7d6af;margin:5px 0}.hero-copy{bottom:7%}.hero-copy>.eyebrow{margin-bottom:20px}
.finale h2{white-space:nowrap;font-size:clamp(22px,5vw,64px);line-height:1.4;margin:20px 0}.finale .stacked-names{display:flex;flex-direction:column;align-items:center;font-size:clamp(64px,7vw,96px);line-height:.95;margin:26px 0}.stacked-names .names-and{font-size:35px;line-height:1.2;margin:4px 0}
.date-reveal{height:555px}.date-inside{inset:130px 0 0}.date-script{padding:.08em .5em .16em;margin:0 -.3em;overflow:visible;-webkit-text-stroke:.35px #8d779e;filter:drop-shadow(0 2px 1px #5a3d6b38)}.date-weekday{margin-top:6px}.date-caption{margin-top:0}.date-reveal .pollen{position:absolute;inset:0;width:100%;height:100%;z-index:5;pointer-events:none}
.rose-decoration{position:absolute;width:clamp(150px,22vw,300px);height:auto;pointer-events:none;z-index:0}.story,.programme,.keepsakes,.rsvp{position:relative;isolation:isolate}.rose-story{right:-55px;top:24px;transform:rotate(-30deg);opacity:.7}.rose-programme{left:-70px;bottom:-5px;transform:rotate(28deg);opacity:.6}.rose-keepsakes{right:-65px;top:-18px;transform:rotate(-15deg);opacity:.6}.rose-rsvp{left:-65px;bottom:15px;opacity:.7}.story>.reveal,.programme>header,.keepsakes>header,.keepsake-layout,.rsvp-copy,.rsvp-art{position:relative;z-index:1}
@media(max-width:760px){.hero h1 .given-name{font-size:80px}.hero h1 .names-and{font-size:33px;margin:2px 0}.hero-copy{bottom:7%}.hero-copy>.eyebrow{font-size:7px;margin-bottom:18px}.finale h2{font-size:5.35vw;letter-spacing:-.02em}.finale .stacked-names{font-size:65px}.date-reveal{height:520px}.date-inside{inset:115px 0 0}.date-script{font-size:11vw;padding-left:.55em;padding-right:.55em}.rose-decoration{width:160px}.rose-story{right:-70px;top:30px}.rose-programme{left:-90px;bottom:10px}.rose-keepsakes{right:-75px;top:10px}.rose-rsvp{left:-90px;bottom:0}}
@media(prefers-reduced-motion:reduce){.feather-opening.opening:before{transition:none}}
.story,.programme,.rsvp{overflow:hidden}.date-inside{z-index:4}.date-trigger{z-index:6}.date-script{filter:drop-shadow(0 1px 1px #fffdf4) drop-shadow(0 2px 1px #5a3d6b45)}
@media(max-width:760px){.date-script{font-size:10.5vw}.date-reveal.is-revealed .independent-sprig{left:calc(var(--open-x))}}
@media(max-width:760px){.locket.is-open{transform:translateX(39px)}}
/* Each leaf has two paper faces. Only the moving leaf rises above the stack. */
.dance-card-turn,.dance-card.is-flipped .dance-card-turn{transform-style:flat;perspective:1500px}
.dance-card .book-cover,.dance-card .book-page{transform:rotateY(0deg);transition:transform 1.1s cubic-bezier(.3,.55,.25,1);transition-delay:0s}
.dance-card .book-cover.is-turned{transform:rotateY(-174deg)}
.dance-card .book-page.is-turned{transform:rotateY(-170deg)}
.dance-card .book-page{background:none;border:0;box-shadow:none}
.dance-card .book-page:before,.dance-card .book-page:after{display:none}
.leaf-face,.dance-card .dance-back{background:radial-gradient(ellipse at 60% 25%,#fffdf7,#f2e9db);border:1px solid #cbbba2;border-radius:0 5px 5px 0;box-shadow:inset 6px 0 12px #98867323,2px 2px 3px #63513b26}
.leaf-face{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 14px;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}
.leaf-back{transform:rotateY(180deg)}
.leaf-face:before,.dance-card .dance-back:before{content:'';position:absolute;inset:12px;border:1px solid #bfaec13d;border-radius:40% 3% 35% 2%;pointer-events:none}
.leaf-face:after,.dance-card .dance-back:after{content:'';position:absolute;inset:0;background:url('assets/roses-peonies.png') 110% 110%/75% auto no-repeat;opacity:.12;pointer-events:none}
.leaf-face>span,.dance-back>span{position:relative;z-index:1}
.leaf-hour{font-size:14px;letter-spacing:.12em;color:var(--gold);margin-bottom:22px}
.leaf-title{font-family:var(--script);font-size:38px;line-height:1.2;color:var(--plum)}
.leaf-caption{font-size:12px;line-height:1.8;margin:18px 0;max-width:145px}
.leaf-stamp{font-family:var(--script);font-size:30px;color:#8c7b63;transform:rotate(-9deg);border-bottom:1px solid #b09d7b80;padding:0 12px}
.leaf-signature{font-family:var(--script);font-size:25px;color:var(--plum)}
.sound-button{width:36px;height:36px;background:transparent;color:inherit;display:grid;place-items:center;padding:7px}.sound-button[hidden]{display:none}.sound-button svg{width:22px;height:22px}.sound-button .sound-waves{display:none}.sound-button[aria-pressed=true] .sound-waves{display:block}.sound-button[aria-pressed=true] .sound-slash{display:none}
@media(max-width:760px){.leaf-title{font-size:31px}.leaf-caption{font-size:10px}.leaf-hour{font-size:12px;margin-bottom:16px}.leaf-signature{font-size:23px}}
@media(prefers-reduced-motion:reduce){.dance-card .book-cover,.dance-card .book-page{transition:none}}
/* Precious binding, gilt edges and opaque, explicitly selected page faces. */
.invitation-heading{display:flex;flex-direction:column;align-items:center;gap:4px;line-height:1.12;margin-bottom:36px!important}.invitation-heading>span{display:block}.invitation-heading .heading-and{font-size:.65em;line-height:1.1;margin:4px 0}
.dance-card .book-page,.dance-card .book-cover{transition:none!important;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}
.leaf-face{transform:translateZ(.6px);-webkit-transform:translateZ(.6px)}.leaf-back{transform:rotateY(180deg) translateZ(.6px);-webkit-transform:rotateY(180deg) translateZ(.6px)}
.gilded-heart{width:35px;height:35px;color:#b39453;filter:drop-shadow(0 1px 0 #fff);position:relative;z-index:2}
.dance-card .dance-front{background:radial-gradient(ellipse at 22% 12%,#a38ba8,#715979 65%,#4b3757);border:2px solid #a88a4d;border-radius:3px 9px 9px 3px;box-shadow:inset 5px 0 5px #2c193b99,inset 8px 0 0 #d9bc7545,inset -2px 0 4px #f4dca770,3px 2px 0 #ddc385,5px 4px 0 #7c6238,9px 12px 18px #38243d40}
.dance-front>img{opacity:.12;mix-blend-mode:luminosity;top:auto;bottom:-5%;right:-15%;width:100%}
.dance-card .dance-front:before{inset:12px;border:3px double #d9bd7e;border-radius:2px 7px 7px 2px;box-shadow:0 0 0 1px #3f2c4c,inset 0 0 0 1px #3f2c4c}
.cover-tooling{position:absolute!important;inset:21px;border:1px solid #c3a15d;border-radius:55px 55px 40px 40px;box-shadow:inset 0 1px 0 #f3dd9f80,0 1px 0 #392a4440;pointer-events:none}
.cover-tooling:before,.cover-tooling:after{content:'';position:absolute;left:50%;width:25px;height:25px;border:3px double #d5b770;transform:translateX(-50%) rotate(45deg);border-radius:50% 0 50% 0;box-shadow:inset 0 0 0 3px #b4965a33}.cover-tooling:before{top:10px}.cover-tooling:after{bottom:10px}
.dance-card .dance-title{color:#e9ce90;text-shadow:0 1px 0 #392141,0 -1px 0 #fff1c080;font-size:54px;line-height:1.1}
.dance-card .dance-date{color:#e2cea2;max-width:85%;line-height:1.9;letter-spacing:.15em;margin-top:23px}
.dance-card .book-spine{width:13px;left:-7px;background:repeating-linear-gradient(0deg,transparent 0 43px,#c7a05b 44px,#f0d594 46px,#745633 48px,transparent 50px 70px),linear-gradient(90deg,#48324e,#a18aa4 45%,#62476c);box-shadow:-2px 3px 4px #48324e40;border-radius:5px 0 0 5px}
.dance-card .book-cover:after{border:2px solid #b29458;background:radial-gradient(ellipse at 30% 20%,#f6edd9,#e4d4b3);box-shadow:inset 0 0 0 8px #796080,inset 0 0 0 10px #c3a360;border-radius:4px 7px 7px 4px}
.leaf-face,.dance-card .dance-back{border-color:#c8ac72;box-shadow:inset 9px 0 15px #907c5820,inset -1px 0 1px #fff8e8,1px 1px #f5dfaa,2px 2px #a68b4d,3px 3px #ebd49b,4px 4px #b49b65}
.leaf-face:before,.dance-card .dance-back:before{border-color:#c5a66370;border-radius:2px;inset:12px;outline:1px solid #d3b77b26;outline-offset:3px}
@media(max-width:760px){.announcement .invitation-heading{font-size:57px}.dance-card .dance-title{font-size:44px}.cover-tooling{inset:19px}.dance-card .dance-date{font-size:6px}.cover-tooling:before,.cover-tooling:after{width:20px;height:20px}}

/* Restore the immersive fan with a modestly wider framing and floral lower corners. */
.feather-opening.opening:before{background:#eee8dd;opacity:1;transition:opacity 1.4s ease .25s}
.feather-opening.is-closing:before{opacity:0}
.opening-blooms{position:absolute;inset:0;pointer-events:none;z-index:0;transition:opacity 1.5s ease 2.8s}
.opening-bloom{position:absolute;bottom:-12%;width:clamp(240px,35vw,570px);height:auto}
.bloom-left{left:-9%;transform:scaleX(-1) rotate(-8deg)}
.bloom-right{right:-9%;transform:rotate(-8deg)}
.feather-opening .feather-trigger{z-index:1}.feather-opening .feather-copy{z-index:2}
.feather-opening.is-closing .opening-blooms{opacity:0}
@media(max-width:760px){.opening-bloom{width:65vw;bottom:-5%}.bloom-left{left:-20%}.bloom-right{right:-20%}}
@media(prefers-reduced-motion:reduce){.opening-blooms,.feather-opening.opening:before{transition:none}}
