/* Shared structure only. Palette, artwork, composition and animation are scoped by each theme stylesheet. */
body[data-collection="illustrated"] #invitation{background:var(--paper)}
body[data-collection="illustrated"] .topbar{background:var(--paper);color:var(--ink)}
body[data-collection="illustrated"] .hero.wc-hero{padding:0;min-height:0;background:var(--paper);text-align:center;overflow:hidden}
body[data-collection="illustrated"] .hero.wc-hero:before,body[data-collection="illustrated"] .hero.wc-hero:after{display:none}
.wc-scene{margin:0;width:100%;height:260px;overflow:hidden}.wc-scene img{width:100%;height:100%;object-fit:cover;object-position:center}
.wc-hero-copy{padding:32px 58px 46px;background:var(--wc-frame) center top/100% auto repeat-y;position:relative}
body[data-collection="illustrated"] .wc-names{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center;font:400 clamp(34px,9cqw,54px)/1.13 'Cormorant Garamond',Georgia,serif;color:var(--ink);margin:22px 0;overflow-wrap:anywhere}
.wc-names span{max-width:100%}.wc-names em{font:italic .76em Georgia,serif;color:var(--gold)}
.wc-family,.wc-date{font-size:12px;line-height:1.8}.wc-date{text-transform:uppercase;letter-spacing:.12em}.wc-welcome{font-size:17px;line-height:1.65}.wc-guest{font-size:14px;line-height:1.6}.wc-guest strong{display:block}.wc-portrait{width:120px;height:140px;object-fit:cover;border-radius:60px 60px 0 0}
.wc-explore{font-size:12px;display:inline-block;margin-top:14px;color:var(--ink);text-underline-offset:5px}
.wc-divider{display:flex;align-items:center;justify-content:center;gap:12px;color:var(--gold);margin:22px auto}.wc-divider:before,.wc-divider:after{content:"";width:42px;height:1px;background:var(--gold);opacity:.45}.wc-divider span{font-size:18px}
body[data-collection="illustrated"] #invitation main>.section.wc-section{margin:12px 0;padding:34px clamp(40px,11cqw,54px) 18px;border:0!important;color:var(--ink);background:var(--paper) var(--wc-frame) center top/100% auto repeat-y;position:relative;isolation:isolate}
.wc-frame-copy{position:relative;z-index:1;padding:16px 0 8px;text-align:center}body[data-collection="illustrated"] .wc-frame-copy h2{font-size:clamp(28px,7cqw,38px);font-weight:400;margin:12px 0 25px;color:var(--ink)}.wc-frame-copy>.ornament{display:none}.wc-frame-copy>.small{letter-spacing:.13em;font-size:9px}
.wc-events{display:block!important;margin-top:30px!important}.wc-event{display:flex;gap:15px;text-align:start;padding:0 0 30px!important;margin:0!important;border:0!important;box-shadow:none!important;background:none!important;border-radius:0!important}.wc-event-icon{width:37px;min-width:37px;height:37px;display:grid;place-items:center;border:1px solid var(--gold);border-radius:50%;font-size:22px;color:var(--gold)}.wc-event-copy{flex:1;min-width:0;padding-inline-start:16px;border-inline-start:1px solid color-mix(in srgb,var(--gold) 55%,transparent)}.wc-event h3{font:400 24px/1.2 'Cormorant Garamond',Georgia,serif;color:var(--ink);margin:0 0 12px}.wc-event p{font-size:15px;line-height:1.65;margin:5px 0}.wc-event-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}.wc-event-actions a,.wc-event-actions button{color:var(--ink);background:var(--paper);border:1px solid var(--gold);border-radius:18px;font-size:11px;padding:8px 11px;text-decoration:none}
.wc-venue{margin:18px auto;width:80%}.wc-venue img{width:100%;max-height:250px;object-fit:cover;border-radius:3px}body[data-collection="illustrated"] .venue-frame{padding:15px 0;border:0}body[data-collection="illustrated"] footer.dark{background:var(--paper);color:var(--ink);border-top:1px solid var(--line)}
.wc-opening{--wc-opening-art:none;--wc-inner-art:none;padding:0!important;background:var(--paper);overflow:hidden!important;color:var(--ink);perspective:1400px}
.wc-stage{position:absolute;inset:0;perspective:1400px;isolation:isolate}.wc-reveal-card{position:absolute;inset:0;background:var(--paper);overflow:hidden}.wc-reveal-card>img{width:100%;height:100%;object-fit:contain;position:absolute;inset:0}.wc-reveal-copy{position:absolute;top:41%;left:16%;right:16%;text-align:center;color:var(--ink)}.wc-reveal-copy>p{font-size:12px;line-height:1.6}.wc-reveal-copy>strong{font:400 36px/1.15 'Cormorant Garamond',Georgia,serif;display:flex;flex-direction:column;gap:8px;overflow-wrap:anywhere}.wc-reveal-copy em{font-size:.7em;color:var(--gold)}
.wc-leaves{position:absolute;inset:0;perspective:1400px;pointer-events:none}.wc-leaf{position:absolute;top:0;bottom:0;width:50%;overflow:hidden;backface-visibility:hidden;transition:transform 2s cubic-bezier(.2,.7,.2,1) .5s,opacity 1s 2s}.wc-leaf img{width:200%;height:100%;max-width:none;position:absolute;top:0;object-fit:contain}.wc-left{left:0;transform-origin:left}.wc-right{right:0;transform-origin:right}.wc-leaf.wc-left img{left:0}.wc-leaf.wc-right img{right:0}
.wc-seal{position:absolute;left:50%;top:49%;transform:translate(-50%,-50%);width:90px;height:105px;z-index:6;border:0;background:transparent;color:var(--ink);font:italic 27px/1.3 Georgia,serif;overflow-wrap:anywhere;transition:opacity .35s,transform .45s}.wc-seal span{max-width:78px;display:block;margin:auto}
.wc-enter{position:absolute;bottom:55px;left:50%;transform:translateX(-50%);width:max-content;max-width:84%;padding:13px 25px;background:var(--paper);color:var(--ink);border:1px solid var(--gold);border-radius:28px;z-index:8;font:14px/1.4 Georgia,serif;box-shadow:0 3px 12px #0002;transition:opacity .3s}.wc-brand{position:absolute;bottom:12px;left:0;right:0;text-align:center;font:9px Arial,sans-serif;letter-spacing:.12em;color:var(--ink);background:color-mix(in srgb,var(--paper) 85%,transparent);padding:7px;z-index:8}.wc-skip{position:absolute;top:16px;inset-inline-end:16px;padding:10px 13px;font:11px Arial,sans-serif;border:1px solid var(--line);border-radius:22px;background:var(--paper);color:var(--ink);z-index:9}
.wc-opening.is-opening .wc-seal{opacity:0;transform:translate(-50%,-50%) scale(.8);pointer-events:none}.wc-opening.is-opening .wc-enter{opacity:0;pointer-events:none}.wc-opening.is-opening .wc-leaf.wc-left{transform:rotateY(-112deg);opacity:0}.wc-opening.is-opening .wc-leaf.wc-right{transform:rotateY(112deg);opacity:0}
@media(max-width:360px){.wc-hero-copy{padding-inline:44px}.wc-event{gap:9px}.wc-event-copy{padding-inline-start:10px}.wc-event-icon{width:29px;min-width:29px;height:29px}.wc-event h3{font-size:22px}}
@media(prefers-reduced-motion:reduce){.wc-opening *{animation:none!important;transition:none!important}}
body[data-collection="illustrated"] .hero .wc-names,body[data-collection="illustrated"] .hero .wc-names span{color:var(--ink)!important}body[data-collection="illustrated"] .hero .wc-names em{color:var(--ink)!important;opacity:.7}
.wc-hero-copy{padding-bottom:70px}.wc-explore{background:var(--paper);padding:8px 12px;border-radius:20px}
.wc-vellum{position:absolute;top:0;bottom:0;width:50%;background-image:var(--wc-opening-art);background-size:200% auto;backface-visibility:hidden;transition:transform 1.8s cubic-bezier(.2,.7,.2,1) 1s,opacity 1s 2s;z-index:3}.wc-vellum.wc-left{background-position:left}.wc-vellum.wc-right{background-position:right}
.wc-silk{position:absolute;top:55%;height:40px;width:50%;background:linear-gradient(#839db2,#bbcbd7 24%,#728ea6 70%,#9fb6c9);z-index:4;transition:transform 1s ease,opacity .8s ease;box-shadow:0 2px 4px #344b6340}.wc-silk-left{left:0}.wc-silk-right{right:0}.wc-silk:after{content:"";position:absolute;top:-10px;height:52px;width:83px;background:linear-gradient(145deg,#c5d2dc,#69869f 45%,#a8bccb);box-shadow:inset 0 1px 2px #fff7;border-radius:60% 25% 20% 40%;transform:rotate(15deg)}.wc-silk-left:after{right:0}.wc-silk-right:after{left:0;transform:rotate(-15deg);border-radius:25% 60% 40% 20%}
.wc-opening.is-opening .wc-silk-left{transform:translateX(-130%) rotate(-10deg);opacity:0}.wc-opening.is-opening .wc-silk-right{transform:translateX(130%) rotate(10deg);opacity:0}.wc-opening.is-opening .wc-vellum.wc-left{transform:translateX(-105%) rotateY(-25deg);opacity:0}.wc-opening.is-opening .wc-vellum.wc-right{transform:translateX(105%) rotateY(25deg);opacity:0}
body[data-collection="illustrated"] .wc-event p{font-size:15px!important;line-height:1.6!important;margin:6px 0!important;color:var(--ink)!important;letter-spacing:0!important}body[data-collection="illustrated"] .wc-event .time{font-size:18px!important}body[data-collection="illustrated"] .wc-event h3{color:var(--ink)!important}body[data-collection="illustrated"] .wc-event:before,body[data-collection="illustrated"] .wc-event:after{display:none!important}.wc-event-icon svg{width:25px;height:25px}
.wc-stage > .wc-envelope{position:absolute;inset:10% 6% 13%;background:var(--wc-opening-art) center top/100% auto repeat-y;perspective:1300px;filter:drop-shadow(0 12px 20px #1f385a25)}
.wc-stage > .wc-envelope .wc-reveal-card{inset:4% 7% 14%;transition:transform 1.2s cubic-bezier(.2,.7,.2,1) 1.5s;z-index:2}.wc-envelope .wc-reveal-copy{top:20%;left:16%;right:16%;}.wc-envelope .wc-reveal-copy strong{font-size:31px}
.wc-envelope-pocket{position:absolute;inset:0;z-index:3;background:var(--wc-opening-art) center top/100% auto repeat-y;clip-path:polygon(0 0,50% 34%,100% 0,100% 100%,0 100%);transition:transform .8s ease 2.6s,opacity .6s ease 2.6s}
.wc-envelope-flap{position:absolute;inset:0 0 auto;height:35%;z-index:4;background:var(--wc-paper,#607f9d) center/cover;clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;backface-visibility:hidden;transition:transform 1.1s ease .4s,opacity .2s ease 1.5s}
.wc-opening.is-opening .wc-envelope-flap{transform:rotateX(180deg);opacity:0}.wc-opening.is-opening .wc-stage > .wc-envelope .wc-reveal-card{transform:translateY(-25%)}.wc-opening.is-opening .wc-envelope-pocket{transform:translateY(38%);opacity:0}
/* Standalone catalogue booking controls must not cover invitation actions. */
body:has(.template-enquiry-bar) .wc-opening .wc-enter{bottom:140px}
body:has(.template-enquiry-bar) .wc-opening .wc-brand{display:none}
@media(max-width:400px){body:has(.template-enquiry-bar) .wc-opening .wc-enter{bottom:175px}}

/* Keep every illustrated asset at its natural proportions, independent of copy length. */
body[data-collection="illustrated"] .wc-hero .wc-scene{height:auto;aspect-ratio:auto}
body[data-collection="illustrated"] .wc-hero .wc-scene img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
.wc-opening:not(.wc-garden) .wc-stage{inset:auto;left:50%;top:50%;width:min(100%,calc((100dvh - 110px) * .75));height:auto;aspect-ratio:3/4;transform:translate(-50%,-50%)}
.wc-leaf img{object-fit:contain}
.wc-opening:not(.wc-envelope) .wc-reveal-card{display:none}
.wc-opening.is-opening:not(.op-vow,.chateau-gatefold-opening){background:transparent!important}
.wc-opening.is-opening .wc-seal{visibility:hidden;opacity:0;transition:none}
.wc-stage > .wc-envelope{inset:0;background-size:cover;background-repeat:no-repeat}
.wc-envelope-pocket{background-size:cover;background-repeat:no-repeat}
.wc-stage > .wc-envelope .wc-reveal-card>img{object-fit:contain;background:transparent}


/* Artwork caps reserve their own space; content can grow without tiling a card. */
body[data-collection="illustrated"] #invitation .wc-hero-copy,
body[data-collection="illustrated"] #invitation main>.section.wc-section{
 background:var(--paper);position:relative;isolation:isolate;
 padding:clamp(90px,23cqw,130px) clamp(28px,8cqw,48px) clamp(110px,28cqw,155px);
 margin:0;min-height:0;border:0!important;
}
body[data-collection="illustrated"] #invitation .wc-hero-copy:before,
body[data-collection="illustrated"] #invitation .wc-hero-copy:after,
body[data-collection="illustrated"] #invitation .wc-section:before,
body[data-collection="illustrated"] #invitation .wc-section:after{
 content:"";position:absolute;left:0;right:0;z-index:-1;pointer-events:none;
 height:clamp(80px,21cqw,120px);background-image:var(--wc-frame);
 background-size:100% auto;background-repeat:no-repeat;
}
body[data-collection="illustrated"] #invitation .wc-hero-copy:before,
body[data-collection="illustrated"] #invitation .wc-section:before{
 top:0;background-position:center top;mask-image:linear-gradient(#000 65%,transparent);
}
body[data-collection="illustrated"] #invitation .wc-hero-copy:after,
body[data-collection="illustrated"] #invitation .wc-section:after{
 bottom:0;background-position:center bottom;mask-image:linear-gradient(transparent,#000 35%);
}
body[data-collection="illustrated"] #invitation .wc-frame-copy{padding:0;min-width:0}
body[data-collection="illustrated"] #invitation .wc-frame-copy>p{line-height:1.7}
body[data-collection="illustrated"] #invitation .wc-divider{margin:24px auto 0}
body[data-collection="illustrated"] #invitation .wc-events{margin-top:28px!important}
body[data-collection="illustrated"] #invitation .wc-event{padding-bottom:28px!important}
body[data-collection="illustrated"] #invitation .wc-event:last-child{padding-bottom:0!important}
body[data-collection="illustrated"] #invitation .wc-event h3{margin-top:0;overflow-wrap:anywhere}
body[data-collection="illustrated"] #invitation .wc-venue{width:100%;margin:20px auto}
body[data-collection="illustrated"] #invitation .wc-venue img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
body[data-collection="illustrated"] #invitation .wc-section form{text-align:start}
body[data-collection="illustrated"] #invitation .wc-section input:not([type=checkbox]):not([type=radio]),
body[data-collection="illustrated"] #invitation .wc-section textarea,
body[data-collection="illustrated"] #invitation .wc-section select{
 box-sizing:border-box;max-width:100%;width:100%;border:1px solid var(--line);
 border-radius:8px;background:var(--paper);color:var(--ink);padding:12px;
}
body[data-collection="illustrated"] #invitation .scratch-wrap{max-width:100%;margin-inline:auto}

body[data-collection="illustrated"] #invitation .wc-event{outline:0!important;width:100%!important}

/* Remove opening controls immediately, including disabled-button global styles. */
.wc-opening.is-opening #openInvite,
.wc-opening.is-opening #openMonogram,
.wc-opening.is-opening:not(.chateau-gatefold-opening) #skipOpening,
.wc-opening.is-opening .wc-brand{
 display:none!important;visibility:hidden!important;opacity:0!important;
 pointer-events:none!important;transition:none!important;
}

/* Full-height opening art reveals the invitation directly, without a blank interlude. */
.wc-opening .wc-stage,
.wc-opening:not(.wc-garden) .wc-stage{
 inset:0;left:0;top:0;width:100%;height:100%;aspect-ratio:auto;transform:none;
}
.wc-opening .wc-leaf img{width:200%;height:100%;object-fit:cover;object-position:center}
.wc-opening .wc-vellum{background-size:auto 100%;background-repeat:no-repeat}
.wc-opening .wc-vellum.wc-left{background-position:left center}
.wc-opening .wc-vellum.wc-right{background-position:right center}
.wc-opening .wc-stage > .wc-envelope{inset:0;background-size:cover}

/* Let complete names wrap at word boundaries across illustrated themes. */
.wc-reveal-copy>strong>span,
.wc-garden-copy strong>span,
body[data-collection="illustrated"] .wc-names>span{
 min-width:0;
 max-width:100%;
 text-wrap:balance;
 overflow-wrap:normal;
 word-break:normal;
 hyphens:none;
}
.wc-reveal-copy>strong,
.wc-garden-copy strong,
body[data-collection="illustrated"] .wc-names{
 overflow-wrap:normal;
 word-break:normal;
}
