@font-face{font-family:EventSans;src:url('/assets/event-sans.otf') format('opentype');font-weight:100 500;font-display:swap}@font-face{font-family:EventSans;src:url('/assets/event-sans-bold.otf') format('opentype');font-weight:550 900;font-display:swap}
*{box-sizing:border-box}body{margin:0;background:#e8eadf;color:#173c32;font-family:EventSans,Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;min-height:100svh;padding:40px 24px 24px}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #8fa936;outline-offset:4px}.invitation{max-width:1010px;margin:0 auto;display:grid;grid-template-columns:.94fr 1.06fr;background:#f8f8f1;border-radius:16px;overflow:hidden;box-shadow:0 20px 80px #173c3212}.invitation-photo{position:relative;background:#95988e;min-height:775px}.invitation-photo>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:69% center}.invitation-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,30,23,.12),transparent 28%,transparent 75%,rgba(13,30,23,.65));pointer-events:none}.photo-name{position:absolute;top:35px;left:31px;right:31px;color:#fff;z-index:1;display:block;text-shadow:0 1px 18px #173c3255}.photo-name>span{font-size:25px;letter-spacing:3px;line-height:1.12}.photo-name>small{display:block;font-size:10px;letter-spacing:.6px;margin-top:14px}.photo-name>b{position:absolute;right:0;top:0;font-size:25px;font-weight:400}.photo-bottom{position:absolute;bottom:29px;left:31px;color:#fff;z-index:1;display:flex;align-items:center;gap:9px;letter-spacing:1.8px;font-size:9px}.live-dot{width:7px;height:7px;display:block;background:#d3ee74;border-radius:50%}.invitation-copy{padding:28px 40px 25px}.topline{display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:2px;color:#697c68}.share-icon{background:none;border:1px solid #d8dece;width:32px;height:32px;border-radius:50%;font-size:21px;line-height:1;display:flex;justify-content:center;align-items:center}.share-icon:hover{background:#e8eddb}h1{font-size:66px;line-height:.92;letter-spacing:-3px;font-weight:600;margin:23px 0 18px}h1 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-2px} .subtitle{font-size:25px;line-height:1.15;letter-spacing:-.65px;margin:0 0 25px}.event-details{border-top:1px solid #dbe0d1;border-bottom:1px solid #dbe0d1;padding:17px 0;display:grid;gap:14px}.event-details>div,.event-details>a{display:flex;align-items:center;gap:13px}.event-details>a:hover strong{text-decoration:underline;text-underline-offset:3px}.detail-icon{font-size:25px;width:23px;text-align:center;flex-shrink:0}.event-details p{margin:0}.event-details strong{display:block;font-size:13px;font-weight:600}.event-details strong>span{font-weight:400;font-size:15px;margin-left:5px}.event-details small{display:block;font-size:10px;color:#6b7a68;margin-top:5px}.intro{font-size:12px;line-height:1.7;color:#667962;margin:20px 0 12px}.program{border-bottom:1px solid #dbe0d1;margin-bottom:20px}.program summary{font-size:12px;font-weight:600;display:flex;justify-content:space-between;align-items:center;gap:20px;list-style:none;padding:8px 0 13px;cursor:pointer}.program summary::-webkit-details-marker{display:none}.program summary>span{font-size:20px;font-weight:400}.program[open] summary>span{transform:rotate(45deg)}.program>div{padding:0 0 17px}.program ul{margin:5px 0 16px;padding-left:17px;color:#667962;font-size:12px;line-height:1.7}.program li{padding-left:3px;margin-bottom:10px}.program>div>a{font-size:11px;text-decoration:underline;text-underline-offset:4px}.button{border:1px solid transparent;border-radius:5px;display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:48px;padding:14px 19px;font-size:12px;font-weight:600;transition:background .2s}.reserve{background:#d3ee74;color:#173c32;width:100%}.reserve:hover{background:#c3e65b}.reserve>span:first-child{font-size:13px}.amount{font-weight:450;font-size:20px}.amount>b{font-size:20px;font-weight:400;margin-left:15px}.payment-note{font-size:9px;color:#76826a;text-align:center;margin:9px 0 21px}.contact{border-top:1px solid #dbe0d1;padding-top:17px}.contact>span{display:block;font-size:9px;color:#6b7a68;margin-bottom:12px}.contact strong{font-weight:600;color:#173c32}.contact>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.contact-btn{border-color:#d1dac7;background:transparent;font-size:11px;min-height:40px;padding:11px 14px}.contact-btn:hover{background:#e8eddb}.contact-btn>span{font-size:17px}.phone{display:block;text-align:center;font-size:10px;color:#6b7a68;margin-top:12px}.footer{max-width:1010px;margin:20px auto 0;display:flex;justify-content:space-between;gap:20px;color:#75816a;font-size:9px}.footer>div{display:flex;gap:25px}.footer button{border:0;background:none;padding:0;font-size:9px}.footer a:hover,.footer button:hover{color:#173c32}.eyebrow{font-size:9px;letter-spacing:1.7px}dialog{background:#f8f8f1;color:#173c32;border:0;border-radius:12px;padding:43px;max-width:500px;width:calc(100% - 36px);box-shadow:0 25px 100px #0c201955}dialog::backdrop{background:rgba(10,28,22,.7);backdrop-filter:blur(6px)}body:has(dialog[open]){overflow:hidden}dialog h2{font-size:34px;font-weight:450;margin:25px 0 15px;letter-spacing:-1.2px}dialog p{font-size:13px;line-height:1.7;color:#657669}dialog .button{width:100%}.close-dialog{position:absolute;right:14px;top:12px;border:0;background:none;font-size:29px;line-height:1;padding:5px 8px}.dialog-event{border-top:1px solid #d2dacd;border-bottom:1px solid #d2dacd;padding:18px 0;margin:24px 0}.dialog-event strong{display:block;margin-top:8px;color:#173c32;font-weight:600}.dialog-phone{display:block;text-align:center;font-size:12px;margin:19px 0}dialog>small{display:block;font-size:10px;line-height:1.7;text-align:center;color:#6e7d6f}.share-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:25px}.share-actions .button{font-size:12px;padding:14px 16px}.share-actions button{grid-column:1/-1}.share-feedback{min-height:20px;margin-bottom:0!important;font-size:12px!important}
@media(min-width:1100px) and (min-height:930px){body{padding-top:60px}}
@media(max-width:800px){body{padding:20px}.invitation{grid-template-columns:.85fr 1.15fr}.invitation-copy{padding:24px 26px}.invitation-photo{min-height:775px}h1{font-size:58px}.photo-name{left:25px;right:25px}.photo-name>span{font-size:21px}.photo-name>small{max-width:120px;line-height:1.6}.photo-bottom{left:23px;font-size:7px;letter-spacing:1.3px}.subtitle{font-size:24px}.footer{font-size:8px}.footer>div{gap:15px}.footer button{font-size:8px}}
@media(max-width:600px){body{padding:14px 12px 25px}.invitation{display:block;max-width:430px;border-radius:12px}.invitation-photo{height:265px;min-height:0}.invitation-photo>img{object-position:70% 23%}.invitation-photo:after{background:linear-gradient(90deg,rgba(10,24,18,.35),transparent 70%),linear-gradient(0deg,rgba(10,24,18,.4),transparent 40%)}.photo-name{top:24px;left:24px;right:24px}.photo-name>span{font-size:24px;letter-spacing:2px}.photo-name>small{font-size:8px;max-width:110px;line-height:1.6;margin-top:10px}.photo-name>b{font-size:23px}.photo-bottom{bottom:20px;left:24px;font-size:8px;letter-spacing:1.5px}.invitation-copy{padding:23px 26px 24px}.topline{font-size:7px;letter-spacing:1.7px}.share-icon{height:29px;width:29px;font-size:19px}h1{font-size:61px;margin:13px 0 17px;letter-spacing:-3px}.subtitle{font-size:24px;margin-bottom:22px}.event-details{padding:15px 0;gap:13px}.event-details strong{font-size:12px}.event-details small{font-size:10px}.detail-icon{font-size:23px}.intro{font-size:12px;margin-top:17px;line-height:1.7}.program{margin-bottom:18px}.program summary{font-size:12px}.program ul{font-size:12px}.button{min-height:50px}.reserve>span:first-child{font-size:13px}.amount{font-size:21px}.contact-btn{min-height:43px;font-size:11px}.contact>span{font-size:9px}.phone{font-size:11px;margin-top:14px}.footer{max-width:430px;flex-direction:column;align-items:center;gap:15px;margin-top:19px;font-size:9px;text-align:center}.footer>div{gap:28px}.footer button{font-size:9px}.footer a{font-size:9px}dialog{padding:40px 26px 28px;max-height:90svh;overflow:auto}dialog h2{font-size:30px}dialog .eyebrow{font-size:8px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Mobile browsers, touch input and safe-area insets. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;color-scheme:light}
body{min-height:100vh;min-height:100svh;padding-top:max(40px,env(safe-area-inset-top));padding-right:max(24px,env(safe-area-inset-right));padding-bottom:max(24px,env(safe-area-inset-bottom));padding-left:max(24px,env(safe-area-inset-left))}
body.modal-open{overflow:hidden}.invitation-copy,.event-details p,.contact,.contact>div,.share-actions{min-width:0}
a,button,summary{touch-action:manipulation}
.share-icon,.close-dialog{min-width:44px;min-height:44px;flex-shrink:0}
.close-dialog{top:8px;right:8px;display:grid;place-items:center}
.program summary{min-height:48px}.program[open] summary{margin-bottom:4px}
.phone,.dialog-phone{min-height:44px;display:flex;align-items:center;justify-content:center}
.footer a,.footer button{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
dialog{max-height:calc(100vh - 40px);max-height:calc(100dvh - max(20px,env(safe-area-inset-top)) - max(20px,env(safe-area-inset-bottom)));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-top:52px}
dialog::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.manual-copy{display:block;margin-top:18px;font-size:12px;color:#55664f}.manual-copy[hidden]{display:none}.manual-copy input{display:block;width:100%;min-width:0;margin-top:8px;padding:12px;border:1px solid #b8c5ad;border-radius:5px;background:#fff;color:#173c32;font:16px EventSans,Arial,sans-serif}
.share-feedback{overflow-wrap:anywhere}.contact-btn{min-height:44px}
dialog.dialog-fallback[open]{position:fixed;inset:0;margin:auto;z-index:20;box-shadow:0 0 0 150vmax #0a1c16b3}
@media(max-width:800px){body{padding-top:max(20px,env(safe-area-inset-top));padding-right:max(20px,env(safe-area-inset-right));padding-bottom:max(20px,env(safe-area-inset-bottom));padding-left:max(20px,env(safe-area-inset-left))}}
@media(max-width:700px){
 body{padding-top:max(12px,env(safe-area-inset-top));padding-right:max(12px,env(safe-area-inset-right));padding-bottom:max(18px,env(safe-area-inset-bottom));padding-left:max(12px,env(safe-area-inset-left))}
 .invitation{display:block;max-width:460px;border-radius:12px}.invitation-photo{min-height:0;height:clamp(235px,66vw,300px)}.invitation-photo>img{object-position:70% 23%}
 .invitation-photo:after{background:linear-gradient(90deg,rgba(10,24,18,.35),transparent 70%),linear-gradient(0deg,rgba(10,24,18,.4),transparent 40%)}
 .photo-name{top:24px;left:24px;right:24px}.photo-name>span{font-size:24px;letter-spacing:2px}.photo-name>small{font-size:11px;max-width:128px;line-height:1.5;margin-top:10px}.photo-name>b{font-size:24px}
 .photo-bottom{bottom:20px;left:24px;font-size:10px;letter-spacing:1.2px}.invitation-copy{padding:19px clamp(20px,6vw,28px) 20px}
 .topline{font-size:10px;letter-spacing:1.5px}.share-icon{width:44px;height:44px;font-size:22px}
 h1{font-size:clamp(50px,15vw,66px);letter-spacing:-2.8px;margin:10px 0 18px}h1 em{letter-spacing:-2px}.subtitle{font-size:clamp(23px,6.3vw,28px);margin-bottom:23px}
 .event-details{gap:15px;padding:17px 0}.event-details strong{font-size:15px;line-height:1.3}.event-details small{font-size:12px;line-height:1.5}.event-details>div,.event-details>a{gap:12px}.event-details>a{min-height:48px}.detail-icon{font-size:25px}
 .intro{font-size:14px;line-height:1.65;margin:20px 0 10px}.program summary{font-size:14px;padding:12px 0}.program ul{font-size:14px;line-height:1.65}.program>div>a{display:inline-flex;align-items:center;min-height:44px;font-size:13px}
 .button{min-height:52px;padding:15px 16px;font-size:14px}.reserve>span:first-child{font-size:15px}.amount{font-size:22px;white-space:nowrap}.amount>b{margin-left:10px}.payment-note{font-size:12px;line-height:1.5;margin:10px 0 20px;color:#5b6b51}
 .contact{padding-top:18px}.contact>span{font-size:12px;line-height:1.5;margin-bottom:13px}.contact>div{gap:10px}.contact-btn{font-size:13px;padding:13px 14px;min-height:48px}.phone{font-size:14px;margin:8px 0 0;color:#55664f}
 .footer{max-width:460px;flex-direction:column;align-items:center;gap:4px;font-size:12px;line-height:1.5;text-align:center;margin-top:20px;color:#55664f}.footer>div{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 24px}.footer button,.footer a{font-size:12px;min-height:44px}
 dialog{width:calc(100% - 28px);padding:54px 24px 24px;border-radius:14px}dialog .eyebrow{font-size:10px;line-height:1.6}dialog h2{font-size:30px;margin-top:20px}dialog p{font-size:15px;line-height:1.65}.dialog-event{padding:16px 0;margin:20px 0}.dialog-phone{font-size:14px;margin:8px 0}dialog>small{font-size:12px;line-height:1.6}.share-actions .button{font-size:13px;padding:14px 12px;min-height:48px}.share-feedback{font-size:13px!important;line-height:1.6}.share-actions{gap:10px}
}
@media(max-width:350px){body{padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}.invitation-copy{padding-left:19px;padding-right:19px}.photo-name,.photo-bottom{left:20px}.photo-name{right:20px}.reserve{gap:10px}.reserve>span:first-child{font-size:14px}.amount{font-size:20px}.amount>b{margin-left:7px}.contact-btn{font-size:12px;padding-left:12px;padding-right:12px}.share-actions{grid-template-columns:1fr}.share-actions button{grid-column:auto}dialog{padding-left:20px;padding-right:20px}}
@media(max-height:500px) and (orientation:landscape){body{padding-top:max(10px,env(safe-area-inset-top));padding-bottom:max(10px,env(safe-area-inset-bottom))}dialog{max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px)}}
@media(hover:none){.button:hover{background:inherit}.reserve:hover{background:#d3ee74}.share-icon:hover,.contact-btn:hover{background:transparent}}
dialog:not([open]){display:none}

.footer>div{flex-wrap:wrap}.poster-download{display:flex;align-items:center;justify-content:center;min-height:44px;margin-top:12px;font-size:13px;text-decoration:underline;text-underline-offset:4px}.share-actions #share-photo{grid-column:1/-1}.button:disabled{opacity:.6;cursor:wait}

/* The QR and the primary button point directly to the same EveryPay link. */
.payment-qr{display:grid;grid-template-columns:132px minmax(0,1fr);gap:16px;align-items:center;margin:18px 0 22px;padding:14px;background:#edf0e3;border:1px solid #d7dfcb;border-radius:8px}
.qr-image-link{display:block;background:white;border-radius:4px;line-height:0}.qr-image-link img{display:block;width:100%;height:auto;image-rendering:pixelated}
.qr-copy{min-width:0}.qr-copy strong{font-size:13px;font-weight:600}.qr-copy p{font-size:11px;line-height:1.65;color:#55664f;margin:9px 0 4px}.qr-copy>a{min-height:44px;display:inline-flex;align-items:center;font-size:11px;text-decoration:underline;text-underline-offset:3px}
.reserve .amount{flex-shrink:0}.reserve>span:first-child{line-height:1.3}
@media(max-width:700px){.payment-qr{grid-template-columns:128px minmax(0,1fr);padding:12px;gap:13px;margin:16px 0 22px}.qr-copy strong{font-size:14px;line-height:1.4;display:block}.qr-copy p{font-size:12px;line-height:1.6}.qr-copy>a{font-size:12px}.reserve>span:first-child{font-size:14px}.reserve{gap:10px}.amount>b{margin-left:5px}}
@media(max-width:380px){.payment-qr{grid-template-columns:1fr;text-align:center;gap:8px}.qr-image-link{width:172px;justify-self:center}.qr-copy p{max-width:245px;margin:8px auto 0}.qr-copy>a{justify-content:center}.reserve>span:first-child{font-size:13px}.amount{font-size:19px}}
