@font-face{font-family:VT323;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/VT323-Regular.woff2) format("woff2"),url(/fonts/VT323-Regular.woff) format("woff"),url(/fonts/VT323-Regular.ttf) format("truetype")}:root{--font-size-small: 1.6rem;--font-size-normal: 2rem;--font-size-large: 2.6rem;--container-small: 600px;--container-medium: 800px;--container-large: 1000px}h1,h2,h3,h4,h5,h6{font-weight:400}h1{font-size:var(--font-size-large)}h2{font-size:var(--font-size-normal)}h3{font-size:var(--font-size-small)}body{background:linear-gradient(to bottom,#d9edf4,#cfd9e0);min-height:100vh;color:#333d23;font-family:VT323,monospace;margin:0;padding:0}.viewport{height:100vh;overflow-x:hidden;overflow-y:auto;perspective:1px}.content{position:relative;transform-style:preserve-3d}.parallax-layer{position:fixed;top:0;left:0;right:0;height:5000px;pointer-events:none;overflow:hidden}.parallax-far{transform:translateZ(-1px) scale(2)}.parallax-near{transform:translateZ(-.5px) scale(1.5)}.cloud{position:absolute}.cloud svg{display:block}#app{position:relative;z-index:1;padding:20px;max-width:var(--container-large);margin:0 auto;background:transparent;transform:translateZ(0)}.guest-table{border-collapse:collapse;width:100%;max-width:var(--container-medium);margin-top:20px;text-align:left;background-color:#2a2a2a;border:1px solid #444}.guest-table-header{border:1px solid #ddd;padding:8px;background:#444;color:#fff;text-align:left}.guest-table-cell{border:1px solid #ddd;padding:8px;background:#333;color:#fff}.guest-choice-label{margin-right:10px;cursor:pointer}.page-section{border-radius:16px;padding:50px 30px;background-color:transparent}.page-section h2{margin-top:0;color:inherit;text-transform:uppercase;text-align:center;font-size:var(--font-size-large);font-weight:400;letter-spacing:.1em}.section-header{display:flex;justify-content:center;align-items:center;margin-bottom:20px;position:relative}.section-header h2{margin-bottom:0}.top-link{color:#333d2399;text-decoration:none;font-size:var(--font-size-normal);padding:5px 10px;border-radius:4px;transition:opacity .3s;position:absolute;right:0}.top-link:hover{opacity:.7}.bottom-top-link{color:#333d2399;text-decoration:none;font-size:var(--font-size-large);padding:5px 10px;border-radius:4px;transition:opacity .3s;display:inline-block}.bottom-top-link:hover{opacity:.7}#landing{display:flex;flex-direction:column;justify-content:space-between;text-align:center;min-height:800px}#landing .landing-nav:first-child{align-self:flex-start}#landing .landing-footer{margin-top:0;width:100%}.landing-image-container{flex:1;display:flex;justify-content:center;align-items:center}.landing-image{max-width:60%;height:auto}.landing-nav{margin-top:30px;display:flex;justify-content:space-between;width:100%}.nav-link{color:inherit;text-decoration:none;font-size:var(--font-size-large);text-transform:uppercase;letter-spacing:.1em;transition:opacity .3s}.nav-link:hover{opacity:.7}#schedule{max-width:var(--container-medium);margin:0 auto}.schedule-day{margin:25px 0;display:grid;grid-template-columns:max-content 1fr;gap:20px;align-items:stretch}.schedule-day h3{grid-column:1 / -1;text-align:center;margin-bottom:15px;font-size:var(--font-size-large)}.schedule-item{display:contents}.schedule-item .time,.schedule-item .event{background-color:#a0a0a013;border-radius:16px;padding:16px 24px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);font-size:var(--font-size-normal);min-height:40px}.schedule-item .event{display:flex;align-items:center}.schedule-item .time{text-align:right;padding:16px;white-space:nowrap;display:flex;align-items:center;justify-content:flex-end}.schedule-icon{width:40px;height:40px;object-fit:contain;vertical-align:middle;margin-right:8px}#venue,#accommodation{max-width:var(--container-medium);margin:0 auto}#accommodation .venue-info{font-size:var(--font-size-normal)}.venue-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px;align-items:center}#accommodation .venue-layout{display:flex;align-items:stretch}#accommodation .venue-image{flex:0 0 auto;display:flex;align-items:center;justify-content:center}#accommodation .venue-left-column{flex:1;display:flex;flex-direction:column;justify-content:center}#accommodation .venue-photo{width:auto;height:auto;max-width:300px;object-fit:contain}.venue-left-column{display:flex;flex-direction:column;gap:20px}.venue-info{background-color:#a0a0a013;padding:30px;border-radius:16px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.venue-info h3{margin-top:0}.venue-address{font-style:normal;font-size:var(--font-size-large);line-height:1.4}.venue-description{margin-top:15px;line-height:1.6;font-size:var(--font-size-normal)}.venue-image{display:flex;align-items:center;justify-content:center}.venue-photo{max-width:100%;height:auto;border-radius:16px}.venue-location{background-color:#a0a0a013;padding:30px;border-radius:16px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.venue-location h3{margin-top:0}.map-buttons{display:flex;gap:15px}.map-link{display:inline-flex;align-items:center;justify-content:center;padding:16px 24px;background-color:#a0a0a013;color:inherit;text-decoration:none;border-radius:16px;font-weight:400;font-size:var(--font-size-large);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity .3s;flex:1;text-align:center}.map-link:hover{opacity:.7}.location-note{margin-top:10px;font-size:var(--font-size-normal);text-align:center}@media (max-width: 768px){.page-section{padding-left:10px;padding-right:10px}.section-header{justify-content:flex-start}#landing{display:flex;flex-direction:column;justify-content:flex-start;min-height:auto}#landing .landing-nav{order:2;flex-direction:column;align-items:center;gap:20px;margin-top:30px;align-self:center}.landing-image-container{order:1;flex:0 0 auto;padding:0}.landing-image{max-width:100%}#landing .landing-footer{display:none!important}.venue-layout{grid-template-columns:1fr;grid-template-rows:auto auto;align-items:stretch}.venue-left-column{order:1}.venue-image{order:2;margin-top:20px}#accommodation .venue-layout{flex-direction:column}#accommodation .venue-left-column{order:1}#accommodation .venue-image{order:2;margin-top:20px}#everafter .venue-photo{max-width:100%!important}.rsvp-guests{max-width:100%;margin:0;padding:0 15px}.guest-row{flex-direction:column;min-height:auto;gap:0;background-color:#a0a0a013;border-radius:16px;padding:15px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);width:100%;box-sizing:border-box}.guest-info-container{flex:1;margin-bottom:20px}.guest-preferences-container.content-container{background:none;border-radius:0;padding:0;-webkit-backdrop-filter:none;backdrop-filter:none}.guest-preferences-container{flex:1!important}.guest-info-container.content-container{background:none;border-radius:0;padding:0;-webkit-backdrop-filter:none;backdrop-filter:none}.food-matrix .food-row{display:block;grid-template-columns:none;margin-bottom:25px}.food-matrix .food-row .food-row-label{writing-mode:initial;text-orientation:initial;transform:none;display:block;margin-bottom:15px;font-size:var(--font-size-normal);text-align:center}.food-matrix .food-row .food-card{width:100%;margin-right:0;margin-bottom:10px;min-height:auto;padding:12px}.food-matrix .food-row .food-card .food-card-image{margin:0;width:72px!important;height:72px!important;transform:none;flex:none!important}.food-matrix .food-row .food-card{min-width:0!important;width:100%!important}.food-matrix .food-row .food-card:last-child{margin-bottom:0}.map-link{white-space:pre-line;display:flex;align-items:center;justify-content:center}.progress-hearts{display:none}}.landing-footer{display:flex;justify-content:space-between;margin-top:30px;padding-top:20px;font-size:var(--font-size-large);color:inherit;text-transform:uppercase;letter-spacing:.1em}.landing-date{font-weight:400}.landing-location{font-weight:400;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}#welcome{display:flex;flex-direction:column}#welcome .section-header{flex-shrink:0}#welcome .welcome-content-wrapper{flex:1;display:flex;align-items:center;justify-content:center}.content-container{background-color:#a0a0a013;border-radius:16px;padding:30px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.guest-info-container.content-container{padding:0}.content-text{font-size:var(--font-size-normal)}#welcome .welcome-content{max-width:var(--container-medium)}#welcome .welcome-content p{font-weight:400;font-style:normal}#welcome .welcome-content p:first-child{margin-top:0}#welcome .welcome-content p:last-child{margin-bottom:0}.rsvp-guests{display:flex;flex-direction:column;gap:20px;max-width:var(--container-large);margin:0 auto}.guest-row{display:flex;gap:20px;width:100%;min-height:220px}.guest-info-container{flex:1;overflow:hidden}.guest-preferences-container{flex:0 0 650px;display:flex;flex-direction:column;justify-content:center;text-align:center}.guest-preferences-container:has(.final-state){padding-top:0;padding-bottom:0}.guest-preferences-container.content-container{padding-left:10px;padding-right:10px}.guest-info{display:flex;flex-direction:column;gap:15px;min-width:150px;justify-content:center;height:100%}.guest-top-row{display:flex;align-items:stretch;gap:0;justify-content:flex-start}.guest-avatar{display:flex;align-items:center;flex-shrink:0;padding:0 20px}.avatar-image{height:3em;width:auto;object-fit:contain}.guest-name{margin:0 0 .1em;font-weight:400;font-size:var(--font-size-large);line-height:1.2;align-self:flex-end;text-align:left;flex:0 0 auto}.guest-questions{flex:1}.progress-hearts{display:flex;gap:12px;justify-content:center;width:100%}.progress-heart{transition:all .3s ease}.heart-icon{width:30px;height:30px;object-fit:contain;display:block}.question-group{display:flex;flex-direction:column;gap:15px;align-items:center}.question-label{font-weight:400;min-width:80px}.button-group{display:flex;gap:10px}.attendance-btn{padding:8px 16px;border:none;border-radius:0;background:transparent;color:inherit;cursor:pointer;font-size:var(--font-size-normal);transition:all .3s;font-family:inherit}.attendance-btn:hover{opacity:.7}.attendance-btn.selected{color:inherit}.attendance-btn.selected:hover{opacity:.7}.rsvp-details{margin-top:20px;padding-top:20px;border-top:1px solid #555}.detail-section{margin-bottom:30px}.detail-section:not(:first-child){padding-top:25px;border-top:1px solid #555}.section-title-label{display:block;font-size:var(--font-size-normal);font-weight:400;margin-bottom:15px;line-height:1.4;cursor:pointer}.detail-label{display:block;font-weight:400;margin-bottom:8px}.vegan-note{font-size:var(--font-size-normal);color:inherit;margin-top:15px;margin-bottom:15px;font-style:normal}.food-matrix{display:flex;flex-direction:column;gap:20px}.dietary-section{margin-top:20px}.food-row{display:grid;grid-template-columns:min-content 1fr 1fr 1fr;gap:15px;align-items:stretch}.food-row-label{align-self:center}.food-row-label{display:flex;align-items:center;justify-content:center;font-weight:400;font-size:var(--font-size-normal);writing-mode:vertical-lr;text-orientation:mixed;transform:rotate(180deg);padding:0}.food-card{background-color:#a0a0a013;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border:none;border-radius:16px;padding:15px 5px;cursor:pointer;min-height:120px;display:flex;flex-direction:column;align-items:center;gap:10px;transition:all .3s}.food-card:hover{background-color:#333d231a}.food-card.selected{background-color:#333d2366;color:inherit}.food-card.selected:hover{background-color:#333d2380}.food-card-image{background-color:transparent;border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:400;font-size:var(--font-size-normal);color:inherit;align-self:center;overflow:hidden;width:120px;height:120px;flex:none}.food-card-image img{max-width:100%;max-height:100%;object-fit:contain}.food-card.selected .food-card-image{background-color:transparent}.food-card-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0}.food-card-name{font-weight:400;color:inherit;text-align:center}.food-card-ingredients{font-size:var(--font-size-small);color:inherit;line-height:1.3;text-align:center;margin-top:8px}.food-card.selected .food-card-ingredients{color:inherit}.food-choice-group{margin-bottom:15px}.food-choices{display:flex;flex-direction:column;gap:8px;margin-left:10px}.food-choice-label{display:flex;align-items:center;gap:8px;color:#ccc;cursor:pointer;padding:5px;border-radius:4px;transition:background-color .3s}.food-choice-label:hover{background-color:#444}.food-choice-label input[type=radio]{margin:0}.text-input{width:100%;padding:10px;border:1px solid #666;border-radius:16px;background-color:#a0a0a013;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);color:inherit;font-size:var(--font-size-normal);font-family:inherit}.auto-resize{resize:none;overflow:hidden;min-height:1.2em;height:auto;field-sizing:content}.text-input:focus{outline:none;border-color:#333d2399;background-color:#a0a0a01a}.text-input::placeholder{color:#999}.submit-section{text-align:center;padding-top:10px;border-top:1px solid #555}.submit-btn{padding:12px 24px;background-color:#e3a55e;color:#333d23;border:2px solid rgb(202,134,79);border-radius:16px;font-size:var(--font-size-normal);font-weight:400;cursor:pointer;transition:all .3s;font-family:inherit}.submit-btn:hover:not(:disabled){background-color:#f0b972;border-color:#b6723b}.submit-btn:disabled{opacity:.5;cursor:not-allowed;background-color:#c8c8c8;border-color:#a0a0a0}.final-state{padding:10px 0;display:flex;flex-direction:column;min-height:220px}.status-row{display:flex;align-items:center;gap:15px;margin-bottom:10px}.final-label{font-weight:400;min-width:80px}.status-yes{color:#28a745;font-weight:400;flex:1}.status-no{color:#dc3545;font-weight:400;flex:1}.change-mind-link{color:#888;text-decoration:underline;font-size:var(--font-size-normal);cursor:pointer;transition:color .3s}.change-mind-link:hover{color:#aaa;text-decoration:underline}.celebration-message{margin-bottom:15px}.final-state-centered{display:flex;flex-direction:column;justify-content:center;align-items:center;flex:1}.saved-message{color:#28a745;font-weight:400;margin-bottom:5px;font-size:var(--font-size-normal)}.celebration-text{font-size:var(--font-size-normal)}.choice-summary{margin-top:15px;padding-top:15px;border-top:1px solid #444}.summary-item{margin:5px 0;color:#ccc;font-size:var(--font-size-normal)}.summary-item strong{color:inherit}
