@import"https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=Work+Sans:wght@400;500&display=swap";:root{--page-bg: #000;--text-gold: #f1d9a8;--soft-gold: #e0d8c8;--card-gold: #D5C399;--navbar-height-desktop: 150px;--navbar-height-mobile: 80px;--font-title: "DM Serif Display", serif;--font-body: "Work Sans", sans-serif;--lumo-font-size-xxl: 1rem;--lumo-font-size-m: 2rem}html{scroll-behavior:smooth}body{margin:0;background:var(--page-bg);font-family:var(--font-body);overflow:hidden}*::-webkit-scrollbar{display:none}*{scrollbar-width:none}vaadin-app-layout::part(content){height:100vh;overflow-y:auto!important;scroll-snap-type:y mandatory}vaadin-app-layout::part(navbar){background:#000;position:sticky;top:0;z-index:100}.section-full{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:0 8%;scroll-snap-align:start;box-sizing:border-box}@media (min-width: 768px){.section-full{padding-top:var(--navbar-height-desktop)}}@media (max-width: 767px){.section-full{padding-left:5%;padding-right:5%;padding-top:calc(var(--navbar-height-mobile) + 20px);padding-bottom:3rem;min-height:calc(100vh - var(--navbar-height-mobile))}}.section-title,.wedding-title{font-family:var(--font-title);color:var(--text-gold)}.wedding-text,.section-eyebrow{color:var(--text-gold)}.hero-section{display:flex;gap:3rem;height:100vh}.hero-text-col{display:flex;flex-direction:column;gap:1.2rem}.wedding-hero-image{width:45%;border-radius:12px}@media (max-width: 767px){.hero-section{flex-direction:column;justify-content:center}.wedding-hero-image{width:100%}}.timeline{border-left:1px solid rgba(241,217,168,.2);padding-left:1.5rem}.timeline-heading,.timeline-desc,.timeline-time{color:var(--text-gold)}.timeline-header{min-height:120px;display:flex;flex-direction:column;justify-content:flex-end}.timeline-day{display:flex;flex-direction:column}.timeline-item{display:grid;grid-template-columns:140px 1fr;gap:.75rem;align-items:start}.timeline-time{white-space:nowrap;padding-top:6px;color:var(--text-gold)}.timeline-dress-code-label{color:var(--text-gold)}.hotel-intro,.hotel-intro p,.hotel-pricing,.hotel-pricing p{color:var(--text-gold)!important}.hotel-pricing{background:#f1d9a80d;border-left:2px solid var(--text-gold);padding:1rem}.hotel-card{border:1px solid rgba(241,217,168,.15);padding:2rem}.hotel-name,.hotel-address,.hotel-distance{color:var(--text-gold)}.hotel-block{margin-bottom:2rem}.hotel-subtitle{font-family:var(--font-title);color:var(--text-gold);font-size:1.3rem;margin-bottom:.5rem}.hotel-highlight{color:var(--text-gold);font-weight:600;display:inline-block}.hotel-pricing-block{margin:2.5rem 0}.hotel-price-grid{display:grid;grid-template-columns:1fr;gap:.75rem}.price-row{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:1rem;padding:.75rem 1rem;border:1px solid rgba(241,217,168,.15);border-radius:6px;color:var(--text-gold)}.price-row strong{color:var(--text-gold)}@media (max-width: 767px){.price-row{grid-template-columns:1fr;gap:.25rem}}.rsvp-card{background:var(--card-gold)}.rsvp-submit-btn{width:100%;display:flex!important;justify-content:center!important;align-items:center!important}.rsvp-submit-btn::part(label){width:100%;text-align:center}.polaroid{background:var(--soft-gold)!important;padding:10px 10px 25px;box-shadow:0 8px 20px #00000026;border:1px solid rgba(0,0,0,.05)}.photo-column{display:flex;flex-direction:column;align-items:center}@media (max-width: 767px){.photo-column{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:12px}.polaroid{width:45%;margin:0;transform:rotate(-2deg)}.polaroid:nth-child(2n){transform:rotate(2deg)}}.faq-item::part(summary),.faq-answer{color:var(--text-gold)}vaadin-app-layout::part(content){overflow-y:auto!important}.days-container{display:grid;grid-template-columns:1fr 1fr;gap:3rem}@media (max-width: 767px){.days-container{grid-template-columns:1fr}}.admin-count{font-weight:700;margin-left:auto}.admin-name{font-weight:700;min-width:150px}.admin-stat-title{margin:0;font-size:14px;font-weight:1000}.admin-stat-value{font-size:32px;font-weight:700}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem}.admin-stat-box{padding:1rem;border:1px solid rgba(241,217,168,.2);color:var(--text-gold)}.login-btn{background-color:#1a1a1a;color:var(--text-gold);border:none;border-radius:50px;padding:.85em 2.5em;font-family:var(--font-body);font-size:13px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;min-height:48px;width:100%;margin-top:.5rem}
