:root{--paper:#f8f6ef;--ink:#303c33;--muted:#646e60;--olive:#66714d;--line:#d9dccd;--cream:#eeedde}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 'Segoe UI',Arial,sans-serif}header{height:88px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 7%;position:relative;z-index:2}.brand{font:30px Georgia,serif;letter-spacing:4px;text-decoration:none}.brand span{font-style:italic;color:var(--olive);font-size:22px}nav{display:flex;align-items:center;gap:30px;font-size:13px}a{color:inherit;text-underline-offset:5px}nav a{text-decoration:none}.navbutton{border:1px solid var(--olive);padding:9px 18px;border-radius:3px}.hero{min-height:730px;position:relative;display:flex;justify-content:center;text-align:center;align-items:center;overflow:hidden;padding:65px 24px 100px}.hero-copy{position:relative;z-index:1}.eyebrow{font-size:11px;letter-spacing:3px;font-weight:600;margin:0 0 25px;color:var(--olive)}h1,h2,h3,h4{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.16}h1{font-size:clamp(76px,9vw,126px);margin:0;letter-spacing:-6px}h1 em{font-size:.7em;color:var(--olive)}h2{font-size:clamp(33px,4vw,52px);margin:12px 0 24px}h3{font-size:27px;margin:0 0 18px}h4{font-size:24px}em{font-weight:400}.hero-sub{font:italic 21px Georgia,serif;margin:28px 0}.date{font-size:20px;letter-spacing:6px}.date span{color:#a4aa90}.venue{font-size:13px;letter-spacing:1px;margin:12px 0 28px}.button,button{display:inline-flex;align-items:center;justify-content:center;gap:30px;background:var(--olive);border:1px solid var(--olive);border-radius:3px;color:white;text-decoration:none;font:inherit;font-size:13px;padding:15px 26px;cursor:pointer}.button:hover,button:hover{background:#4d593b}.small{font-size:12px;color:var(--muted)}.hero-art{position:absolute;left:3%;bottom:35px;width:30%;max-width:365px;transform:rotate(-17deg);opacity:.63}.hero-art svg{width:100%;stroke:#8a9479;stroke-width:1.2}.hero-art ellipse{fill:#d8ddc8;stroke:#9ca78a}.seal{position:absolute;right:11%;top:125px;border:1px solid #a1aa8a;outline:1px solid #bfc6ac;outline-offset:6px;border-radius:50%;height:112px;width:112px;transform:rotate(14deg);display:flex;flex-direction:column;justify-content:center;font:12px Georgia,serif;letter-spacing:2px;line-height:1.6;color:var(--olive)}.seal em{font-size:16px;letter-spacing:0}.scroll{position:absolute;bottom:28px;font-size:10px;letter-spacing:2px;text-decoration:none}.welcome{padding:85px 24px;text-align:center;border-top:1px solid var(--line);background:var(--cream)}.welcome p:not(.eyebrow){max-width:650px;margin:25px auto;color:var(--muted)}.flourish{font-size:40px;color:var(--olive)}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;padding:65px 7%;border-bottom:1px solid var(--line)}.info-grid p{font-size:14px;color:var(--muted)}.number{font-size:11px!important;letter-spacing:2px;margin-bottom:26px}.info-grid a{font-size:13px}.section{padding:75px 7%;max-width:1440px;margin:auto}.rsvp{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:start}.rsvp h2{font-size:70px}.card{padding:30px;background:#fffefa;border:1px solid var(--line);border-radius:5px;margin-bottom:20px}.card p{font-size:14px}label{display:block;font-size:13px;margin:20px 0 6px}input,select,textarea{width:100%;padding:13px 12px;background:var(--paper);border:1px solid #bfc5b3;border-radius:3px;color:var(--ink);font:inherit;font-size:15px}textarea{min-height:110px;resize:vertical}form button{margin-top:18px}input:focus,select:focus,textarea:focus,a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #98a97a;outline-offset:3px}.secondary{background:transparent;color:var(--ink);padding:9px 15px}.secondary:hover{background:var(--cream)}.danger{color:#813b35;background:transparent;border-color:#c7aaa1;padding:7px 12px}.danger:hover{background:#f4e2dc}.alert,.success{padding:20px;border-radius:3px;border:1px solid #b6c39c;background:#edf2e2}.alert{border-color:#c6a293;background:#f8e8df}.prewrap{white-space:pre-wrap;overflow-wrap:anywhere}.privacy{border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.privacy p{max-width:900px}.privacy h3{font-size:26px}.updates{background:var(--cream)}.bubble{border-left:2px solid #a8b592;padding:10px 20px;margin:15px 0;background:#eeefdf}.narrow{max-width:650px;min-height:65vh}.two{grid-template-columns:1fr 1fr;padding:35px 0}.stats{display:flex;gap:35px;padding:35px 0}.stats strong{display:block;font:38px Georgia,serif}.tablewrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}td,th{padding:16px 12px;border-bottom:1px solid var(--line);vertical-align:top}td form{display:inline-block;margin:0 6px 6px 0}td button{margin:0;font-size:11px}summary{cursor:pointer;font-weight:600}.invite-code{font:24px monospace;letter-spacing:2px;overflow-wrap:anywhere}footer{display:flex;justify-content:space-between;gap:15px;padding:25px 7%;border-top:1px solid var(--line);font-size:11px;letter-spacing:.5px}@media(max-width:760px){header{height:75px;padding:0 6%}nav{gap:15px;font-size:11px}nav a:first-child{display:none}.navbutton{padding:7px 10px}.hero{min-height:690px;padding-top:80px}.hero-art{left:-80px;width:240px;opacity:.4}.seal{width:80px;height:80px;right:8%;top:30px;font-size:9px}.seal em{font-size:12px}h1{letter-spacing:-4px}.hero-sub{font-size:19px}.info-grid,.rsvp,.two{grid-template-columns:1fr;gap:30px}.info-grid{padding:45px 7%}.section{padding:50px 7%}.rsvp h2{font-size:54px}.card{padding:24px}.two{padding:25px 0}.stats{gap:20px;font-size:12px}footer{flex-wrap:wrap}.welcome{padding:60px 7%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.color-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}input[type=color]{height:52px;max-width:150px;padding:5px;cursor:pointer}.dropzone{padding:24px;border:2px dashed #abb697;border-radius:5px;background:#f3f4eb}.dropzone.dragover{background:#e3ebd6;border-color:#52653b}.dropzone input{max-width:100%}.checklabel{display:flex;align-items:center;gap:10px}.checklabel input{width:auto}@media(max-width:600px){.color-grid{grid-template-columns:1fr}.dropzone{padding:15px}}

.section-order{list-style:none;padding:0;max-width:650px}.section-order li{display:flex;align-items:center;gap:16px;justify-content:space-between;padding:10px 15px;margin:8px 0;border:1px solid #bdc8ac;background:#f5f6ed;border-radius:4px;cursor:grab}.section-order li>span:nth-child(2){flex:1}.section-order button{padding:6px 13px;margin:0}.section-order .dragging{opacity:.5}.drag-handle{font-size:25px;color:#66714d}.section-order li>div{display:flex;gap:8px}
