@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600&family=Newsreader:ital,opsz,wght@0,6..72,300;0,6..72,400;1,6..72,300;1,6..72,400&display=swap');

:root{--paper:#F6F2E8;--ink:#3E3730;--muted:#6A6158;--line:#D5CDBB;--accent:#A95E41;--serif:'Newsreader',Georgia,serif;--sans:'DM Sans',system-ui,sans-serif;--mono:'DM Mono',ui-monospace,Menlo,monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 var(--sans)}button,input,select{font:inherit;color:inherit}button{border:0;background:transparent;cursor:pointer;padding:0;text-align:left}button,a,input,select{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button:hover,a:hover{color:var(--accent)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3,.serif{font-family:var(--serif);font-weight:400}h1,h2{letter-spacing:-.025em}em{font-weight:400;color:var(--accent)}.mono{font:400 12px/1.5 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.wrap{max-width:1320px;margin:0 auto;padding-left:56px;padding-right:56px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.mobile-only,.mobile-category,.mobile-sort,.mobile-schedule{display:none!important}
.header{min-height:88px;display:flex;align-items:center;gap:32px;border-bottom:1px solid var(--line)}.brand{font-size:28px;letter-spacing:-.01em;line-height:1;white-space:nowrap}.brand span,.footer-brand span{color:#B5593A}nav{display:flex;align-items:center;gap:36px;margin-left:auto}nav button,nav a{white-space:nowrap;min-height:44px;display:flex;align-items:center}nav .nav-active{text-decoration:underline;text-underline-offset:9px}.my-list{color:var(--ink);border:1px solid var(--ink);border-radius:999px;padding:0 20px;min-height:44px;display:flex;align-items:center;gap:10px;white-space:nowrap}.my-list.chosen{background:var(--ink);color:var(--paper)}.hero{padding-top:40px;padding-bottom:56px;display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:end}.hero h1{font-size:64px;line-height:1.02;margin-top:16px}.hero p{font-size:24px;line-height:1.4;letter-spacing:-.005em;text-wrap:balance;padding-bottom:14px}
.soon{background:#EDE6D6}.soon-inner{padding-top:64px;padding-bottom:56px}.section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:32px}.soon h2{font-size:56px;line-height:1;margin-top:14px}.rail-controls{display:flex;gap:16px}.rail-controls button{width:44px;height:44px;border:1px solid var(--ink);border-radius:50%;display:flex;align-items:center;justify-content:center}.rail{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#BDB4A2 transparent;margin-top:36px;padding-bottom:16px}.rail>*{scroll-snap-align:start;flex:0 0 280px;min-width:0}.pick{display:flex;flex-direction:column;gap:12px;align-items:stretch;color:var(--ink)}.pick-photo{position:relative;aspect-ratio:4/3;background:#DDD6C2;overflow:hidden;border-radius:2px}.pick-photo img,.card-photo img,.modal-photo img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.85) sepia(.06);transition:transform .6s}.pick:hover img,.card:hover img{transform:scale(1.03)}.date-badge,.card-number,.category-label{position:absolute;left:12px;top:12px;background:var(--paper);color:var(--ink);padding:4px 10px;border-radius:999px;pointer-events:none}.pick h3{font-size:24px;line-height:1.12;letter-spacing:-.01em;text-wrap:balance}.pick-bottom{display:flex;justify-content:space-between;align-items:baseline;gap:10px;border-top:1px solid #C9C0AB;padding-top:10px;margin-top:auto}.pick-bottom>span{font-size:14px;color:var(--muted)}.pick-bottom strong{font:400 22px/1.2 var(--serif);white-space:nowrap}.dates-promo{position:relative;display:flex;align-items:flex-end;min-height:340px;background:#E4DCC8;padding:24px;border-radius:2px;overflow:hidden}.dates-promo>svg{position:absolute;inset:0;width:100%;height:100%}.dates-promo>span{position:relative;display:flex;flex-direction:column;gap:10px}.dates-promo strong{font:400 30px/1.1 var(--serif);letter-spacing:-.01em}.dates-promo .mono{color:#34493A}
.directory{padding-top:80px;padding-bottom:96px}.directory h2{font-size:72px;line-height:1;margin-top:16px}.surprise{display:flex;align-items:center;gap:8px;min-height:44px;padding-bottom:4px;border-bottom:1px solid var(--ink);color:var(--ink);white-space:nowrap}.category-tabs{margin-top:32px;display:flex;gap:10px;flex-wrap:wrap}.category-tabs button{color:var(--ink);border:1px solid #BDB4A2;border-radius:999px;min-height:44px;padding:0 18px;display:flex;align-items:center;gap:8px}.category-tabs button:hover{background:#EDE6D6}.category-tabs .selected{background:var(--ink);color:var(--paper);border-color:var(--ink)}.category-tabs .selected:hover{background:var(--ink)}.category-tabs .selected span{color:var(--line)}.filterbar{margin-top:32px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:center;flex-wrap:wrap}.search{flex:2 1 280px;min-width:0;display:flex;align-items:center;gap:12px;border:1px solid #BDB4A2;border-radius:999px;background:#FBF9F3;padding:0 20px;min-height:48px}.search input{border:0;background:transparent;width:100%;min-width:0;font-size:15px;outline:0}.search svg{flex-shrink:0}.search button{display:flex;align-items:center;min-height:44px}.select-wrap{flex:1 1 150px;min-width:0;display:flex;align-items:center;gap:8px;border:1px solid #BDB4A2;border-radius:999px;padding:0 16px;min-height:48px}.select-wrap select{border:0;background:transparent;font-size:14px;flex:1;width:100%;min-width:0;min-height:44px;outline:0}.desktop-sort{flex-basis:200px}.resultbar{margin:20px 0 32px;display:flex;justify-content:space-between;gap:16px;align-items:center}.resultbar strong{font-weight:400;color:var(--ink)}.active-filter,.filter-info{margin-top:16px;display:flex;align-items:center;gap:16px}.active-filter button{display:flex;align-items:center;gap:5px}.filter-info{font-size:13px}.filter-info button{text-decoration:underline}.status-note{font-size:13px;padding:12px 0;color:var(--accent)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 32px}.card{display:flex;flex-direction:column;gap:14px;min-width:0}.card-photo{position:relative;aspect-ratio:4/3;background:#DDD6C2;overflow:hidden;border-radius:2px}.photo-button{display:block;width:100%;height:100%}.category-label,.save{display:none}.card-meta{display:flex;justify-content:space-between;align-items:center;gap:8px}.desktop-save{width:44px;height:44px;display:flex;align-items:center;justify-content:center;margin:-10px -10px -10px 0;flex-shrink:0}.card-title{font:400 26px/1.12 var(--serif);letter-spacing:-.01em;text-wrap:balance}.card-title:hover{color:#34493A}.card-info{font-size:14px;color:var(--muted)}.card-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:12px;display:flex;justify-content:space-between;align-items:flex-end;gap:12px}.card-bottom>div{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.card-bottom strong{font:400 24px/1.1 var(--serif);white-space:nowrap}.card-unit{font-size:10px}.desktop-schedule{font-size:10px;max-width:48%;text-align:right}.full-label{font-size:12px;color:var(--accent)}.load-more{margin-top:72px;display:flex;flex-direction:column;align-items:center;gap:16px}.outline,.primary,.secondary{border:1px solid var(--ink);border-radius:999px;min-height:52px;padding:0 32px;display:inline-flex;justify-content:center;align-items:center;gap:12px}.primary{background:var(--ink);color:var(--paper)}.primary:hover{background:var(--accent);border-color:var(--accent);color:var(--paper)}.empty{text-align:center;padding:70px 0}.empty h3{font-size:36px}.empty p{margin:12px 0 24px}.art-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#E4DCC8;flex-direction:column;gap:10px;color:#34493A}.art-placeholder span{font:70px/1 var(--serif)}.art-placeholder b{font:10px var(--mono);text-transform:uppercase;letter-spacing:.1em}
.how{background:var(--accent);color:var(--paper)}.how>.wrap{padding-top:96px;padding-bottom:96px}.how .mono{color:var(--paper)}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;margin-top:40px}.steps>div{border-top:1px solid var(--paper);padding-top:20px}.steps h3{font-size:40px;line-height:1.1;letter-spacing:-.015em;margin-top:12px}.steps p{margin-top:14px;text-wrap:pretty}footer{padding-top:56px;padding-bottom:64px}.footer-columns{display:grid;grid-template-columns:minmax(260px,340px) minmax(160px,220px);gap:48px}.footer-brand{font-size:28px}.footer-columns p{max-width:260px;margin-top:12px;color:#4F473F}.footer-columns button{display:block;margin-top:12px}.footer-columns .mono{font-size:11px}.footer-bottom{margin-top:48px;padding-top:20px;border-top:1px solid #E4DCC8;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.modal-backdrop{position:fixed;inset:0;z-index:300;background:#26221ed0;display:flex;align-items:center;justify-content:center;padding:28px}dialog[open]{position:relative;display:block;margin:0;width:720px;max-width:100%;max-height:90dvh;overflow-y:auto;border:0;background:var(--paper);color:var(--ink);padding:0;box-shadow:0 12px 60px #0004}.close-modal{position:absolute;z-index:2;right:16px;top:16px;background:var(--paper);border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center}.modal-photo{height:300px;background:#DDD6C2}.modal-body,.about-body{padding:40px}.eyebrow{font:11px/1.5 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.modal-body h2,.about-body h2{font-size:44px;line-height:1.05;margin:14px 0 12px}.modal-body p,.about-body p{line-height:1.7;margin:14px 0}.modal-provider{color:var(--muted)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;background:#EDE6D6;padding:22px;margin:22px 0}.detail-grid>div{display:flex;flex-direction:column;gap:8px}.detail-grid small{font:10px/1.5 var(--mono);letter-spacing:.06em}.detail-grid strong{font:28px/1.2 var(--serif)}.detail-grid span{font-size:13px;color:var(--muted)}.modal-body h3,.about-body h3{font-size:26px;margin-top:25px}.address{display:flex;align-items:center;gap:10px}.address svg{flex-shrink:0}.modal-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.modal-actions .primary,.modal-actions .secondary{padding:0 20px;font-size:13px}.fineprint{font-size:11px!important;color:var(--muted)}.full-note{padding:12px 16px;background:#EDE6D6;color:var(--accent)}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--paper);padding:14px 22px;border-radius:999px;z-index:400;display:flex;align-items:center;gap:10px;font-size:13px;white-space:nowrap}
@media(min-width:761px) and (max-width:1150px){.wrap{padding-left:32px;padding-right:32px}.header{gap:20px}nav{gap:18px;font-size:10px}.hero{gap:40px}.hero h1{font-size:58px}.hero p{font-size:21px}.directory h2{font-size:60px}.cards{gap:40px 24px}.card-title{font-size:24px}}
@media(max-width:760px){.desktop-only,.category-tabs,.desktop-sort,.desktop-save,.card-number,.desktop-schedule,.card-unit{display:none!important}.mobile-only{display:block!important}.wrap{padding-left:20px;padding-right:20px}.header{min-height:68px;justify-content:space-between;gap:12px}.brand{font-size:24px}.header nav{display:none}.my-list{padding:0 16px;gap:8px;font-size:12px}.hero{display:block;padding-top:44px;padding-bottom:40px}.hero .mono{font-size:11px;letter-spacing:.05em}.hero h1{font-size:52px;line-height:1;margin-top:14px;max-width:560px}.hero p{margin-top:20px;font-size:19px;line-height:1.45;padding:0;max-width:550px}.soon-inner{padding-top:48px;padding-bottom:48px}.soon h2{font-size:42px;margin-top:12px}.rail-controls{display:none}.rail{margin:20px -20px 0;padding:0 20px 6px;gap:16px;scroll-padding-left:20px;scrollbar-width:none}.rail>*{flex-basis:232px}.pick{gap:10px}.pick>.mono{font-size:11px;letter-spacing:.05em}.pick h3{font-size:21px}.pick-bottom{gap:8px}.pick-bottom>span{font-size:13px}.pick-bottom strong{font-size:20px}.date-badge{left:8px;top:8px;font-size:11px;padding:3px 10px}.dates-promo{min-height:300px;padding:20px}.dates-promo strong{font-size:26px}.dates-promo .mono{font-size:11px}.directory{padding-top:48px;padding-bottom:56px}.directory .section-top{display:block}.directory .section-top .mono{font-size:11px;letter-spacing:.05em}.directory h2{font-size:42px;line-height:1.02;margin-top:14px}.surprise{display:inline-flex;margin-top:16px;align-items:flex-end;padding-bottom:2px}.mobile-category{display:flex!important;align-items:center;gap:8px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:999px;padding:0 18px 0 20px;min-height:52px;margin-top:20px}.mobile-category select{appearance:none;border:0;background:transparent;color:var(--paper);font:13px/1.5 var(--mono);letter-spacing:.06em;text-transform:uppercase;width:100%;min-width:0;min-height:48px;outline:0}.mobile-category option{color:var(--ink);background:var(--paper)}.mobile-category svg{flex-shrink:0}.filterbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 48px;margin-top:10px;padding:0;border:0;gap:10px 8px}.select-wrap{padding:0 6px 0 14px;gap:6px}.select-wrap svg{flex-shrink:0}.select-wrap select{font-size:14px}.where{grid-column:1;grid-row:1}.budget{grid-column:2;grid-row:1}.filter-toggle{grid-column:3;grid-row:1;width:48px;height:48px;border:1px solid #BDB4A2;border-radius:50%;display:flex!important;align-items:center;justify-content:center}.search{grid-column:1/-1;grid-row:2;min-height:52px;gap:12px}.search input{font-size:16px}.resultbar{margin:20px 0 24px;padding-top:16px;border-top:1px solid var(--line);gap:10px}.resultbar .mono{font-size:11px;letter-spacing:.05em}.mobile-sort{display:block!important;flex-shrink:0}.mobile-sort select{font-size:13px;background:transparent;border:0;min-height:44px;max-width:140px}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 14px}.card{gap:10px}.card-photo{aspect-ratio:4/5}.category-label{display:block;left:8px;top:8px;padding:3px 8px;font-size:11px;letter-spacing:.05em;max-width:calc(100% - 52px);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.save{display:flex;align-items:center;justify-content:center;position:absolute;right:2px;top:2px;width:44px;height:44px;border-radius:50%;background:var(--paper);color:var(--ink);border:6px solid transparent;background-clip:padding-box}.save.is-saved{color:var(--accent)}.card-meta{font-size:11px;letter-spacing:.05em;line-height:1.5}.card-title{font-size:21px;line-height:1.12}.card-info{font-size:13px;line-height:1.4}.mobile-schedule{display:block!important;margin-top:3px}.card-bottom{padding-top:10px;align-items:center;gap:4px}.card-bottom strong{font-size:22px;white-space:normal;overflow-wrap:anywhere}.card-bottom>button{display:flex!important;align-items:center;justify-content:center;min-width:32px;min-height:44px;margin:-10px -7px -10px 0}.load-more{margin-top:48px}.how>.wrap{padding-top:48px;padding-bottom:48px}.steps{grid-template-columns:1fr;gap:32px;margin-top:28px}.steps h3{font-size:32px}.steps p{font-size:15px}.how .mono{font-size:11px}.footer-columns{grid-template-columns:1fr;gap:20px}.footer-columns>div:first-child{grid-column:1/-1}.footer-columns p{font-size:15px}.footer-columns button{font-size:14px}.footer-bottom{font-size:10px;margin-top:32px;display:block}.footer-bottom span{display:block;margin-top:8px}footer{padding-top:40px;padding-bottom:40px}.modal-backdrop{padding:12px}.modal-photo{height:220px}.modal-body,.about-body{padding:28px 24px}.modal-body h2,.about-body h2{font-size:34px}.detail-grid{padding:16px;gap:15px}.detail-grid strong{font-size:24px}.modal-body p,.about-body p{font-size:14px}.empty h3{font-size:30px}.empty p{font-size:14px}.toast{max-width:calc(100% - 24px);font-size:12px;padding:12px 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;scroll-behavior:auto!important}}

/* Always available alongside directory results on every screen size. */
.resultbar{flex-wrap:wrap}.reset-filters{min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:4px;color:var(--ink);white-space:nowrap}.resultbar>.reset-filters{order:3}.resultbar>.mobile-sort{margin-left:auto}@media(max-width:760px){.resultbar>.reset-filters{order:0}.resultbar>span:first-of-type{flex-basis:100%;order:2}}

.header nav button,.header nav a,.my-list,.footer-columns .mono{text-transform:capitalize}.contact-dialog{position:fixed;inset:0;margin:auto!important;width:620px!important;max-width:calc(100% - 24px)!important;max-height:90dvh!important}.contact-dialog::backdrop{background:#26221ed0}.contact-form{display:grid;gap:18px;margin-top:24px}.contact-form label{display:grid;gap:7px;font-size:14px}.contact-form label span{font-size:12px;color:var(--muted)}.contact-form input,.contact-form textarea{width:100%;border:1px solid #BDB4A2;border-radius:4px;padding:12px;background:#FBF9F3;font:16px var(--sans);color:var(--ink)}.contact-form textarea{resize:vertical}.contact-form p:empty{display:none}.contact-form button:disabled{opacity:.6;cursor:wait}@media(max-width:760px){.header{flex-wrap:wrap;padding-top:12px;padding-bottom:12px}.header nav{display:flex;order:3;width:100%;justify-content:space-between;margin:0;gap:12px;font-size:11px}.header nav button,.header nav a{min-height:36px}}
