.lyric-museum {
    --lm-ink: #171411;
    --lm-black: #181513;
    --lm-panel: #211b17;
    --lm-paper: #fff0d8;
    --lm-body: #eadfce;
    --lm-muted: #d2bd9e;
    --lm-gold: #e4bb76;
    --lm-line: #967549;
    --lm-serif: "Baskerville", "Iowan Old Style", Georgia, serif;
    --lm-sans: "Trebuchet MS", "Segoe UI", sans-serif;
    color: var(--lm-body);
    background: var(--lm-black);
    font: 400 1rem/1.55 var(--lm-sans);
    overflow-wrap: break-word;
    isolation: isolate;
}

.lyric-museum *,
.lyric-museum *::before,
.lyric-museum *::after { box-sizing: border-box; }

.lyric-museum [hidden] { display: none !important; }

.lyric-museum .lm-visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

.lyric-museum h1,
.lyric-museum h2,
.lyric-museum h3,
.lyric-museum h4 {
    margin: 0;
    color: var(--lm-paper);
    font: 600 1em/1.02 var(--lm-serif);
    letter-spacing: -.028em;
    text-transform: none;
}

.lyric-museum p { margin: 0; }
.lyric-museum a { color: var(--lm-gold); }
.lyric-museum a:focus-visible,
.lyric-museum button:focus-visible,
.lyric-museum input:focus-visible,
.lyric-museum select:focus-visible {
    outline: 2px solid #ffe2a8;
    outline-offset: 4px;
}

.lyric-museum .lm-frame { width: min(100% - 4rem, 1340px); margin-inline: auto; }

.lyric-museum .lm-kicker {
    color: var(--lm-gold);
    font: 700 .74rem/1.4 var(--lm-sans);
    letter-spacing: .21em;
    text-transform: uppercase;
}

.lyric-museum .lm-button {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: .65rem;
    padding: .55rem 1.15rem;
    border: 1px solid var(--lm-gold);
    border-radius: 4px;
    background: #1e1712;
    color: #ffe4ac;
    font: 700 1.12rem/1.2 var(--lm-serif);
    text-align: center;
    text-decoration: none;
    text-transform: none;
    cursor: pointer;
    transition: color .2s, background .2s;
}

.lyric-museum .lm-button-gold { background: #614627; color: #fff2d9; }
.lyric-museum .lm-button:hover { background: #f0ca86; color: #211609; }

.lyric-museum .lm-directory {
    padding-block: 1.2rem 2.5rem;
    scroll-margin-top: 1rem;
}

.lyric-museum .lm-counties {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: .35rem;
    padding: 0 0 1.15rem;
    border-bottom: 1px solid #5d492f;
}

.lyric-museum .lm-counties a {
    display: flex;
    gap: .3em;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: .38rem .75rem;
    border: 1px solid #655034;
    border-radius: 3px;
    background: #201b16;
    color: var(--lm-body);
    font: 600 .84rem/1.2 var(--lm-sans);
    text-decoration: none;
}

.lyric-museum .lm-counties a:hover { border-color: var(--lm-gold); color: #ffe8bb; }
.lyric-museum .lm-counties a[aria-current="true"] { background: #d9af6a; border-color: #e8c587; color: #211709; }

.lyric-museum .lm-section-head { padding-block: 1.1rem 1.35rem; text-align: center; }
.lyric-museum .lm-section-head h2 { margin-block: .32rem .35rem; font-size: clamp(2rem, 4.2vw, 3.75rem); }
.lyric-museum .lm-section-description {
    max-width: 82ch;
    margin-inline: auto;
    color: var(--lm-body);
    font: italic 1.1rem/1.4 var(--lm-serif);
}
.lyric-museum .lm-ruled { display: flex; align-items: center; justify-content: center; gap: .55em; }
.lyric-museum .lm-ruled::before,
.lyric-museum .lm-ruled::after { content: ""; width: clamp(10px, 4vw, 65px); height: 1px; background: #a88a5b; margin-inline: .65em; }

.lyric-museum .lm-feature-row { display: grid; grid-template-columns: minmax(0, 2.05fr) minmax(0, 1fr); gap: 1rem; }
.lyric-museum .lm-features { min-width: 0; position: relative; display: grid; }
.lyric-museum .lm-feature,
.lyric-museum .lm-map-panel,
.lyric-museum .lm-card { border: 1px solid var(--lm-line); border-radius: 9px; overflow: hidden; }

.lyric-museum .lm-feature {
    min-height: clamp(21rem, 29vw, 29rem);
    position: relative;
    display: grid;
    align-content: end;
    isolation: isolate;
    background: #2a2118;
}

.lyric-museum .lm-feature-text { background: radial-gradient(ellipse at 85% 30%, #4b3824, #1d1713 68%); }
.lyric-museum .lm-feature-img {
    position: absolute;
    inset: 0;
    z-index: -2;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 46%;
    filter: sepia(.17) saturate(.83);
    transition: transform .45s ease;
}

.lyric-museum .lm-feature::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(90deg, #100c0aea, #150f0cbf 27%, #1c15116b 54%, transparent 83%),
        linear-gradient(0deg, #100d0be5, transparent 60%);
}

.lyric-museum .lm-feature-content { position: relative; padding: clamp(1.45rem, 3.3vw, 3rem); padding-top: 3.5rem; }
.lyric-museum .lm-feature h3 { max-width: 12ch; margin-block: .36rem .5rem; font-size: clamp(2.75rem, 5.4vw, 5.4rem); }
.lyric-museum .lm-county-index h3 { max-width: 16ch; }
.lyric-museum .lm-feature-summary { max-width: 38ch; color: var(--lm-paper); margin-bottom: 1rem; }
.lyric-museum .lm-feature-place { display: flex; align-items: center; gap: .4em; color: var(--lm-paper); margin-top: .7rem; font-size: .82rem; }
.lyric-museum .lm-feature-place svg { width: 1.1rem; height: 1.1rem; color: var(--lm-gold); }

.lyric-museum .lm-image-label {
    position: absolute;
    z-index: 1;
    inset: .65rem auto auto .65rem;
    padding: .3rem .53rem;
    border: 1px solid #c19c65;
    border-radius: 2px;
    background: #342518;
    color: #fff0d3;
    font: 700 .61rem/1.25 var(--lm-sans);
    letter-spacing: .12em;
    text-transform: uppercase;
}

.lyric-museum .lm-feature .lm-image-label { inset: 1rem auto auto clamp(1.45rem, 3.3vw, 3rem); }
.lyric-museum .lm-feature-credit {
    position: absolute;
    inset: auto .7rem .55rem auto;
    width: fit-content;
    max-width: 46%;
    padding: .15rem .35rem;
    background: #18130eee;
    color: #f1dfc2;
    font-size: .66rem;
    text-align: right;
}

.lyric-museum .lm-rotation {
    position: absolute;
    inset: .8rem .7rem auto auto;
    display: flex;
    align-items: center;
    gap: .35rem;
    padding: .2rem;
    border: 1px solid var(--lm-line);
    border-radius: 4px;
    background: #1d1712;
    color: #f4dba5;
    font-size: .76rem;
}
.lyric-museum .lm-rotation button {
    width: 44px;
    height: 44px;
    border: 0;
    background: transparent;
    color: inherit;
    font-size: 1rem;
    cursor: pointer;
}

.lyric-museum .lm-map-panel {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    padding: .9rem clamp(.72rem, 1.35vw, 1.25rem);
    background:
        radial-gradient(ellipse at 50% 42%, #f5dfb7 11%, #ddbe8d 61%, #b08b60 100%);
    color: #2c1b10;
}

.lyric-museum .lm-map-title { font: 700 clamp(1.25rem, 2vw, 1.65rem)/1.05 var(--lm-serif); letter-spacing: .11em; text-align: center; text-transform: uppercase; }
.lyric-museum .lm-map-subtitle { font: 700 .63rem/1.5 var(--lm-sans); letter-spacing: .26em; text-transform: uppercase; text-align: center; margin-top: .18rem; }
.lyric-museum .lm-map { min-width: 0; }
.lyric-museum .lm-map > svg { display: block; width: 100%; height: auto; max-height: 280px; overflow: visible; }
.lyric-museum .lm-map [data-museum-county] path {
    fill: #e9cda2;
    stroke: #684c2c;
    stroke-width: 1.25px;
    transition: fill .2s ease;
}
.lyric-museum .lm-map [data-museum-county] text {
    fill: #38210e;
    font: 500 13px/1 var(--lm-serif);
    pointer-events: none;
}
.lyric-museum .lm-map a:hover path,
.lyric-museum .lm-map a:focus-visible path { fill: #efd196; stroke: #40290c; stroke-width: 2px; }
.lyric-museum .lm-map a[aria-current="true"] path { fill: #c58636; stroke: #422708; stroke-width: 2.5px; }
.lyric-museum .lm-map a[aria-current="true"] text { font-weight: 700; }
.lyric-museum .lm-map a:focus-visible { outline-color: #352006; }
.lyric-museum .lm-map-note { color: #452a14; text-align: center; font-size: .77rem; margin-block: -.1rem .65rem; }

.lyric-museum .lm-tools { display: grid; gap: .55rem; }
.lyric-museum .lm-search { display: flex; position: relative; }
.lyric-museum .lm-search svg { position: absolute; inset: 13px auto auto 11px; width: 18px; height: 18px; color: #ffdfa0; pointer-events: none; }
.lyric-museum .lm-search input,
.lyric-museum .lm-filters select {
    min-height: 44px;
    width: 100%;
    padding: .35rem .55rem;
    border: 1px solid #876b47;
    border-radius: 4px;
    background: #2b231c;
    color: #fff1d8;
    font: 400 .85rem/1.35 var(--lm-sans);
    box-shadow: none;
}
.lyric-museum .lm-search input { padding-left: 2.15rem; }
.lyric-museum .lm-search input::placeholder { color: #e1ccb1; opacity: 1; }
.lyric-museum .lm-search input:focus-visible,
.lyric-museum .lm-filters select:focus-visible { outline-color: #3d230d; }
.lyric-museum .lm-filters { display: flex; gap: .55rem; align-items: end; }
.lyric-museum .lm-filters label { display: grid; flex: 1 1 0; min-width: 0; gap: .2rem; color: #321e0e; font-size: .72rem; font-weight: 700; }

.lyric-museum .lm-community-list { margin-top: 1rem; scroll-margin-top: 1rem; }
.lyric-museum .lm-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.lyric-museum .lm-card { display: flex; flex-direction: column; background: #231d18; }
.lyric-museum .lm-card:focus-within,
.lyric-museum .lm-card:hover { border-color: #f2c984; }

.lyric-museum .lm-card-media { position: relative; aspect-ratio: 2.15; overflow: hidden; border-bottom: 1px solid var(--lm-line); background: #35281e; }
.lyric-museum .lm-card-media img { display: block; width: 100%; height: 100%; object-fit: cover; filter: sepia(.17) saturate(.83); transition: transform .45s ease; }
.lyric-museum .lm-card-placeholder { display: grid; place-items: center; background: radial-gradient(ellipse at 47% 37%, #423226, #241c16); }
.lyric-museum .lm-card-placeholder > span { display: grid; place-items: center; gap: .4rem; color: var(--lm-muted); font: .7rem/1.2 var(--lm-sans); letter-spacing: .1em; text-transform: uppercase; }
.lyric-museum .lm-card-placeholder svg { width: 2.1rem; height: 2.1rem; color: var(--lm-gold); }
.lyric-museum .lm-card-body { display: flex; flex-direction: column; flex: 1; padding: .7rem .9rem .8rem; }
.lyric-museum .lm-card-title { display: flex; align-items: baseline; justify-content: space-between; gap: .45rem; flex-wrap: wrap; }
.lyric-museum .lm-card-title h4 { font-size: clamp(1.54rem, 2.45vw, 2.32rem); }
.lyric-museum .lm-card-category { display: inline-flex; align-items: center; gap: .32rem; color: var(--lm-gold); }
.lyric-museum .lm-card-category svg { width: 1.23rem; height: 1.23rem; }
.lyric-museum .lm-card-category span { border: 1px solid #a78353; border-radius: 3px; padding: .15rem .34rem; font: 700 .59rem/1.2 var(--lm-sans); text-transform: uppercase; letter-spacing: .065em; }
.lyric-museum .lm-card-summary { margin-top: .45rem; font-size: .89rem; line-height: 1.45; }
.lyric-museum .lm-card-credit { margin-top: .35rem; color: var(--lm-muted); font-size: .68rem; line-height: 1.35; }
.lyric-museum .lm-card-foot { display: flex; align-items: baseline; gap: .6rem; justify-content: space-between; margin-top: auto; padding-top: .34rem; }
.lyric-museum .lm-card-status { color: var(--lm-muted); font-size: .71rem; }
.lyric-museum .lm-card-foot a { display: inline-flex; align-items: center; gap: .3em; margin-inline-start: auto; min-height: 44px; white-space: nowrap; font: 700 1rem/1.25 var(--lm-serif); text-decoration: none; }
.lyric-museum .lm-card-foot a:hover { color: #ffe6ad; text-decoration: underline; }

.lyric-museum .lm-empty { padding: 1.2rem 0; text-align: center; }
.lyric-museum .lm-directory-foot { display: flex; align-items: center; justify-content: space-between; gap: .75rem 1.2rem; margin-top: 1.12rem; }
.lyric-museum .lm-directory-foot p { color: var(--lm-body); font: 1.15rem/1.3 var(--lm-serif); }
.lyric-museum .lm-directory-foot::after { content: ""; height: 1px; background: #80653d; flex: 1; order: 1; }
.lyric-museum .lm-directory-actions { display: flex; flex-wrap: wrap; gap: .55rem; order: 2; }

@media (hover: hover) {
    .lyric-museum .lm-feature:hover .lm-feature-img,
    .lyric-museum .lm-card:hover .lm-card-media img { transform: scale(1.025); }
}

@media (max-width: 1000px) {
    .lyric-museum .lm-feature-row { grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); }
    .lyric-museum .lm-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
    .lyric-museum .lm-frame { width: min(100% - 1.65rem, 1340px); }
    .lyric-museum .lm-feature-row { grid-template-columns: minmax(0, 1fr); }
    .lyric-museum .lm-counties { gap: .3rem; }
    .lyric-museum .lm-counties a { flex: 1 0 auto; padding-inline: .55rem; font-size: .8rem; }
    .lyric-museum .lm-county-word { display: none; }
    .lyric-museum .lm-feature { min-height: 22rem; }
    .lyric-museum .lm-feature-content { padding-bottom: 2.5rem; }
    .lyric-museum .lm-feature-credit { max-width: calc(100% - 1.4rem); }
    .lyric-museum .lm-section-head { padding-block: .9rem 1.1rem; }
}

@media (max-width: 520px) {
    .lyric-museum .lm-grid { grid-template-columns: minmax(0, 1fr); }
    .lyric-museum .lm-ruled::before,
    .lyric-museum .lm-ruled::after { margin-inline: 0; }
    .lyric-museum .lm-kicker { font-size: .65rem; letter-spacing: .16em; }
    .lyric-museum .lm-directory-foot { align-items: start; flex-direction: column; }
    .lyric-museum .lm-directory-foot::after { display: none; }
    .lyric-museum .lm-feature-img { object-position: 56% center; }
}

@media (prefers-reduced-motion: reduce) {
    .lyric-museum *,
    .lyric-museum *::before,
    .lyric-museum *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

.lyric-museum .lm-map-marker:hover circle:first-of-type,
.lyric-museum .lm-map-marker:focus-visible circle:first-of-type { fill: #2d1607; stroke-width: 3px; }
