1
.mw-brand { align-items: center; display: inline-flex; gap: .65rem; text-decoration: none; }
2
.mw-front-page { margin-inline: auto; max-width: 80rem; padding: 1rem; }
3
.mw-front-page__hero { background: linear-gradient(135deg, var(--mw-secondary, #20242e), var(--mw-primary, #ff1e6e)); border-radius: 1rem; color: var(--mw-hero-title, #fff); isolation: isolate; margin-bottom: 1.5rem; min-height: 22rem; overflow: hidden; padding: 0; position: relative; }
4
.mw-front-page__hero--content { min-height: 0; }
5
.mw-front-page__hero-image, .mw-front-page__hero-overlay { inset: 0; position: absolute; }
6
.mw-front-page__hero-image { height: 100%; object-fit: cover; object-position: center; width: 100%; z-index: -2; }
7
.mw-front-page__hero-image[data-fit="contain"] { object-fit: contain; }
8
.mw-front-page__hero-overlay { background: linear-gradient(110deg, rgba(32, 36, 46, .88), rgba(32, 36, 46, .38) 58%, rgba(32, 36, 46, .68)); z-index: -1; }
9
.mw-front-page__hero-content { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; min-height: inherit; padding: clamp(2rem, 6vw, 5rem) clamp(1.25rem, 5vw, 4rem); position: relative; z-index: 1; }
10
.mw-front-page__hero-logo { display: block; height: auto; margin-bottom: 1.25rem; max-height: 4rem; max-width: 15rem; object-fit: contain; object-position: left center; width: auto; }
11
.mw-front-page__hero h1 { color: var(--mw-hero-title, #fff); font-size: clamp(2rem, 5vw, 4rem); margin: 0 0 .75rem; }
12
.mw-front-page__hero p { color: var(--mw-hero-body, #fff); font-size: clamp(1rem, 2vw, 1.25rem); margin: .35rem 0 0; max-width: 42rem; }
13
.mw-front-page__hero-eyebrow, .mw-front-page__eyebrow { color: var(--mw-hero-eyebrow, var(--mw-primary, #ff1e6e)); font-size: .8rem !important; font-weight: 700; letter-spacing: .08em; margin: 0 0 .75rem !important; text-transform: uppercase; }
14
.mw-front-page__hero-actions { align-items: center; display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
15
.mw-front-page__hero-button { border: 1px solid transparent; display: inline-flex; font-weight: 700; padding: .7rem 1rem; text-decoration: none; }
16
.mw-front-page__hero-button--primary { background: var(--mw-hero-button, var(--mw-primary, #ff1e6e)); border-color: var(--mw-hero-button, var(--mw-primary, #ff1e6e)); color: var(--mw-hero-button-text, #fff); }
17
.mw-front-page__hero-button--secondary { background: var(--mw-hero-secondary-button, var(--mw-secondary, #20242e)); border-color: var(--mw-hero-secondary-button, var(--mw-secondary, #20242e)); color: var(--mw-hero-secondary-button-text, #fff); }
18
.mw-front-page__hero-body { white-space: pre-line; }
19
.mw-front-page__eyebrow { font-size: .8rem !important; font-weight: 700; letter-spacing: .08em; margin: 0 0 .75rem !important; text-transform: uppercase; }
20
.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; white-space: nowrap; width: 1px; }
21
.mw-brand__logo { display: block; height: 2.25rem; object-fit: contain; width: auto; }
22
.mw-brand__wordmark { color: inherit; font-weight: 700; }
23
.mw-shell { border-bottom: 1px solid #d9e0e6; }
24
.mw-shell__inner { align-items: center; display: flex; gap: 1.5rem; justify-content: space-between; margin-inline: auto; max-width: 80rem; padding: .8rem 1rem; }
25
.mw-nav__toggle { background: transparent; border: 1px solid #b8c4cf; cursor: pointer; padding: .5rem .7rem; }
26
.mw-nav__list { display: flex; flex-wrap: wrap; gap: .8rem; list-style: none; margin: 0; padding: 0; }
27
.mw-nav__list a { color: inherit; text-decoration: none; }
28
@media (max-width: 700px) { .mw-nav { position: relative; } .mw-nav__list { background: #fff; border: 1px solid #d9e0e6; display: none; min-width: 12rem; padding: .75rem; position: absolute; right: 0; top: calc(100% + .5rem); z-index: 10; } .mw-nav__list:not([hidden]) { display: grid; } }
29
@media (min-width: 701px) { .mw-nav__toggle { display: none; } }
30
.mw-discovery { --mw-primary: #ff1e6e; --mw-secondary: #20242e; border: 1px solid #d9e0e6; padding: 1rem; }
31
.mw-discovery__toolbar { align-items: center; display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
32
.mw-discovery__address-control { display: grid; gap: .5rem; grid-template-columns: minmax(0, 1fr) auto; margin-bottom: 1rem; position: relative; }
33
.mw-discovery__address { min-height: 2.75rem; padding: .55rem .75rem; }
34
.mw-discovery__address-submit { background: #fff; border: 1px solid #b8c4cf; cursor: pointer; min-height: 2.75rem; padding: .55rem .85rem; }
35
.mw-discovery__address-results { background: #fff; border: 1px solid #b8c4cf; display: grid; gap: .25rem; grid-column: 1 / -1; padding: .35rem; }
36
.mw-discovery__address-results[hidden] { display: none; }
37
.mw-discovery__schema-filters { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
38
.mw-discovery__schema-filter { align-items: center; display: inline-flex; gap: .45rem; }
39
.mw-discovery__schema-filter > span { font-size: .85rem; font-weight: 600; }
40
.mw-discovery__schema-filter select, .mw-discovery__schema-filter input { min-height: 2.5rem; padding: .45rem .65rem; }
41
.mw-discovery__schema-filter--range { align-items: flex-start; flex-direction: column; gap: .25rem; }
42
.mw-discovery__schema-range { align-items: center; display: inline-flex; gap: .35rem; }
43
.mw-discovery__schema-range input { max-width: 8rem; min-width: 6rem; }
44
.mw-discovery__schema-filter[hidden] { display: none; }
45
.mw-discovery__native-select { block-size: 1px; clip: rect(0 0 0 0); clip-path: inset(50%); inline-size: 1px; margin: -1px; opacity: 0; overflow: hidden; pointer-events: none; position: absolute; white-space: nowrap; }
46
.mw-discovery__category-choices { display: flex; flex-wrap: wrap; gap: .45rem; margin: -.35rem 0 1rem; width: 100%; }
47
.mw-discovery__choice, .mw-discovery__segment { background: #fff; border: 1px solid var(--mw-secondary, #20242e); border-radius: 999px; color: var(--mw-secondary, #20242e); cursor: pointer; font: inherit; min-height: 2.5rem; padding: .5rem .85rem; }
48
.mw-discovery__choice:hover, .mw-discovery__choice:focus-visible, .mw-discovery__segment:hover, .mw-discovery__segment:focus-visible { outline: 2px solid var(--mw-primary, #ff1e6e); outline-offset: 2px; }
49
.mw-discovery__choice.is-active, .mw-discovery__segment.is-active { background: var(--mw-primary, #ff1e6e); border-color: var(--mw-primary, #ff1e6e); color: #fff; }
50
.mw-discovery__choice--all, .mw-discovery__segment:first-child { border-color: var(--mw-secondary, #20242e); }
51
.mw-discovery__schema-filter--segments { align-items: flex-start; flex-direction: column; gap: .45rem; width: 100%; }
52
.mw-discovery__segment-group { display: flex; flex-wrap: wrap; gap: .45rem; }
53
.mw-discovery__choice:disabled, .mw-discovery__segment:disabled { cursor: not-allowed; opacity: .5; }
54
.mw-address-result { background: #fff; border: 0; cursor: pointer; padding: .65rem .75rem; text-align: left; }
55
.mw-address-result:hover, .mw-address-result:focus { background: #eef3f6; outline: 2px solid var(--mw-secondary, #20242e); outline-offset: -2px; }
56
.mw-discovery__search { flex: 1 1 18rem; min-height: 2.75rem; padding: .55rem .75rem; }
57
.mw-discovery__radius-control { align-items: center; display: inline-flex; gap: .45rem; }
58
.mw-discovery__radius-control label { font-size: .85rem; font-weight: 600; }
59
.mw-discovery__radius { accent-color: var(--mw-secondary, #20242e); min-height: 2.75rem; padding: .55rem .65rem; width: 12rem; }
60
.mw-discovery__radius-control output { min-width: 4.5rem; font-variant-numeric: tabular-nums; }
61
.mw-discovery__submit, .mw-discovery__locate, .mw-discovery__mode, .mw-discovery__sort, .mw-discovery__filter { background: #fff; border: 1px solid #b8c4cf; cursor: pointer; min-height: 2.75rem; padding: .55rem .85rem; }
62
.mw-discovery__submit { background: var(--mw-primary); border-color: var(--mw-primary); color: #fff; }
63
.mw-discovery__locate[aria-pressed="true"] { background: #e8f6ef; border-color: #1a8a55; color: #176b45; }
64
.mw-discovery__mode.is-active { background: var(--mw-secondary); border-color: var(--mw-secondary); color: #fff; }
65
.mw-discovery__body { display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr); }
66
.mw-discovery__list { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); }
67
.mw-card { background: #fff; border: 1px solid #e0e6eb; overflow: hidden; }
68
.mw-card__image { aspect-ratio: 16 / 9; display: block; object-fit: cover; width: 100%; }
69
.mw-card__content { padding: 1rem; }
70
.mw-card__type { color: #607080; font-size: .75rem; letter-spacing: .04em; margin: 0 0 .35rem; text-transform: uppercase; }
71
.mw-card__title { font-size: 1.1rem; margin: 0 0 .5rem; }
72
.mw-card__title a { color: inherit; text-decoration: none; }
73
.mw-card__location, .mw-card__excerpt { margin: .35rem 0; }
74
.mw-card__listing-summary { color: var(--mw-secondary, #20242e); font-size: .95rem; font-weight: 700; margin: .5rem 0; }
75
.mw-card__details { display: inline-block; margin-top: .65rem; }
76
.mw-card:focus { outline: 3px solid var(--mw-secondary, #20242e); outline-offset: 2px; }
77
.mw-card__distance { color: var(--mw-secondary); display: block; font-weight: 600; margin-top: .75rem; }
78
.mw-discovery__map { background-color: #eef3f6; min-height: 22rem; overflow: hidden; padding: 1rem; position: relative; }
79
.mw-discovery__google-map { inset: 0; position: absolute; z-index: 1; }
80
.mw-discovery__map.has-google-maps .mw-discovery__markers, .mw-discovery__map.has-google-maps .mw-discovery__map-note { display: none; }
81
.mw-discovery__map-heading { font-weight: 700; position: relative; z-index: 2; }
82
.mw-discovery__markers { inset: 3.5rem 1rem 2.5rem; position: absolute; }
83
.mw-discovery__map-state { align-items: center; background: rgba(255, 255, 255, .88); border: 1px solid #d9e0e6; border-radius: .75rem; color: #394856; display: flex; justify-content: center; margin: 3.5rem auto 2.5rem; max-width: 34rem; min-height: 6rem; padding: 1rem 1.25rem; position: relative; text-align: center; z-index: 2; }
84
.mw-discovery__map .mw-discovery__empty { position: relative; z-index: 2; }
85
.mw-discovery__map-note { bottom: .65rem; left: 1rem; margin: 0; position: absolute; right: 1rem; z-index: 2; }
86
.mw-discovery__map-preview { bottom: 2.2rem; left: 1.5rem; max-width: 24rem; position: absolute; right: 1.5rem; z-index: 4; }
87
.mw-discovery__map-preview[hidden] { display: none; }
88
.mw-map-preview-card { background: #fff; border: 1px solid #d9e0e6; border-radius: .75rem; box-shadow: 0 5px 18px rgba(21, 38, 54, .2); padding: 1rem 2.75rem 1rem 1rem; position: relative; }
89
.mw-map-preview-card__close { background: transparent; border: 0; color: #607080; cursor: pointer; font-size: 1.25rem; line-height: 1; padding: .35rem; position: absolute; right: .45rem; top: .45rem; }
90
.mw-map-preview-card__title { font-size: 1.05rem; margin: 0 0 .35rem; }
91
.mw-map-preview-card__location, .mw-map-preview-card__excerpt { margin: .3rem 0; }
92
.mw-discovery__map-note, .mw-discovery__empty { color: #607080; }
93
@media (min-width: 900px) { .mw-discovery__body { grid-template-columns: minmax(0, 1fr) minmax(18rem, .8fr); } }
94
.mw-detail { margin-inline: auto; max-width: 72rem; padding: 2rem 1rem; }
95
.mw-detail__header { border-bottom: 1px solid #d9e0e6; margin-bottom: 1.5rem; padding-bottom: 1rem; }
96
.mw-detail__eyebrow { color: #607080; font-size: .8rem; letter-spacing: .06em; margin: 0 0 .35rem; text-transform: uppercase; }
97
.mw-detail__title { margin: 0 0 .5rem; }
98
.mw-detail__location { color: #607080; margin: 0; }
99
.mw-detail__actions { align-items: center; display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1rem; }
100
.mw-detail__favorite { background: var(--mw-primary, #ff1e6e); border: 1px solid var(--mw-primary, #ff1e6e); color: #fff; cursor: pointer; font: inherit; font-weight: 700; padding: .65rem .9rem; }
101
.mw-detail__favorite:disabled { cursor: wait; opacity: .65; }
102
.mw-detail__favorite-status { color: #607080; }
103
.mw-detail__navigate { background: var(--mw-primary, #ff1e6e); border: 1px solid var(--mw-primary, #ff1e6e); color: #fff; display: inline-block; font-weight: 700; padding: .55rem .8rem; text-decoration: none; }
104
.mw-detail__favorite-login { margin: 1rem 0 0; }
105
.mw-detail__layout { display: grid; gap: 2rem; grid-template-columns: minmax(0, 1fr); }
106
.mw-detail__image { display: block; height: auto; max-height: 34rem; object-fit: cover; width: 100%; }
107
.mw-detail__content { line-height: 1.7; margin-top: 1.5rem; }
108
.mw-detail__aside { align-content: start; display: grid; gap: 1rem; }
109
.mw-detail__section { border: 1px solid #e0e6eb; padding: 1rem; }
110
.mw-detail__section h2 { font-size: 1rem; margin: 0 0 .5rem; }
111
.mw-detail__section p { margin: .35rem 0; }
112
.mw-detail__map { background: #eef3f6; min-height: 10rem; }
113
.mw-detail__status { font-weight: 600; }
114
@media (min-width: 900px) { .mw-detail__layout { grid-template-columns: minmax(0, 1.4fr) minmax(16rem, .6fr); } }
115
.mw-detail__primary-media { margin: 0; }
116
.mw-image-suggestion { background: #f5f7f9; border: 1px dashed #b8c4cf; min-height: 18rem; padding: 1.5rem; }
117
.mw-image-suggestion input, .mw-image-suggestion textarea, .mw-image-suggestion button, .mw-image-suggestion a { box-sizing: border-box; max-width: 100%; }
118
.mw-image-suggestion__empty { align-items: center; display: flex; flex-direction: column; justify-content: center; min-height: 15rem; text-align: center; }
119
.mw-image-suggestion__icon { align-items: center; background: #e8edf2; border-radius: 50%; color: #607080; display: inline-flex; font-size: 2rem; height: 3rem; justify-content: center; margin-bottom: .75rem; width: 3rem; }
120
.mw-image-suggestion__empty h2 { margin: 0 0 .4rem; }
121
.mw-image-suggestion__empty p, .mw-image-suggestion__status { color: #607080; }
122
.mw-image-suggestion__toggle, .mw-image-suggestion__submit, .mw-image-suggestion__login { background: var(--mw-primary, #ff1e6e); border: 1px solid var(--mw-primary, #ff1e6e); color: #fff; cursor: pointer; display: inline-block; font-weight: 700; padding: .7rem 1rem; text-decoration: none; }
123
.mw-image-suggestion__panel { border-top: 1px solid #d9e0e6; margin-top: 1rem; padding-top: 1rem; }
124
.mw-image-suggestion__panel[hidden] { display: none; }
125
.mw-image-suggestion__file-label, .mw-image-suggestion__panel label { display: grid; gap: .35rem; margin: .75rem 0; }
126
.mw-image-suggestion__file-label input { border: 1px solid #b8c4cf; padding: .55rem; }
127
.mw-image-suggestion__target { color: #607080; }
128
.mw-image-suggestion__preview { margin: 1rem 0; max-width: 32rem; }
129
.mw-image-suggestion__preview img { display: block; max-height: 18rem; max-width: 100%; object-fit: contain; }
130
.mw-image-suggestion fieldset { border: 1px solid #d9e0e6; margin: 1rem 0; padding: .75rem 1rem; }
131
.mw-image-suggestion fieldset label { display: flex; gap: .5rem; grid-template-columns: auto 1fr; }
132
.mw-image-suggestion summary { cursor: pointer; font-weight: 700; }
133
.mw-image-suggestion input[type="text"], .mw-image-suggestion textarea { border: 1px solid #b8c4cf; font: inherit; padding: .55rem; width: 100%; }
134
.mw-image-suggestion__submit:disabled { cursor: wait; opacity: .6; }
135
.mw-image-suggestion__history { border-top: 1px solid #d9e0e6; margin-top: 1rem; padding-top: 1rem; }
136
.mw-image-suggestion__history[hidden] { display: none; }
137
.mw-image-suggestion__history h3 { font-size: 1rem; margin: 0 0 .5rem; }
138
.mw-image-suggestion__history p { margin: .35rem 0; }
139
.mw-image-suggestion__history > button { background: transparent; border: 1px solid #b8c4cf; color: #394856; cursor: pointer; font: inherit; font-weight: 700; padding: .55rem .8rem; }
140
.mw-image-suggestion__history-item { border-bottom: 1px solid #d9e0e6; padding: .35rem 0 .75rem; }
141
.mw-image-suggestion__response { background: #fff; border-left: 3px solid var(--mw-primary, #ff1e6e); margin: .75rem 0 0; padding: .75rem 1rem; }
142
.mw-image-suggestion__response-prompt { color: #394856; }
143
.mw-image-suggestion__response form { display: grid; gap: .45rem; margin-top: .75rem; }
144
.mw-image-suggestion__response textarea { border: 1px solid #b8c4cf; box-sizing: border-box; font: inherit; min-height: 6rem; padding: .55rem; resize: vertical; width: 100%; }
145
.mw-image-suggestion__response button { background: var(--mw-primary, #ff1e6e); border: 1px solid var(--mw-primary, #ff1e6e); color: #fff; cursor: pointer; font-weight: 700; justify-self: start; padding: .6rem .9rem; }
146
.mw-image-suggestion__response button:disabled { cursor: wait; opacity: .6; }
147
.mw-image-suggestion__response-status { color: #607080; }
148
.mw-account { --mw-primary: #ff1e6e; --mw-secondary: #20242e; background: #fff; border: 1px solid #d9e0e6; margin-inline: auto; max-width: 52rem; padding: clamp(1.25rem, 3vw, 2rem); }
149
.mw-account__gate, .mw-account__form { display: grid; gap: 1rem; }
150
.mw-account__eyebrow { color: #607080; font-size: .8rem; letter-spacing: .06em; margin: 0; text-transform: uppercase; }
151
.mw-account h2 { margin: 0; }
152
.mw-account__gate p { margin: 0; max-width: 42rem; }
153
.mw-account__primary, .mw-account__secondary { align-items: center; border: 1px solid var(--mw-primary); display: inline-flex; font-weight: 700; justify-content: center; padding: .7rem 1rem; text-decoration: none; width: fit-content; }
154
.mw-account__primary { background: var(--mw-primary); color: #fff; cursor: pointer; }
155
.mw-account__secondary { background: #fff; color: var(--mw-secondary); }
156
.mw-account__header { align-items: center; display: flex; gap: 1rem; margin-bottom: 1.25rem; }
157
.mw-account__avatar { border-radius: 50%; height: 4rem; object-fit: cover; width: 4rem; }
158
.mw-account__identity, .mw-account__status { color: #607080; margin: .25rem 0 0; }
159
.mw-account__grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
160
.mw-account__form label { display: grid; gap: .35rem; font-weight: 600; }
161
.mw-account__form input, .mw-account__form select, .mw-account__form textarea { border: 1px solid #b8c4cf; box-sizing: border-box; font: inherit; padding: .65rem .75rem; width: 100%; }
162
.mw-account__form button:disabled { cursor: wait; opacity: .6; }
163
.mw-account__section { border-top: 1px solid #d9e0e6; margin-top: 1.5rem; padding-top: 1.25rem; }
164
.mw-account__section h3 { margin: 0 0 .5rem; }
165
.mw-account__saved-list { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); }
166
.mw-account__saved-card { border: 1px solid #e0e6eb; display: grid; grid-template-columns: minmax(5rem, 7rem) minmax(0, 1fr); overflow: hidden; }
167
.mw-account__saved-image { height: 100%; min-height: 7rem; object-fit: cover; width: 100%; }
168
.mw-account__saved-content { padding: .85rem; }
169
.mw-account__saved-content h4 { margin: 0 0 .35rem; }
170
.mw-account__saved-content p { margin: .25rem 0; }
171
.mw-account__saved-type { color: #607080; font-size: .75rem; letter-spacing: .04em; text-transform: uppercase; }
172
.mw-account__footer { border-top: 1px solid #d9e0e6; margin: 1.5rem 0 0; padding-top: 1rem; }
173
@media (max-width: 700px) { .mw-account__grid { grid-template-columns: minmax(0, 1fr); } }
174