:root{--paper:#e6ead9;--desk:#3a3f36;--rule:#bfcbb4;--red:#c9463d;--ink:#1e2a47;--ink-soft:#2b3b66;--pencil:#7b776e;--serif:"Libre Caslon Text",Georgia,"Times New Roman",serif;--hand:"Caveat","Segoe Print","Bradley Hand",cursive}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--desk);font-family:var(--serif);font-size:17px;line-height:1.55;padding:0 16px;-webkit-font-smoothing:antialiased}a,body{color:var(--ink)}a{text-underline-offset:3px;-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule)}h1,h2,h3{font-weight:400;line-height:1.15;margin:0}h1{font-size:clamp(1.5rem,3vw,2rem)}h2{font-size:1.35rem}h3{font-size:1.1rem}p{margin:.6rem 0}.hand{font-family:var(--hand)}.pencil{color:var(--pencil)}.page,main{--m:clamp(2.5rem,6vw,3.75rem);position:relative;background:var(--paper);padding:2rem 1.5rem 2.5rem var(--m)}.page:before,main:before{content:"";position:absolute;top:0;bottom:0;left:calc(var(--m) - .9rem);width:1.5px;background:var(--red);opacity:.8}main{max-width:44rem;margin:2.5rem auto 4rem;border-radius:3px;box-shadow:0 16px 44px rgba(0,0,0,.45)}main.book{max-width:64rem;background:none;padding:0;box-shadow:none}main.book:before{content:none}.spread{display:grid;grid-template-columns:1fr 1fr;border-radius:3px;overflow:hidden;box-shadow:0 16px 44px rgba(0,0,0,.5)}.page{min-height:34rem}.page.recto{grid-column:2;grid-row:1;background-image:linear-gradient(90deg,rgba(0,0,0,.16),transparent 10%)}.page.verso{grid-column:1;grid-row:1;background-image:linear-gradient(270deg,rgba(0,0,0,.16),transparent 10%)}.date{font-size:clamp(1.35rem,2.6vw,1.85rem);line-height:1.15}.date em{color:var(--pencil)}.theme{font-family:var(--hand);font-size:1.6rem;line-height:1.1;margin:.35rem 0 .25rem}.lines{list-style:none;margin:.75rem 0 0;padding:0;counter-reset:line}.lines li{counter-increment:line;display:grid;grid-template-columns:1.6rem 1fr;align-items:end;height:2.3rem;border-bottom:1px solid var(--rule)}.lines li:before{content:counter(line);font-size:.7rem;color:var(--pencil);padding-bottom:.4rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lines .hand{font-size:1.45rem;line-height:1;padding-bottom:.2rem;transform:rotate(-.5deg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lines .pencil{font-size:1.2rem}.left{margin:.8rem 0 0;font-style:italic;color:var(--pencil);font-size:.95rem}.note{display:inline-block;margin:1.25rem 0 0;font-size:1.5rem;line-height:1.1;transform:rotate(-2deg)}.page.off .date{text-decoration:line-through;text-decoration-thickness:2px}.page.off .date,.page.off .lines,.page.off .theme{opacity:.5}.stamp{position:absolute;right:8%;top:6.5rem;transform:rotate(-9deg);border:3px double var(--red);color:var(--red);padding:.25rem .8rem;font-weight:700;font-size:1.3rem;letter-spacing:.18em;text-transform:uppercase;opacity:.85;mix-blend-mode:multiply;pointer-events:none}.intro{font-style:italic;color:var(--pencil);margin:.2rem 0 1rem}.season,.season a{display:grid}.season a{grid-template-columns:auto 1fr auto;align-items:end;grid-gap:1rem;gap:1rem;height:2.5rem;border-bottom:1px solid var(--rule);color:inherit;text-decoration:none}.season a:focus-visible .d,.season a:hover .d{text-decoration:underline;-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule);text-underline-offset:3px}.season .d{padding-bottom:.4rem;font-size:1rem}.season .d small{font-style:italic;color:var(--pencil);margin-left:.4rem;font-size:.85rem}.season .t{min-width:0;padding-bottom:.3rem;font-size:1.25rem;line-height:1;color:var(--pencil);overflow:hidden;text-overflow:ellipsis}.season .d,.season .t{white-space:nowrap}.season .h{font-size:1.35rem;line-height:1;padding-bottom:.3rem}.season .full .h,.season .off .h{color:var(--red)}.season .off .d{text-decoration:line-through;-webkit-text-decoration-color:var(--red);text-decoration-color:var(--red);color:var(--pencil)}.season a[aria-current] .d{font-weight:700}.season a[aria-current] .d small{font-weight:400}.season .d small.tonight{color:var(--red)}.page.verso h2{font-size:1.6rem}.feed{margin-top:2rem;font-size:.85rem;font-style:italic;color:var(--pencil)}.where{display:flex;align-items:baseline;flex-wrap:wrap;gap:.25rem .75rem;margin:1rem 0 0}.where .hand{font-size:1.6rem;line-height:1.1}.where a{font-size:.85rem;font-style:italic}.cal{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem;font-style:normal}.cal a{display:inline-block;font-size:.85rem;letter-spacing:.02em;padding:.3rem .75rem;border:1px solid var(--pencil);color:var(--pencil);text-decoration:none;transition:background .15s,color .15s}.cal a:hover{background:var(--pencil);color:var(--paper)}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8em;color:var(--ink);word-break:break-all}form{margin:0}label{display:block;font-size:.8rem;font-style:italic;color:var(--pencil);margin-bottom:.15rem}input,select,textarea{font:inherit;font-size:1rem;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--ink);border-radius:0;padding:.25rem 0 .3rem;width:100%}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--pencil) 50%),linear-gradient(135deg,var(--pencil) 50%,transparent 50%);background-position:calc(100% - 10px) 60%,calc(100% - 6px) 60%;background-size:4px 4px;background-repeat:no-repeat;padding-right:1.4rem}::placeholder{color:var(--pencil);opacity:.7}:focus-visible{outline:2px solid var(--ink);outline-offset:3px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;box-shadow:0 2px 0 var(--ink)}button{font:inherit;font-size:.95rem;letter-spacing:.02em;color:var(--ink);background:transparent;border:1px solid var(--ink);border-radius:0;padding:.5rem 1.1rem;cursor:pointer;transition:background .15s,color .15s}button:hover{background:var(--ink);color:var(--paper)}button.quiet{font-size:.85rem;padding:.3rem .75rem;border-color:var(--pencil);color:var(--pencil)}button.quiet:hover{background:var(--pencil);color:var(--paper)}button:disabled{opacity:.5;cursor:not-allowed}.rsvp{margin-top:1.5rem}.rsvp .row{display:grid;grid-template-columns:4.5rem 1fr;align-items:end;height:2.3rem;border-bottom:1px solid var(--rule);transition:border-color .15s}.rsvp .row.wide{grid-template-columns:1fr}.rsvp .row:focus-within{border-bottom-color:var(--ink)}.rsvp label{margin:0;padding-bottom:.38rem;font-size:.85rem}.rsvp input,.rsvp select{border:0;padding:0 0 .3rem;font-size:1.05rem}.rsvp input:focus-visible,.rsvp select:focus-visible{box-shadow:none}.rsvp select{width:auto;min-width:3.5rem}.rsvp button{margin-top:1.4rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));grid-gap:.75rem 1.25rem;gap:.75rem 1.25rem;margin-bottom:1rem}.notice{border-left:2px solid var(--ink);padding:.4rem 0 .4rem .8rem;margin:1rem 0;font-size:.95rem}.notice.bad{border-color:var(--red);color:var(--red)}.masthead{border-bottom:1px solid var(--rule);padding-bottom:1.25rem;margin-bottom:1.5rem}.masthead p,.subscribe{color:var(--pencil);font-style:italic}.subscribe{margin-top:2.5rem;border-top:1px solid var(--rule);padding-top:1.25rem;font-size:.9rem}.admin-bar{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.panel{border-top:1px solid var(--rule);padding-top:1.25rem;margin-top:2rem}.panel h2{margin-bottom:.9rem}.dinner{border-top:1px solid var(--rule);padding:1.2rem 0}.dinner.off .body>*{opacity:.55}.dinner.off .title{text-decoration:line-through;-webkit-text-decoration-color:var(--red);text-decoration-color:var(--red)}.title{font-size:1.15rem}.meta{color:var(--pencil);font-size:.9rem;font-style:italic}.seats{display:flex;align-items:center;gap:.4rem;margin:.5rem 0;flex-wrap:wrap}.seat{width:.7rem;height:.7rem;border-radius:50%;border:1.5px solid var(--ink)}.seat.taken{background:var(--ink)}.seat-count{font-size:.9rem;font-style:italic;color:var(--pencil);margin-left:.3rem}.seat-count.none{color:var(--red)}.row-actions{gap:.75rem 1.5rem;margin-top:.75rem}.row-actions,.row-actions form{display:flex;align-items:flex-end;flex-wrap:wrap}.row-actions form{gap:.75rem}.row-actions input[type=number]{width:4rem}.row-actions input[type=time]{width:7rem}.row-actions input[type=text]{width:16rem;max-width:100%}details summary{cursor:pointer}.guest-list{margin:.6rem 0 0;padding-left:1.1rem;font-size:.9rem}@media (max-width:720px){.spread{grid-template-columns:1fr}.page{min-height:0}.page.recto,.page.verso{grid-column:1;grid-row:auto}.page.recto{background-image:none}.page.verso{background-image:linear-gradient(180deg,rgba(0,0,0,.12),transparent 8%)}}@media (max-width:480px){.rsvp{grid-template-columns:1fr}.stamp{font-size:1.05rem;right:5%}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}main.invite{max-width:26rem;margin-top:12vh;padding-top:2.5rem;padding-bottom:3.5rem;transform:rotate(-1deg)}.invite .kicker{font-size:1.5rem;color:var(--red);margin:0 0 .25rem;transform:rotate(-3deg);transform-origin:left}.invite h1{font-size:clamp(2rem,6vw,2.6rem)}.invite form{margin-top:1.75rem}.invite button{margin-top:1.25rem}.seal{position:absolute;right:1.5rem;bottom:-1.4rem;display:grid;place-items:center;width:3.6rem;height:3.6rem;border-radius:50%;background:radial-gradient(circle at 35% 30%,#d9655c,var(--red) 55%,#9e2f28);box-shadow:0 0 0 4px rgba(201,70,61,.35),0 6px 14px rgba(0,0,0,.35);color:rgba(255,255,255,.85);font-weight:700;font-style:italic;letter-spacing:.04em;transform:rotate(12deg)}