/* Every rule is scoped: the active theme's other pages are unchanged. */
.sfup-root{--sfup-brown:#592b16;--sfup-maroon:#6a251e;--sfup-gold:#c58b2e;--sfup-cream:#f9eed7;background:#fbfaf7;padding:32px 16px 56px;color:var(--sfup-brown);font-family:Georgia,'Times New Roman',serif}
.sfup-root *, .sfup-root *::before,.sfup-root *::after{box-sizing:border-box}
.sfup-root .sfup-article{max-width:1100px;margin:0 auto}
.sfup-root .sfup-sheet{position:relative;overflow:hidden;border:1px solid #ddbc78;box-shadow:0 10px 32px rgba(66,33,11,.10);padding:42px clamp(18px,4vw,55px) 28px;background:radial-gradient(ellipse at 20% 25%,rgba(255,255,255,.78),transparent 50%),radial-gradient(ellipse at 80% 84%,rgba(223,169,91,.12),transparent 52%),repeating-linear-gradient(120deg,rgba(118,74,31,.018) 0px,rgba(118,74,31,.018) 1px,transparent 2px,transparent 7px),linear-gradient(160deg,#fbf0d9,#fff9ed 45%,#f7e8c7)}
.sfup-root .sfup-outer-line{pointer-events:none;position:absolute;inset:13px;border:2px solid rgba(173,110,37,.36)}
.sfup-root .sfup-heading{text-align:center;position:relative;z-index:1}
.sfup-root .sfup-cross-line{display:flex;align-items:center;justify-content:center;gap:21px;max-width:500px;margin:0 auto 12px;color:#81410d}
.sfup-root .sfup-cross-line::before,.sfup-root .sfup-cross-line::after{content:"";height:2px;flex:1;background:linear-gradient(to right,transparent,var(--sfup-gold))}
.sfup-root .sfup-cross-line::after{transform:rotate(180deg)}
.sfup-root .sfup-cross-line span{font:normal 62px/1 Georgia,serif}
.sfup-root .sfup-heading h1{font:700 clamp(37px,6vw,72px)/1.12 Georgia,'Times New Roman',serif!important;letter-spacing:.01em;text-transform:uppercase;color:var(--sfup-brown);padding:0;margin:12px auto 2px;overflow-wrap:anywhere}
.sfup-root .sfup-subtitle{font-weight:700;font-size:clamp(18px,3.2vw,33px);letter-spacing:.11em;text-transform:uppercase;color:var(--sfup-maroon);margin:8px auto 17px}
.sfup-root .sfup-decor-divider{display:flex;align-items:center;justify-content:center;gap:12px;color:var(--sfup-gold);max-width:700px;margin:18px auto}
.sfup-root .sfup-decor-divider::before,.sfup-root .sfup-decor-divider::after{content:"";height:1px;flex:1;background:linear-gradient(to right,transparent,var(--sfup-gold))}
.sfup-root .sfup-decor-divider::after{transform:rotate(180deg)}
.sfup-root .sfup-decor-divider span{font-size:25px;line-height:1}
.sfup-root .sfup-intro{font-size:clamp(19px,2.35vw,26px);font-weight:600;font-style:italic;line-height:1.35;color:var(--sfup-maroon);max-width:790px;margin:0 auto 27px}
.sfup-root .sfup-columns{display:grid;grid-template-columns:minmax(0,0.95fr) minmax(0,1.05fr);gap:clamp(22px,4vw,45px);align-items:start;margin:20px 0 22px}
.sfup-root .sfup-text-only{grid-template-columns:1fr;max-width:760px;margin:20px auto 24px}
.sfup-root .sfup-reverse .sfup-image-frame{order:2}
.sfup-root .sfup-image-frame{margin:0;padding:5px;border:3px solid var(--sfup-gold);background:#fff9e9;box-shadow:inset 0 0 0 2px #fff5d5,0 2px 10px rgba(60,35,20,.14)}
.sfup-root .sfup-main-image{display:block;width:100%;height:auto;max-height:700px;object-fit:cover}
.sfup-root .sfup-info-col{min-width:0}
.sfup-root .sfup-plaque{background:linear-gradient(145deg,#9b4e12,#79340c);color:#fff7e8!important;text-align:center;font:700 clamp(21px,2.3vw,28px)/1.2 Georgia,serif!important;box-shadow:0 0 0 2px #f2d49b inset,0 0 0 4px #9d5b22 inset;border:1px solid #b77c2c;border-radius:11px 11px 7px 7px;padding:13px 15px;margin:0 0 16px;overflow-wrap:anywhere}
.sfup-root .sfup-program{list-style:none!important;margin:0 0 22px;padding:0!important}
.sfup-root .sfup-program li{position:relative;list-style:none!important;padding-left:25px!important;margin:0 0 12px!important;color:var(--sfup-maroon);font:500 clamp(17px,2vw,22px)/1.32 Georgia,serif}
.sfup-root .sfup-program li::before{content:"◆";position:absolute;left:1px;top:.11em;color:var(--sfup-gold);font-size:.75em}
.sfup-root .sfup-program strong{font-weight:700}
.sfup-root .sfup-note{margin:18px 0 24px;padding:19px 2px;text-align:center;border-top:1px solid var(--sfup-gold);border-bottom:1px solid var(--sfup-gold);font:italic 19px/1.35 Georgia,serif;color:var(--sfup-maroon)}
.sfup-root .sfup-extra{margin:24px 0;padding-top:16px;border-top:1px solid rgba(197,139,46,.45);font-size:18px;line-height:1.65;color:var(--sfup-brown)}
.sfup-root .sfup-extra h2,.sfup-root .sfup-extra h3{color:var(--sfup-brown)}
.sfup-root .sfup-extra a,.sfup-root .sfup-contact a{color:var(--sfup-maroon);text-decoration:underline;text-underline-offset:3px}
.sfup-root .sfup-invitation{max-width:850px;text-align:center;font:italic 700 clamp(22px,2.8vw,34px)/1.25 Georgia,serif;color:var(--sfup-maroon);margin:27px auto 8px}
.sfup-root .sfup-lower-divider{max-width:570px}
.sfup-root .sfup-bottom{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:end;gap:16px;margin-top:14px}
.sfup-root .sfup-bottom-no-image{grid-template-columns:1fr}
.sfup-root .sfup-contact{border-left:3px solid var(--sfup-gold);padding:8px 0 8px 18px}
.sfup-root .sfup-contact h2{font:700 25px/1.2 Georgia,serif!important;margin:0 0 8px;color:var(--sfup-brown)!important}
.sfup-root .sfup-contact p{font:500 17px/1.35 Georgia,serif;margin:6px 0;overflow-wrap:anywhere}
.sfup-root .sfup-contact p span{display:inline-block;width:21px;margin-right:5px;color:#8b4c15}
.sfup-root .sfup-footer-image{display:flex;justify-content:flex-end;align-items:end}
.sfup-root .sfup-footer-image img{width:100%;max-height:210px;object-fit:contain;object-position:bottom right;mix-blend-mode:multiply}
@media(max-width:750px){.sfup-root{padding:16px 8px 30px}.sfup-root .sfup-sheet{padding:23px 19px}.sfup-root .sfup-outer-line{inset:7px}.sfup-root .sfup-cross-line span{font-size:45px}.sfup-root .sfup-columns,.sfup-root .sfup-bottom{grid-template-columns:1fr;gap:20px}.sfup-root .sfup-reverse .sfup-image-frame{order:0}.sfup-root .sfup-image-frame{max-width:540px;width:100%;margin:0 auto}.sfup-root .sfup-footer-image{justify-content:center}.sfup-root .sfup-footer-image img{max-height:170px}.sfup-root .sfup-heading h1{font-size:clamp(30px,8vw,50px)}.sfup-root .sfup-subtitle{letter-spacing:.045em}}
@media print{.sfup-root{padding:0;background:#fff}.sfup-root .sfup-sheet{box-shadow:none;border:0;-webkit-print-color-adjust:exact;print-color-adjust:exact}.sfup-root .sfup-columns{break-inside:avoid}.sfup-root .sfup-bottom{break-inside:avoid}}
