:root{--paper:#fff9ef;--ink:#254738;--tomato:#b74632;--muted:#516456;--line:#d9d2c3;--serif:Georgia, "Times New Roman", serif;--sans:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;color-scheme:light;color:var(--ink);background:var(--paper);font-family:var(--sans);font-synthesis:none;font-size:18px;line-height:1.6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body,h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);text-wrap:balance;font-weight:400}a{color:inherit;text-underline-offset:.25em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}button,input{font:inherit}:focus-visible{outline:2px solid var(--tomato);outline-offset:6px}[tabindex="-1"]{scroll-margin-top:2rem}main:focus{outline:none}svg,img{max-width:100%}.page-shell{max-width:1216px;margin-inline:auto;padding-inline:48px}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{background:var(--ink);color:var(--paper);z-index:10;padding:12px 20px;position:absolute;top:0;left:24px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(16px)}.header{justify-content:space-between;align-items:center;gap:24px;padding-block:32px;display:flex}.wordmark{min-height:48px;font:400 clamp(1.6rem, 2.8vw, 2rem)/1.2 var(--serif);letter-spacing:-.03em;align-items:center;text-decoration:none;display:inline-flex;position:relative}.wordmark span{border-top:1.5px solid var(--tomato);border-radius:50%;width:37%;height:6px;position:absolute;bottom:-3px;left:31%;transform:rotate(-2deg)}nav{flex-wrap:wrap;align-items:center;gap:12px 30px;display:flex}nav a{min-height:44px;font:1rem/1.4 var(--serif);align-items:center;text-decoration:none;display:inline-flex}nav a:hover{text-decoration:underline}.nav-invitation{position:relative}.nav-invitation:after{content:"";border-top:1.3px solid var(--tomato);border-radius:50%;height:4px;position:absolute;inset:auto 0 2px;transform:rotate(-2deg)}.hero{text-align:center;padding-top:108px;position:relative}.hero-copy{max-width:900px;margin-inline:auto}.bunting{width:220px;position:absolute;top:-14px;left:-48px}.bird{width:170px;position:absolute;top:20px;right:28px}.hero h1{letter-spacing:-.055em;font-size:clamp(2.6rem,6.3vw,5rem);line-height:1.08}.hero-subtitle{font:clamp(1.65rem, 3.4vw, 2.5rem)/1.25 var(--serif);letter-spacing:-.025em;text-wrap:balance;margin-top:16px}.hero-description{max-width:680px;margin:22px auto 34px}.button{min-height:56px;color:var(--ink);font:1.2rem/1.4 var(--serif);text-align:center;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:10px 30px;text-decoration:none;transition:color .15s,background .15s;display:inline-flex;position:relative}.button:before{content:"";pointer-events:none;border:1.5px solid;border-radius:34px 29px 33px 27px/28px 24px 29px 25px;position:absolute;inset:0;transform:rotate(-.7deg)}.button:hover:not(:disabled){background:var(--ink);color:var(--paper);border-radius:30px}.hero-button{min-width:258px}.spark{color:var(--tomato);width:32px;height:32px;position:absolute;top:-24px;right:-25px}.meadow{width:100%;max-width:1040px;height:auto;margin:20px auto 0;display:block}.fair-status{text-align:center;justify-content:center;align-items:center;gap:24px;margin-top:36px;display:flex}.fair-status h2{letter-spacing:-.025em;margin-bottom:12px;font-size:clamp(1.5rem,2.7vw,2rem);line-height:1.25}.little-leaf{flex-shrink:0;width:26px;height:44px}.little-leaf:last-child{transform:scaleX(-1)}.idea{text-align:center;padding-top:90px}.eyebrow{font:500 .72rem/1.6 var(--sans);text-transform:uppercase;letter-spacing:.12em}.intro{max-width:640px;color:var(--muted);margin:14px auto 30px}.ideas{grid-template-columns:repeat(3,minmax(0,1fr));gap:44px;display:grid}.idea-sketch{object-fit:contain;width:180px;height:120px;margin-inline:auto;display:block}.ideas h3{letter-spacing:-.02em;margin:12px 0;font-size:1.5rem;line-height:1.3}.ideas p{max-width:275px;color:var(--muted);margin-inline:auto;font-size:.95rem}.invitation{text-align:center;max-width:780px;margin-inline:auto;padding-top:96px}.invitation h2{letter-spacing:-.02em;max-width:700px;margin-inline:auto;font-size:clamp(1.7rem,2.7vw,2.1rem);font-style:italic;line-height:1.3}.invitation>p{margin-top:16px}.invitation .signup-status{max-width:540px;color:var(--muted);text-wrap:balance;margin:28px auto 0;font-size:.9rem}.signup-preview{text-align:left;border:0;min-inline-size:0;margin:24px 0 0;padding:0}.signup-row{align-items:flex-end;gap:18px;display:flex}.email-field{flex:1;min-width:0}.email-field label{margin-bottom:8px;font-size:.9rem;display:block}.email-field input{border:1px solid var(--muted);width:100%;min-height:56px;color:var(--muted);background:0 0;border-radius:15px 18px 14px 17px;padding:12px 18px}.email-field input::placeholder{color:var(--muted);opacity:1}:disabled{cursor:not-allowed}.signup-row button{color:var(--muted);flex-shrink:0}.consent{min-height:44px;color:var(--muted);cursor:not-allowed;align-items:flex-start;gap:12px;margin-top:22px;font-size:.85rem;display:flex}.consent input{appearance:none;border:1px solid var(--muted);background:0 0;border-radius:3px;flex-shrink:0;width:20px;height:20px;margin:3px 0 0}.small-note{font:.82rem/1.65 var(--sans);color:var(--muted)}.invitation>.small-note{margin-top:12px}.invitation .small-note a{align-items:center;min-height:44px;display:inline-flex}.partners{text-align:center;padding-top:36px}.flower-divider{width:180px;height:60px;margin:0 auto 12px;display:block}.partners h2{margin-bottom:12px;font-size:1.2rem;line-height:1.4}.partners p{font-size:.95rem}.partners .small-note{margin-top:8px;font-size:.82rem}.footer-meta{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:10px 24px;margin-top:48px;padding:20px 0 28px;font-size:.78rem;display:flex}.footer-meta a{align-items:center;min-height:44px;display:inline-flex}.preview-label{font-style:italic}.prose{max-width:720px;margin:72px auto 64px}.prose h1{letter-spacing:-.04em;margin:18px 0 28px;font-size:clamp(2.2rem,5vw,3.5rem);line-height:1.1}.prose h2{margin-top:40px;font-size:1.6rem;line-height:1.3}.prose p:not(.eyebrow){margin-top:18px}.prose .button{margin-top:32px}@media (width<=700px){:root{font-size:17px}.page-shell{padding-inline:24px}.header{flex-direction:column;gap:14px;padding:26px 0 12px}.wordmark{font-size:1.85rem}nav{justify-content:center;gap:12px 28px}.hero{padding-top:86px}.bunting{width:122px;top:0;left:-24px}.bird{width:104px;top:10px;right:-8px}.hero h1{max-width:450px;margin-inline:auto;font-size:clamp(2.6rem,10vw,3.6rem);line-height:1.08}.hero-subtitle{max-width:350px;margin:18px auto 0;font-size:1.7rem}.hero-description{max-width:310px;margin:20px auto 30px}.hero-button{min-width:230px;padding-inline:24px}.spark{width:28px;top:-25px;right:-18px}.meadow{width:calc(100% + 24px);max-width:none;margin:32px -12px 0}.fair-status{gap:10px;margin-top:40px}.fair-status h2{max-width:310px;margin-inline:auto;font-size:1.6rem}.fair-status p{max-width:260px;margin-inline:auto}.little-leaf{width:17px;height:34px}.idea{padding-top:64px}.eyebrow{letter-spacing:.1em;font-size:.72rem}.intro{margin:14px auto 28px}.ideas{flex-direction:column;gap:30px;display:flex}.ideas article{text-align:left;align-items:center;gap:18px;width:100%;max-width:440px;margin-inline:auto;display:flex}.idea-sketch{flex-shrink:0;width:96px;height:80px;margin:0}.ideas h3{margin:0 0 8px;font-size:1.35rem}.ideas p{max-width:none;font-size:1rem}.invitation{padding-top:64px}.invitation h2{font-size:1.75rem}.signup-row{flex-direction:column;align-items:stretch;gap:18px}.signup-row button{width:100%}.consent{font-size:.9rem}.partners{padding-top:24px}.footer-meta{text-align:center;flex-wrap:wrap;justify-content:center;gap:2px 20px;margin-top:32px}.preview-label{width:100%}.prose{margin:44px auto}}@media (width<=360px){.ideas article{gap:12px}.idea-sketch{width:76px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important}}@media (forced-colors:active){:focus-visible{outline-color:highlight}.button:before,.email-field input,.consent input{border-color:buttontext}}[hidden]{display:none!important}region-picker,fair-timeline{display:block}button:disabled{opacity:.65}.text-button{min-height:44px;color:var(--ink);text-underline-offset:.25em;cursor:pointer;background:0 0;border:0;padding:10px 0;font-size:.88rem;text-decoration:underline}.text-link,.back-link{min-height:44px;padding-block:10px;display:inline-block}.back-link{margin-bottom:22px;font-size:.9rem}.invitation{max-width:850px}.invitation-form{border:1px solid var(--line);text-align:left;background:#fcf6eb;border-radius:18px 24px 21px 16px;margin-top:32px;padding:32px}.region-fieldset{text-align:left;border:0;min-width:0;margin:0;padding:0}.region-fieldset legend{width:100%;font:1.5rem/1.3 var(--serif);letter-spacing:-.025em}.picker-help{color:var(--muted);margin:8px 0 18px;font-size:.88rem}.region-search{margin:20px 0 16px;position:relative}.region-search svg{pointer-events:none;width:20px;height:20px;position:absolute;top:15px;left:15px}.region-search input{border:1px solid var(--line);width:100%;min-width:0;min-height:50px;color:var(--ink);background:var(--paper);border-radius:12px 15px 11px 14px;padding:11px 36px 11px 46px;font-size:.9rem}.picker-order{color:var(--muted);margin:0 0 12px;font-size:.75rem}.region-options{scrollbar-color:#c2cbbf transparent;scrollbar-width:thin;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:410px;margin:-6px;padding:6px;scroll-padding:8px;display:grid;overflow:clip auto}.region-option{background:var(--paper);cursor:pointer;border:1px solid #ded9ce;border-radius:11px 15px 12px 16px;align-items:center;gap:12px;min-height:78px;padding:12px 14px;transition:border-color .18s,background-color .18s;display:flex;position:relative}.region-option:nth-child(3n){border-radius:15px 11px 16px 12px}.region-option:hover{border-color:#7b927f}.region-option:has(input:checked){background:#eaf0e5;border-color:#6c856d}.region-option input{opacity:0;width:22px;height:22px;margin:0;position:absolute;left:14px}.drawn-check{border:1px solid #77907a;border-radius:4px 3px 5px;flex-shrink:0;place-items:center;width:22px;height:22px;display:grid}.drawn-check svg{opacity:0;width:22px;height:22px;transition:opacity .16s,transform .16s;transform:scale(.7)}.region-option input:checked+.drawn-check svg{opacity:1;transform:scale(1)}.region-option input:focus-visible+.drawn-check{outline:2px solid var(--tomato);outline-offset:4px}.region-option-copy{min-width:0;font:1.05rem/1.25 var(--serif)}.region-option-copy small{font:.67rem/1.3 var(--sans);color:var(--muted);margin-top:5px;display:block}.nearby-note{color:var(--tomato)}.picker-bottom{justify-content:space-between;align-items:center;gap:12px;margin-top:8px;display:flex}.region-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.75rem}.island-note{color:var(--muted);padding:10px 0;font-size:.78rem}.region-empty{padding:22px 0;font-style:italic}.invitation-form .signup-row{margin-top:28px}.consent{cursor:pointer}.consent input{cursor:pointer;position:relative}.consent input:checked{background:var(--ink);border-color:var(--ink)}.consent input:checked:after{content:"";border:solid var(--paper);border-width:0 2px 2px 0;width:6px;height:11px;position:absolute;top:2px;left:6px;transform:rotate(40deg)}.form-trap{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.form-message{margin-top:16px;font-size:.95rem}.form-message:empty{display:none}.form-message[data-state=error]{color:var(--tomato)}.form-message[data-state=success]{border-left:2px solid var(--ink);background:#edf1e7;padding:15px 18px}.invitation-form>.small-note{margin-top:16px}.region-directory{text-align:center;margin:80px auto 0}.region-directory h2{font-size:clamp(2rem,4vw,2.7rem);line-height:1.2}.region-directory>p{max-width:630px;color:var(--muted);margin:16px auto 28px}.region-links{text-align:left;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 28px;display:grid}.region-links>a{border-bottom:1px solid var(--line);min-height:108px;font:1.3rem/1.3 var(--serif);flex-direction:column;justify-content:center;padding:20px 25px 20px 0;text-decoration:none;display:flex;position:relative}.region-links>a:hover>span:first-child{text-underline-offset:.18em;text-decoration:underline}.region-links small{font:.72rem/1.4 var(--sans);color:var(--muted);margin-top:7px}.drawn-arrow{color:var(--tomato);font-size:1.2rem;position:absolute;top:32px;right:0}.region-directory>.text-link{margin-top:24px}.landing-intro{text-align:center;max-width:900px;margin:60px auto 12px}.landing-intro h1{letter-spacing:-.045em;margin:18px 0 24px;font-size:clamp(2.5rem,5.4vw,4.2rem);line-height:1.1}.landing-intro>p:not(.eyebrow){max-width:700px;margin:16px auto}.landing-intro>.button{margin:16px}.landing-intro+.meadow{max-width:850px}.fair-group,.venue-list{max-width:1000px;margin:60px auto 0}.fair-group h2,.venue-list h2,.venue-details h2,.rsvp-section h2,.fair-practical h2,.preference-panel h2{margin-bottom:18px;font-size:2rem;line-height:1.25}.fair-empty{color:var(--muted);max-width:680px}.fair-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.fair-card{border:1px solid var(--line);border-radius:12px 18px 14px 17px;padding:24px}.fair-card h3{margin:10px 0;font-size:1.55rem;line-height:1.3}.fair-card>p,.fair-card .text-link{margin-top:10px}.nearby-regions{text-align:center;max-width:760px;margin:64px auto 20px}.nearby-regions h2{margin-bottom:12px;font-size:1.5rem}.nearby-regions a{padding-block:8px;display:inline-block}.preview-banner{text-align:center;border:1px dashed var(--line);margin-top:24px;padding:16px 24px;font-size:.85rem}.venue-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:40px;display:grid}.venue-gallery figure{margin:0}.venue-gallery figure:first-child{grid-column:1/-1}.venue-gallery img{border-radius:8px;width:100%;height:auto;display:block}.venue-gallery figcaption{color:var(--muted);margin-top:8px;font-size:.75rem}.photo-placeholder{text-align:center;border:1px dashed var(--line);background:#f6f0e5;border-radius:18px 25px 15px 23px;margin:40px auto;padding:70px 24px}.photo-placeholder p{font:italic 2rem/1.3 var(--serif)}.photo-placeholder span{color:var(--muted);margin-top:12px;font-size:.85rem;display:block}.venue-details{grid-template-columns:1.5fr 1fr;gap:60px;margin:64px auto;display:grid}.venue-story p+p{margin-top:18px}.venue-contact{border-left:1px solid var(--line);padding-left:40px}.venue-contact address{font-style:normal}.venue-contact a{overflow-wrap:anywhere;padding-block:8px;display:block}.venue-contact h3{margin-top:28px;font-size:1.3rem}.fair-date{font-family:var(--serif);font-size:1.3rem}.fair-description,.fair-practical{max-width:760px;margin:50px auto}.rsvp-section{border:1px solid var(--line);border-radius:18px 25px 20px 16px;max-width:680px;margin:48px auto;padding:32px}.rsvp-section form{margin-top:24px}.guests-label{margin-top:18px;font-size:.9rem;display:block}.rsvp-section select{width:100%;color:var(--ink);background:var(--paper);border:1px solid var(--muted);min-height:50px;font:inherit;border-radius:12px;padding:10px;display:block}.rsvp-section button{margin:24px 0 10px}.preferences-page{max-width:850px;margin-inline:auto}.preference-panel{border:1px solid var(--line);border-radius:18px 25px 20px 16px;margin-top:40px;padding:32px}.preference-panel form,.preference-panel button.button{margin-top:24px}.preference-actions{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:10px 20px;margin-top:24px;padding-top:12px;display:flex}.account-email{color:var(--muted);overflow-wrap:anywhere;margin-bottom:24px}#my-rsvps{border-top:1px solid var(--line);margin-top:28px;padding-top:28px}.rsvp-list{gap:16px;display:grid}.rsvp-list button{display:block}.preferences-message{margin-top:24px}@media (width<=900px){.region-links{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.invitation-form,.preference-panel{margin-inline:-6px;padding:24px 18px}.region-options{grid-template-columns:1fr;max-height:355px}.region-option{min-height:68px}.region-fieldset legend{font-size:1.4rem}.picker-bottom{gap:8px}.region-count{font-size:.68rem}.text-button{font-size:.8rem}.region-directory{margin-top:64px}.region-links{grid-template-columns:1fr;gap:0}.region-links>a{min-height:88px}.landing-intro{margin-top:42px}.fair-group{margin-top:44px}.fair-cards{grid-template-columns:1fr}.fair-group h2,.venue-list h2{font-size:1.7rem}.venue-details{grid-template-columns:1fr;gap:30px;margin:44px auto}.venue-contact{border-left:0;border-top:1px solid var(--line);padding-top:30px;padding-left:0}.venue-gallery{grid-template-columns:1fr}.rsvp-section{padding:24px 18px}}@media (prefers-reduced-motion:reduce){.region-option,.drawn-check svg{transition:none}}@media (forced-colors:active){.region-option input:checked+.drawn-check{color:highlighttext;background:highlight}.region-option,.drawn-check{border-color:buttontext}.consent input:checked{background:highlight}.consent input:checked:after{border-color:highlighttext}}
