@import"https://fonts.googleapis.com/css2?family=Great+Vibes&family=Pinyon+Script&family=Alex+Brush&family=Pacifico&family=Dancing+Script&display=swap";:root{--ink: #113a36;--inkSoft: #2f5f59;--paper: #ffffff;--bg: #f3f3f3;--rule: rgba(17, 58, 54, .25)}*,*:before,*:after{box-sizing:border-box}body{margin:0;overflow-x:hidden}.invitePage{min-height:100vh;background:var(--bg);display:grid;place-items:center;padding:40px 16px;font-family:Cormorant Garamond,serif;color:var(--ink);overflow-x:hidden}.inviteWrap{position:relative;width:min(760px,100%);padding:28px;display:flex;flex-direction:column;gap:16px;overflow:hidden}.heroImageWrap,.heroImageWrapBottom{background:var(--paper);border-radius:18px;overflow:hidden;box-shadow:0 20px 60px #0000001a,0 2px 10px #0000000f}.heroImage{display:block;width:100%;height:auto;object-fit:cover}.inviteCard{position:relative;background:var(--paper);border-radius:18px;padding:clamp(85px,4vw,44px);text-align:center;background-image:url(/bg2.jpg);background-size:cover;background-repeat:no-repeat;box-shadow:0 20px 60px #0000001a,0 2px 10px #0000000f;overflow:hidden;width:100%}.inviteTitle{font-family:Great Vibes,cursive;font-weight:400;letter-spacing:.5px;color:var(--inkSoft);font-size:clamp(40px,6vw,64px);margin:0 0 12px}.personTitle{font-family:Great Vibes,cursive;font-weight:400;color:var(--inkSoft);font-size:clamp(28px,5vw,38px);margin-bottom:6px;margin-top:26px;border-bottom:1px solid var(--rule);padding-bottom:5px}.rsvpStatus{font-size:14px;color:#113a36b3;margin-bottom:18px}.dateRow{display:flex;justify-content:center;margin:6px auto 22px;width:100%}.dateCell{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:10px 0}.dateCellDaySection{border:1px solid var(--rule);padding:10px 20px;background-color:#68866cf2;color:#fff;border-radius:12px;display:inline-flex;align-items:center;justify-content:center}.dateLabel{font-size:14px;letter-spacing:2px;font-weight:600}.dateLabelTime{font-size:18px;letter-spacing:2px;font-weight:600;padding:0}.dateCenter{display:flex;align-items:center;justify-content:center;gap:6px;text-align:center}.dateMonth,.dateDay,.dateYear{display:inline;font-size:32px}.dateDay{display:block;font-size:52px;line-height:1;font-weight:600;color:var(--ink);margin:2px 0 4px}.dateYear{display:block;font-size:13px;letter-spacing:3px;color:var(--inkSoft);font-weight:600}.inviteLine{margin:18px auto;max-width:560px;font-size:clamp(15px,4vw,18px);color:var(--inkSoft)}.inviteLineIDo{margin:18px auto;max-width:560px;font-size:18px;color:var(--inkSoft);white-space:nowrap}.dateLine{margin:18px auto;font-size:22px;font-family:Pinyon Script,cursive}.quote{font-style:italic}.namesBlock{margin:22px 0}.names{font-family:Great Vibes,cursive;font-size:clamp(44px,7vw,72px);color:var(--inkSoft);line-height:1.05}.amp{font-size:26px;margin:4px 0;color:var(--inkSoft)}.rsvpBlock{margin-top:26px}.rsvpButton{appearance:none;border:1px solid rgba(17,58,54,.35);background:transparent;color:var(--ink);padding:12px 22px;border-radius:999px;font-family:Cormorant Garamond,serif;letter-spacing:2px;font-weight:600;cursor:pointer;transition:transform .12s ease,background .12s ease;font-size:clamp(13px,3.5vw,15px)}.rsvpButton:hover{transform:translateY(-1px);background:#113a360f}.rsvpHint{margin-top:8px;font-size:14px;color:#113a36a6}.floral{position:absolute;width:min(260px,44vw);pointer-events:none;opacity:.95}.floralTL{top:0;left:0;transform:translate(-10%,-10%)}.floralBR{right:0;bottom:0;transform:translate(10%,10%) rotate(2deg)}.modalOverlay{position:fixed;inset:0;background:#00000073;display:grid;place-items:center;padding:12px;z-index:9999;overflow-y:auto}.modalCard{width:min(560px,100%);background:#fff;border-radius:18px;box-shadow:0 20px 60px #0003;overflow:hidden;max-height:90vh;overflow-y:auto}.modalHeader{display:flex;justify-content:space-between;align-items:center;padding:18px 18px 12px;border-bottom:1px solid rgba(17,58,54,.12);position:sticky;top:0;background:#fff;z-index:1}.modalTitle{font-size:22px;font-weight:600;color:var(--ink)}.modalClose{border:none;background:transparent;cursor:pointer;font-size:18px;color:#113a36b3;padding:6px 10px;border-radius:10px;min-width:40px;min-height:40px}.modalClose:hover{background:#113a360f}.modalBody{padding:16px 18px 6px}.modalSub{color:#113a36bf;margin-bottom:12px;font-size:22px}.modalError{background:#dc354514;border:1px solid rgba(220,53,69,.22);border-radius:12px;padding:10px 12px;color:#8c1923f2;margin-bottom:12px}.choiceRow{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.choiceBtn{border:1px solid rgba(17,58,54,.25);border-radius:14px;background:#fff;cursor:pointer;padding:12px;font-weight:600;color:var(--ink);transition:all .12s ease;font-size:clamp(12px,3vw,14px)}.choiceBtn:hover{transform:translateY(-1px);background:#113a360d}.choiceBtn.selected{background:#113a361a;border-color:#113a3659}.fieldLabel{display:block;font-size:14px;color:#113a36bf;margin:10px 0 6px}.textArea{width:100%;border:1px solid rgba(17,58,54,.25);border-radius:14px;padding:12px;font-family:inherit;font-size:16px;resize:vertical;outline:none;box-sizing:border-box}.textArea:focus{border-color:#113a3673;box-shadow:0 0 0 3px #113a361a}.checkboxLabel{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:15px;color:var(--ink);cursor:pointer;grid-column:1 / -1}.checkboxLabel input[type=checkbox]{width:18px;height:18px;accent-color:var(--ink);cursor:pointer;flex-shrink:0}.modalFooter{display:flex;justify-content:flex-end;gap:10px;padding:14px 18px 18px;border-top:1px solid rgba(17,58,54,.12)}.btnSecondary,.btnPrimary{border-radius:999px;padding:10px 16px;font-weight:700;letter-spacing:1px;cursor:pointer;border:1px solid rgba(17,58,54,.25);min-height:44px}.btnSecondary{background:#fff;color:#113a36d9}.btnSecondary:hover{background:#113a360f}.btnPrimary{background:var(--ink);color:#fff;border-color:var(--ink)}.btnPrimary:hover{background:#0e302d}@media(max-width:520px){.invitePage{padding:12px 8px}.inviteWrap{padding:12px}.inviteCard{padding:20px 16px}.dateRow{grid-template-columns:1fr;gap:10px}.dateCell{max-width:260px;margin:0 auto}.choiceRow{grid-template-columns:1fr}.floral{width:min(160px,38vw);opacity:.85}.floralTL{transform:translate(-18%,-10%)}.floralBR{transform:translate(18%,10%) rotate(2deg)}.modalOverlay{padding:8px}.modalFooter{flex-direction:column}.btnSecondary,.btnPrimary{width:100%;text-align:center}.inviteLineIDo{white-space:normal}}
