@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;700;800&display=swap");:root{--paper:#f8f7f2;--ink:#203c31;--muted:#74786e;--line:#e2e4da;--green:#234e3c;--coral:#d98264;--white:#fffefa;--soft:#edf0e7;--serif:Georgia,"Times New Roman",serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:DM Sans,sans-serif;font-size:14px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #d9826490;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-1.8px;line-height:1.1}h1{font-size:64px}h2{font-size:36px}h3{font-weight:600;font-size:17px;letter-spacing:-.3px}em{font-weight:400}p{color:var(--muted)}.header{height:102px;max-width:1280px;padding:0 48px;margin:auto;display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}.brand,.header{align-items:center}.brand{display:inline-flex;gap:10px;font-family:Manrope,sans-serif;font-size:28px;font-weight:800;letter-spacing:-1.5px}.brand svg,.brand-dot{color:var(--coral)}.header-right{display:flex;gap:24px;align-items:center}.text-link{font-size:13px}.button,.text-link{display:inline-flex;gap:10px;align-items:center;font-weight:550}.button{justify-content:center;border:1px solid var(--line);background:var(--white);color:var(--ink);padding:12px 20px;border-radius:7px;transition:background .2s,transform .2s;min-height:46px}.button:hover{background:var(--soft);transform:translateY(-1px)}.button.primary{background:var(--green);color:white;border-color:var(--green)}.button.primary:hover{background:#153d2c}.button.small{min-height:36px;padding:7px 12px;font-size:12px}.button.ghost{background:transparent;border-color:transparent}.eyebrow,.tiny{font-size:10px;font-weight:650;letter-spacing:1.8px}.eyebrow{display:flex;align-items:center;gap:9px;margin-bottom:24px;color:var(--muted)}.dot{height:6px;width:6px;border-radius:50%;background:var(--coral);display:inline-block}.landing{max-width:1280px;min-height:650px;margin:auto;display:grid;grid-template-columns:1.15fr 1fr;gap:60px;padding:75px 70px 70px;align-items:center}.hero-copy h1{font-size:72px;margin-bottom:25px}.hero-copy h1 em{color:var(--coral)}.hero-copy p{font-size:15px;line-height:1.9;margin-bottom:30px}.quiet-note{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted);margin-top:18px}.hero-art{position:relative;min-height:460px;display:grid;place-items:center;background:#e9edde;border-radius:48% 48% 5px 5px}.invite-paper{background:#fcf9ed;transform:rotate(-7deg);padding:32px 40px;width:280px;min-height:380px;text-align:center;box-shadow:0 16px 36px #233a2317;border:1px solid #eee9d8}.invite-paper svg{margin:22px auto 10px;color:#bf7659}.invite-paper h2{font-size:35px;line-height:1.08;margin-bottom:20px}.invite-paper em{color:#b76e54}.invite-paper .tiny{font-size:7px;letter-spacing:1.5px}.paper-rule{width:30px;border-bottom:1px solid #c8bd9d;margin:0 auto 13px}.art-spark{position:absolute;right:6%;top:0;font-size:95px;color:var(--coral);line-height:1;z-index:1}.art-note{position:absolute;bottom:13px;right:-17px;background:var(--green);color:#f9f5e8;padding:17px 23px;border-radius:4px;transform:rotate(6deg);font-family:var(--serif);font-style:italic;font-size:19px;line-height:1.3}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;max-width:1140px;margin:0 auto 70px;padding:38px 0;border-top:1px solid var(--line)}.features svg{width:22px;margin-bottom:14px;color:var(--coral);stroke-width:1.5}.features h3{margin-bottom:8px}.features p{font-size:13px;margin:0;line-height:1.8}footer{max-width:1184px;margin:auto;border-top:1px solid var(--line);padding:30px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--muted);font-size:11px}footer .brand{font-size:20px;color:var(--ink)}footer .brand svg{width:20px}footer .tiny{display:flex;gap:7px;font-size:8px}.dashboard{max-width:1184px;margin:0 auto;padding:54px 0 80px;min-height:75vh}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:32px}.page-heading h1{font-size:44px;margin-bottom:12px}.page-heading p{margin:0}.overline{color:var(--muted);font-size:10px;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:15px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:26px 0 38px}.stat{padding:23px 26px;border:1px solid var(--line);background:var(--white);border-radius:10px;display:flex;align-items:center;justify-content:space-between}.stat svg{color:#8d9d86;stroke-width:1.5}.stat-label{color:var(--muted);font-size:12px}.stat-value{font-size:31px;font-family:var(--serif);line-height:1.4}.toolbar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);margin-bottom:28px}.tabs{display:flex;gap:28px}.tab{background:none;border:0;border-bottom:2px solid transparent;padding:13px 0;color:var(--muted);font-size:13px}.tab.active{color:var(--ink);border-bottom-color:var(--green);font-weight:600}.tab span{margin-left:8px;background:var(--soft);padding:2px 6px;border-radius:4px;font-size:10px}.muted{color:var(--muted)}.small-text{font-size:12px}.empty{border:1px dashed #ccd2c3;border-radius:12px;padding:60px 20px;text-align:center;background:#fdfcf780}.empty-symbol{display:grid;place-items:center;width:66px;height:66px;background:#eaf0e3;color:var(--green);border-radius:50%;margin:0 auto 22px}.empty h2{font-size:28px;margin-bottom:12px}.empty p{max-width:340px;margin:0 auto 22px}.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.event-card{background:var(--white);border:1px solid var(--line);border-radius:11px;overflow:hidden}.card-art{background:#e9edde;min-height:160px;display:grid;place-items:center;padding:20px}.card-art img{max-width:100%;max-height:260px;display:block;object-fit:contain}.placeholder-art{min-height:160px;display:grid;place-items:center;color:#9fae8c}.card-content{padding:22px}.card-content h2{font-size:27px;letter-spacing:-.8px;margin:12px 0 15px}.badge{display:inline-block;font-size:9px;font-weight:600;letter-spacing:1px;text-transform:uppercase;background:var(--soft);padding:4px 8px;border-radius:4px;color:var(--green)}.badge.published{background:#e7eee0}.badge.draft{background:#f4ecdc;color:#9b7848}.badge.archived{background:#eee;color:#777}.icon-line{display:flex;gap:8px;align-items:flex-start;font-size:12px;color:var(--muted);margin:8px 0}.icon-line svg{flex-shrink:0;margin-top:2px}.card-actions{display:flex;gap:8px;flex-wrap:wrap;padding-top:18px;margin-top:18px;border-top:1px solid var(--line)}.error,.notice{border-radius:7px;padding:14px 18px;margin:18px 0;font-size:12px;background:#f6efdc;color:#7c6533;border:1px solid #e9dec0}.error{background:#faede7;color:#a34b35;border-color:#eed0c4}.success-notice{background:#eaf0e3;color:var(--green);border-color:#d4dfc9}.login-wrap{min-height:74vh;display:grid;place-items:center;padding:45px 20px}.login-card{max-width:430px;width:100%;background:var(--white);border:1px solid var(--line);border-radius:14px;padding:38px}.login-card h1{font-size:38px;margin-bottom:15px}.login-card>svg{color:var(--coral);margin-bottom:25px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:19px}.field label,.field-label{font-size:12px;font-weight:550;color:var(--ink)}input,select,textarea{width:100%;border:1px solid #d9ded3;background:#fffefa;border-radius:6px;padding:11px 12px;color:var(--ink);min-width:0}input::placeholder,textarea::placeholder{color:#9b9f94}textarea{resize:vertical;min-height:95px}.field small{color:var(--muted);font-size:11px}.full{width:100%}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.span-two{grid-column:1/-1}.modal{border:0;padding:0;background:var(--white);color:var(--ink);border-radius:14px;width:min(680px,calc(100% - 24px));max-height:90vh;box-shadow:0 25px 100px #17322233}.modal::backdrop{background:#142b2266;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-head{padding:25px 30px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:var(--white);z-index:2}.modal-head h2{font-size:29px;margin:0}.icon-button{display:grid;place-items:center;background:transparent;border:0;color:var(--muted);width:36px;height:36px;border-radius:50%}.icon-button:hover{background:var(--soft)}.modal-body{padding:28px 30px}.modal-foot{display:flex;justify-content:flex-end;gap:12px;padding-top:20px;border-top:1px solid var(--line)}.upload-area{border:1px dashed #bfcdb6;border-radius:9px;padding:24px;text-align:center;background:#f5f7ef;margin-bottom:20px}.upload-area img{max-width:100%;max-height:220px;object-fit:contain;margin:0 auto 18px;display:block}.upload-area svg{color:var(--green);margin-bottom:10px}.upload-area input{font-size:12px;background:white;margin-top:12px}.upload-area p{font-size:12px;margin-bottom:0}.guest-main{max-width:1060px;margin:60px auto 80px;display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:start}.guest-art{background:#ecefe4;border-radius:10px;padding:22px;text-align:center}.guest-art img{display:block;width:100%;height:auto;object-fit:contain}.guest-placeholder{min-height:470px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:35px;background:#e9edde;border-radius:45% 45% 8px 8px;text-align:center}.guest-placeholder svg{color:var(--coral);margin-bottom:28px}.guest-placeholder h2{font-size:44px}.guest-content h1{font-size:43px;margin-bottom:20px}.guest-content .description{white-space:pre-line;line-height:1.85}.details{padding:20px 0;margin:12px 0 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.detail{display:flex;gap:14px;margin:15px 0}.detail>svg{color:#8c9c80;flex-shrink:0;margin-top:3px}.detail strong{display:block;font-size:13px;font-weight:550}.detail span{display:block;font-size:12px;color:var(--muted);white-space:pre-line}.rsvp-card{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:26px}.rsvp-card h2{font-size:28px;letter-spacing:-.6px;margin-bottom:8px}.rsvp-card>p{font-size:12px;margin-bottom:22px}.attendance{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 23px}.attendance label{border:1px solid var(--line);padding:13px 10px;border-radius:7px;text-align:center;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px}.attendance label:has(input:checked){background:#eaf0e4;border-color:#7c9a71;color:var(--green)}.attendance input{width:auto;accent-color:var(--green)}.rsvp-card .field{margin-bottom:16px}.rsvp-card .form-grid{gap:0 12px}.rsvp-card .privacy{font-size:10px;text-align:center;color:var(--muted);margin:13px 0 0}.success-icon{display:grid;place-items:center;width:53px;height:53px;border-radius:50%;background:#e9f0e3;margin:0 0 20px;color:var(--green)}.response-list{display:grid;gap:12px}.response-row{border:1px solid var(--line);border-radius:8px;padding:16px;display:flex;gap:15px;justify-content:space-between;align-items:flex-start}.response-row p{margin:5px 0;font-size:12px}.response-row strong{font-weight:550}.response-summary{display:flex;gap:25px;flex-wrap:wrap;margin-bottom:20px}.response-summary strong{font-size:25px;font-family:var(--serif)}.response-summary span{font-size:11px;color:var(--muted)}.row-actions{display:flex;gap:8px;align-items:center}.loading{padding:100px 20px;text-align:center;color:var(--muted)}.honeypot,.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.section-label{font-size:10px;letter-spacing:1.5px;color:var(--muted);text-transform:uppercase;padding-bottom:15px;margin:5px 0 20px;border-bottom:1px solid var(--line)}@media(min-width:1400px){.landing{padding-top:100px;padding-bottom:100px;min-height:720px}}@media(max-width:1250px){.dashboard,footer{margin-left:40px;margin-right:40px}.features{margin-left:70px;margin-right:70px}.guest-main{margin-left:40px;margin-right:40px;gap:40px}.landing{padding-left:50px;padding-right:50px;gap:40px}.hero-copy h1{font-size:62px}}@media(max-width:900px){.event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.header{padding:0 25px;height:85px}.landing{padding:55px 35px;gap:25px}.hero-copy h1{font-size:52px}.hero-art{min-height:400px}.invite-paper{width:230px;padding:25px;min-height:340px}.invite-paper h2{font-size:31px}.art-note{font-size:15px}.art-spark{font-size:70px}.features{gap:25px;margin:0 35px 40px}.guest-main{gap:25px;margin:40px 25px}.guest-content h1{font-size:35px}.rsvp-card{padding:20px}.rsvp-card .form-grid{display:block}.dashboard,footer{margin:0 25px}}@media(max-width:650px){.header{height:76px;padding:0 20px}.brand{font-size:25px}.header-right{gap:12px}.header-right .text-link{font-size:11px}.header-right .badge{display:none}.landing{display:flex;flex-direction:column;padding:42px 25px 45px;gap:42px}.hero-copy{width:100%}.hero-copy h1{font-size:57px}.hero-copy p{font-size:14px}.hero-art{width:90%;min-height:390px;max-width:380px}.features{display:flex;flex-direction:column;gap:30px;margin:0 25px 40px;padding:30px 0}.features>div{position:relative;padding-left:42px}.features svg{position:absolute;left:0;top:2px}.features p{max-width:340px}.features h3{font-size:16px}footer{flex-wrap:wrap;gap:15px;padding:25px 0}footer>.tiny{display:none}footer>span{font-size:10px}.dashboard{margin:0 20px;padding:32px 0 45px}.page-heading{align-items:flex-start;flex-wrap:wrap;gap:20px;margin-bottom:24px}.page-heading h1{font-size:36px;margin-bottom:8px}.page-heading p{font-size:12px}.page-heading>.button{font-size:12px;padding:10px 15px}.stats{gap:8px;margin:20px 0}.stat{padding:15px 12px}.stat>svg{display:none}.stat-label{font-size:10px}.stat-value{font-size:27px}.toolbar>.small-text{display:none}.event-grid{grid-template-columns:1fr}.empty{padding:45px 20px}.empty h2{font-size:26px}.empty p{font-size:12px}.modal-head{padding:20px}.modal-head h2{font-size:26px}.modal-body{padding:20px}.form-grid{grid-template-columns:1fr}.span-two{grid-column:auto}.modal-foot .button{flex:1 1}.guest-main{display:flex;flex-direction:column;margin:28px 20px 50px;gap:28px}.guest-art{width:100%;padding:12px}.guest-placeholder{width:100%;min-height:330px}.guest-placeholder h2{font-size:35px}.guest-content{width:100%}.guest-content h1{font-size:38px}.rsvp-card{padding:24px 20px}.rsvp-card .form-grid{display:grid}.response-row{flex-direction:column;gap:8px}.login-card{padding:30px 25px}.eyebrow{font-size:9px}.desktop-break{display:none}.tabs{gap:23px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}