/* Non-critical styles - Deferred */
.hidden{display:none!important}
.event-countdown.is-today{border-color:rgba(255,165,83,.72);background:linear-gradient(145deg,rgba(255,143,47,.26),rgba(183,76,12,.26))}
.event-countdown.is-past{border-color:rgba(255,255,255,.24);background:rgba(32,25,21,.72)}
.event-countdown.is-past .countdown-days{font-size:clamp(1rem,4.2vw,1.2rem)}
.countdown-unit:empty{display:none}
.modal{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;padding:var(--spacing-4)}
.modal.is-open{display:flex}
.modal[hidden]{display:none!important}
.modal-backdrop{position:absolute;inset:0;background:rgba(7,6,5,.85);backdrop-filter:blur(4px);z-index:1}
.modal-dialog{position:relative;width:100%;max-width:460px;background:var(--color-panel-solid);border:1px solid var(--color-line);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-strong);overflow:auto;max-height:min(90dvh,740px);padding:var(--spacing-10) var(--spacing-6) var(--spacing-6);animation:modalFadeIn .4s ease-out;z-index:2}
@keyframes modalFadeIn{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}
.modal-close{position:absolute;top:var(--spacing-2);right:var(--spacing-2);width:2.4rem;height:2.4rem;background:transparent;border:none;font-size:1.8rem;color:var(--color-text-muted);cursor:pointer;line-height:1;padding:0;display:flex;align-items:center;justify-content:center}
.modal-close:hover{color:var(--color-text-main);background:rgba(255,255,255,.1);border-radius:50%}
.modal-kicker{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem}
.modal-title{font-size:clamp(1.8rem,6vw,2.4rem);line-height:1.2;margin:var(--spacing-2) 0 var(--spacing-3)}
.modal-note{font-size:.88rem;line-height:1.5;margin-bottom:var(--spacing-5)}
.rsvp-form{display:grid;gap:var(--spacing-4)}
.rsvp-form .btn{margin-top:var(--spacing-2)}
.form-label{font-size:.88rem;font-weight:600;margin-bottom:var(--spacing-1)}
.form-input{width:100%;padding:var(--spacing-2) var(--spacing-3);border:1px solid rgba(255,255,255,.2);border-radius:var(--border-radius-md);background:rgba(0,0,0,.4);color:var(--color-text-main);font-size:1rem;font-family:var(--font-body);transition:border-color var(--transition-normal),box-shadow var(--transition-normal)}
.form-input:focus{outline:none;border-color:var(--color-copper-soft);box-shadow:0 0 0 2px rgba(240,125,27,.3)}
.form-input::placeholder{color:rgba(245,238,230,.5)}
.form-check{display:flex;align-items:center;gap:var(--spacing-2);font-size:.88rem;cursor:pointer}
.form-check input{width:1.2rem;height:1.2rem;cursor:pointer;accent-color:var(--color-copper)}
.form-status{min-height:1.5rem;font-size:.88rem;font-weight:500;text-align:center;padding:var(--spacing-2) var(--spacing-3);border-radius:var(--border-radius-md);transition:background-color var(--transition-normal),color var(--transition-normal)}
.form-status.success{background:rgba(40,167,69,.2);color:#28a745;border:1px solid rgba(40,167,69,.4)}
.form-status.error{background:rgba(220,53,69,.2);color:#dc3545;border:1px solid rgba(220,53,69,.4)}
@media (max-width:520px){.modal-dialog{padding:var(--spacing-8) var(--spacing-4) var(--spacing-4)}.modal-title{font-size:clamp(1.5rem,8vw,2rem)}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}