@import"https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=Work+Sans:wght@400;500&display=swap";:root{--page-background-color: #000000;--page-text-color: #000000;--card-light-gold: #D5C399;--navbar-background-color: #000000;--navbar-text-color: #f1d9a8;--button-background-color: #D6B36A;--button-text-color: #f1d9a8;--button-border-color: #D6B36A;--button-hover-background-color: #F1E4C5;--button-hover-text-color: #0B1320;--button-hover-border-color: #F1E4C5;--title-color: #f1d9a8;--subtitle-color: #f1d9a8;--section-background-color: #000000;--card-background-color: #111C2E;--admin-card-background-color: #D5C399;--admin-stat-background-color: #000000;--admin-stat-text-color: #f1d9a8;--color-white: #FFFFFF;--font-title: "DM Serif Display", serif;--font-body: "Work Sans", sans-serif;--lumo-font-family: var(--font-body);--hero-stamp-size: clamp(100px, 11vw, 145px);--navbar-height-desktop: 150px;--navbar-height-mobile: 80px;--lumo-app-layout-navbar-offset-size: 0px;--lumo-app-layout-navbar-offset-top: 0px}html,body{margin:0;padding:0;background-color:var(--page-background-color);font-family:var(--font-body);color:var(--page-text-color);height:auto;overflow-y:auto}*{scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{display:none}vaadin-app-layout,vaadin-app-layout::part(content){height:auto!important;overflow:visible!important}vaadin-app-layout{--vaadin-app-layout-navbar-offset-size: 0px;padding-top:0!important;margin-top:0!important}vaadin-app-layout::part(navbar){background-color:var(--navbar-background-color)!important;position:sticky;top:0;z-index:200;padding:0;margin:0;min-height:unset}vaadin-app-layout::part(drawer){background-color:var(--navbar-background-color)!important;z-index:100;top:var(--navbar-height-mobile)!important}vaadin-app-layout::part(content){overflow:visible!important;height:auto!important}.navbar-menu{display:flex;gap:3rem;align-items:center}.nav-link{color:var(--navbar-text-color)!important;cursor:pointer;font-family:var(--font-body);font-size:18px;letter-spacing:.05em;position:relative;display:inline-block}.nav-link:after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:2px;background-color:var(--navbar-text-color);transition:width .3s ease}.nav-link:hover:after{width:100%}.burger-menu{display:flex;flex-direction:column;padding:2rem;gap:1.25rem}.burger-menu .nav-link{font-size:1.2rem;padding:.5rem 0}.wedding-logo-image{height:var(--navbar-height-desktop);width:auto}.burger-toggle-wrapper{position:absolute;left:1rem;display:flex;align-items:center}.mobile-logo-wrapper{position:absolute;right:1rem;display:flex;align-items:center}.mobile-navbar-logo{height:var(--navbar-height-mobile);width:auto}vaadin-drawer-toggle{color:var(--navbar-text-color);--lumo-icon-size-m: 28px;padding:8px}@media (min-width: 768px){.burger-toggle,.mobile-logo-wrapper{display:none!important}.navbar-menu{display:flex!important}vaadin-app-layout::part(navbar){min-height:var(--navbar-height-desktop)}vaadin-app-layout::part(drawer){top:var(--navbar-height-desktop)!important}}@media (max-width: 767px){.burger-toggle{display:block!important}.navbar-menu{display:none!important}.mobile-logo-wrapper{display:flex!important}vaadin-app-layout::part(navbar){min-height:var(--navbar-height-mobile)}vaadin-app-layout::part(drawer){top:var(--navbar-height-mobile)!important}.burger-menu .wedding-logo-image{display:none}}vaadin-button,.w-btn{border-radius:50px;padding:.75em 2em;border:1px solid var(--button-border-color);background-color:var(--button-background-color);color:var(--button-text-color);font-family:var(--font-body);font-size:14px;text-transform:uppercase;transition:.3s ease}vaadin-button:hover,.w-btn:hover{background-color:var(--button-hover-background-color);color:var(--button-hover-text-color);border:1px solid var(--button-hover-border-color)}.section-full{min-height:calc(100vh - var(--navbar-height-desktop));width:100%;display:flex;align-items:center;padding:6rem 8%;box-sizing:border-box;flex-shrink:0;padding-top:calc(var(--navbar-height-desktop) + 20px)}.section-full+.section-full{border-top:1px solid rgba(241,217,168,.08)}.section-dark{background:var(--page-background-color)}.section-soft{background:var(--section-background-color)}.section-content{max-width:1100px;margin:auto;width:100%}.section-title{font-family:var(--font-title);font-size:48px;color:var(--title-color);margin:0 0 1.5rem}.section-eyebrow{display:block;letter-spacing:4px;text-transform:uppercase;font-size:11px;color:var(--subtitle-color);margin-bottom:.75rem;opacity:.6}.wedding-title{font-family:var(--font-title);font-size:64px;line-height:70px;font-weight:400;text-transform:uppercase;letter-spacing:.05em;color:var(--title-color);margin:0}.wedding-text{font-family:var(--font-body);font-size:18px;line-height:1.7;color:var(--title-color);margin:0;opacity:.85}.wedding-subtitle{font-family:var(--font-body);font-size:20px;letter-spacing:5px;text-transform:uppercase;color:var(--subtitle-color)}.hero-section{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:3rem;padding:6rem 8%;height:calc(100vh - var(--navbar-height-desktop));box-sizing:border-box}.hero-text-col{display:flex;flex-direction:column;gap:1.25rem;flex:1;max-width:500px;position:relative;z-index:2;animation:hero-rise 1.1s cubic-bezier(.22,1,.36,1) .15s both}.hero-date{font-family:var(--font-body);font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--subtitle-color);opacity:.7;margin:0}.wedding-hero-image{width:45%;border-radius:12px;object-fit:cover;flex-shrink:0;animation:hero-rise 1.3s cubic-bezier(.22,1,.36,1) .3s both}.hero-wrapper{position:relative;overflow:hidden;width:100%}.hero-bg-decor{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.hero-bg-svg{width:100%;height:100%}.hero-stamp{position:absolute;top:28px;left:28px;z-index:3;width:var(--hero-stamp-size);pointer-events:none;opacity:.85;animation:hero-rise 1.2s cubic-bezier(.22,1,.36,1) .05s both}.stamp-svg{width:100%;height:auto}.hero-eyebrow{font-family:var(--font-title);font-size:13px;letter-spacing:.28em;text-transform:lowercase;color:var(--subtitle-color);font-style:italic;opacity:.75}.hero-title-tilted{display:inline-block;transform:rotate(-3deg);transform-origin:left center;white-space:pre-line;text-shadow:0 2px 40px rgba(214,179,106,.18),0 1px 0 rgba(0,0,0,.6)}.hero-rule{width:48px;height:1px;background:var(--title-color);opacity:.45;margin:6px 0}.hero-datebar{display:flex;align-items:center;gap:14px;font-family:var(--font-body);font-size:10px;letter-spacing:.28em;color:var(--title-color);text-transform:uppercase;opacity:.8;margin-bottom:10px}.hero-datebar-dot{opacity:.4;font-size:12px;letter-spacing:0}.hero-link{font-family:var(--font-title);font-size:14px;letter-spacing:.25em;text-transform:uppercase;color:var(--title-color);position:relative;width:fit-content;transition:.3s ease}.hero-link:after{content:"";position:absolute;left:0;bottom:-4px;width:40%;height:1px;background:var(--title-color);opacity:.6;transition:.3s ease}.hero-link:hover{opacity:.9}.hero-link:hover:after{width:100%;opacity:1}@keyframes hero-rise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.hero-text-col,.hero-stamp,.wedding-hero-image{animation:none;opacity:1;transform:none}.hero-title-tilted{transform:rotate(-3deg)}}.bg-primary{background-color:var(--title-color)}.bg-dark{background-color:var(--page-background-color)}.bg-gray{background-color:var(--section-background-color)}.bg-white{background-color:var(--color-white)}.text-primary{color:var(--title-color)}.text-secondary{color:var(--subtitle-color)}.text-dark{color:var(--page-text-color)}.text-white{color:var(--color-white)}.image-frame{background-color:var(--section-background-color);border-radius:250px 0 0;overflow:hidden}.husi-wedding-main-layout{background-color:var(--page-background-color);scrollbar-width:none}.admin-card{background:var(--admin-card-background-color);border-radius:16px;padding:24px;box-shadow:0 8px 24px #0000000f;margin-bottom:24px}.admin-stats{display:flex;gap:16px;flex-wrap:wrap}.admin-stat-box{flex:1;min-width:150px;background:#fafafa;border-radius:12px;padding:16px;text-align:center}.admin-view{display:flex;justify-content:center;align-items:flex-start;padding:5rem 8%;box-sizing:border-box}vaadin-tabs{margin-bottom:20px}vaadin-tab{font-weight:500;color:#666}vaadin-tab[selected]{color:var(--title-color);border-bottom:2px solid #000}vaadin-grid{border-radius:12px;overflow:hidden;background-color:var(--title-color)}vaadin-grid::part(cell){border-bottom:1px solid rgba(241,217,168,.15);background-color:transparent}.admin-wrapper{display:flex;justify-content:center;position:relative}.login-cta-btn{display:inline-block;margin-top:2rem;font-family:var(--font-body);font-size:12px;letter-spacing:.25em;text-transform:uppercase;color:var(--page-background-color)!important;background-color:var(--title-color);padding:1em 2.5em;text-decoration:none;transition:.3s ease;min-height:48px;line-height:48px}.login-cta-btn:hover{background-color:var(--button-hover-background-color)}.login-form{background-color:var(--card-light-gold);color:#000;padding:10px;width:90vw;align-items:center;margin:0;font-size:12px}@media (min-width: 1024px){.login-form{width:40vw;padding:50px}}.rsvp-page{display:flex;justify-content:center;align-items:flex-start;min-height:100vh;padding:5rem 8%;box-sizing:border-box;background:var(--page-background-color)}.rsvp-page-inner{width:100%;max-width:640px;display:flex;flex-direction:column;gap:3rem}.rsvp-header{display:flex;flex-direction:column;gap:.75rem}.rsvp-eyebrow{font-family:var(--font-body);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--subtitle-color);opacity:.7}.rsvp-title{font-family:var(--font-title);font-size:56px;color:var(--title-color);margin:0;line-height:1}.rsvp-subtitle{font-family:var(--font-body);font-size:16px;color:var(--subtitle-color);opacity:.75;margin:0;line-height:1.6}.rsvp-card{background-color:var(--card-light-gold);padding:2.5rem;display:flex;flex-direction:column;gap:1.25rem;--lumo-base-color: var(--card-light-gold);--lumo-body-text-color: #1a1a1a;--lumo-secondary-text-color: #3a3a3a;--lumo-disabled-text-color: #888;--lumo-header-text-color: #1a1a1a;--lumo-primary-text-color: #1a1a1a;--lumo-primary-color: #8B6914;--lumo-primary-color-50pct: rgba(139, 105, 20, .5);--lumo-tint-5pct: rgba(0,0,0,.03);--lumo-tint-10pct: rgba(0,0,0,.06);--lumo-tint-20pct: rgba(0,0,0,.08);--lumo-shade-5pct: rgba(0,0,0,.05);--lumo-shade-10pct: rgba(0,0,0,.1);--lumo-shade-20pct: rgba(0,0,0,.15);--lumo-contrast-10pct: rgba(0,0,0,.1);--lumo-contrast-20pct: rgba(0,0,0,.2);--lumo-contrast-50pct: rgba(0,0,0,.5);--lumo-contrast-90pct: rgba(0,0,0,.9)}.rsvp-card vaadin-text-field,.rsvp-card vaadin-text-area,.rsvp-card vaadin-combo-box{width:100%}.rsvp-submit-btn{margin-top:.5rem;width:100%;background-color:transparent!important;color:#1a1a1a!important;border:1px solid #1a1a1a!important;border-radius:0!important;padding:1em 2.5em!important;font-family:var(--font-body)!important;font-size:12px!important;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:.3s ease;min-height:48px}.rsvp-submit-btn:hover{background-color:#1a1a1a!important;color:var(--card-light-gold)!important}.timeline{display:flex;flex-direction:column;gap:0;margin-top:1rem;border-left:1px solid rgba(241,217,168,.2);padding-left:2rem;margin-bottom:2.5rem}.timeline-day-label{display:block;font-family:var(--font-body);font-size:13px;letter-spacing:.25em;text-transform:uppercase;color:var(--title-color);opacity:.55;margin-top:2rem;margin-bottom:.25rem}.timeline-item{display:flex;gap:2rem;padding:1.25rem 0;border-bottom:1px solid rgba(241,217,168,.08);align-items:flex-start}.timeline-time{font-family:var(--font-body);font-size:11px;letter-spacing:.2em;color:var(--title-color);opacity:.45;min-width:60px;padding-top:4px;flex-shrink:0}.timeline-heading{font-family:var(--font-title);font-size:20px;color:var(--title-color);margin:0 0 4px}.timeline-desc{font-family:var(--font-body);font-size:14px;color:var(--title-color);opacity:.65;margin:0;line-height:1.5}.timeline-days-container{display:flex;gap:2rem;flex-wrap:wrap;align-items:center}.timeline-day{flex:1 1 45%;min-width:280px}@media (max-width: 767px){.timeline-days-container{flex-direction:column;gap:1.5rem;align-items:stretch}.timeline-day{flex:1 1 100%}}.hotel-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:2.5rem}.hotel-card{border:1px solid rgba(241,217,168,.15);padding:2rem;display:flex;flex-direction:column;gap:.5rem}.hotel-name{font-family:var(--font-title);font-size:24px;color:var(--title-color);margin:0}.hotel-address{font-family:var(--font-body);font-size:14px;color:var(--title-color);opacity:.6;margin:0}.hotel-distance{font-family:var(--font-body);font-size:13px;color:var(--title-color);opacity:.45;margin:0;font-style:italic}.hotel-actions{display:flex;align-items:center;gap:1.5rem;margin-top:1rem;flex-wrap:wrap}.hotel-btn{font-family:var(--font-body);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--page-background-color)!important;background-color:var(--title-color);padding:.7em 1.5em;text-decoration:none;transition:.3s ease;min-height:44px;display:flex;align-items:center}.hotel-btn:hover{background-color:var(--button-hover-background-color)}.hotel-maps-link{font-family:var(--font-body);font-size:13px;color:var(--title-color);opacity:.6;text-decoration:none;letter-spacing:.05em;transition:.3s ease}.hotel-maps-link:hover{opacity:1}.faq-list{margin-top:2rem;display:flex;flex-direction:column;gap:0}.faq-item{border-bottom:1px solid rgba(241,217,168,.15);padding:.25rem 0;--lumo-primary-color: var(--title-color);--lumo-body-text-color: var(--title-color);--lumo-contrast-60pct: var(--title-color);--lumo-secondary-text-color: var(--title-color)}.faq-item::part(summary){font-family:var(--font-title);font-size:20px;color:var(--title-color);padding:1.25rem 0;cursor:pointer}.faq-item::part(summary):hover{opacity:.8}.faq-item::part(toggle){color:var(--title-color);opacity:.4}.faq-answer{font-family:var(--font-body);font-size:16px;color:var(--title-color);opacity:.75;line-height:1.7;padding-bottom:1.25rem;margin:0}@media (max-width: 900px){.hero-section{flex-direction:column;padding:4rem 6%;gap:2rem;min-height:100vh}.hero-text-col{max-width:100%;align-items:center;text-align:center;gap:2rem;flex:.3}.wedding-hero-image{width:80%;max-width:420px}.wedding-title{font-size:40px;line-height:52px}.section-full{padding:4rem 6%}.section-title{font-size:36px}.hero-stamp{width:85px;top:14px;left:14px}.rsvp-page{padding:4rem 6%}.rsvp-title{font-size:44px}}@media (max-width: 767px){.hero-section{padding:3rem 5%;gap:2rem;min-height:100vh;flex-direction:column;justify-content:center}.hero-text-col{max-width:100%;align-items:center;text-align:center;gap:2rem;flex:.3}.wedding-hero-image{width:100%;max-width:100%;border-radius:8px}.wedding-title{font-size:32px;line-height:40px}.section-full{padding:3rem 5%;min-height:auto}.section-title{font-size:26px}.wedding-text{font-size:15px}.section-eyebrow{font-size:10px}.rsvp-page{padding:2.5rem 5%;min-height:unset}.rsvp-page-inner{gap:2rem}.rsvp-title{font-size:36px}.rsvp-subtitle{font-size:14px}.rsvp-card{padding:1.5rem;gap:1rem}.timeline{padding-left:1rem}.timeline-item{gap:1rem}.timeline-time{min-width:50px}.timeline-heading{font-size:17px}.hotel-cards{grid-template-columns:1fr}.hotel-card{padding:1.5rem}.faq-item::part(summary){font-size:17px}}@media (max-width: 380px){.hero-section{padding:2rem 4%}.wedding-title{font-size:26px;line-height:34px}.section-full,.rsvp-page{padding:2rem 4%}.rsvp-title{font-size:30px}.rsvp-card{padding:1.25rem}.timeline-item{flex-direction:column;gap:.25rem}.timeline-time{min-width:unset}}.rsvp-wrapper{display:flex;justify-content:center;position:relative}.rsvp-content{max-width:800px;z-index:2}.photo-column{width:300px;position:relative}.photo-column.left{margin-right:30px}.photo-column.right{margin-left:30px}.polaroid{background:#fff;padding:10px 10px 25px;margin:100px 20px 20px;box-shadow:0 8px 20px #00000026;transform:rotate(-3deg);position:relative;transition:transform .3s ease}.polaroid:nth-child(2n){transform:rotate(4deg)}.polaroid:hover{transform:scale(1.05) rotate(0)}.polaroid-img{width:100%;height:auto;display:block}.polaroid-caption{display:block;text-align:center;margin-top:8px;font-size:14px}.polaroid:before{content:"";width:12px;height:12px;background:#c0392b;border-radius:50%;position:absolute;top:-6px;left:50%;transform:translate(-50%);box-shadow:0 2px 4px #0000004d}@media (max-width: 768px){.rsvp-wrapper{flex-direction:column;align-items:center}.photo-column{width:100%;display:flex;justify-content:center;flex-wrap:wrap}.polaroid{width:100px;margin:10px;transform:rotate(0)}.rsvp-content{width:100%}}
