@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;0,700;1,500;1,600;1,700&family=Lato:wght@300;400;500&display=swap";:root{--text:#07152d;--text-h:#07152d;--bg:#f4ead8;--border:#f1cf8657;--code-bg:#07152d;--accent:#d8b56d;--accent-bg:#d8b56d1f;--accent-border:#f1cf8657;--social-bg:#d8b56d1a;--shadow:#0209186b 0 18px 42px -4px;--sans:"Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--heading:"Cormorant Garamond", serif;--mono:ui-monospace, Consolas, monospace;font:16px/160% var(--sans);letter-spacing:.5px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:15px}}#root{text-align:left;background:var(--bg);box-sizing:border-box;flex-direction:column;width:100%;margin:0 auto;display:flex}body{margin:0;padding:0}h1,h2{font-family:var(--heading);color:var(--text-h);letter-spacing:0;font-weight:600}h1{margin:40px 0 20px;font-size:64px;line-height:120%}@media (width<=1024px){h1{margin:28px 0 16px;font-size:44px}}h2{margin:32px 0 16px;font-size:36px;line-height:125%}@media (width<=1024px){h2{margin:24px 0 12px;font-size:28px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}:root{--event-navy:#07152d;--event-navy-soft:#07152d;--event-navy-light:#07152d;--event-bone:#f4ead8;--event-champagne:#f7ead1;--event-champagne-soft:#f7ead11a;--event-gold:#d8b56d;--event-gold-bright:#f1cf86;--event-border:#f1cf8657;--event-shadow:0 22px 58px #0209186b}.hero{text-align:center;background-position:50%;background-repeat:no-repeat;background-size:cover;flex-direction:column;justify-content:center;align-items:center;min-height:90vh;padding:60px 40px;display:flex;position:relative;overflow:hidden}@media (width<=768px){.hero{min-height:70vh;padding:40px 20px}}.hero:before{content:"";background:linear-gradient(135deg,#07152de6,#07152d7a),#07152d4d;position:absolute;inset:0}.hero .hero-content{z-index:1;text-align:center;width:min(100%,1180px);margin:0 auto;position:relative}.hero .hero-eyebrow{color:var(--event-gold-bright);letter-spacing:3px;text-transform:uppercase;margin:0 0 22px;font-size:18px;font-weight:700}.hero .hero-ages{color:var(--event-champagne);font-family:var(--heading);text-align:center;white-space:nowrap;text-shadow:0 8px 28px #020918b8;margin:28px auto 0;font-size:clamp(28px,4.1vw,58px);font-weight:500;line-height:1.08}.hero h1{font-family:var(--heading);color:var(--event-gold-bright);text-align:center;white-space:nowrap;text-shadow:0 5px 22px #020918a6;margin:0;font-size:clamp(58px,8.5vw,118px);font-style:italic;font-weight:500;line-height:.95}.hero .hero-details{color:#f5dca3;text-shadow:0 3px 14px #020918b3;max-width:720px;margin:36px auto 42px;font-size:20px;line-height:1.7}@media (width<=768px){.hero .hero-details{margin:28px auto 34px;font-size:17px}}.hero button{background:var(--event-gold);color:var(--event-navy);cursor:pointer;letter-spacing:1px;border:none;border-radius:4px;padding:14px 40px;font-family:Lato,sans-serif;font-size:16px;font-weight:500;transition:all .3s}.hero button:hover{background:var(--event-gold-bright);transform:translateY(-2px);box-shadow:0 10px 28px #d8b56d57}.hero button:active{transform:translateY(0)}.about{text-align:left;background:var(--event-bone);margin:0;padding:80px 40px}@media (width<=768px){.about{padding:60px 20px}}.about h2{color:var(--event-navy);text-shadow:none;margin:0 0 16px}.about h3{color:var(--event-gold);font-family:var(--heading);letter-spacing:0;margin:0 0 20px;font-size:34px;font-style:italic;font-weight:600;line-height:1.2}@media (width<=768px){.about h3{font-size:28px}}.about .about-content{text-align:left;grid-template-columns:minmax(0,1fr) minmax(220px,360px);align-items:center;gap:48px;max-width:1080px;margin:0 auto;display:grid}@media (width<=768px){.about .about-content{grid-template-columns:1fr;gap:32px}}.about .about-text{max-width:650px}.about img{aspect-ratio:3/4;object-fit:cover;object-position:center 15%;border-radius:7px;width:100%;box-shadow:0 18px 36px #07152d24}.about p{max-width:650px;color:var(--event-navy);letter-spacing:.4px;margin:0;font-size:18px;line-height:1.8}.about .event-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 32px;margin:34px 0 0;display:grid}@media (width<=640px){.about .event-details{grid-template-columns:1fr;gap:20px}}.about dt{color:#07152db8;letter-spacing:1.5px;text-transform:uppercase;margin:0 0 8px;font-size:13px;font-weight:800}.about dd{color:var(--event-navy);margin:0;font-size:18px;font-style:italic;font-weight:800;line-height:1.35}.gallery{background:var(--event-bone);padding:32px 20px;position:relative}.gallery:before{content:"";background:#07152d1a;width:65%;height:1px;position:absolute;top:0;left:17.5%}@media (width<=768px){.gallery{padding:44px 20px}}.gallery h2{text-align:center;color:var(--event-navy);text-shadow:none;margin-bottom:28px}.gallery .gallery-grid{overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-color:var(--event-gold) #07152d1f;scrollbar-width:thin;gap:10px;max-width:1500px;margin:0 auto;padding:0 4px 14px;scroll-padding-inline:4px;display:flex;overflow-x:auto}@media (width<=768px){.gallery .gallery-grid{gap:14px}}.gallery .gallery-grid img{aspect-ratio:4/5;object-fit:cover;object-position:center;scroll-snap-align:start;border-radius:8px;width:300px;transition:transform .3s,box-shadow .3s;box-shadow:0 14px 30px #07152d1f}.gallery .gallery-grid img:hover{transform:translateY(-4px);box-shadow:0 18px 38px #07152d2e}.schedule{background:var(--event-bone);padding:80px 40px;position:relative}.schedule:before{content:"";background:#07152d1a;width:65%;height:1px;position:absolute;top:0;left:17.5%}@media (width<=768px){.schedule{padding:60px 20px}}.schedule h2{text-align:center;color:var(--event-navy);text-shadow:none;margin-bottom:48px}.schedule .schedule-items{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;max-width:1180px;margin:0 auto;display:grid}@media (width<=768px){.schedule .schedule-items{grid-template-columns:1fr;gap:24px}}.schedule .schedule-items .schedule-item{text-align:center;background:#ffffff57;border-radius:8px;padding:30px 24px;transition:all .3s}.schedule .schedule-items .schedule-item:hover{transform:translateY(-4px);box-shadow:0 16px 34px #07152d14}.schedule .schedule-items .schedule-item h3{font-family:var(--heading);color:var(--event-gold);margin:0 0 12px;font-size:24px}.schedule .schedule-items .schedule-item p{color:var(--event-navy);margin:0;font-size:18px}.countdown{background:var(--event-bone);text-align:center;padding:80px 40px;position:relative}.countdown:before{content:"";background:#07152d1a;width:65%;height:1px;position:absolute;top:0;left:17.5%}@media (width<=768px){.countdown{padding:60px 20px}}.countdown h2{color:var(--event-navy);text-shadow:none;margin-bottom:48px}.countdown .countdown-display{background:0 0;max-width:600px;margin:0 auto;padding:16px 32px}.countdown .countdown-display p{color:var(--event-navy);font-size:18px}.rsvp-form{background:var(--event-navy);text-align:center;padding:80px 40px;position:relative}.rsvp-form:before{content:"";background:#d8b56d3d;width:65%;height:1px;position:absolute;top:0;left:17.5%}@media (width<=768px){.rsvp-form{padding:60px 20px}}.rsvp-form h2{color:var(--event-champagne);text-shadow:0 3px 14px #02091873;margin-bottom:16px}.rsvp-form p{color:#ead8b7;margin-bottom:32px;font-size:18px}.rsvp-form button{background:var(--event-gold);color:var(--event-navy);cursor:pointer;letter-spacing:1px;border:none;border-radius:4px;padding:14px 40px;font-family:Lato,sans-serif;font-size:16px;font-weight:500;transition:all .3s}.rsvp-form button:hover{background:var(--event-gold-bright);transform:translateY(-2px);box-shadow:0 10px 28px #d8b56d57}.rsvp-form button:active{transform:translateY(0)}.rsvp-form-container{background:0 0;flex-direction:column;gap:24px;max-width:700px;margin:40px auto 0;padding:0;display:flex}@media (width<=768px){.rsvp-form-container{padding:0}}.form-row{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}@media (width<=768px){.form-row{grid-template-columns:1fr;gap:16px}}.rsvp-contact-row{grid-template-columns:repeat(3,1fr)}@media (width<=768px){.rsvp-contact-row{grid-template-columns:1fr}}.plus-ones-row{grid-template-columns:repeat(3,1fr)}.form-subheader{color:var(--event-champagne);letter-spacing:.5px;text-align:left;text-transform:uppercase;grid-column:1/-1;margin:0 0 -4px;font-size:16px;font-weight:700}.rsvp-form .form-helper{color:#f7ead1b8;text-align:left;grid-column:1/-1;margin:-6px 0 0;font-size:10px;line-height:1}.form-group{text-align:left;flex-direction:column;gap:8px;display:flex}.form-group.full-width{grid-column:1/-1}.form-group label{color:var(--event-gold);text-transform:uppercase;letter-spacing:.5px;font-size:14px;font-weight:700}.form-group input,.form-group select,.form-group textarea{color:var(--event-champagne);background:0 0;border:none;border-bottom:1px solid #f7ead175;border-radius:0;padding:14px 0;font-family:Lato,sans-serif;font-size:15px;transition:all .3s}:is(.form-group input,.form-group select,.form-group textarea):focus{border-bottom-color:var(--event-gold-bright);box-shadow:none;outline:none}:is(.form-group input,.form-group select,.form-group textarea)::placeholder{color:#f7ead194}.form-group textarea{resize:vertical;font-family:Lato,sans-serif}.submit-btn{background:var(--event-gold);color:var(--event-navy);cursor:pointer;letter-spacing:1px;text-transform:uppercase;border:none;border-radius:4px;grid-column:1/-1;align-self:center;margin-top:16px;padding:14px 40px;font-family:Lato,sans-serif;font-size:16px;font-weight:600;transition:all .3s}.submit-btn:hover{background:var(--event-gold-bright);transform:translateY(-2px);box-shadow:0 10px 28px #d8b56d57}.submit-btn:active{transform:translateY(0)}.submit-btn:disabled{cursor:not-allowed;opacity:.7;transform:none}.form-status{text-align:center;grid-column:1/-1;margin:0;font-size:15px}.form-status-error{color:#ffd0d0}.form-status-success{color:#dff6d8}button{cursor:pointer;font-family:Lato,sans-serif;font-weight:500;transition:all .3s}.admin-auth,.admin-container,.admin-loading,.admin-error{background:var(--event-bone);min-height:100vh;color:var(--event-navy)}.admin-auth{place-items:center;padding:40px 20px;display:grid}.admin-login-form{flex-direction:column;gap:14px;width:min(100%,420px);display:flex}.admin-login-form h1{color:var(--event-navy);margin:0}.admin-login-form p{margin-bottom:12px}.admin-login-form label{color:var(--event-gold);letter-spacing:.5px;text-transform:uppercase;font-size:14px;font-weight:700}.admin-login-form input{color:var(--event-navy);font:inherit;background:0 0;border:none;border-bottom:1px solid #07152d4d;padding:12px 0}.admin-login-form input:focus{border-bottom-color:var(--event-gold);outline:none}.admin-login-form button{background:var(--event-gold);color:var(--event-navy);border:none;border-radius:4px;align-self:flex-start;margin-top:12px;padding:12px 28px;font-weight:700}.admin-login-form button:disabled{cursor:not-allowed;opacity:.7}.admin-container{padding:40px}@media (width<=768px){.admin-container{padding:28px 20px}}.admin-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}@media (width<=768px){.admin-header{flex-direction:column;align-items:flex-start}}.admin-header button{background:var(--event-navy);color:var(--event-champagne);border:none;border-radius:4px;padding:10px 18px}.admin-title{margin:0}.admin-loading,.admin-error{padding:40px}.admin-error{color:#a83232}.dashboard-stats{gap:16px;display:grid}.dashboard-stats-full{grid-template-columns:repeat(4,minmax(140px,1fr));margin-bottom:24px}.stat-card{background:#ffffff61;border:1px solid #07152d1f;border-radius:6px;padding:18px}.stat-card h2{color:var(--event-navy);margin:0 0 6px;font-size:28px;line-height:1}.stat-card p{color:#07152db8;letter-spacing:.4px;text-transform:uppercase;margin:0;font-size:13px;font-weight:700}.admin-table-wrapper{width:100%;max-width:100%;overflow-x:auto}.admin-table{border-collapse:collapse;table-layout:fixed;background:#ffffff52;width:100%;min-width:1080px}.admin-col-name{width:10%}.admin-col-phone{width:12%}.admin-col-status{width:9%}.admin-col-count{width:6%}.admin-col-total{width:8%}.admin-col-message{width:23%}.admin-col-actions{width:10%}.admin-table th,.admin-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #07152d1f;padding:12px}.admin-table th{color:var(--event-gold);letter-spacing:.5px;text-transform:uppercase;font-size:13px}.attendance-badge{text-transform:capitalize;border-radius:4px;padding:4px 8px;font-size:14px;display:inline-block}.attendance-yes{color:#166534;background:#16653424}.attendance-no{color:#991b1b;background:#991b1b24}.admin-table td.message-cell{overflow-wrap:anywhere;white-space:normal;word-break:break-word;max-width:320px;line-height:1.45}.admin-table-input{width:100%;min-width:0;color:var(--event-navy);font:inherit;background:#ffffffc7;border:1px solid #07152d2e;border-radius:4px;padding:8px 10px}.admin-table-input:focus{outline-offset:1px;outline:2px solid #d8b56d6b}.admin-count-input{padding-inline:6px}.admin-message-input{resize:vertical;white-space:normal;min-height:76px;display:block}.admin-row-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-action-button{border:1px solid var(--event-navy);background:var(--event-navy);color:var(--event-champagne);cursor:pointer;font:inherit;border-radius:4px;padding:7px 10px;font-size:13px;font-weight:700}.admin-action-button:disabled{cursor:not-allowed;opacity:.65}.admin-action-secondary{color:var(--event-navy);background:0 0}.admin-edit-error{color:#991b1b;background:#991b1b14;border:1px solid #991b1b38;border-radius:4px;margin-top:16px;padding:12px}.guest-count,.no-data{text-align:center}@media (width<=900px){.dashboard-stats-full{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.dashboard-stats-full{grid-template-columns:1fr}}
