:root{--paper:#faf8f2;--accent:#3c4028;--ink:#191915;--line:#b6aa89}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,'Times New Roman',serif;font-size:19px;line-height:1.5}a{color:inherit;text-underline-offset:5px}header,footer{display:flex;align-items:center;justify-content:space-between;padding:22px 5%;border-bottom:1px solid var(--line);gap:24px}.brand{font-size:34px;letter-spacing:-1.5px;text-decoration:none}nav{display:flex;gap:32px;flex-wrap:wrap}nav a{text-decoration:none;font-size:17px;padding:8px 0}nav a[aria-current]{border-bottom:2px solid #998545}h1,h2{font-weight:400;line-height:1.03;letter-spacing:-2px;margin:0 0 24px}h1{font-size:clamp(48px,6.5vw,96px)}h2{font-size:42px;letter-spacing:-1.5px}.hero{display:grid;grid-template-columns:1.25fr 1fr;gap:8%;padding:76px 5% 65px;max-width:1440px;margin:auto;align-items:center}.intro{max-width:650px}.lead{font-size:28px;line-height:1.4}.monogram{text-align:center;font-size:86px;letter-spacing:-5px;margin:35px 0 15px}.monogram:after{content:'';display:block;width:58px;margin:20px auto 0;border-bottom:1px solid #998545}.invitation{border:1px solid #9e906b;padding:40px;max-width:490px}.rule{width:40px;border-bottom:1px solid #998545;margin:20px 0}label{display:block;margin:24px 0 6px}input,textarea,select{display:block;width:100%;font:18px/1.4 Georgia,serif;padding:13px 16px;border:1px solid #c8c2b5;border-radius:3px;color:var(--ink);background:transparent}input[type=color]{height:50px}textarea{min-height:85px}button,.outline{display:inline-flex;align-items:center;justify-content:center;gap:16px;font:19px/1.3 Georgia,serif;padding:15px 22px;border:1px solid var(--accent);border-radius:3px;background:var(--accent);color:#fff;cursor:pointer;text-decoration:none;min-height:50px}form button{margin-top:26px;width:100%}.outline{background:transparent;color:var(--accent);border-radius:0}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.3}.small{font-size:15px;line-height:1.5;color:#59584f;margin-top:28px}.invitation .small{text-align:center}.venue-band{border-top:1px solid var(--line);padding:45px 5%;display:flex;justify-content:space-between;align-items:center;gap:30px}.venue-band h2{margin-bottom:12px}.venue-band p{margin:0}footer{border-top:1px solid var(--line);border-bottom:0}footer .brand{font-size:25px}footer span{font-size:14px;color:#59584f}.document{max-width:880px;padding:70px 30px;margin:auto;min-height:65vh}.document h1{font-size:60px}.document form{max-width:650px}fieldset{border:1px solid var(--line);padding:25px;margin:28px 0}legend{font-size:28px;padding:0 12px}iframe{width:100%;height:360px;border:0;margin-top:24px}.admin{max-width:1150px}.admin nav{margin-bottom:40px}.admin h1{margin-top:30px}table{border-collapse:collapse;width:100%;font-size:16px;margin:30px 0}td,th{text-align:left;padding:12px;border-bottom:1px solid var(--line);vertical-align:top}.table-scroll{overflow-x:auto}summary{cursor:pointer;font-size:23px;padding:20px 0}.notice,.error{border-left:3px solid #876b34;padding:15px;background:#eee9de}.error{color:#842e27}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #998545;outline-offset:4px}.skip{position:absolute;left:-10000px}.skip:focus{left:20px;top:10px;background:white;padding:10px;z-index:5}@media(max-width:700px){body{font-size:17px}header{padding:20px;display:block}.brand{font-size:29px}nav{gap:24px;margin-top:12px}nav a{font-size:15px}.hero{display:block;padding:36px 22px}.hero h1{font-size:52px;letter-spacing:-2px}.lead{font-size:22px}.monogram{font-size:64px;margin:25px 0 32px}.invitation{padding:26px;max-width:none}.invitation h2{font-size:34px}.venue-band{display:block;padding:32px 22px}.venue-band h2{font-size:34px}.venue-band .outline{margin-top:24px;width:100%}footer{padding:24px 22px;display:block}footer span{display:block;margin-top:14px}.document{padding:36px 22px}.document h1{font-size:44px}.document h2{font-size:32px}fieldset{padding:18px}button{font-size:18px}input,textarea,select{font-size:17px}}

.couple-photos{padding:55px 5% 70px;border-top:1px solid var(--line);max-width:1440px;margin:auto}.photo-heading{text-align:center;margin-bottom:36px}.eyebrow{text-transform:uppercase;letter-spacing:3px;font-size:13px}.photo-pair{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;align-items:center;max-width:1100px;margin:auto}.photo-pair figure{margin:0}.photo-pair img{display:block;width:100%;height:auto;border:8px solid #fff;box-shadow:0 3px 18px #00000012}.photo-pair figure:last-child{max-width:390px;justify-self:center}@media(max-width:700px){.couple-photos{padding:35px 22px}.photo-pair{grid-template-columns:1fr;gap:25px}.photo-pair figure:last-child{max-width:310px}.photo-heading h2{font-size:36px}}
input[type=checkbox]{display:inline-block;width:1.1em;height:1.1em;padding:0;margin-right:8px;accent-color:var(--accent);vertical-align:middle}.admin form+h2,.admin .table-scroll+h2{margin-top:44px}.admin code{overflow-wrap:anywhere}.admin img{max-width:100%;height:auto}

.admin-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:2rem 0}.admin-cards a{padding:1.25rem;border:1px solid currentColor;text-decoration:none}.admin-cards strong,.admin-cards span{display:block}.admin-cards span{margin-top:.5rem;font-size:.9rem}.admin nav{display:flex;flex-wrap:wrap;gap:.75rem 1.2rem}footer{flex-wrap:wrap;gap:1rem}
.app-hero{max-width:1440px;margin:auto;padding:76px 6%;display:grid;grid-template-columns:1.2fr 1fr;gap:9%;align-items:center}.app-story h1{font-size:clamp(56px,6vw,88px)}.app-story>p:not(.eyebrow){max-width:580px}.app-downloads{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:35px}.download-card{display:flex;flex-direction:column;gap:4px;border:1px solid var(--accent);padding:18px;text-decoration:none;background:var(--accent);color:white}.download-card span,.download-card small{font-size:14px}.download-card strong{font-size:20px;font-weight:400}.download-card.pending{background:transparent;color:var(--ink)}.download-card.pending small{color:#59584f}.text-link{display:inline-block;padding:8px 0}.app-preview{padding:35px 0}.preview-phone{max-width:335px;margin:auto;padding:20px 25px 30px;border:1px solid #a99e82;border-radius:38px;box-shadow:12px 20px 0 #e7e3d8;background:var(--paper);transform:rotate(3deg)}.phone-speaker{width:70px;height:6px;background:var(--accent);border-radius:10px;margin:0 auto 28px}.preview-phone h2{font-size:42px;margin-bottom:25px}.preview-photo{width:100%;height:180px;object-fit:cover;border-radius:2px;display:block}.preview-date{font-size:18px}.preview-detail{border-top:1px solid var(--line);padding:14px 0}.preview-detail span,.preview-detail strong{display:block}.preview-detail span{font-size:12px;letter-spacing:1px;text-transform:uppercase}.preview-detail strong{font-size:18px;font-weight:400;margin-top:5px}.preview-caption{text-align:center;margin-top:38px}.app-features{border-top:1px solid var(--line);padding:60px 6%;max-width:1440px;margin:auto}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:42px}.feature-grid h3{font-size:26px;font-weight:400;line-height:1.2}.feature-grid p{font-size:17px}.feature-number{font-size:14px;border-bottom:1px solid var(--line);display:block;padding-bottom:12px}.app-faq{max-width:880px;padding:45px 30px 80px;margin:auto}.app-faq details{border-bottom:1px solid var(--line);padding:5px 0}.app-faq details p{margin-top:0;font-size:18px}@media(max-width:850px){.app-hero{gap:35px;padding:45px 25px}.app-downloads{grid-template-columns:1fr}.feature-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.app-hero{grid-template-columns:1fr;padding:35px 22px}.app-story h1{font-size:60px}.app-preview{padding:15px 12px}.feature-grid{grid-template-columns:1fr;gap:15px}.app-features{padding:40px 22px}.app-features h2,.app-faq h2{font-size:36px}.app-faq{padding:35px 22px 60px}header nav{gap:12px 22px}.preview-phone{transform:rotate(2deg)}.download-card{min-height:90px}}
