@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:#314436;background:#fffdf8;font-synthesis:none;--green:#314436;--sage:#71806d;--champagne:#d2ae6d;--cream:#f6efe3;--blush:#e5c8ba;--white:#fffdf8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white)}button,input,select{font:inherit}a{color:inherit}h2,h3,h4,p{margin-top:0}.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(113,128,109,.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:#657065;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:#dfe5db}.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:#6d776c}.notice{text-align:center;padding:45px}.notice h2{font-size:2rem}footer{text-align:center;background:#26372c;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:grid;place-items:center;min-height:100svh;overflow:hidden;background:#18231c;color:#fff;text-align:center}.cover-photo,.cover-overlay{position:absolute;inset:0}.cover-photo{background:url(/images/maguy-kevin.webp) center/cover no-repeat;transform:scale(1.02)}.cover-overlay{background:linear-gradient(180deg,#12191452,#121914b8)}.cover-content{position:relative;z-index:1;width:min(680px,calc(100% - 40px));padding:50px 28px;text-shadow:0 2px 20px rgba(0,0,0,.28)}.cover-content .eyebrow{color:#f0d39b}.cover-content h1{margin:20px 0 12px;font:400 clamp(3.5rem,11vw,7rem) Parisienne,cursive;line-height:.95}.cover-content h1 span{color:#f0d39b}.cover-kicker,.cover-message{font:500 clamp(1.1rem,3vw,1.55rem) "Cormorant Garamond",serif;letter-spacing:.08em}.cover-message{max-width:520px;margin:0 auto 32px}.cover-cta{display:inline-block;border:1px solid rgba(255,255,255,.75);background:#fffffff0;color:var(--green);padding:15px 34px;text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;text-decoration:none;cursor:pointer}.cover-cta:disabled{opacity:.55;cursor:wait}.cover-content small{display:block;margin-top:13px;letter-spacing:.08em;opacity:.8}.music-toggle{position:fixed;right:16px;bottom:16px;z-index:20;border:1px solid rgba(49,68,54,.22);border-radius:999px;background:#fffdf8eb;color:var(--green);padding:10px 15px;box-shadow:0 7px 24px #31443624;font-size:.7rem;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@media(max-width:600px){.cover-photo{background-position:52% center}.cover-content{padding-top:38svh}.cover-content h1{font-size:3.7rem}.cover-message{font-size:1.18rem}.music-toggle{right:10px;bottom:10px}}.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 #31443629}.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){.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:#687169}.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}.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}.admin-shell{min-height:100vh;background:#f3f1eb;color:#26372c}.admin-header{background:#26372c;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 #71806d;background:#fff;color:#314436;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}.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 #26372c17}.login h1{font:500 2.5rem Cormorant Garamond,serif}.login .field input,.admin-form input,.admin-form select,.admin-form textarea{color:#26372c;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:#788078}.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:#7b817a}.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:#edf3ea;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}}
