[hidden]{display:none!important}.swm-rich>p+p{margin-top:1.25rem}.swm-bullet:before{content:'• ';}.swm-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-bottom:1px solid currentColor;font-family: iki-mono-variable, monospace;font-size:.75rem;text-transform:uppercase;padding:.5rem 0;min-height:2.5rem;transition:opacity .2s}.swm-button:hover{opacity:.6}.swm-menu,.swm-footer-menu{display:flex;gap:1.25rem;align-items:center;list-style:none}.swm-menu a:hover{opacity:.6}.swm-logo img{height:2rem;width:auto}.swm-logo{flex-shrink:0}.swm-header nav{gap:2rem;flex-wrap:wrap}.swm-menu .sub-menu{display:none;position:absolute;background:var(--ink);padding:1rem;z-index:40;min-width:12rem}.swm-menu li{position:relative}.swm-menu li:hover>.sub-menu,.swm-menu li:focus-within>.sub-menu{display:block}.swm-hero{padding-top:110px}.swm-header:has(+main>.swm-hero:first-child){position:absolute;top:0;left:0;right:0;z-index:30;background:transparent}.admin-bar .swm-header:has(+main>.swm-hero:first-child){top:32px}.swm-content p+p{margin-top:1.25rem}.swm-content h2{font-family:var(--font-display);font-size:2rem;margin:2rem 0 1rem}.swm-content ul{list-style:disc;padding-left:1.5rem}.swm-content a{text-decoration:underline}.swm-empty{padding:1rem;border:1px dashed #999;font-family:sans-serif}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.screen-reader-text:focus{position:fixed;top:0;left:0;width:auto;height:auto;clip:auto;z-index:9999;background:white;color:black;padding:1rem}.pagination{margin-top:3rem}.nav-links{display:flex;gap:1rem}a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:4px}.swm-menu-toggle{cursor:pointer}.swm-review+.swm-review{margin-top:2rem}
@media(min-width:1024px){.swm-menu-toggle{display:none}}@media(max-width:1023px){#swm-primary{width:100%}#swm-primary.swm-menu-ready{display:none}#swm-primary.is-open{display:block}.swm-menu{flex-direction:column;align-items:start;background:var(--ink);padding:1rem}.swm-menu .sub-menu{display:block;position:static;padding:.5rem 1rem}.swm-menu-toggle{margin-left:auto}.swm-hero{padding-top:100px}.admin-bar .swm-header:has(+main>.swm-hero:first-child){top:46px}}

/* Optional tour metadata: absent values produce no item or empty column. */
.swm-tour-categories{margin-top:1rem;font-size:.875rem}.swm-tour-categories a{text-decoration:underline;text-underline-offset:3px}
.swm-tour-details{display:flex;flex-wrap:wrap;gap:1.5rem 3rem;margin:2rem 0 0;padding:1.5rem 0;border-top:1px solid var(--green);border-bottom:1px solid var(--green)}
.swm-tour-details>div{flex:0 1 auto;max-width:100%;overflow-wrap:anywhere}.swm-tour-details dt{font-size:.75rem;text-transform:uppercase;color:var(--green)}.swm-tour-details dd{margin:.5rem 0 0;font-size:1rem}

/* Category archive, matching the Lovable two-column tour selector. */
.swm-tour-choice[aria-selected="true"]{color:var(--terracotta)}
.swm-tour-panel+.swm-tour-panel{margin-top:2rem}
.swm-tour-panel[hidden]+.swm-tour-panel{margin-top:0}
.swm-tour-panel .swm-tour-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:2.5rem;padding:0;border:0;background:color-mix(in oklab,var(--foreground) 20%,transparent)}
.swm-tour-panel .swm-tour-details>div{background:var(--sand);padding:1rem;max-width:none}
.swm-tour-panel .swm-tour-details>div:last-child:nth-child(odd){grid-column:1/-1}
.swm-tour-panel .swm-tour-details dt{font-size:10px;color:color-mix(in oklab,var(--ink) 60%,transparent)}
.swm-tour-panel .swm-tour-details dd{margin-top:.25rem;font-size:.875rem;color:var(--ink)}


.swm-category-gallery {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    max-width: 80rem;
    margin: 3rem auto 0;
    padding: 0 1.5rem;
}

.swm-category-gallery-image {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

@media (max-width: 767px) {
    .swm-category-gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .75rem;
        margin-top: 2rem;
    }
}