@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,500&family=Montserrat:wght@400;500;600&family=Parisienne&display=swap";:root{font-family:Montserrat,sans-serif;color:#3f4d3a;background:#fbf5e4;font-synthesis:none;--green:#4a5941;--green-deep:#2e3b2a;--sage:#62745c;--taupe:#725d48;--tan:#b29a7e;--champagne:#cfb88c;--cream:#f5ebd0;--blush:#e5c8ba;--white:#fbf5e4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#17231a;background-image:radial-gradient(circle at 18% 24%,rgba(46,59,42,.55) 0,transparent 28%),radial-gradient(circle at 84% 76%,rgba(46,59,42,.5) 0,transparent 24%);min-height:100vh}button,input,select{font:inherit}a{color:inherit}h2,h3,h4,p{margin-top:0}.app-shell{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:30px 20px}.device-frame{position:relative;width:min(450px,calc(100vw - 40px));height:min(880px,calc(100svh - 40px));background:#1c2a20;border-radius:48px;padding:14px;box-shadow:0 30px 80px #00000080,0 0 0 1px #ffffff14;container-type:inline-size}.device-screen{height:100%;overflow-y:auto;overflow-x:hidden;border-radius:36px;background:var(--white);position:relative;scrollbar-width:none;-ms-overflow-style:none}.device-screen::-webkit-scrollbar{display:none}.device-frame .invitation-cover{position:absolute;inset:0;min-height:100%;width:100%;height:100%;overflow:hidden}.device-frame .music-toggle{position:absolute;right:28px;bottom:28px;z-index:20}.device-frame .hero{min-height:auto;padding:50px 20px}.device-frame .hero h1{font-size:clamp(3rem,22cqi,5rem);line-height:.75}.device-frame .hero .eyebrow{font-size:.6rem}.device-frame .hero .ceremony{font-size:.85rem}.device-frame .hero .date{font-size:1rem}.device-frame .hero .place{font-size:.6rem}.device-frame .hero .rule{font-size:.75rem}.device-frame .hero .rule i{width:30px}.device-frame .countdown strong{font-size:1.5rem}.device-frame .countdown span{font-size:.55rem}.device-frame .section{padding:55px 20px}.device-frame .intro h2{font-size:clamp(2rem,12cqi,3rem)}.device-frame .intro>p:last-child{font-size:.85rem;line-height:1.75}.device-frame .couple-photo{margin-top:45px;padding:0 16px}.device-frame .couple-photo img{max-height:280px}.device-frame .couple-photo figcaption{font-size:1.6rem;padding:10px 18px}.device-frame .private-card{padding:45px 20px}.device-frame .private-card h2{font-size:1.8rem}.device-frame .rsvp h3{font-size:1.6rem}.device-frame .detailed-rsvp{margin-top:25px}.device-frame .event-card{padding:20px 0}.device-frame .event-card h4{font-size:1.25rem}.device-frame .field input,.device-frame .field select{padding:11px}.device-frame .ticket{padding:28px;border-radius:120px 120px 8px 8px}.device-frame .ticket img{width:150px}.device-frame .program h2{font-size:clamp(2rem,10cqi,2.8rem)}.device-frame .program h3{font-size:1.4rem}.device-frame .venue-map-section{padding:0 16px;margin-bottom:55px}.device-frame .map-heading{flex-direction:column;align-items:start;gap:16px;margin-bottom:16px}.device-frame .map-heading h2{font-size:1.7rem}.device-frame .map-frame{height:240px}.device-frame .map-link{width:100%;text-align:center}.device-frame footer{padding:45px 20px;font-size:1.7rem}@media(max-width:640px){body{background:var(--white)}.app-shell{display:block;min-height:auto;padding:0}.device-frame{width:100%;height:auto;background:transparent;padding:0;border-radius:0;box-shadow:none;border:0}.device-screen{height:auto;overflow:visible;border-radius:0}.device-frame .invitation-cover{position:fixed;inset:0;overflow:hidden}.device-frame .music-toggle{position:fixed;right:16px;bottom:16px}}.hero{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 24px;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 25%,rgba(255,255,255,.85),transparent 35%),linear-gradient(145deg,#f8f2e8,#efe3d0)}.hero:before,.hero:after{content:"";position:absolute;width:340px;height:340px;border:1px solid rgba(98,116,92,.25);border-radius:50%;transform:rotate(35deg)}.hero:before{left:-190px;top:-80px}.hero:after{right:-190px;bottom:-80px}.floral{position:absolute;color:var(--sage);font-size:170px;opacity:.13}.floral-left{left:-15px;bottom:10%}.floral-right{right:-15px;top:8%;transform:rotate(180deg)}.eyebrow{text-transform:uppercase;letter-spacing:.35em;font-size:.7rem;font-weight:600;color:var(--sage)}.ceremony{text-transform:uppercase;letter-spacing:.22em;font-family:Cormorant Garamond,serif;font-size:1.1rem;margin:18px 0}.hero h1{margin:8px 0 22px;display:flex;flex-direction:column;font-family:Parisienne,cursive;font-size:clamp(4.8rem,16vw,9rem);font-weight:400;line-height:.62;color:var(--green)}.hero h1 b{font-family:Cormorant Garamond,serif;font-size:.4em;color:var(--champagne);font-weight:400;line-height:1.3}.rule{display:flex;align-items:center;gap:16px;text-transform:uppercase;letter-spacing:.22em;font-family:Cormorant Garamond,serif;font-size:1rem}.rule i{width:45px;height:1px;background:var(--champagne)}.date{font-family:Cormorant Garamond,serif;text-transform:uppercase;letter-spacing:.15em;font-size:1.2rem;margin:28px 0 6px}.place{text-transform:uppercase;letter-spacing:.3em;font-size:.72rem}.countdown{margin:28px 0;display:flex;flex-direction:column;color:var(--champagne)}.countdown strong{font:500 2rem Cormorant Garamond,serif}.countdown span{font-size:.65rem;text-transform:uppercase;letter-spacing:.18em}.scroll-link{font-size:.68rem;text-transform:uppercase;letter-spacing:.2em;text-decoration:none;border-bottom:1px solid var(--green);padding-bottom:6px}.section{padding:90px max(24px,calc((100% - 940px)/2))}.intro{text-align:center;max-width:760px;margin:auto}.section h2{font:500 clamp(2.5rem,7vw,4.8rem)/.95 "Cormorant Garamond",serif;color:var(--green)}.intro>p:last-child{line-height:1.9;color:#62745c;max-width:620px;margin:32px auto 0}.private-card{background:var(--green);color:var(--cream);position:relative}.private-card h2{color:var(--cream)}.private-card>.ticket-type{display:inline-block;border:1px solid rgba(255,255,255,.35);border-radius:99px;padding:8px 14px;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.rsvp{margin-top:45px}.rsvp h3{font:500 2.2rem Cormorant Garamond,serif}.event-card{display:grid;grid-template-columns:1fr auto;gap:20px;border-top:1px solid rgba(255,255,255,.22);padding:28px 0}.event-card h4{font:500 1.65rem Cormorant Garamond,serif;margin-bottom:7px}.event-card p{font-size:.85rem;color:#ecdcbc}.event-date{text-transform:uppercase;letter-spacing:.15em;font-size:.65rem!important;color:var(--champagne)!important}.event-card a{font-size:.72rem;color:var(--champagne)}.choices{display:flex;gap:18px;align-items:center}.choices label{cursor:pointer}.field{display:flex;flex-direction:column;gap:9px;margin:18px 0;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}.field input,.field select{border:1px solid rgba(255,255,255,.3);background:#ffffff14;color:#fff;padding:13px;border-radius:3px}.field select option{color:#222}.field.small{min-width:160px;grid-column:2}.primary{border:0;background:var(--champagne);color:#27352b;padding:16px 25px;text-transform:uppercase;letter-spacing:.13em;font-size:.72rem;font-weight:600;cursor:pointer}.primary:disabled{opacity:.55}.success{color:#cfe5ca;margin-top:15px}.form-error{color:#ffd0c8}.ticket{margin:60px auto 0;max-width:380px;background:var(--cream);color:var(--green);padding:38px;text-align:center;border-radius:160px 160px 10px 10px;display:flex;flex-direction:column;align-items:center;gap:8px}.ticket img{width:210px;margin:8px}.ticket strong{font:600 1.6rem Cormorant Garamond,serif}.ticket small{margin-top:8px}.program{text-align:center}.program article{padding:26px 0;border-bottom:1px solid #ddd2bf}.program article span{font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;color:var(--champagne)}.program h3{font:500 2rem Cormorant Garamond,serif;margin:8px 0}.program article p{font-size:.85rem;color:#62745c}.notice{text-align:center;padding:45px}.notice h2{font-size:2rem}footer{text-align:center;background:#2e3b2a;color:var(--cream);padding:65px 20px;font:400 2.5rem Parisienne,cursive}footer b{color:var(--champagne);font:400 1.5rem Cormorant Garamond,serif;margin:0 12px}footer p{font:500 .65rem Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.2em;margin-top:18px}.invitation-cover{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100svh;overflow:hidden;background:#f7f0dd;color:var(--green);text-align:center;cursor:pointer;perspective:1200px;padding:24px}.cover-silk{position:absolute;inset:0;background:url(/images/silk-roses.webp) center/cover no-repeat}.cover-silk:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#f4efe440,#f4efe48c 55%,#f4efe4bf)}.envelope-stage{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;width:100%;max-width:min(92vw,520px);padding:10px 0}.envelope{position:relative;width:min(78%,420px);height:min(32vh,250px);min-height:180px;max-height:250px;margin:auto;filter:drop-shadow(0 16px 22px rgba(80,64,45,.26)) drop-shadow(0 4px 7px rgba(80,64,45,.14));transform-style:preserve-3d;animation:envelope-nudge 5.5s ease-in-out 1.5s infinite}.opening .envelope{animation:none}.envelope-back{position:absolute;inset:0;border-radius:3px;background:linear-gradient(155deg,#ecd9ae,#dcc49a 55%,#cfb88c);border:1px solid rgba(80,64,45,.12)}.invitation-letter{position:absolute;z-index:3;right:6%;bottom:4%;display:flex;width:50%;height:94%;flex-direction:column;align-items:center;justify-content:center;padding:14px 10px;background:linear-gradient(170deg,#fffef9,#f8f4e9);border:1px solid #e2dbc8;box-shadow:0 3px 10px #50402d24,inset 0 0 22px #d2ae6d12}.invitation-letter:before{content:"";position:absolute;inset:9px;border:1px solid rgba(210,174,109,.55);pointer-events:none}.invitation-letter:after{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.05'/%3E%3C/svg%3E");mix-blend-mode:multiply;pointer-events:none}.letter-kicker{margin-bottom:8px;text-transform:uppercase;letter-spacing:.18em;font-size:.42rem;color:var(--sage)}.invitation-letter strong{position:relative;z-index:1;font:400 clamp(1.05rem,3.4vw,1.5rem) Parisienne,cursive;line-height:1.1;color:var(--green);text-align:center}.invitation-letter strong i{font-family:Cormorant Garamond,serif;color:var(--champagne);font-style:normal}.invitation-letter>span{position:relative;z-index:1;margin-top:8px;font:500 clamp(.62rem,2vw,.82rem) "Cormorant Garamond",serif;text-align:center}.invitation-letter small{position:relative;z-index:1;margin-top:10px;text-transform:uppercase;letter-spacing:.1em;font-size:.4rem}.envelope-pocket{position:absolute;z-index:4;inset:0;border-radius:3px;background:linear-gradient(150deg,#f2e4c1 8%,#e7d5ad 45%,#d8c295);clip-path:polygon(0 0,50% 57%,100% 0,100% 100%,0 100%)}.envelope-pocket:before{content:"";position:absolute;inset:0;clip-path:inherit;background:linear-gradient(115deg,transparent 40%,rgba(80,64,45,.09) 49.6%,rgba(255,255,255,.65) 50.4%,transparent 60%),linear-gradient(245deg,transparent 40%,rgba(80,64,45,.09) 49.6%,rgba(255,255,255,.65) 50.4%,transparent 60%)}.envelope-pocket:after{content:"";position:absolute;inset:0;clip-path:inherit;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.06'/%3E%3C/svg%3E");mix-blend-mode:multiply}.envelope-flap{position:absolute;z-index:5;inset:0;background:linear-gradient(165deg,#f6eccc 12%,#ecdcbc 48%,#d6bd8e);clip-path:polygon(0 0,100% 0,50% 62%);transform-origin:top;backface-visibility:hidden}.envelope-flap:before{content:"";position:absolute;inset:0;clip-path:inherit;background:linear-gradient(180deg,#fff9,#fff0 26%),linear-gradient(0deg,#50402d1f,#50402d00 18%)}.envelope-flap:after{content:"";position:absolute;inset:0;clip-path:inherit;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.06'/%3E%3C/svg%3E");mix-blend-mode:multiply}.wax-seal{position:absolute;z-index:6;left:50%;top:52%;display:flex;width:78px;height:78px;align-items:center;justify-content:center;gap:2px;border-radius:46% 54% 49% 51%/53% 47%;background:radial-gradient(circle at 33% 27%,#f6e3ae,#e2c37c 40%,#c9a24f 66%,#a37c33);box-shadow:inset 0 2px 5px #fff6d68c,inset 0 -4px 9px #7a582080,inset 0 0 0 3px #a37c3347,0 6px 13px #5a421666;color:#fff8e6;transform:translate(-50%,-50%);font:600 1rem Cormorant Garamond,serif;text-shadow:0 1px 2px rgba(122,88,32,.6)}.wax-seal:before{content:"";position:absolute;inset:8px;border-radius:inherit;border:2px solid rgba(255,246,214,.45);box-shadow:inset 0 1px 3px #7a582059}.wax-seal i{font-style:normal;font-size:.8rem}.envelope-photo{position:absolute;z-index:2;left:8%;bottom:4%;width:44%;height:88%;background:#fffdf8;padding:6px 6px 16px;box-shadow:0 6px 16px #50402d47}.envelope-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:52% 25%}.opening .envelope-photo{animation:raise-photo 1.1s 1.15s cubic-bezier(.22,.7,.3,1) forwards}@keyframes envelope-nudge{0%,72%,to{transform:rotate(0) scale(1)}78%{transform:rotate(1.3deg) scale(1.015)}84%{transform:rotate(-1.2deg)}90%{transform:rotate(.9deg)}96%{transform:rotate(-.5deg)}}@keyframes raise-photo{0%{transform:translateY(0) rotate(0)}to{transform:translateY(-78%) rotate(-4deg)}}.open-hint{margin:0;font:500 .92rem Cormorant Garamond,serif;letter-spacing:.08em;line-height:1.55;max-width:260px}.cover-cta{display:inline-block;margin-top:20px;border:1px solid var(--green);background:#fffdf8e6;color:var(--green);padding:13px 28px;text-transform:uppercase;letter-spacing:.18em;font-size:.65rem;text-decoration:none}.opening .envelope-flap{animation:open-flap .65s cubic-bezier(.4,0,.2,1) forwards}.opening .wax-seal{animation:break-seal .35s ease forwards}.opening .invitation-letter{animation:raise-letter 1s .45s cubic-bezier(.22,.7,.3,1) forwards}.opening .open-hint{animation:fade-away .3s forwards}.opening{animation:reveal-page .45s 2.35s ease forwards}@keyframes open-flap{0%{transform:rotateX(0);z-index:5}to{transform:rotateX(180deg);z-index:1}}@keyframes break-seal{to{opacity:0;transform:translate(-50%,-50%) scale(.65) rotate(18deg)}}@keyframes raise-letter{0%{transform:translateY(0)}to{transform:translateY(-62%)}}@keyframes fade-away{to{opacity:0}}@keyframes reveal-page{to{opacity:0;transform:scale(1.035)}}.music-toggle{position:fixed;right:16px;bottom:16px;z-index:20;border:1px solid rgba(80,64,45,.22);border-radius:999px;background:#fffdf8eb;color:var(--green);padding:10px 15px;box-shadow:0 7px 24px #50402d24;font-size:.7rem;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@media(max-width:600px){.cover-botanicals{width:130%;height:110%;left:-15%;top:-5%;opacity:.8}.envelope-stage{transform:translateY(2vh)}.envelope{width:88vw;height:56vw;min-height:205px}.invitation-letter{padding:10px 8px}.envelope-photo{padding:5px 5px 12px}.wax-seal{width:68px;height:68px}.open-hint{padding:0 20px}.music-toggle{right:10px;bottom:10px}}@media(prefers-reduced-motion:reduce){.opening .envelope-flap,.opening .wax-seal,.opening .invitation-letter,.opening .envelope-photo,.opening .open-hint,.opening{animation-duration:.01ms;animation-delay:0s}.envelope{animation:none}}.couple-photo{position:relative;max-width:980px;margin:80px auto 0;padding:0 24px}.couple-photo img{display:block;width:100%;height:auto;max-height:720px;object-fit:cover;object-position:center;border-radius:2px;box-shadow:0 24px 70px #50402d29}.couple-photo figcaption{position:absolute;left:50%;bottom:-27px;transform:translate(-50%);white-space:nowrap;background:var(--white);padding:12px 28px;font:400 2.2rem Parisienne,cursive;color:var(--green)}.couple-photo figcaption span{font-family:Cormorant Garamond,serif;color:var(--champagne);padding:0 7px}@media(max-width:600px){.invitation-cover{padding:16px}.envelope-stage{gap:18px;width:100%;max-width:none;padding:0}.envelope{width:min(82vw,420px);height:min(48vw,240px);min-height:180px;max-height:240px}.open-hint{font-size:.85rem;max-width:220px}.couple-photo{margin-top:42px;padding:0 16px}.couple-photo img{height:440px;object-fit:cover;object-position:52% center}.couple-photo figcaption{font-size:1.8rem;padding:10px 20px}}.detailed-rsvp{max-width:760px;margin:35px auto 0}.detailed-rsvp>p{color:#62745c}.response-block,.event-response fieldset{border:0;padding:0;margin:28px 0}.response-block legend,.event-response legend{font-weight:600;margin-bottom:14px}.answer-buttons{display:grid;grid-template-columns:1fr 1fr;gap:14px}.answer-buttons label{border:1px solid #bfc3bc;padding:16px;text-align:center;text-transform:uppercase;letter-spacing:.16em;cursor:pointer;transition:.2s}.answer-buttons label.selected{background:var(--green);border-color:var(--green);color:#fff}.answer-buttons input{position:absolute;opacity:0;pointer-events:none}.single-event-confirmation{margin:34px 0;padding:24px;border-left:2px solid var(--champagne);background:var(--cream)}.single-event-confirmation h4{font:600 1.6rem Cormorant Garamond,serif;margin-bottom:8px}.single-event-confirmation p:last-child{margin-bottom:0}.event-responses{border-left:1px solid #d7d9d3;padding-left:24px;margin:38px 0}.event-response{padding:22px 0;border-bottom:1px solid #e6e3da}.event-response:last-child{border-bottom:0}.event-details h4{font:600 1.45rem Cormorant Garamond,serif;margin-bottom:6px}.event-response fieldset{margin:20px 0 0}.detailed-rsvp .field{display:block;margin:26px 0;font-weight:600}.detailed-rsvp .field input,.detailed-rsvp .field textarea{display:block;width:100%;margin-top:10px;padding:14px;border:1px solid #bfc3bc;background:#fff;color:var(--green);font:inherit}.detailed-rsvp .field textarea{min-height:130px;resize:vertical}.submit-rsvp{width:100%;margin-top:12px;text-transform:uppercase;letter-spacing:.14em}.guestbook{text-align:center}.guestbook h2{margin-bottom:10px}.guestbook-form{max-width:620px;margin:30px auto 0;text-align:left}.guestbook-form .field textarea{display:block;width:100%;margin-top:10px;padding:14px;border:1px solid #bfc3bc;background:#fff;color:var(--green);font:inherit;min-height:110px;resize:vertical}.guestbook-form .primary{margin-top:14px}.guestbook-note{color:#62745c;font-size:.85rem;margin-top:25px}.guestbook-list{display:grid;gap:18px;max-width:760px;margin:38px auto 0;text-align:left}.guestbook-entry{background:#fff;border:1px solid #e8e2d3;padding:24px 26px;box-shadow:0 10px 30px #50402d0f}.guestbook-entry .entry-message{line-height:1.7;color:#4a5941;margin-bottom:14px;white-space:pre-line}.guestbook-entry footer{display:flex;justify-content:space-between;gap:14px;align-items:baseline}.guestbook-entry footer strong{font:600 1.05rem Cormorant Garamond,serif;color:var(--green)}.guestbook-entry footer span{font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;color:#62745c}.venue-map-section{max-width:1100px;margin:20px auto 100px;padding:0 24px}.map-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:24px}.map-heading h2{font:500 clamp(2.3rem,6vw,4rem) "Cormorant Garamond",serif;margin-bottom:4px}.map-heading p{margin-bottom:0}.map-link{display:inline-block;flex:none;text-decoration:none}.map-frame{position:relative;overflow:hidden;height:460px;border:10px solid white;box-shadow:0 18px 55px #50402d24}.map-frame iframe{display:block;width:100%;height:100%;border:0}@media(max-width:700px){.venue-map-section{margin-bottom:70px;padding:0 16px}.map-heading{align-items:start;flex-direction:column}.map-frame{height:380px;border-width:6px}.map-link{width:100%;text-align:center}}.admin-shell{min-height:100vh;background:#f3f1eb;color:#2e3b2a}.admin-header{background:#2e3b2a;color:#fff;padding:18px max(20px,calc((100% - 1100px)/2));display:flex;justify-content:space-between;align-items:center}.admin-header h1{font:500 1.6rem Cormorant Garamond,serif;margin:0}.admin-header nav{display:flex;gap:18px;align-items:center}.text-button{background:none;border:0;color:inherit;cursor:pointer}.text-button.danger{color:#a33}.secondary{border:1px solid #62745c;background:#fff;color:#3f4d3a;padding:11px 18px;cursor:pointer}.actions{white-space:nowrap}.admin-error{display:flex;justify-content:space-between;background:#f8e5e2;color:#8a2f24;padding:14px 18px}.admin-form textarea{min-height:84px;resize:vertical}.compact-form{grid-template-columns:2fr 1fr auto auto;align-items:end}.row-hidden{opacity:.5}.entry-message{max-width:420px;white-space:pre-line}.empty-note{color:#62745c;font-size:.85rem;margin-top:18px}.admin-main{max-width:1100px;margin:auto;padding:35px 20px}.login{max-width:420px;margin:12vh auto;background:#fff;padding:38px;box-shadow:0 15px 50px #2e3b2a17}.login h1{font:500 2.5rem Cormorant Garamond,serif}.login .field input,.admin-form input,.admin-form select,.admin-form textarea{color:#2e3b2a;background:#fff;border:1px solid #d5d1c7;padding:12px;width:100%}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat{background:#fff;padding:22px}.stat strong{display:block;font:600 2.2rem Cormorant Garamond,serif}.stat span{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:#62745c}.panel{background:#fff;padding:24px;margin-top:24px;overflow:auto}.panel-header{display:flex;justify-content:space-between;align-items:center;gap:16px}.panel h2{font:500 2rem Cormorant Garamond,serif;margin:0}.admin-form{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin:20px 0;padding:20px;background:#f6f4ef}.admin-form label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.admin-form .events-select{grid-column:1/-1;display:flex;gap:15px;flex-wrap:wrap}.admin-form button{width:max-content}table{width:100%;border-collapse:collapse;margin-top:18px;font-size:.82rem}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid #ece8de}th{text-transform:uppercase;letter-spacing:.08em;font-size:.62rem;color:#62745c}.code{font-family:monospace;background:#ebe7da;padding:5px 8px}.scanner-box{max-width:650px;margin:30px auto;background:#fff;padding:25px}.scanner-result{padding:20px;background:#e6eae1;margin-top:18px}.scanner-result.error{background:#f8e5e1;color:#9e3027}@media(max-width:700px){.event-card{grid-template-columns:1fr}.field.small{grid-column:1}.choices{justify-content:flex-start}.stats{grid-template-columns:repeat(2,1fr)}.admin-form{grid-template-columns:1fr}.admin-header{align-items:flex-start}.admin-header nav{font-size:.72rem}.section{padding-top:70px;padding-bottom:70px}.hero h1{font-size:5rem}}
