.cinema{--paper:#fff6e6;--ink:#632b31;--line:#b78472;--panel:#f1dfca;--rsvp:#ead3bd}.cinema.velvet{--paper:#210f19;--ink:#fff2dc;--line:#946b77;--panel:#391825;--rsvp:#4b1e2c}.cinema.moonlight{--paper:#101e30;--ink:#f6ead6;--line:#7d99af;--panel:#1c3348;--rsvp:#233d50}.cinema .hero{min-height:760px;grid-template-columns:1.1fr 1fr;gap:6vw;padding:100px 8vw 90px}.cinema h1{font-size:clamp(64px,7.8vw,116px);line-height:1.02}.cinema .hero-copy{max-width:720px}.cinema .hero-foot{left:8vw}.cinema #music-toggle{position:absolute;right:28px;top:20px;background:transparent;color:var(--ink)}.cinema .intro{grid-template-columns:1fr 3fr}.cinema .intro .section-mark{border-top:1px solid var(--line);padding-top:20px}.cinema .intro>div{max-width:780px}.cinema .rsvp>.eyebrow{max-width:none;text-align:center;margin-inline:auto}.cinema .gallery-section>#add-photo-inline{display:flex!important;margin:30px auto 0}.cinema:not(.editing) .gallery-section>#add-photo-inline{display:none!important}.cinema .details-subblock{max-width:740px;margin:40px auto 0;border-top:1px solid var(--line);padding-top:30px}.cinema .details-subblock h3{font:30px Georgia;margin-bottom:20px}.cinema .details-subblock p{margin:auto}.cinema .photo-tools{justify-content:center;gap:12px}.cinema .photo-tools button{margin:0}.cinema .end-mark{font:italic 42px Georgia;letter-spacing:.2em;margin-bottom:35px}.cinema .rsvp:before,.cinema .rsvp:after{display:none}.cinema .rsvp{border-block:1px solid var(--line)}.cinema .plan-text{margin-top:25px}.cinema .cinema-art{position:relative;min-height:430px;display:grid;place-items:center;isolation:isolate;animation:arrive 1.6s ease both}.ticket{width:90%;background:#e8bd75;color:#54232c;position:relative;padding:30px;transform:rotate(-9deg);border:1px solid #8e503e;box-shadow:15px 22px 0 #632b31;outline:1px solid #8e503e;outline-offset:-13px;display:grid;grid-template-columns:1fr 90px;gap:15px;border-radius:15px}.ticket:before,.ticket:after{content:'';position:absolute;top:54%;width:30px;height:30px;background:var(--paper);border-radius:50%}.ticket:before{left:-15px}.ticket:after{right:-15px}.ticket span{font-size:23px;letter-spacing:.13em;writing-mode:vertical-rl;transform:rotate(180deg);grid-row:1/3;align-self:center}.ticket b{font:140px/.95 Georgia;grid-column:2;justify-self:center}.ticket i{font:16px Arial;grid-column:2;border-top:2px dashed #8e503e;padding-top:20px;white-space:nowrap}.tickets .ticket{grid-template-columns:50px 1fr}.tickets .screen,.tickets .seats{display:none}.screen{width:95%;height:270px;background:#fff4d9;color:#39242d;box-shadow:0 0 70px #ffdfae44;display:flex;flex-direction:column;align-items:center;justify-content:center;border:10px solid #140d16;transform:perspective(900px) rotateY(-8deg)}.screen span{font:italic 29px Georgia}.screen b{font:80px Georgia;letter-spacing:.15em;margin-top:18px}.velvet .ticket,.moonlight .ticket{display:none}.velvet .cinema-art:before,.velvet .cinema-art:after{content:'';position:absolute;top:-40px;bottom:-30px;width:24%;background:repeating-linear-gradient(90deg,#3d0d21,#791d35 24%,#521126 48%);z-index:2;border-radius:0 0 45% 10%;box-shadow:5px 0 20px #0005}.velvet .cinema-art:before{left:-5%}.velvet .cinema-art:after{right:-5%;transform:scaleX(-1)}.seats{position:absolute;bottom:0;display:flex;gap:18px;z-index:3}.seats i{display:block;width:110px;height:115px;background:linear-gradient(100deg,#52172c,#92334b);border:1px solid #b75e71;border-radius:35px 35px 14px 14px;box-shadow:0 14px 0 #1b101b}.moonlight .hero{background:radial-gradient(ellipse at 80% 35%,#41566b66,transparent 55%)}.moonlight .cinema-art{background:radial-gradient(circle at 15% 12%,#fff2d9 1px,transparent 2px),radial-gradient(circle at 80% 8%,#fff2d9 2px,transparent 3px),radial-gradient(circle at 55% 30%,#fff2d9 1px,transparent 2px),radial-gradient(circle at 90% 40%,#fff2d9 1px,transparent 2px)}.moonlight .cinema-art:before{content:'';position:absolute;right:12%;top:-30px;width:65px;height:65px;border-radius:50%;box-shadow:inset 15px -7px 0 #edcf98;transform:rotate(-25deg)}.moonlight .screen{height:230px;border:5px solid #927a60;box-shadow:0 0 60px #f8d79a22;transform:rotate(-3deg);margin-top:50px}.moonlight .seats i{height:70px;width:100px;border-radius:45% 45% 15px 15px;background:#a5674f;border:1px solid #d2a17e;transform:rotate(-7deg)}.moonlight .seats i+ i{transform:rotate(7deg)}.cinema .hero-copy{animation:arrive 1.3s ease both}.cinema.editing .hero-copy{animation:none}.cinema .scene .waiting{opacity:0;transform:translateY(24px)}@keyframes arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.cinema button:focus-visible,.cinema a:focus-visible{outline-color:var(--ink)}.cinema .visual-settings-sheet button{color:#fff;background:#523d2d}.cinema .visual-settings-sheet{color:#312b28}.cinema .rsvp input{accent-color:#9c4c50}
.collection{margin:0;padding:60px max(5vw,24px);background:#fbf6ed;color:#392a2d;font:18px/1.6 Arial}.collection header{max-width:900px;margin-bottom:45px}.collection h1{font:clamp(48px,7vw,90px)/1.1 Georgia;margin:15px 0}.collection header>p:first-child{font-size:16px;letter-spacing:.15em}.collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.collection .cover{aspect-ratio:.82;border-radius:23px;display:flex;flex-direction:column;padding:30px;text-decoration:none;background:#efddc1;color:#632b31;overflow:hidden}.collection .cover.velvet{background:repeating-linear-gradient(90deg,#3d0d21,#59162b 10%,#461020 20%);color:#fff0d9}.collection .cover.moonlight{background:radial-gradient(ellipse at 80% 15%,#58687b,#101e30 70%);color:#f6ead6}.collection .cover>span{font-size:16px;letter-spacing:.07em}.collection h2{font:clamp(28px,3vw,45px)/1.05 Georgia;margin:24px 0}.collection .cover p{font-size:17px;margin:16px 0 0}.mini-art{margin:auto;display:grid;place-items:center;width:80%;min-height:90px;border:1px solid currentColor;font:70px Georgia;transform:rotate(-7deg)}.velvet .mini-art{background:#fff0d9;color:#632b31;transform:none}.moonlight .mini-art{border:0;font-size:100px}.collection h3{font:25px Georgia;margin:20px 0 8px}.collection a{color:inherit;text-underline-offset:5px}.collection article>a:last-child{display:inline-block;padding:10px 0;min-height:48px}.collection details{margin-top:45px;max-width:760px}.collection summary{cursor:pointer;min-height:48px}
@media(max-width:1000px){.cinema .hero{grid-template-columns:1fr;text-align:center;gap:45px}.cinema .hero-copy{margin:auto}.cinema .hero p{margin-inline:auto}.cinema .cinema-art{width:min(450px,90%);margin:auto;min-height:370px}.cinema .hero-foot{right:8vw}.collection-grid{grid-template-columns:1fr 1fr}.collection .cover{padding:25px}.cinema .intro{grid-template-columns:1fr}}
@media(max-width:600px){.cinema .hero{padding:100px 25px 80px;gap:35px}.cinema h1{font-size:clamp(52px,14vw,78px)}.cinema .cinema-art{min-height:300px;width:95%}.cinema .ticket{padding:25px}.ticket b{font-size:110px}.ticket i{font-size:16px}.ticket span{font-size:20px}.screen{height:220px}.screen span{font-size:24px}.seats i{width:85px;height:85px}.moonlight .screen{height:190px}.cinema .details-subblock h3{font-size:28px}.collection-grid{grid-template-columns:1fr}.collection .cover{padding:30px}.collection h2{font-size:42px}.collection .mini-art{min-height:130px}.cinema .toolbar{flex-wrap:wrap}.cinema .rsvp h2{font-size:38px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.cinema .hero-copy,.cinema .cinema-art{animation:none}.cinema .waiting{opacity:1!important;transform:none!important}}
/* Photographic cutouts replace the original geometric illustration. */
.cinema .cinema-art.realistic-art{width:100%;min-height:0;display:block;background:none;animation:arrive 1.6s ease both;max-width:660px;justify-self:center}.cinema .cinema-art.realistic-art:before,.cinema .cinema-art.realistic-art:after{display:none}.cinema .cinema-art.realistic-art img{display:block;width:100%;height:auto;max-height:620px;object-fit:contain;filter:drop-shadow(0 22px 24px #0002)}.velvet .cinema-art.realistic-art img{filter:drop-shadow(0 20px 30px #0005)}.moonlight .cinema-art.realistic-art img{filter:drop-shadow(0 12px 25px #0004)}.collection .cover-art{display:block;width:100%;height:0;min-height:0;flex:1;object-fit:contain;margin:8px auto}.collection .cover{padding:25px}.collection .cover h2{margin:18px 0 8px}.collection .cover p{font-size:17px;margin-top:12px}.collection .cover.velvet{background:radial-gradient(ellipse at center,#5e2537,#210f19 80%)}@media(max-width:1000px){.cinema .cinema-art.realistic-art{width:min(100%,550px);margin:0 auto}.cinema .hero{gap:32px}}@media(max-width:600px){.cinema .cinema-art.realistic-art{width:calc(100% + 16px);margin:0 -8px}.cinema .cinema-art.realistic-art img{max-height:420px}.collection .cover{padding:25px}.collection .cover h2{font-size:38px}}@media(prefers-reduced-motion:reduce){.cinema .cinema-art.realistic-art{animation:none}}

.cinema .closing-popcorn{display:block;width:190px;max-width:60%;height:auto;margin:0 auto 30px;filter:drop-shadow(0 12px 16px #0003)}

.cinema.velvet .intro{display:block}.cinema.velvet .intro>div{max-width:780px;margin-inline:auto}
/* Velvet: combine related content into two composed scenes in clean preview. */
.cinema.velvet .scene:not(.hero){padding-top:64px;padding-bottom:64px}
.cinema.velvet .hero{min-height:650px;padding-top:80px;padding-bottom:80px}
.cinema.velvet .compact-pair{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:60px;padding:64px max(5vw,28px);border-top:1px solid var(--line);background:var(--panel)}
.cinema.velvet .compact-pair>.scene{padding:0;border:0;background:none;min-height:0;overflow:visible}
.cinema.velvet .compact-meeting .intro>div{margin:0}.cinema.velvet .compact-meeting .intro p{font-size:19px;line-height:1.65}.cinema.velvet .compact-meeting .venue{display:flex;flex-direction:column;gap:20px;align-items:stretch;text-align:start;padding-left:40px;border-left:1px solid var(--line)}
.cinema.velvet .compact-meeting .venue h2{font-size:clamp(32px,3vw,44px);margin:14px 0}.cinema.velvet .compact-meeting .venue p{margin:0}.cinema.velvet .compact-meeting .venue-accent{display:none}.cinema.velvet .compact-meeting .venue figure{width:100%;max-width:380px}
.cinema.velvet .compact-evening{background:var(--paper)}.cinema.velvet .compact-evening .program{display:block}.cinema.velvet .compact-evening .program h2{font-size:clamp(34px,3.5vw,48px);margin:12px 0 26px}.cinema.velvet .compact-evening .schedule-row{padding:17px 0}.cinema.velvet .compact-evening .invitation-details{padding-left:40px;border-left:1px solid var(--line);text-align:start}.cinema.velvet .compact-evening .details-copy h2{font-size:clamp(34px,3.5vw,48px);margin:15px 0 25px}.cinema.velvet .compact-evening .details-copy>.eyebrow{display:none}.cinema.velvet .compact-evening .details-copy p{margin:0}.cinema.velvet .compact-evening .details-subblock{margin-top:25px;padding-top:22px}.cinema.velvet .compact-evening .details-subblock h3{font-size:28px}
.cinema.velvet .closing{padding-top:48px;padding-bottom:30px}.cinema.velvet .closing-popcorn{width:150px;margin-bottom:22px}.cinema.velvet footer{padding-top:40px}
@media(max-width:760px){.cinema.velvet .hero{padding-top:90px;padding-bottom:70px;min-height:0}.cinema.velvet .scene:not(.hero){padding-top:45px;padding-bottom:45px}.cinema.velvet .compact-pair{grid-template-columns:1fr;gap:30px;padding:45px 25px}.cinema.velvet .compact-pair>.scene{padding:0}.cinema.velvet .compact-meeting .venue,.cinema.velvet .compact-evening .invitation-details{padding:28px 0 0;border-left:0;border-top:1px solid var(--line)}.cinema.velvet .compact-meeting .venue h2{font-size:34px}.cinema.velvet .compact-meeting .intro p{font-size:18px}.cinema.velvet .compact-evening .program h2,.cinema.velvet .compact-evening .details-copy h2{font-size:36px}.cinema.velvet .compact-evening .details-subblock h3{font-size:27px}}
/* Author-selected left alignment in the compact content blocks. */
.cinema.velvet .intro,.cinema.velvet .venue,.cinema.velvet .program,.cinema.velvet .invitation-details,
.cinema.velvet .intro :is(h2,p),.cinema.velvet .venue :is(h2,p),.cinema.velvet .program :is(h2,p),.cinema.velvet .invitation-details :is(h2,h3,p){text-align:left!important}
.cinema.velvet .venue-copy,.cinema.velvet .details-copy{width:100%;margin-inline:0}
.cinema.velvet .venue-copy>p,.cinema.velvet .details-copy>p,.cinema.velvet .details-subblock>p{margin-inline:0!important}
/* Explicit exception for this design: every text block uses a left reading edge. */
body.cinema.velvet.public-invitation #invitation,
body.cinema.velvet.public-invitation #invitation *{text-align:left!important;text-align-last:left!important}
body.cinema.velvet.public-invitation #invitation :is(h1,h2,h3,p,details,form,.hero-copy,.venue-copy,.details-copy,.details-subblock){margin-left:0!important;margin-right:0!important;text-wrap:wrap}
body.cinema.velvet.public-invitation #invitation .rsvp>.eyebrow{margin-inline:0!important}
body.cinema.velvet.public-invitation #invitation .closing-popcorn{margin-left:0;margin-right:0}
body.cinema.velvet.public-invitation #invitation footer{padding-left:max(5vw,28px);padding-right:max(5vw,28px)}
@media(max-width:760px){body.cinema.velvet.public-invitation #invitation footer{padding-inline:25px}}
/* The response invitation and personal closing retain a centred composition. */
body.cinema.velvet.public-invitation #invitation .rsvp,
body.cinema.velvet.public-invitation #invitation .rsvp>:is(.eyebrow,h2,.rsvp-deadline,details,button),
body.cinema.velvet.public-invitation #invitation .rsvp>details>summary,
body.cinema.velvet.public-invitation #invitation .closing,
body.cinema.velvet.public-invitation #invitation .closing h2{ text-align:center!important;text-align-last:center!important }
body.cinema.velvet.public-invitation #invitation .rsvp>:is(.eyebrow,h2,.rsvp-deadline,details),
body.cinema.velvet.public-invitation #invitation .closing h2,
body.cinema.velvet.public-invitation #invitation .closing-popcorn{margin-left:auto!important;margin-right:auto!important}
body.cinema.velvet.public-invitation #invitation .rsvp>.rsvp-deadline{width:100%}
