
:root{--ink:#27232b;--muted:#706977;--paper:#fcfaf6;--purple:#e9dcf2;--accent:#79538d;--line:#ded7df}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 Arial,Helvetica,sans-serif}a{color:inherit}button,input,textarea{font:inherit}button,a,input,textarea{outline-offset:5px}button{cursor:pointer}.wrap{max-width:1180px;margin:auto;padding-left:32px;padding-right:32px}.nav{display:flex;align-items:center;justify-content:space-between;height:106px;border-bottom:1px solid var(--line)}.brand{text-decoration:none;font-size:24px;letter-spacing:-1px;font-weight:750}.brand-mark{display:inline-grid;place-items:center;background:var(--purple);border:1px solid var(--ink);border-radius:50%;width:40px;height:40px;margin-right:8px}.muted{font-weight:400;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;text-decoration:none;border:1px solid var(--ink);border-radius:7px;padding:14px 22px;background:var(--ink);color:white;font-weight:600;box-shadow:3px 3px 0 #c9b4d7;transition:transform .15s}.button:hover{transform:translateY(-2px)}.button.small{background:transparent;color:var(--ink);font-size:14px;padding:10px 15px;box-shadow:none}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:30px;padding-top:75px;padding-bottom:75px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;display:flex;gap:9px;align-items:center}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-2.5px;line-height:1.03}h1{font-size:clamp(48px,5.6vw,76px);margin:24px 0}h2{font-size:46px;margin-bottom:24px}em{font-weight:400;color:var(--accent)}h3{font-size:19px;letter-spacing:-.3px}.intro{max-width:420px;color:var(--muted);font-size:17px;margin-bottom:27px}.fine{font-size:12px;color:var(--muted);margin-top:15px}.hero-art{position:relative;background:#f0e8f3;border-radius:48% 48% 42% 42%;padding:70px 10px 65px;min-height:355px;display:flex;align-items:center;justify-content:center;flex-direction:column;transform:rotate(-3deg)}.hero-art img{width:100%;mix-blend-mode:multiply}.scribble,.art-note{font-family:Georgia,serif;font-style:italic;font-size:17px}.scribble{margin-bottom:35px}.art-note{margin-top:30px;font-size:14px}.promise{border-block:1px solid var(--line);background:#f0e9f3}.promise-inner{display:flex;justify-content:space-between;gap:20px;padding-block:20px;font-size:11px;font-weight:bold;letter-spacing:2px}.section{padding-top:85px;padding-bottom:85px}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end}.section-heading p:not(.eyebrow){font-size:14px;color:var(--muted)}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:26px}.features p{font-size:14px;color:var(--muted);max-width:280px}.feature-icon{display:inline-grid;place-items:center;width:43px;height:43px;border:1px solid #c7b8d0;background:#eee5f3;border-radius:50%;font-size:23px;margin-bottom:20px}.example{display:grid;grid-template-columns:1fr 1fr;background:#ece2f1;border:1px solid #d5c7dd;border-radius:16px;padding:48px 55px;gap:40px}.example p{color:#625769;font-size:14px}.example-art{display:flex;align-items:center;justify-content:center;flex-direction:column}.example-art img{width:100%;mix-blend-mode:multiply}.pill{border:1px solid #a595b0;border-radius:30px;padding:6px 13px;font-size:9px;letter-spacing:1.5px;transform:rotate(4deg)}.text-link{text-underline-offset:6px;font-size:14px;font-weight:600}.create-section{display:grid;grid-template-columns:1fr 1.3fr;gap:60px;scroll-margin-top:25px}.create-section>div>p{color:var(--muted)}.note{max-width:290px;font-size:12px;border-left:2px solid #c5acd3;padding-left:14px;margin-top:40px}.form-card{border:1px solid var(--line);border-radius:12px;background:white;padding:28px;box-shadow:0 7px 30px #37213e06}label{display:block;font-size:13px;font-weight:600;margin-bottom:18px}input:not([type=checkbox]),textarea{display:block;width:100%;border:1px solid #d7d0db;border-radius:5px;padding:11px 12px;margin-top:7px;background:#fff;color:var(--ink);font-size:14px}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.slug-input{display:flex;align-items:center;border:1px solid #d7d0db;border-radius:5px;margin-top:7px;padding-left:12px;font-size:12px;font-weight:400;color:var(--muted)}.slug-input input{border:none;margin:0;padding-left:2px;min-width:0}fieldset{border:0;padding:0;margin:0 0 15px}legend{font-size:13px;font-weight:600;margin-bottom:10px}.modules{display:flex;flex-wrap:wrap;gap:8px}.modules label{margin:0;background:#f7f3f9;border:1px solid #e4dbe9;padding:7px 9px;border-radius:5px;font-size:11px;font-weight:400}.modules input{accent-color:var(--accent);vertical-align:middle}.optional{color:var(--muted);font-size:10px;font-weight:400}.form-card .button{width:100%}footer{padding-top:30px;padding-bottom:30px;display:flex;align-items:center;gap:35px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}footer .brand{font-size:18px;color:var(--ink)}footer p{margin:0}footer>span{margin-left:auto}.event-head{background:#eee4f4;padding:45px;border-radius:15px;margin-bottom:30px}.event-head h1{max-width:850px}.event-meta{display:flex;gap:25px;flex-wrap:wrap}.event-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:30px}.event-card{padding:25px;background:white;border:1px solid var(--line);border-radius:10px;margin-bottom:20px}.event-card h2{font-size:30px;letter-spacing:-1px}.prose{white-space:pre-wrap;overflow-wrap:anywhere}.success{color:#365b3e}.error{color:#9c3434}.key{display:block;overflow-wrap:anywhere;background:#f3edf6;padding:12px;margin:12px 0}button:disabled{opacity:.6;cursor:wait}[hidden]{display:none!important}@media(max-width:760px){.wrap{padding-left:22px;padding-right:22px}.nav{height:85px}.brand{font-size:20px}.brand-mark{display:none}.nav .button{font-size:11px;gap:12px}.hero{grid-template-columns:1fr;padding-top:40px;padding-bottom:40px;gap:35px}h1{font-size:59px}.hero-art{min-height:250px;padding:30px 20px}.hero-art img{max-width:440px}.scribble{margin-bottom:15px}.art-note{margin-top:15px}.promise-inner{flex-wrap:wrap;justify-content:center;font-size:9px;gap:14px}.section{padding-block:50px}.section-heading{display:block}h2{font-size:38px}.features{grid-template-columns:1fr;gap:15px}.features article{position:relative;padding-left:65px}.feature-icon{position:absolute;left:0}.features h3{margin-bottom:5px}.features p{max-width:none}.example{margin:0 14px;padding:30px;grid-template-columns:1fr;gap:20px}.example-art img{max-width:380px}.create-section{grid-template-columns:1fr;gap:20px}.note{max-width:none;margin-top:20px}.form-card{padding:20px}.form-row{grid-template-columns:1fr;gap:0}footer{flex-wrap:wrap;gap:10px}footer>span{margin:0;width:100%}.event-grid{grid-template-columns:1fr}.event-head{padding:25px}.event-head h1{font-size:45px}}
.calendar-actions{display:flex;flex-wrap:wrap;gap:10px}.calendar-actions a{border:1px solid #c4cbd4;border-radius:5px;padding:10px 13px;font-size:13px;font-weight:700;text-decoration:none}.calendar-actions a:hover{background:#e9edf3}.map-card iframe{width:100%;height:280px;border:1px solid #c4cbd4;border-radius:5px}
@media(max-width:760px){.calendar-actions a{flex:1 1 auto;text-align:center}}
.map-actions{margin:18px 0}.host-tools{margin-top:20px}
/* Democracy Dip Night: a two-ink yard sign and potluck sign-up sheet under an election-night sky. */
@font-face{font-family:'Big Shoulders Display';src:url(/assets/fonts/big-shoulders-display-latin-wght-normal.woff2) format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:'Fraunces';src:url(/assets/fonts/fraunces-latin-full-normal.woff2) format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:'Public Sans';src:url(/assets/fonts/public-sans-latin-wght-normal.woff2) format('woff2');font-weight:100 900;font-display:swap}
body.democracy-page{--blue:#18277d;--deep:#0f1a5c;--red:#c8281a;--stock:#f7f2e6;--rule:#18277d33;--ink:var(--blue);--muted:#47507f;--display:'Big Shoulders Display',Impact,'Arial Narrow',sans-serif;--stars:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='150' viewBox='0 0 220 150'%3E%3Cg fill='%23f7f2e6' fill-opacity='.2'%3E%3Cpath id='s' d='M30 22l2.100 6h6.400l-5.200 3.700 2 6.100-5.300-3.800-5.300 3.800 2-6.100-5.200-3.700h6.400z'/%3E%3Cpath d='M140 22l2.100 6h6.400l-5.200 3.700 2 6.100-5.300-3.800-5.300 3.800 2-6.100-5.200-3.700h6.400z'/%3E%3Cpath d='M85 97l2.100 6h6.400l-5.200 3.700 2 6.100-5.300-3.800-5.300 3.800 2-6.100-5.200-3.700h6.400z'/%3E%3Cpath d='M195 97l2.100 6h6.400l-5.200 3.700 2 6.100-5.300-3.800-5.300 3.800 2-6.100-5.200-3.700h6.400z'/%3E%3C/g%3E%3C/svg%3E");background:var(--blue);color:var(--stock);font-family:'Public Sans',Arial,Helvetica,sans-serif}
.democracy-page h1,.democracy-page h2{font-family:var(--display);letter-spacing:0}
.democracy-page :focus-visible{outline:3px solid currentColor;outline-offset:3px}
.democracy-page>.nav{height:60px;max-width:1240px;padding-inline:clamp(18px,4vw,40px);border:0;color:var(--stock)}.democracy-page .nav .brand{font-size:18px;letter-spacing:0;font-weight:700}.democracy-page .brand-mark{display:none}.democracy-page .nav .muted{color:inherit;opacity:.8}.democracy-page .nav .button.small{background:transparent;border-color:currentColor;color:inherit;box-shadow:none;border-radius:0;padding:7px 12px;font-size:13px;gap:10px}
#event-view.democracy{max-width:none;padding:0}#event-view.democracy>#event-status{padding:40px clamp(18px,4vw,40px);color:var(--stock)}#event-view.democracy>#event-status.error{color:var(--stock);font-weight:700}
.dip-hero{background-image:var(--stars);background-position:50% 0}
.dip-hero-inner{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(340px,1fr);gap:clamp(24px,3.4vw,44px);align-items:stretch;max-width:1240px;margin:auto;padding:6px clamp(18px,4vw,40px) 0}
.dip-hero-inner:not(:has(#rsvp-form)){grid-template-columns:minmax(0,1fr)}
.yard{display:flex;flex-direction:column;min-width:0}
.sign{container-type:inline-size;background:var(--stock);color:var(--blue);padding:clamp(16px,2.2vw,28px) clamp(18px,2.6vw,34px) clamp(14px,1.6vw,20px);box-shadow:7px 7px 0 var(--deep)}
.sign p{margin:0}
.sign-kicker{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 20px;font-size:14px;font-weight:800;line-height:1.3;color:var(--red)}
.sign h1{margin:.14em 0 .16em;font-size:21.8cqw;font-weight:900;line-height:.88;text-transform:uppercase}.sign h1>span{display:block;white-space:nowrap}.sign h1>span+span{font-size:1.262em;line-height:.86}.sign .dip{display:inline-block;font-weight:900;color:var(--red)}
.sign-when{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0 20px;border-block:3px solid var(--blue);padding:7px 0 8px;font:800 clamp(25px,3.100cqw + 14px,36px)/1.08 var(--display);text-transform:uppercase}.sign-when span{color:var(--red)}
.sign-where{padding-top:10px;font-size:18px;font-weight:700;line-height:1.3;text-wrap:balance}.sign-where a{text-underline-offset:3px;text-decoration-thickness:2px}
.sign .sign-intro{margin-top:3px;font-size:16px;line-height:1.4}
.sign .sign-disclaimer{margin-top:10px;font-size:12px;line-height:1.35;color:var(--muted)}
.stakes{flex:1 0 34px;margin-inline:17%;border-inline:6px solid var(--stock)}
.sheet{position:relative;background:var(--stock);color:var(--blue);padding:24px clamp(20px,2.2vw,28px) 16px;box-shadow:7px 7px 0 var(--deep);margin-bottom:34px;scroll-margin-top:16px}
.sheet::before{content:'';position:absolute;top:-7px;left:50%;width:92px;height:15px;margin-left:-46px;background:var(--deep);border:2px solid var(--stock)}
.sheet p{margin:0}
.sheet h2{margin:0;font-size:clamp(44px,4.4vw,54px);font-weight:900;line-height:1;text-transform:uppercase}
.sheet .sheet-count{margin-bottom:14px;font-size:15px}.sheet-count #guest-count{font-weight:800}
.democracy .sheet label{margin-bottom:12px;font-size:15px;font-weight:700;line-height:1.3}
.democracy .sheet input,.democracy .sheet textarea{margin-top:3px;padding:9px 10px;background:#fff;border:0;border-bottom:3px solid var(--blue);border-radius:0;color:var(--blue);font-size:16px;line-height:1.35}.democracy .sheet input:focus-visible,.democracy .sheet textarea:focus-visible{outline-offset:1px}.democracy .sheet ::placeholder{color:#5c6490;opacity:1}
.democracy .sheet .button{display:flex;width:100%;justify-content:center;gap:12px;min-height:54px;margin-top:4px;padding:8px 16px;background:var(--red);border:0;border-radius:0;box-shadow:none;color:var(--stock);font:800 27px/1 var(--display);text-transform:uppercase;transition:font-weight .15s,background .15s}.democracy .sheet .button:hover{transform:none;background:#a81f13;font-weight:900}
.sheet #rsvp-status{font-weight:700}.sheet #rsvp-status:not(:empty){margin-top:10px;padding:9px 11px;border:2px solid currentColor}.sheet #rsvp-status.success{color:var(--blue)}.sheet #rsvp-status.error{color:var(--red)}
.democracy .sheet .fine{margin-top:8px;color:var(--muted)}
.stripes{height:36px;background:repeating-linear-gradient(180deg,var(--red) 0 9px,var(--stock) 9px 18px)}
.dip-paper{background:var(--stock);color:var(--blue)}.dip-col{max-width:1240px;margin:auto;padding-inline:clamp(18px,4vw,40px)}
.dip-paper .fine{color:var(--muted);font-size:13px}
.dip-where .dip-col{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(24px,4vw,48px);padding-block:clamp(20px,3vw,36px);scroll-margin-top:12px}.dip-where .no-map{grid-template-columns:minmax(0,1fr)}
#where{scroll-margin-top:12px}
.where-map{display:flex;flex-direction:column;min-height:300px}.where-map iframe{flex:1;width:100%;min-height:320px;border:3px solid var(--blue);background:#e8e4d8}.where-map .fine{margin:6px 0 0}
.where-copy h2{margin:0 0 6px;font-size:clamp(30px,3vw,38px);font-weight:900;line-height:1;text-transform:uppercase}.where-copy h2:not(:first-child){margin-top:24px}
.dip-links{display:flex;flex-direction:column;border-top:2px solid var(--blue)}.dip-links a{display:block;padding:11px 0;border-bottom:1px solid var(--rule);font-size:17px;font-weight:700;text-decoration:none}.dip-links a:hover{color:var(--red);text-decoration:underline;text-underline-offset:4px}
.dip-host .dip-col{padding-block:0 22px}.democracy .host-tools{max-width:560px;margin:0;padding:0;background:none;border:0;border-radius:0}.host-tools summary{padding:8px 0;font-weight:700;cursor:pointer}.democracy .host-tools summary{padding:10px 0;font-size:13px;font-weight:400;color:var(--muted)}.democracy .host-tools label{font-size:15px}.democracy .host-tools input{background:#fff;border:0;border-bottom:3px solid var(--blue);border-radius:0;font-size:16px;color:var(--blue)}.democracy .host-tools .button.small{min-height:44px;margin:0 8px 8px 0;padding:9px 15px;background:transparent;border:2px solid var(--blue);border-radius:0;box-shadow:none;color:var(--blue);font-weight:700}.democracy .host-tools .button.small:hover{transform:none;background:var(--blue);color:var(--stock)}
.democracy-page>footer{max-width:1240px;padding-inline:clamp(18px,4vw,40px);border:0;color:var(--stock);font-size:13px}.democracy-page>footer .brand{color:inherit}
@media(prefers-reduced-motion:no-preference){.sign .dip{animation:dip 1.1s .6s cubic-bezier(.3,1.4,.5,1) both;transform-origin:50% 100%}@keyframes dip{0%{transform:none}38%{transform:translateY(.1em) rotate(-3deg)}100%{transform:none}}}
@media(prefers-reduced-motion:reduce){.democracy-page,html:has(.democracy-page){scroll-behavior:auto}.democracy-page *{transition:none!important}}
@media(max-width:860px){.dip-hero-inner{grid-template-columns:minmax(0,1fr);gap:22px;padding-top:0}.stakes{display:none}.sheet{margin-bottom:28px}.dip-where .dip-col{grid-template-columns:minmax(0,1fr)}.where-map iframe{min-height:280px}.democracy-page>.nav{height:52px}.democracy-page .nav .button.small{font-size:12px;padding:6px 9px;gap:6px}}
@media(max-width:420px){.sign-kicker{font-size:13px}.sign-where{font-size:16px;padding-top:8px}.sign .sign-intro{font-size:15px}.sign .sign-disclaimer{margin-top:6px}}
.share-rsvp{font-size:13px!important;line-height:1.5!important;margin-top:14px}.share-rsvp input{width:auto!important;display:inline!important;accent-color:#18277d}.share-rsvp span{display:block;font-weight:400;margin-left:20px}.rsvp-edit-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.rsvp-edit-actions .button.small{font:600 13px/1.3 Arial,sans-serif!important;width:auto!important;min-height:36px!important;padding:8px!important;background:transparent!important;color:inherit!important;border:1px solid currentColor!important;text-transform:none!important}.live-potluck{padding:30px 24px}.live-potluck>.dip-col{display:block;max-width:1100px;margin:auto}.potluck-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.potluck-heading h2{font-size:30px;margin-bottom:10px}.potluck-heading #live-connection{font-size:12px;white-space:nowrap}.live-potluck ul{list-style:none;margin:15px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.live-potluck li{display:flex;flex-direction:column;gap:5px;padding:15px;border:1px solid #b9b8b0;overflow-wrap:anywhere}.live-potluck li>span{font-size:14px}.live-potluck li button{align-self:flex-start;margin-top:6px;background:none;border:0;text-decoration:underline;color:inherit;font:inherit}.rsvp-edit-actions a{overflow-wrap:anywhere}.rsvp-edit-actions .fine{flex-basis:100%}
.live-potluck .dip-editor{width:100%;margin:0;padding:10px;border:1px solid #7b8190;background:white;color:#18277d;font-size:16px}.live-potluck .dip-editor:focus{outline:2px solid #18277d;outline-offset:2px}.live-potluck .dip-save-status{font-size:12px;line-height:1.5}.dip-conflict-actions{display:flex;flex-wrap:wrap;gap:12px}.dip-conflict-actions button{font-size:13px!important}.live-potluck li:has(.dip-conflict-actions:not([hidden])){border:2px solid #b12820}.live-potluck .dip-editor:disabled{opacity:.7}

.democracy-page > header.nav{display:none}
/* Item lists and notes expand with their contents, including live remote edits. */
#rsvp-form textarea,.live-potluck textarea.dip-editor{height:auto;max-height:none;overflow:hidden;resize:none;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5;min-width:0}
#rsvp-form .field-hint{display:block;font-size:12px;font-weight:400;line-height:1.5;margin:3px 0;color:inherit}
.live-potluck li{min-width:0}.live-potluck li>span{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%}

.live-potluck .dip-items{display:grid;gap:12px;min-width:0}.live-potluck .dip-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start}.live-potluck .dip-add-item,.live-potluck .dip-remove-item{font-size:13px!important;letter-spacing:0!important;text-transform:none!important;padding:8px!important;min-height:44px}.live-potluck .dip-add-item{justify-self:start}.live-potluck .dip-remove-item{background:transparent;color:inherit;border:1px solid #7b8190}

/* Live edits and item controls must settle immediately when focus moves. */
html:has(.live-potluck){scroll-behavior:auto}

.live-potluck .dip-edit-name{align-self:flex-start;font-size:13px;min-height:44px;display:inline-flex;align-items:center;text-underline-offset:3px}

body.friendsgiving-page{--blue:#4a2415;--deep:#351708;--red:#a8400f;--stock:#fff4e0;--muted:#795d50;--rule:#52302b33;--stars:none;background:var(--blue)}
.friendsgiving-page .dip-hero{position:relative;overflow:hidden;padding-top:0;background-color:#b24e12;background-image:repeating-linear-gradient(90deg,#2a0f0433 0 44px,transparent 44px 88px),repeating-linear-gradient(0deg,#2a0f0433 0 44px,transparent 44px 88px),repeating-linear-gradient(90deg,transparent 0 86px,#f2c52e55 86px 88px),repeating-linear-gradient(0deg,transparent 0 86px,#f2c52e55 86px 88px)}
.friendsgiving-page .sign{border:1px solid #c59765;outline:1px solid #c59765;outline-offset:-8px;box-shadow:5px 5px 0 #43282366}
.friendsgiving-page .sign h1{font-family:Fraunces,Georgia,serif;font-variation-settings:'opsz' 144,'SOFT' 100,'WONK' 1;text-transform:none;font-size:18cqw;letter-spacing:-.03em;font-weight:700;line-height:1;margin:.12em 0 .2em}
.friendsgiving-page .sign h1 b{font-weight:inherit;color:var(--red)}
.friendsgiving-page .sign-when{gap:8px;font-family:Fraunces,Georgia,serif;font-variation-settings:'SOFT' 100;font-weight:400;text-transform:none;font-size:clamp(23px,4cqw,30px);border-width:1px;padding-block:12px}
.friendsgiving-page .sign-when span{font:700 17px/1.4 'Public Sans',sans-serif;text-transform:none}
.friendsgiving-page .stakes{border:0;flex-basis:28px}.friendsgiving-page .stripes{position:relative;z-index:2;height:56px;background:var(--stock) url(/assets/fall/garland.svg) repeat-x center/240px 56px}
.friendsgiving-page .dip-editor{color:var(--blue)}.friendsgiving-page .sheet .button:hover{background:var(--deep)}
.friendsgiving-page .sheet{box-shadow:5px 5px 0 #43282366}.friendsgiving-page .sheet::before{display:none}
.friendsgiving-page h2{font-family:Fraunces,Georgia,serif;font-variation-settings:'SOFT' 100;text-transform:none;font-weight:400;letter-spacing:-.035em}
.friendsgiving-page .sheet h2{font-size:42px}.friendsgiving-page .sheet .button{font-family:Fraunces,Georgia,serif;font-variation-settings:'SOFT' 100;text-transform:none;font-size:25px;font-weight:400}
.friendsgiving-page .live-potluck li{border-color:#c9ac8f;background:#fff9ed}
.friendsgiving-page .sign-kicker{font-size:12px;letter-spacing:.05em;text-transform:uppercase}
@media(max-width:420px){.friendsgiving-page .dip-hero{padding-top:16px}.friendsgiving-page .sign-kicker{font-size:10px}.friendsgiving-page .sign-when span{font-size:15px}}
/* Group-wide dietary warnings: anonymous, shared, and saved apart from the RSVP. */
.sheet .dietary{margin:-4px 0 12px;font-size:13px}.sheet .dietary summary{min-height:32px;padding-block:5px;cursor:pointer;font-weight:700;line-height:1.5}.sheet .dietary[open] summary{margin-bottom:4px}.sheet .dietary .fine{margin:0;font-size:12px;line-height:1.4}
.dietary-board{margin:0 0 14px;padding:10px 14px;border-left:4px solid var(--red,#9c3434);background:#fff9ed}.dietary-board h3{margin:0 0 6px;font-size:15px;letter-spacing:0;line-height:1.3;color:var(--red,#9c3434)}
.live-potluck .dietary-list{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.live-potluck .dietary-list li{display:flex;flex-direction:row;align-items:center;gap:4px;width:auto;min-width:0;margin:0;padding:1px 2px 1px 9px;border:1px solid var(--red,#9c3434);background:transparent;font-size:14px;font-weight:700;line-height:1.3}.dietary-list span{overflow-wrap:anywhere}.live-potluck .dietary-list button{min-height:32px;margin:0;padding:0 6px;border:0;background:transparent;color:inherit;font-size:12px;font-weight:400;letter-spacing:0;text-transform:none;text-decoration:underline}
.democracy .sheet .dietary label,.sheet .dietary label{margin:8px 0 3px;font-size:13px}.dietary-add{display:flex;gap:6px;margin-bottom:5px}.democracy .sheet .dietary-add input,.dietary-add input{flex:1;min-width:0;margin:0;font-size:16px}.dietary-add button{flex:none;min-width:58px;min-height:44px;padding:0 12px;border:2px solid currentColor;background:transparent;color:inherit;font-size:14px;font-weight:700}.dietary-add button:disabled{opacity:.6}.sheet #dietary-status{margin-top:4px;font-size:13px}.sheet #dietary-status:empty{display:none}

/* Friendsgiving: GeoCities in October. Decoration sits behind or beside the shared template. */
.friendsgiving-page .dip-hero-inner{position:relative;z-index:1;padding-top:24px}
.friendsgiving-page .sign{position:relative}
.friendsgiving-page .dip-paper{background-image:url(/assets/fall/leaf-tile.svg);background-size:200px}
.fun-sky{position:absolute;inset:0;overflow:hidden;pointer-events:none}.fun-sky img{position:absolute;top:-70px;animation:fun-fall 19s linear infinite}
@keyframes fun-fall{0%{transform:translate(0,0) rotate(0)}25%{transform:translate(50px,380px) rotate(140deg)}50%{transform:translate(-30px,760px) rotate(250deg)}75%{transform:translate(40px,1140px) rotate(400deg)}100%{transform:translate(0,1520px) rotate(560deg)}}
.fun-horn{position:relative;z-index:2;display:block;align-self:center;width:min(72%,440px);margin:0 auto -10px;padding:0;border:0;background:none;filter:drop-shadow(5px 6px 0 #2a0f0466)}.fun-horn img{display:block;width:100%;height:auto}.fun-horn:focus-visible,.fun-turkey:focus-visible{outline:3px solid #f2c52e;outline-offset:3px}
.fun-turkey{position:absolute;top:-16px;right:10px;width:96px;padding:0;border:0;background:none;transform-origin:50% 100%;animation:fun-strut 1.6s steps(2) infinite}.fun-turkey img{display:block;width:100%}.fun-turkey.poked{animation:fun-poked .45s ease-out}
@keyframes fun-strut{50%{transform:rotate(-5deg)}}@keyframes fun-poked{25%{transform:scale(1.3) rotate(10deg)}60%{transform:scale(.9) rotate(-10deg)}}
.fun-said{position:absolute;top:14px;right:112px;max-width:170px;padding:5px 9px;border:2px solid var(--blue);background:#f2c52e;color:#1d0d05;font:700 14px/1.25 'Comic Sans MS','Comic Neue',cursive;z-index:2}
.fun-particle,.fun-trail{position:fixed;z-index:50;pointer-events:none}.fun-particle{width:38px}.fun-trail{width:20px}
.fun-footer{padding:28px clamp(18px,4vw,40px) 22px;background:var(--deep);color:var(--stock);text-align:center;font-size:14px}.fun-footer p{margin:0}
.fun-flock{display:flex;justify-content:center;gap:clamp(2px,1.5vw,14px);margin-bottom:16px}.fun-flock img{width:clamp(36px,10vw,64px);min-width:0}
.fun-counter{margin-bottom:0}.fun-counter b{padding:1px 5px;background:#000;color:#5dff5d;font:700 13px 'Courier New',monospace;letter-spacing:.1em}
.fun-parade{position:absolute;inset:0;pointer-events:none}.fun-parade>div{position:absolute;left:0;bottom:2px;width:70px;animation:fun-walk 60s linear infinite}.fun-parade img{display:block;width:100%;transform-origin:50% 100%;animation:fun-waddle .7s steps(2) infinite}
@keyframes fun-walk{from{transform:translateX(-90px)}to{transform:translateX(100vw)}}@keyframes fun-waddle{50%{transform:rotate(-7deg) translateY(-3px)}}
@keyframes fun-fall-short{0%{transform:translate(0,0) rotate(0)}33%{transform:translate(50px,270px) rotate(140deg)}66%{transform:translate(-30px,540px) rotate(280deg)}100%{transform:translate(0,820px) rotate(460deg)}}
@media(min-width:861px){.fun-sky img{animation-name:fun-fall-short}}
@media(max-width:860px){.fun-horn{width:min(76%,340px)}}
@media(max-width:420px){.fun-turkey{width:82px;right:6px}.fun-said{right:92px;max-width:130px}}
@media(prefers-reduced-motion:reduce){.fun-sky img,.fun-parade>div{animation-play-state:paused}.fun-turkey,.fun-parade img{animation:none}}
body.friendsgiving-page{background:var(--deep)}
.friendsgiving-page>footer{justify-content:center;flex-wrap:wrap;gap:6px 18px;padding-block:0 26px;text-align:center}.friendsgiving-page>footer>span{display:none}

