/*
Theme Name: The Sandwell Walker
Theme URI: https://thesandwellwalker.co.uk
Author: The Sandwell Walker
Description: The presentation layer for The Sandwell Walker Digital Heritage Platform. Install with The Sandwell Walker Core plugin.
Version: 4.4.7
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: the-sandwell-walker
License: GNU General Public License v2 or later
Tags: blog, custom-logo, custom-menu, featured-images, one-column, wide-blocks, translation-ready
*/
:root{--black:#11100e;--black2:#1b1916;--gold:#c89d3c;--gold-light:#e2c06e;--cream:#f7f1e7;--paper:#eee4d1;--white:#fffaf0;--ink:#28231d;--muted:#756958;--line:#cdbc98;--brick:#7c4536;--grey:#54504a;--max:1200px;--shadow:0 14px 36px rgba(33,25,16,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:17px/1.68 "Source Sans 3",Arial,sans-serif}img{max-width:100%;height:auto}a{color:#765316;text-underline-offset:3px}.container{width:min(calc(100% - 40px),var(--max));margin:auto}.narrow{max-width:820px}.screen-reader-text,.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:15px;top:15px;z-index:999;background:white;padding:10px}h1,h2,h3,h4,h5,h6{font-family:"Cormorant Garamond",Georgia,serif;line-height:1.08;margin:0 0 .55em;color:var(--ink)}h1{font-size:clamp(3rem,6vw,5.5rem)}h2{font-size:clamp(2.3rem,4vw,4rem)}h3{font-size:1.85rem}.eyebrow,.kicker,.post-meta{text-transform:uppercase;letter-spacing:.13em;font-size:.78rem;font-weight:700;color:var(--gold)}
.top-strip{background:var(--gold);color:var(--black);font-weight:700;text-align:center;padding:6px 15px}.site-header{position:sticky;top:0;z-index:100;background:rgba(17,16,14,.98);border-bottom:1px solid #5d4921;color:var(--white)}.admin-bar .site-header{top:32px}.header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:25px}.site-branding{display:flex;align-items:center;gap:14px}.custom-logo{max-height:62px;width:auto}.fallback-mark{width:54px;height:54px;border:1px solid var(--gold);display:grid;place-items:center;color:var(--gold);font:700 18px Georgia}.site-title{display:block;color:var(--gold-light);font:700 26px "Cormorant Garamond";text-decoration:none}.site-description{display:block;color:#d0c7b8;font-size:12px}.primary-menu{display:flex;gap:23px;align-items:center;list-style:none;margin:0;padding:0}.primary-menu a{color:var(--white);text-decoration:none;font-weight:700}.primary-menu a:hover,.current-menu-item>a{color:var(--gold-light)}.menu-toggle{display:none;background:transparent;border:1px solid var(--gold);color:white;padding:8px 12px}
.hero-banner{min-height:690px;display:grid;align-items:center;color:white;background-image:linear-gradient(90deg,rgba(17,16,14,.96),rgba(17,16,14,.68) 55%,rgba(17,16,14,.25)),var(--banner-image,linear-gradient(135deg,#3a3329,#11100e));background-size:cover;background-position:center}.hero-content{padding:100px 0}.hero-banner h1{color:var(--gold-light);max-width:940px}.hero-banner .intro{font-size:1.35rem;max-width:730px}.buttons{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.btn,.wp-block-button__link{display:inline-block;padding:12px 20px;text-decoration:none;font-weight:700;border-radius:0;border:1px solid transparent}.btn-gold{background:var(--gold);color:var(--black)}.btn-outline{border-color:var(--gold);color:white}.btn-dark{background:var(--black);color:white}.btn:hover{filter:brightness(1.08)}
.page-banner{position:relative;min-height:310px;display:grid;align-items:end;color:white;background-image:linear-gradient(90deg,rgba(17,16,14,.94),rgba(17,16,14,.58)),var(--banner-image,linear-gradient(135deg,#443b30,#171512));background-size:cover;background-position:center}.page-banner:after{content:"";position:absolute;inset:auto 0 0;height:6px;background:var(--gold)}.page-banner-content{position:relative;z-index:2;padding:70px 0 55px}.page-banner h1{color:var(--gold-light);font-size:clamp(3rem,5vw,4.8rem);margin-bottom:8px}.page-banner p{max-width:750px;font-size:1.15rem;margin:0}.banner-blog{background-position:center 45%}.banner-archive{background-position:center}.banner-town{background-position:center}
.stats{background:var(--paper);border-bottom:1px solid var(--line)}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);text-align:center}.stats-grid div{padding:23px;border-right:1px solid var(--line)}.stats-grid div:last-child{border-right:0}.stats strong{display:block;color:#6b501f;font:700 2.25rem "Cormorant Garamond"}.section{padding:88px 0}.section-dark{background:var(--black);color:white}.section-dark h2{color:var(--gold-light)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:34px}.section-head h2{margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{background:var(--white);box-shadow:var(--shadow);overflow:hidden}.card-thumb{display:block;height:230px;background:linear-gradient(145deg,#675844,#2a2824);position:relative}.card-thumb img{width:100%;height:100%;object-fit:cover}.card-thumb:after{content:"";position:absolute;inset:0;background:linear-gradient(145deg,transparent,rgba(200,157,60,.22))}.card-content{padding:25px}.card-content h3 a{color:var(--ink);text-decoration:none}.card-content .read-more{font-weight:700}.town-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#6d572a;border:1px solid #6d572a}.town-grid a{background:var(--black2);color:var(--gold-light);text-decoration:none;padding:31px;font:700 2rem "Cormorant Garamond"}.town-grid span{display:block;font:600 .8rem "Source Sans 3";color:#d2c8b8;margin-top:7px}.town-grid a:hover{background:#29251f}.feature-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:45px}.feature-box{background:var(--paper);padding:40px;border-left:5px solid var(--gold)}.feature-list article{display:flex;gap:18px;padding:20px 0;border-bottom:1px solid var(--line)}.feature-list b{font:700 2rem "Cormorant Garamond";color:var(--gold)}.confidence{display:inline-block;background:#ded1b6;padding:7px 11px;font-weight:700;margin:12px 0 22px}.map-section{background:#29251f;color:white}.map-section h2{color:var(--gold-light)}.map-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:55px;align-items:center}.map-placeholder{min-height:420px;border:1px solid #9d7c32;display:grid;place-items:center;background:repeating-linear-gradient(25deg,transparent 0 42px,rgba(200,157,60,.13) 43px 44px),repeating-linear-gradient(110deg,transparent 0 60px,rgba(200,157,60,.12) 61px 62px),#191714;color:#cdbd9f}.community-banner,.youtube-banner{padding:58px 0}.community-banner{background:var(--gold)}.youtube-banner{background:linear-gradient(110deg,#11100e,#2a241b);color:white;border-top:1px solid #5d4921}.youtube-banner h2{color:var(--gold-light)}.banner-inner{display:flex;justify-content:space-between;align-items:center;gap:35px}
.content-wrap{padding:65px 0}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:48px}.main-content{min-width:0}.post-card{background:var(--white);box-shadow:var(--shadow);margin-bottom:30px;overflow:hidden}.post-card-inner{padding:28px}.post-card h2 a{color:var(--ink);text-decoration:none}.post-card .featured-image{display:block;max-height:420px;overflow:hidden}.post-card .featured-image img{width:100%;height:100%;object-fit:cover}.post-meta{margin-bottom:11px}.post-taxonomy{border-top:1px solid var(--line);padding-top:18px;margin-top:25px}.pagination .nav-links{display:flex;gap:8px;flex-wrap:wrap}.page-numbers{padding:8px 12px;background:var(--paper);text-decoration:none}.page-numbers.current{background:var(--gold);color:var(--black)}
.sidebar .widget{background:var(--paper);padding:24px;margin-bottom:24px;border-top:4px solid var(--gold)}.sidebar .widget-title{font-size:1.65rem;color:#684d1d}.sidebar ul{margin:0;padding-left:20px}.sidebar li{margin:6px 0}.sidebar-search input{margin-bottom:8px}.sidebar-about{text-align:center}.sidebar-about .mini-mark{width:74px;height:74px;margin:0 auto 15px;border:1px solid var(--gold);display:grid;place-items:center;color:#73551e;font:700 22px Georgia}.sidebar-cta{background:var(--black)!important;color:white}.sidebar-cta .widget-title{color:var(--gold-light)}
.single-article{background:var(--white);box-shadow:var(--shadow);padding:38px}.single-article .entry-content>*:first-child{margin-top:0}.single-article blockquote{border-left:5px solid var(--gold);background:var(--paper);padding:15px 22px;margin:28px 0}.single-article table{width:100%;border-collapse:collapse}.single-article th,.single-article td{border:1px solid var(--line);padding:10px;text-align:left}.single-featured{margin:-38px -38px 32px}.single-featured img{width:100%;display:block}.author-box{display:flex;gap:20px;background:var(--paper);padding:25px;margin-top:35px}.related-posts{margin-top:50px}.post-navigation{margin:35px 0}.nav-links{display:flex;justify-content:space-between;gap:20px}.comments-area{background:var(--white);padding:30px;margin:35px 0}.comment-list{list-style:none;padding:0}.comment-body{padding:20px 0;border-bottom:1px solid var(--line)}
input[type=text],input[type=email],input[type=url],input[type=search],textarea,select{width:100%;padding:12px;border:1px solid #bcae91;background:#fffdf7;font:inherit}input[type=submit],button[type=submit]{background:var(--gold);border:0;padding:12px 18px;font-weight:700}.archive-description{max-width:750px}.no-results{background:var(--white);padding:30px}.error-page{text-align:center;padding:100px 0}.error-code{font:700 9rem "Cormorant Garamond";color:var(--gold)}
.site-footer{background:var(--black);color:#d6ccbd;padding:62px 0 20px}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:35px}.site-footer h2,.site-footer h3{color:var(--gold-light)}.site-footer a{color:#eee5d7;text-decoration:none;display:block;margin:6px 0}.footer-bottom{border-top:1px solid #4f422c;margin-top:40px;padding-top:18px;display:flex;justify-content:space-between;gap:20px}.footer-motto{color:var(--gold-light);font-weight:700}.alignwide{max-width:1100px;margin-left:auto;margin-right:auto}.alignfull{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw)}
@media(max-width:950px){.menu-toggle{display:block}.main-navigation{display:none;position:absolute;left:0;right:0;top:119px;background:var(--black);padding:22px}.main-navigation.open{display:block}.primary-menu{flex-direction:column;align-items:flex-start}.cards,.town-grid,.feature-grid,.map-grid,.content-grid,.footer-grid{grid-template-columns:1fr}.banner-inner{align-items:flex-start;flex-direction:column}.hero-banner{min-height:590px}.admin-bar .site-header{top:46px}.stats-grid{grid-template-columns:1fr}.stats-grid div{border-right:0;border-bottom:1px solid var(--line)}}
@media(max-width:600px){.container{width:min(calc(100% - 28px),var(--max))}.site-description{display:none}.site-title{font-size:21px}.section{padding:62px 0}.single-article{padding:23px}.single-featured{margin:-23px -23px 25px}.section-head{align-items:flex-start;flex-direction:column}.footer-bottom{flex-direction:column}}

.page-banner{min-height:430px;display:flex;align-items:end;color:var(--white);background-image:linear-gradient(90deg,rgba(17,16,14,.96),rgba(17,16,14,.56)),var(--banner-image,linear-gradient(135deg,#443b30,#171512));background-size:cover;background-position:center}
.banner-inner{padding:90px 0 65px}.page-banner h1{color:var(--gold2);font-size:clamp(3rem,6vw,5.7rem);margin-bottom:12px}.page-banner p:last-child{font-size:1.25rem;max-width:720px}
.hub-content h2{border-bottom:1px solid var(--border);padding-bottom:12px;margin-top:48px}.hub-content h2:first-child{margin-top:0}
.tsw-intro{font-size:1.2rem;border-left:5px solid var(--gold);background:var(--paper);padding:25px 30px}
.tsw-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin:25px 0}.tsw-grid.three-col{grid-template-columns:repeat(3,1fr)}
.tsw-panel{background:var(--paper);padding:25px;border-top:4px solid var(--gold)}.tsw-panel h3{margin-bottom:10px}.tsw-panel a{font-weight:700;color:#755416}
.tsw-status{display:inline-block;background:var(--gold);color:var(--black);font-weight:700;padding:5px 10px;margin-bottom:12px}
.tsw-rating{display:grid;grid-template-columns:170px 1fr;border-bottom:1px solid var(--border);padding:12px 0}.tsw-rating strong{color:#6b4e17}
.tsw-callout{background:var(--black);color:var(--white);padding:35px;margin:35px 0}.tsw-callout h2,.tsw-callout h3{color:var(--gold2);border:0;margin-top:0}.tsw-callout .button{margin-top:10px}
.tsw-image{margin:30px 0}.tsw-image img{width:100%;display:block}.tsw-caption{background:#ded2b9;padding:8px 12px;font-size:.9rem}
@media(max-width:900px){.tsw-grid,.tsw-grid.three-col{grid-template-columns:1fr}.tsw-rating{grid-template-columns:1fr}}

.tsw-notice{background:#fff3cd;border:1px solid #d6b95a;padding:14px 18px;margin:20px 0}.town-hero-card{min-height:240px;background-size:cover;background-position:center;display:flex;align-items:end;padding:25px;color:#fff;position:relative}.town-hero-card:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(17,16,14,.95),rgba(17,16,14,.1))}.town-hero-card>*{position:relative}.town-hero-card h3{color:var(--gold-light);margin:0}.card-thumb.placeholder{background-image:linear-gradient(145deg,#77664e,#24211d)}


/* Version 1.0 additions */
.tsw-dashboard{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#8d7137;border:1px solid #8d7137;margin:28px 0}
.tsw-dashboard div{background:var(--black);color:var(--white);padding:24px;text-align:center}
.tsw-dashboard strong{display:block;color:var(--gold2);font:700 2.3rem "Cormorant Garamond",serif}
.tsw-dashboard span{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}
.tsw-notice{background:#f3e4bd;border-left:5px solid var(--gold);padding:18px 22px;margin:24px 0}
.tsw-source-list{margin:24px 0;padding:0;list-style:none}
.tsw-source-list li{padding:12px 0;border-bottom:1px solid var(--border)}
.tsw-source-list strong{display:block;color:#6b4e17}
.tsw-route{counter-reset:route;list-style:none;padding:0}
.tsw-route li{counter-increment:route;position:relative;padding:0 0 25px 52px}
.tsw-route li:before{content:counter(route);position:absolute;left:0;top:0;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--gold);font-weight:700}
.tsw-timeline{border-left:3px solid var(--gold);margin-left:12px;padding-left:28px}
.tsw-timeline article{position:relative;margin-bottom:26px}
.tsw-timeline article:before{content:"";position:absolute;left:-38px;top:6px;width:16px;height:16px;border-radius:50%;background:var(--gold)}
.tsw-timeline time{font-weight:700;color:#775316}
.tsw-credit{font-size:.88rem;color:var(--muted)}
@media(max-width:900px){.tsw-dashboard{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.tsw-dashboard{grid-template-columns:1fr}}


/* Version 1.0.2 — site-wide sidebar removal */
.content-grid,
.content-layout {
    display: block;
}

.main-content,
.site-main,
.entry-card,
.hub-content {
    width: 100%;
    max-width: none;
}

.content-area {
    padding: 65px 0;
}

.content-wrap .main-content,
.content-area .site-main {
    margin-left: auto;
    margin-right: auto;
}

.sidebar {
    display: none !important;
}

/* Keep long reading pages comfortable while using the available width. */
.single-article,
.hub-content {
    width: 100%;
}

.single-article .entry-content,
.hub-content .entry-content {
    max-width: 100%;
}

/* Wider article cards and archive results now that the sidebar is gone. */
.post-card .featured-image {
    max-height: 560px;
}


/* Version 1.0.3 — dynamic Episodes archive */
.episodes-live-page {
    padding-top: 58px;
    padding-bottom: 76px;
}

.episodes-introduction {
    margin-bottom: 42px;
}

.episodes-heading {
    margin-bottom: 26px;
}

.episodes-post-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.episodes-post-grid .card {
    height: 100%;
}

.episodes-post-grid .card-content {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.episodes-post-grid .read-more {
    margin-top: auto;
}

.episodes-pagination {
    margin-top: 44px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
}

.episodes-pagination .page-numbers {
    display: inline-flex;
    min-width: 42px;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: 8px 13px;
    border: 1px solid var(--border);
    background: var(--white);
    color: var(--ink);
    text-decoration: none;
    font-weight: 700;
}

.episodes-pagination .page-numbers.current,
.episodes-pagination a.page-numbers:hover {
    background: var(--gold);
    border-color: var(--gold);
    color: var(--black);
}

@media (max-width: 900px) {
    .episodes-post-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .episodes-post-grid {
        grid-template-columns: 1fr;
    }
}


/* Version 1.0.4 — YouTube episode integration */
.card-thumb {
    position: relative;
    overflow: hidden;
}

.card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.card-thumb.has-video::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,.28), rgba(0,0,0,.03));
    pointer-events: none;
}

.tsw-play-button {
    position: absolute;
    z-index: 2;
    left: 50%;
    top: 50%;
    width: 66px;
    height: 46px;
    transform: translate(-50%,-50%);
    border-radius: 12px;
    background: rgba(17,16,14,.9);
    box-shadow: 0 5px 20px rgba(0,0,0,.35);
}

.tsw-play-button::after {
    content: "";
    position: absolute;
    left: 27px;
    top: 13px;
    border-left: 18px solid #fff;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
}

.card-thumb:hover .tsw-play-button {
    background: var(--gold);
}

.card-thumb:hover .tsw-play-button::after {
    border-left-color: var(--black);
}

.tsw-video-embed {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    margin: 0 0 28px;
    overflow: hidden;
    background: #000;
}

.tsw-video-embed iframe,
.tsw-video-embed object,
.tsw-video-embed embed {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    border: 0;
}

.screen-reader-text {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
}


/* Version 1.0.6 — Featured Image everywhere except the single post video area */
.card-thumb.has-video::after,
.card-thumb .tsw-play-button {
    display: none !important;
}

.card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* The embedded YouTube player remains exclusive to single post pages. */
.single-post .tsw-video-embed {
    display: block;
}


/* Version 1.0.9 — Dedicated Projects */
.projects-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px;
    margin: 28px 0 40px;
}

.project-card {
    display: grid;
    grid-template-columns: minmax(190px, 38%) 1fr;
    background: var(--cream);
    border: 1px solid rgba(42,37,31,.15);
    box-shadow: 0 10px 30px rgba(28,24,20,.08);
    overflow: hidden;
}

.project-card-image {
    min-height: 280px;
    background: #27231f;
}

.project-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.project-card-content {
    padding: 26px;
}

.project-card-content h2 {
    margin: 13px 0 12px;
    font-size: clamp(1.55rem,2vw,2rem);
}

.project-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    align-items: center;
}

.project-status {
    display: inline-block;
    padding: 5px 10px;
    border: 1px solid currentColor;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.status-active,
.status-filming,
.status-editing {
    color: #75560f;
    background: #f6e8b8;
}

.status-planning,
.status-paused {
    color: #5e5548;
    background: #ede7dd;
}

.status-published,
.status-completed {
    color: #315a3c;
    background: #dfeee2;
}

.status-archived {
    color: #686868;
    background: #ececec;
}

.project-location {
    color: #6d6357;
    font-size: .9rem;
}

.project-confidence {
    margin: 18px 0;
    padding-top: 14px;
    border-top: 1px solid rgba(42,37,31,.12);
    font-size: .92rem;
}

.project-detail-strip {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 18px;
    margin: 0 0 26px;
    padding: 20px;
    background: var(--parchment);
    border-left: 4px solid var(--gold);
}

.project-detail-strip > div {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.project-detail-label {
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: #6c6255;
}

.project-summary {
    margin-bottom: 28px;
}

@media (max-width: 980px) {
    .projects-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 650px) {
    .project-card {
        grid-template-columns: 1fr;
    }

    .project-card-image {
        min-height: 220px;
        aspect-ratio: 16/9;
    }

    .project-detail-strip {
        grid-template-columns: 1fr;
    }
}


/* Version 1.0.12 — Projects styled like Latest Episodes */
.projects-post-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin: 28px 0 40px;
}

.projects-post-grid .project-episode-style-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.projects-post-grid .card-thumb {
    display: block;
    aspect-ratio: 16 / 9;
    min-height: 0;
    overflow: hidden;
    background: #27231f;
}

.projects-post-grid .card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.projects-post-grid .card-content {
    display: flex;
    flex: 1;
    flex-direction: column;
}

.projects-post-grid .card-content > p {
    flex: 1;
}

.project-card-topline {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 10px;
    margin-bottom: 14px;
}

.project-card-topline .project-status {
    padding: 4px 8px;
    font-size: .7rem;
}

.project-card-topline .project-location {
    font-size: .78rem;
}

.projects-post-grid .project-confidence {
    margin-top: 18px;
    margin-bottom: 17px;
}

@media (max-width: 980px) {
    .projects-post-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 650px) {
    .projects-post-grid {
        grid-template-columns: 1fr;
    }
}




/* Version 1.0.15 — clean homepage and consistent compact section banners */
.stats-grid {
    grid-template-columns: repeat(3, 1fr);
}

.page-banner {
    min-height: 310px;
}

.banner-episodes,
.banner-projects,
.banner-blog,
.banner-archive {
    background-position: center;
}

@media (max-width: 700px) {
    .stats-grid {
        grid-template-columns: 1fr;
    }

    .stats-grid > div {
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }

    .stats-grid > div:last-child {
        border-bottom: 0;
    }
}


/* Version 1.0.16 — fixed internal banner images and colour scheme */
.page-banner h1,
.page-banner .archive-title {
    color: #ffffff;
}

.page-banner .eyebrow {
    color: var(--gold);
}

.page-banner p,
.page-banner .archive-description,
.page-banner .archive-description p {
    color: #ffffff;
}

.hero-banner h1 {
    color: var(--gold-light);
}

/* Ensure internal banners never inherit homepage hero dimensions. */
.page-banner,
.banner-episodes,
.banner-projects,
.banner-blog,
.banner-archive {
    min-height: 310px;
}


/* ================================================================
   THE SANDWELL WALKER v2.0 FOUNDATION
   ================================================================ */

:root{
  --v2-charcoal:#171512;
  --v2-charcoal-soft:#24211c;
  --v2-gold:#c89d3c;
  --v2-gold-pale:#e6c778;
  --v2-paper:#f2ecdf;
  --v2-ink:#28231c;
  --v2-muted:#756b5b;
  --v2-line:rgba(200,157,60,.32);
  --v2-max:1240px;
}

body{background:var(--v2-paper);color:var(--v2-ink)}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);height:1px;width:1px;overflow:hidden}
.screen-reader-text:focus{clip:auto!important;height:auto;width:auto;top:8px;left:8px;padding:12px;background:#fff;z-index:10000}

.v2-site-header{
  position:sticky;top:0;z-index:999;
  background:rgba(23,21,18,.97);
  border-bottom:1px solid var(--v2-line);
  backdrop-filter:blur(12px);
}
.site-header__inner{
  max-width:var(--v2-max);margin:auto;min-height:82px;padding:0 24px;
  display:flex;align-items:center;justify-content:space-between;gap:28px;
}
.site-branding{display:flex;align-items:center;gap:13px;color:#fff;text-decoration:none}
.site-branding__mark{
  width:48px;height:48px;border:1px solid var(--v2-gold);border-radius:50%;
  display:grid;place-items:center;color:var(--v2-gold-pale);
  font-family:"Cormorant Garamond",serif;font-weight:700;font-size:16px;letter-spacing:.06em
}
.site-branding__text{display:flex;flex-direction:column}
.site-branding__title{font-family:"Cormorant Garamond",serif;font-size:25px;line-height:1;color:#fff}
.site-branding__tagline{color:#c9c1b3;font-size:12px;letter-spacing:.05em;margin-top:4px}
.primary-menu{display:flex;align-items:center;gap:5px;margin:0;padding:0;list-style:none}
.primary-menu a{
  display:block;padding:12px 10px;color:#eee7da;text-decoration:none;
  font-size:14px;font-weight:600;white-space:nowrap;border-bottom:2px solid transparent
}
.primary-menu a:hover,.primary-menu .current-menu-item>a,.primary-menu .current_page_item>a{
  color:var(--v2-gold-pale);border-color:var(--v2-gold)
}
.menu-toggle{display:none;background:none;border:0;color:#fff;align-items:center;gap:10px}
.menu-toggle__icon{display:flex;flex-direction:column;gap:4px}
.menu-toggle__icon span{display:block;width:24px;height:2px;background:var(--v2-gold)}

.v2-home{overflow:hidden}
.v2-hero{
  min-height:620px;background-size:cover;background-position:center;
  display:flex;align-items:center;padding:90px 24px
}
.v2-hero__content{width:min(760px,100%);margin-left:max(0px,calc((100vw - var(--v2-max))/2))}
.v2-hero .eyebrow,.v2-section .eyebrow,.footer-intro .eyebrow{
  color:var(--v2-gold);font-size:12px;font-weight:800;text-transform:uppercase;
  letter-spacing:.17em;margin:0 0 14px
}
.v2-hero h1{
  margin:0;color:#fff;font-family:"Cormorant Garamond",serif;
  font-size:clamp(48px,6vw,82px);line-height:.98;max-width:900px
}
.v2-hero__lead{max-width:660px;color:#e7dfd1;font-size:20px;line-height:1.65;margin:28px 0 0}
.v2-stat-strip{
  max-width:var(--v2-max);margin:-52px auto 0;position:relative;z-index:2;
  display:grid;grid-template-columns:repeat(3,1fr);background:var(--v2-charcoal);
  box-shadow:0 20px 50px rgba(0,0,0,.2)
}
.v2-stat-strip div{padding:28px;text-align:center;border-right:1px solid var(--v2-line)}
.v2-stat-strip div:last-child{border:0}
.v2-stat-strip strong{display:block;color:var(--v2-gold-pale);font:700 34px "Cormorant Garamond",serif}
.v2-stat-strip span{display:block;color:#d9d0c1;font-size:13px;text-transform:uppercase;letter-spacing:.12em}

.v2-section{max-width:var(--v2-max);margin:0 auto;padding:92px 24px}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:34px}
.section-heading h2,.v2-path-card h2{
  margin:0;font:700 clamp(36px,4vw,52px)/1.08 "Cormorant Garamond",serif;color:var(--v2-ink)
}
.text-link{color:var(--v2-ink);font-weight:700;text-decoration:none;border-bottom:1px solid var(--v2-gold)}
.text-link:hover{color:#7c5d19}

.v2-feature-card{
  display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);
  background:#fff;box-shadow:0 16px 45px rgba(42,32,20,.12)
}
.v2-feature-card__image{min-height:430px;background:var(--v2-charcoal-soft)}
.v2-feature-card__image img{width:100%;height:100%;object-fit:cover;display:block}
.v2-feature-card__content{padding:52px;display:flex;flex-direction:column;justify-content:center}
.v2-feature-card h3{font:700 40px/1.08 "Cormorant Garamond",serif;margin:0 0 20px}
.v2-feature-card h3 a{color:var(--v2-ink);text-decoration:none}
.v2-feature-card p{font-size:17px;line-height:1.7;color:var(--v2-muted)}

.heritage-button{
  display:inline-flex;align-self:flex-start;margin-top:12px;padding:13px 20px;
  background:var(--v2-gold);color:#171512;text-decoration:none;font-weight:800;
  text-transform:uppercase;letter-spacing:.08em;font-size:12px
}
.heritage-button:hover{background:var(--v2-charcoal);color:#fff}

.v2-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.v2-card-grid .project-card,.v2-info-card{
  background:#fff;border-top:4px solid var(--v2-gold);box-shadow:0 10px 30px rgba(42,32,20,.09)
}
.v2-info-card{padding:34px}
.v2-info-card h3{font:700 30px "Cormorant Garamond",serif;margin:0 0 12px}
.v2-info-card p{line-height:1.65;color:var(--v2-muted)}

.v2-town-section{max-width:none;background:var(--v2-charcoal);padding-left:max(24px,calc((100vw - var(--v2-max))/2));padding-right:max(24px,calc((100vw - var(--v2-max))/2))}
.v2-town-section .section-heading h2{color:#fff}
.town-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--v2-line)}
.town-card{
  min-height:160px;padding:30px;background:var(--v2-charcoal-soft);color:#fff;
  text-decoration:none;display:flex;flex-direction:column;justify-content:end;
  transition:transform .2s ease,background .2s ease
}
.town-card span{font:700 31px "Cormorant Garamond",serif}
.town-card small{color:#c9c0b1;margin-top:5px;text-transform:uppercase;letter-spacing:.1em}
.town-card:hover{background:#302a21;transform:translateY(-3px)}

.v2-discovery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.v2-path-card{padding:46px;background:#fff;border:1px solid #d9cfbd;min-height:390px;display:flex;flex-direction:column}
.v2-path-card h2{font-size:38px}
.v2-path-card>p:not(.eyebrow){color:var(--v2-muted);line-height:1.7}
.v2-path-card .heritage-button{margin-top:auto}
.v2-path-card--atlas{background:linear-gradient(rgba(255,255,255,.9),rgba(255,255,255,.9)),url("assets/images/banner-maps-unique.jpg") center/cover}
.v2-path-card--archive{background:linear-gradient(rgba(255,255,255,.92),rgba(255,255,255,.92)),url("assets/images/banner-research-unique.jpg") center/cover}
.v2-path-card--memory{background:linear-gradient(rgba(255,255,255,.92),rgba(255,255,255,.92)),url("assets/images/banner-contact-unique.jpg") center/cover}

.v2-site-footer{background:var(--v2-charcoal);color:#d8d0c3;border-top:5px solid var(--v2-gold)}
.footer-top{
  max-width:var(--v2-max);margin:auto;padding:72px 24px 58px;
  display:grid;grid-template-columns:1.45fr repeat(3,1fr);gap:55px
}
.footer-intro h2{color:#fff;font:700 35px/1.13 "Cormorant Garamond",serif;margin:0 0 20px}
.footer-intro p:last-child{line-height:1.7;color:#bcb3a5}
.footer-column h3{color:var(--v2-gold-pale);font:700 22px "Cormorant Garamond",serif;margin:0 0 18px}
.footer-menu{list-style:none;margin:0;padding:0}
.footer-menu li{margin:0 0 9px}
.footer-menu a{color:#d8d0c3;text-decoration:none}
.footer-menu a:hover{color:var(--v2-gold-pale)}
.footer-bottom{
  max-width:var(--v2-max);margin:auto;border-top:1px solid var(--v2-line);
  padding:22px 24px;display:flex;justify-content:space-between;color:#9e9588;font-size:13px
}

@media(max-width:1100px){
  .site-branding__tagline{display:none}
  .primary-menu a{padding-left:7px;padding-right:7px;font-size:13px}
  .footer-top{grid-template-columns:1.4fr repeat(2,1fr)}
}
@media(max-width:980px){
  .menu-toggle{display:flex}
  .main-navigation{
    display:none;position:absolute;left:0;right:0;top:82px;background:var(--v2-charcoal);
    padding:18px 24px 28px;border-bottom:1px solid var(--v2-line);max-height:calc(100vh - 82px);overflow:auto
  }
  .main-navigation.is-open{display:block}
  .primary-menu{display:block}
  .primary-menu a{padding:14px 5px;border-bottom:1px solid rgba(255,255,255,.08)}
  .v2-feature-card{grid-template-columns:1fr}
  .v2-feature-card__image{min-height:330px}
  .v2-card-grid,.v2-discovery-grid{grid-template-columns:1fr 1fr}
  .footer-top{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .site-header__inner{min-height:72px;padding:0 16px}
  .site-branding__mark{width:42px;height:42px}
  .site-branding__title{font-size:20px}
  .main-navigation{top:72px;max-height:calc(100vh - 72px)}
  .v2-hero{min-height:540px;padding:70px 20px}
  .v2-hero h1{font-size:48px}
  .v2-hero__lead{font-size:17px}
  .v2-stat-strip{margin:0;grid-template-columns:1fr}
  .v2-stat-strip div{border-right:0;border-bottom:1px solid var(--v2-line)}
  .v2-section{padding:66px 20px}
  .section-heading{align-items:flex-start;flex-direction:column}
  .v2-feature-card__content{padding:32px 25px}
  .v2-feature-card h3{font-size:34px}
  .v2-card-grid,.v2-discovery-grid,.town-grid{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr;padding:55px 20px 40px}
  .footer-bottom{display:block;padding:20px}
}

/* v2.2 knowledge links */
.tsw-taxonomy-links{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0}.tsw-taxonomy-links a{padding:7px 11px;border:1px solid rgba(200,157,60,.45);background:#f5efe3;color:#5d4717;text-decoration:none;font-size:13px;font-weight:700}.comment-respond,.comments-area,#comments{display:none!important}


/* v2.2.1 — reliable custom logo display */
.site-branding__logo{
  display:block;
  width:62px;
  height:62px;
  max-width:62px;
  max-height:62px;
  object-fit:contain;
  flex:0 0 62px;
}
.site-branding:has(.site-branding__logo) .site-branding__mark{display:none}
@media(max-width:680px){
  .site-branding__logo{
    width:48px;
    height:48px;
    max-width:48px;
    max-height:48px;
    flex-basis:48px;
  }
}


/* v2.2.2 — horizontal Episodes archive cards */
.episodes-post-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:32px;
}

.episodes-post-grid .card{
    display:grid;
    grid-template-columns:minmax(320px, 42%) minmax(0, 58%);
    min-height:340px;
    height:auto;
    overflow:hidden;
    background:var(--white);
    box-shadow:0 14px 34px rgba(42,32,20,.10);
}

.episodes-post-grid .card-thumb{
    display:block;
    min-height:340px;
    height:100%;
}

.episodes-post-grid .card-thumb img{
    width:100%;
    height:100%;
    min-height:340px;
    object-fit:cover;
    display:block;
}

.episodes-post-grid .card-content{
    display:flex;
    flex-direction:column;
    justify-content:center;
    height:auto;
    padding:42px 46px;
}

.episodes-post-grid .card-content h3{
    margin-top:8px;
    font-size:clamp(30px,3vw,43px);
    line-height:1.08;
}

.episodes-post-grid .card-content > p:not(.kicker){
    max-width:650px;
    font-size:17px;
    line-height:1.7;
}

.episodes-post-grid .read-more{
    margin-top:18px;
    align-self:flex-start;
}

@media(max-width:820px){
    .episodes-post-grid .card{
        grid-template-columns:1fr;
    }

    .episodes-post-grid .card-thumb,
    .episodes-post-grid .card-thumb img{
        min-height:280px;
        max-height:380px;
    }

    .episodes-post-grid .card-content{
        padding:32px 28px 38px;
    }
}


/* v2.2.3 — restored card buttons and matching Projects layout */
.card-action,
.episodes-post-grid .card-action,
.projects-grid .card-action,
.project-grid .card-action{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    align-self:flex-start;
    margin-top:20px;
    padding:13px 19px;
    background:var(--v2-gold, #c89d3c);
    color:#171512;
    border:1px solid var(--v2-gold, #c89d3c);
    text-decoration:none;
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
    line-height:1;
    transition:background .2s ease,color .2s ease,border-color .2s ease;
}

.card-action:hover,
.card-action:focus{
    background:var(--v2-charcoal, #171512);
    border-color:var(--v2-charcoal, #171512);
    color:#fff;
}

/* Project cards mirror the Episodes image-left/text-right presentation */
.projects-grid,
.project-grid,
.projects-post-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:32px;
}

.projects-grid .project-card,
.project-grid .project-card,
.projects-post-grid .project-card{
    display:grid;
    grid-template-columns:minmax(320px, 42%) minmax(0, 58%);
    min-height:340px;
    overflow:hidden;
    background:var(--white, #fff);
    box-shadow:0 14px 34px rgba(42,32,20,.10);
    border-top:0;
}

.projects-grid .project-card .card-thumb,
.project-grid .project-card .card-thumb,
.projects-post-grid .project-card .card-thumb,
.projects-grid .project-card__image,
.project-grid .project-card__image,
.projects-post-grid .project-card__image{
    display:block;
    min-height:340px;
    height:100%;
}

.projects-grid .project-card .card-thumb img,
.project-grid .project-card .card-thumb img,
.projects-post-grid .project-card .card-thumb img,
.projects-grid .project-card__image img,
.project-grid .project-card__image img,
.projects-post-grid .project-card__image img{
    width:100%;
    height:100%;
    min-height:340px;
    object-fit:cover;
    display:block;
}

.projects-grid .project-card .card-content,
.project-grid .project-card .card-content,
.projects-post-grid .project-card .card-content,
.projects-grid .project-card__content,
.project-grid .project-card__content,
.projects-post-grid .project-card__content{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:42px 46px;
}

.projects-grid .project-card h3,
.project-grid .project-card h3,
.projects-post-grid .project-card h3{
    margin-top:8px;
    font-size:clamp(30px,3vw,43px);
    line-height:1.08;
}

.projects-grid .project-card p,
.project-grid .project-card p,
.projects-post-grid .project-card p{
    max-width:650px;
    font-size:17px;
    line-height:1.7;
}

@media(max-width:820px){
    .projects-grid .project-card,
    .project-grid .project-card,
    .projects-post-grid .project-card{
        grid-template-columns:1fr;
    }

    .projects-grid .project-card .card-thumb,
    .project-grid .project-card .card-thumb,
    .projects-post-grid .project-card .card-thumb,
    .projects-grid .project-card__image,
    .project-grid .project-card__image,
    .projects-post-grid .project-card__image,
    .projects-grid .project-card .card-thumb img,
    .project-grid .project-card .card-thumb img,
    .projects-post-grid .project-card .card-thumb img,
    .projects-grid .project-card__image img,
    .project-grid .project-card__image img,
    .projects-post-grid .project-card__image img{
        min-height:280px;
        max-height:380px;
    }

    .projects-grid .project-card .card-content,
    .project-grid .project-card .card-content,
    .projects-post-grid .project-card .card-content,
    .projects-grid .project-card__content,
    .project-grid .project-card__content,
    .projects-post-grid .project-card__content{
        padding:32px 28px 38px;
    }
}


/* v2.2.4 — definitive card buttons and sensible no-image projects */
.episodes-post-grid .card .card-action,
.projects-post-grid .project-card .card-action{
    display:inline-flex !important;
    width:auto !important;
    align-items:center;
    justify-content:center;
    align-self:flex-start;
    margin-top:20px;
    padding:14px 20px !important;
    background:#c89d3c !important;
    color:#171512 !important;
    border:1px solid #c89d3c !important;
    border-radius:0;
    text-decoration:none !important;
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
    line-height:1;
}

.episodes-post-grid .card .card-action:hover,
.episodes-post-grid .card .card-action:focus,
.projects-post-grid .project-card .card-action:hover,
.projects-post-grid .project-card .card-action:focus{
    background:#171512 !important;
    border-color:#171512 !important;
    color:#fff !important;
}

/* Projects with an image match Episodes. */
.projects-post-grid .project-card.has-project-image{
    display:grid;
    grid-template-columns:minmax(320px,42%) minmax(0,58%);
}

/* Projects without an image become a compact full-width information card. */
.projects-post-grid .project-card.project-card--no-image{
    display:block;
    min-height:0;
    background:#fffaf1;
    border-left:5px solid #c89d3c;
}

.projects-post-grid .project-card.project-card--no-image .card-content{
    min-height:0;
    padding:38px 44px 40px;
}

.projects-post-grid .project-card.project-card--no-image h3{
    max-width:850px;
}

.projects-post-grid .project-card.project-card--no-image .project-confidence{
    max-width:850px;
}

@media(max-width:820px){
    .projects-post-grid .project-card.has-project-image{
        grid-template-columns:1fr;
    }

    .projects-post-grid .project-card.project-card--no-image .card-content{
        padding:30px 26px 34px;
    }
}


/* v2.2.5 — force Projects into the same horizontal layout as Episodes */
.projects-post-grid > .project-card.has-project-image,
.projects-grid > .project-card.has-project-image,
.project-grid > .project-card.has-project-image,
.project-card.project-episode-style-card.has-project-image{
    display:grid !important;
    grid-template-columns:minmax(320px,42%) minmax(0,58%) !important;
    grid-template-rows:auto !important;
    align-items:stretch !important;
    min-height:340px !important;
    overflow:hidden !important;
}

.projects-post-grid > .project-card.has-project-image > .card-thumb,
.projects-grid > .project-card.has-project-image > .card-thumb,
.project-grid > .project-card.has-project-image > .card-thumb,
.project-card.project-episode-style-card.has-project-image > .card-thumb{
    grid-column:1 !important;
    grid-row:1 !important;
    width:100% !important;
    height:100% !important;
    min-height:340px !important;
    max-height:none !important;
    margin:0 !important;
    display:block !important;
    overflow:hidden !important;
}

.projects-post-grid > .project-card.has-project-image > .card-thumb img,
.projects-grid > .project-card.has-project-image > .card-thumb img,
.project-grid > .project-card.has-project-image > .card-thumb img,
.project-card.project-episode-style-card.has-project-image > .card-thumb img{
    width:100% !important;
    height:100% !important;
    min-height:340px !important;
    max-height:none !important;
    object-fit:cover !important;
    display:block !important;
}

.projects-post-grid > .project-card.has-project-image > .card-content,
.projects-grid > .project-card.has-project-image > .card-content,
.project-grid > .project-card.has-project-image > .card-content,
.project-card.project-episode-style-card.has-project-image > .card-content{
    grid-column:2 !important;
    grid-row:1 !important;
    min-width:0 !important;
    min-height:340px !important;
    padding:42px 46px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
}

/* Remove older full-width image behaviour from Projects only. */
.project-card.project-episode-style-card.has-project-image .project-card__image,
.project-card.project-episode-style-card.has-project-image .card-image{
    grid-column:1 !important;
    width:100% !important;
}

/* Keep no-image projects as compact text cards. */
.project-card.project-episode-style-card.project-card--no-image{
    display:block !important;
    min-height:0 !important;
}

@media(max-width:820px){
    .projects-post-grid > .project-card.has-project-image,
    .projects-grid > .project-card.has-project-image,
    .project-grid > .project-card.has-project-image,
    .project-card.project-episode-style-card.has-project-image{
        grid-template-columns:1fr !important;
    }

    .projects-post-grid > .project-card.has-project-image > .card-thumb,
    .projects-grid > .project-card.has-project-image > .card-thumb,
    .project-grid > .project-card.has-project-image > .card-thumb,
    .project-card.project-episode-style-card.has-project-image > .card-thumb,
    .projects-post-grid > .project-card.has-project-image > .card-content,
    .projects-grid > .project-card.has-project-image > .card-content,
    .project-grid > .project-card.has-project-image > .card-content,
    .project-card.project-episode-style-card.has-project-image > .card-content{
        grid-column:1 !important;
    }

    .projects-post-grid > .project-card.has-project-image > .card-thumb,
    .projects-grid > .project-card.has-project-image > .card-thumb,
    .project-grid > .project-card.has-project-image > .card-thumb,
    .project-card.project-episode-style-card.has-project-image > .card-thumb{
        grid-row:1 !important;
        min-height:280px !important;
        max-height:380px !important;
    }

    .projects-post-grid > .project-card.has-project-image > .card-content,
    .projects-grid > .project-card.has-project-image > .card-content,
    .project-grid > .project-card.has-project-image > .card-content,
    .project-card.project-episode-style-card.has-project-image > .card-content{
        grid-row:2 !important;
        min-height:0 !important;
        padding:32px 28px 38px !important;
    }
}


/* v2.2.6 — root-cause Projects card fix */
.projects-post-grid{
    grid-template-columns:1fr !important;
}

.projects-post-grid > article.project-card.has-project-image{
    display:grid !important;
    grid-template-columns:minmax(360px,42%) minmax(0,58%) !important;
    grid-template-rows:1fr !important;
    min-height:390px !important;
}

.projects-post-grid > article.project-card.has-project-image > .card-thumb{
    grid-column:1 !important;
    grid-row:1 !important;
    height:100% !important;
    min-height:390px !important;
    aspect-ratio:auto !important;
}

.projects-post-grid > article.project-card.has-project-image > .card-thumb img{
    width:100% !important;
    height:100% !important;
    min-height:390px !important;
    object-fit:cover !important;
}

.projects-post-grid > article.project-card.has-project-image > .card-content{
    grid-column:2 !important;
    grid-row:1 !important;
    min-height:390px !important;
    padding:42px 46px !important;
    justify-content:center !important;
}

.projects-post-grid > article.project-card.project-card--no-image{
    display:block !important;
    min-height:0 !important;
}

@media(max-width:820px){
    .projects-post-grid > article.project-card.has-project-image{
        grid-template-columns:1fr !important;
        grid-template-rows:auto auto !important;
        min-height:0 !important;
    }

    .projects-post-grid > article.project-card.has-project-image > .card-thumb{
        grid-column:1 !important;
        grid-row:1 !important;
        min-height:280px !important;
        max-height:380px !important;
    }

    .projects-post-grid > article.project-card.has-project-image > .card-content{
        grid-column:1 !important;
        grid-row:2 !important;
        min-height:0 !important;
        padding:32px 28px 38px !important;
    }
}


/* v2.2.7 — per-project image Fit / Fill control */
.projects-post-grid > article.project-card.has-project-image > .card-thumb{
    background:#171512;
}

.projects-post-grid > article.project-card.project-image-fit > .card-thumb img{
    object-fit:contain !important;
    object-position:center center !important;
}

.projects-post-grid > article.project-card.project-image-fill > .card-thumb img{
    object-fit:cover !important;
    object-position:center center !important;
}


/* v2.2.9 — remove duplicate single-project summary */
.single-project .project-summary,
.single-project .tsw-project-summary,
.single-project .summary-box,
.single-project .project-standfirst{
    display:none !important;
}


/* v2.3.0 — dedicated homepage Project cards */
.v2-card-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:26px;
    align-items:stretch;
}

.home-project-card{
    min-width:0;
    overflow:hidden;
    background:#fffaf1;
    border-top:4px solid #c89d3c;
    box-shadow:0 12px 32px rgba(42,32,20,.10);
    display:flex;
    flex-direction:column;
}

.home-project-card__image{
    display:block;
    width:100%;
    aspect-ratio:16 / 9;
    overflow:hidden;
    background:#171512;
}

.home-project-card__image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}

.home-project-card__content{
    display:flex;
    flex-direction:column;
    flex:1;
    min-width:0;
    padding:28px 28px 30px;
}

.home-project-card .project-status{
    align-self:flex-start;
    margin-bottom:17px;
}

.home-project-card h3{
    margin:0 0 15px;
    font:700 30px/1.08 "Cormorant Garamond",serif;
}

.home-project-card h3 a{
    color:#28231c;
    text-decoration:none;
}

.home-project-card p{
    margin:0 0 22px;
    color:#756b5b;
    font-size:16px;
    line-height:1.65;
}

.home-project-card__button{
    margin-top:auto;
}

.home-project-card.no-image{
    border-left:4px solid #c89d3c;
    border-top:0;
}

@media(max-width:980px){
    .v2-card-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:680px){
    .v2-card-grid{
        grid-template-columns:1fr;
    }

    .home-project-card__content{
        padding:24px 22px 27px;
    }
}


/* v2.3.1 — per-Episode image Fit / Fill */
.episodes-post-grid .card .card-thumb{
    background:#171512;
}
.episodes-post-grid .card.episode-image-fit .card-thumb img{
    object-fit:contain !important;
    object-position:center center !important;
}
.episodes-post-grid .card.episode-image-fill .card-thumb img{
    object-fit:cover !important;
    object-position:center center !important;
}


/* v2.3.3 — Fit uses a true 16:9 thumbnail panel */
.episodes-post-grid .card.episode-image-fit{
    align-items:center;
    min-height:0;
}

.episodes-post-grid .card.episode-image-fit .card-thumb{
    width:100%;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:16 / 9;
    align-self:center;
    background:#171512;
    overflow:hidden;
}

.episodes-post-grid .card.episode-image-fit .card-thumb img{
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center !important;
}

.episodes-post-grid .card.episode-image-fit .card-content{
    min-height:0;
}

/* Fill remains the taller photographic presentation. */
.episodes-post-grid .card.episode-image-fill .card-thumb,
.episodes-post-grid .card.episode-image-fill .card-thumb img{
    height:100% !important;
    min-height:340px !important;
    object-fit:cover !important;
}

@media(max-width:820px){
    .episodes-post-grid .card.episode-image-fit .card-thumb{
        aspect-ratio:16 / 9;
        min-height:0 !important;
        max-height:none !important;
    }
}


/* ================================================================
   THE SANDWELL WALKER PLATFORM v3.0
   ================================================================ */

/* Episodes archive: one consistent 16:9 panel for every card */
.episodes-post-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:34px;
}
.episodes-post-grid .episode-card-v3{
    display:grid;
    grid-template-columns:minmax(360px,42%) minmax(0,58%);
    background:#fffaf1;
    box-shadow:0 14px 34px rgba(42,32,20,.10);
    overflow:hidden;
}
.episodes-post-grid .episode-card-v3 .card-thumb{
    width:100%;
    aspect-ratio:16 / 9;
    min-height:0 !important;
    height:auto !important;
    background:#171512;
    align-self:center;
}
.episodes-post-grid .episode-card-v3 .card-thumb img{
    width:100%;
    height:100% !important;
    min-height:0 !important;
    object-fit:cover !important;
    object-position:center;
}
.episodes-post-grid .episode-card-v3 .card-content{
    min-height:0 !important;
    padding:42px 46px;
    justify-content:center;
}

/* Projects archive: three research cards */
.projects-grid-v3{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:28px;
    margin:32px 0 48px;
}
.project-card-v3{
    background:#fffaf1;
    border-top:4px solid #c89d3c;
    box-shadow:0 12px 32px rgba(42,32,20,.10);
    overflow:hidden;
    display:flex;
    flex-direction:column;
}
.project-card-v3__image{
    display:block;
    width:100%;
    aspect-ratio:16 / 9;
    overflow:hidden;
    background:#171512;
}
.project-card-v3__image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.project-card-v3__content{
    padding:28px;
    display:flex;
    flex:1;
    flex-direction:column;
}
.project-card-v3__meta{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    align-items:center;
    margin-bottom:18px;
}
.project-card-v3 h3{
    margin:0 0 15px;
    font:700 30px/1.08 "Cormorant Garamond",serif;
}
.project-card-v3 h3 a{
    color:#28231c;
    text-decoration:none;
}
.project-card-v3 p{
    color:#756b5b;
    line-height:1.65;
}
.project-card-v3__confidence{
    margin:18px 0 22px;
    padding-top:16px;
    border-top:1px solid #ded3c0;
}
.project-card-v3__confidence span{
    display:block;
    color:#8b7d69;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.12em;
}
.project-card-v3__confidence strong{
    display:block;
    margin-top:4px;
}
.project-card-v3 .heritage-button{
    margin-top:auto;
}

/* Homepage */
.v3-hero{
    min-height:620px;
    background-size:cover;
    background-position:center;
    display:flex;
    align-items:center;
    padding:90px 24px;
}
.v3-hero__inner{
    max-width:760px;
    margin-left:max(0px,calc((100vw - 1240px)/2));
}
.v3-hero h1{
    margin:0;
    color:#fff;
    font:700 clamp(50px,6vw,82px)/.98 "Cormorant Garamond",serif;
}
.v3-hero p:last-child{
    max-width:680px;
    color:#e6ddcf;
    font-size:20px;
    line-height:1.65;
}
.v3-section{
    max-width:1240px;
    margin:auto;
    padding:88px 24px;
}
.v3-section--dark{
    max-width:none;
    background:#171512;
    color:#fff;
    padding-left:max(24px,calc((100vw - 1240px)/2));
    padding-right:max(24px,calc((100vw - 1240px)/2));
}
.v3-section--dark .section-heading h2{
    color:#fff;
}
.v3-section--dark .text-link{
    color:#e6c778;
}
.v3-featured-episode{
    display:grid;
    grid-template-columns:1.2fr .8fr;
    background:#fffaf1;
    box-shadow:0 16px 45px rgba(42,32,20,.12);
}
.v3-featured-episode__image{
    aspect-ratio:16 / 9;
    overflow:hidden;
    background:#171512;
}
.v3-featured-episode__image img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.v3-featured-episode__content{
    padding:48px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.v3-featured-episode__content p{
    color:#756b5b;
    font-size:17px;
    line-height:1.7;
}
.v3-recent-episodes{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:26px;
}
.v3-recent-card{
    background:#fffaf1;
    box-shadow:0 12px 30px rgba(42,32,20,.09);
}
.v3-recent-card__image{
    display:block;
    aspect-ratio:16 / 9;
    overflow:hidden;
}
.v3-recent-card__image img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.v3-recent-card__content{
    padding:25px;
}
.v3-recent-card h3{
    font:700 28px/1.08 "Cormorant Garamond",serif;
    margin:0 0 18px;
}
.v3-recent-card h3 a{
    color:#28231c;
    text-decoration:none;
}
.v3-home-projects{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:26px;
}
.v3-pathways{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
}
.v3-pathways article{
    background:#fffaf1;
    border:1px solid #d9cfbd;
    padding:42px;
    display:flex;
    min-height:330px;
    flex-direction:column;
}
.v3-pathways article .heritage-button{
    margin-top:auto;
}

@media(max-width:980px){
    .projects-grid-v3,
    .v3-recent-episodes,
    .v3-home-projects,
    .v3-pathways{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .v3-featured-episode{
        grid-template-columns:1fr;
    }
}
@media(max-width:820px){
    .episodes-post-grid .episode-card-v3{
        grid-template-columns:1fr;
    }
}
@media(max-width:680px){
    .projects-grid-v3,
    .v3-recent-episodes,
    .v3-home-projects,
    .v3-pathways{
        grid-template-columns:1fr;
    }
    .v3-section{
        padding:64px 20px;
    }
    .v3-featured-episode__content{
        padding:30px 24px;
    }
}


/* v3.0.1 — shared internal hero banner with Fit / Fill */
.page-banner.shared-internal-banner{
    min-height:310px;
    background-color:#171512;
    background-position:center center,center center !important;
    background-repeat:no-repeat,no-repeat !important;
}
.page-banner.shared-internal-banner.banner-display-fit{
    background-size:100% 100%,contain !important;
}
.page-banner.shared-internal-banner.banner-display-fill{
    background-size:100% 100%,cover !important;
}

/* Compact archive introduction */
.episodes-live-page .episodes-introduction{
    padding:28px 32px 30px;
}
.episodes-live-page .episodes-introduction h2{
    margin:8px 0 0;
    font-size:clamp(2.4rem,4vw,3.6rem);
}
.episodes-live-page .episodes-introduction p{
    margin:0 0 8px;
}

@media(max-width:700px){
    .page-banner.shared-internal-banner{
        min-height:240px;
    }
}


/* v3.0.2 — final panoramic hero system */
.v3-hero{
    min-height:400px !important;
    height:400px;
    padding-top:54px;
    padding-bottom:54px;
    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
}

.page-banner.shared-internal-banner{
    min-height:300px !important;
    height:300px;
    background-size:100% 100%,cover !important;
    background-position:center center,center center !important;
    background-repeat:no-repeat,no-repeat !important;
}

.page-banner.shared-internal-banner.banner-display-fit,
.page-banner.shared-internal-banner.banner-display-fill{
    background-size:100% 100%,cover !important;
}

.page-banner-content{
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:300px;
}

.page-banner-content h1{
    margin:0;
}

.page-banner-subtitle{
    max-width:760px;
    margin:14px 0 0;
    color:#f3ecdf;
    font-size:18px;
    line-height:1.55;
}

/* No second archive introduction panel */
.episodes-introduction,
.archive-main > .tsw-intro{
    display:none !important;
}

.episodes-live-page .archive-main,
.projects-live-page .archive-main{
    padding-top:38px;
}

@media(max-width:700px){
    .v3-hero{
        min-height:320px !important;
        height:320px;
    }

    .page-banner.shared-internal-banner{
        min-height:240px !important;
        height:240px;
    }

    .page-banner-content{
        min-height:240px;
    }

    .page-banner-subtitle{
        font-size:16px;
    }
}


/* v3.0.3 — unified hero height and contained long titles */
.page-banner.shared-internal-banner{
    min-height:400px !important;
    height:400px !important;
    overflow:hidden;
}
.page-banner.shared-internal-banner .page-banner-content{
    min-height:400px !important;
    height:400px;
    padding:42px 24px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    box-sizing:border-box;
}
.page-banner.shared-internal-banner .page-banner-content h1{
    max-width:1120px;
    margin:0;
    font-size:clamp(46px,5.2vw,72px) !important;
    line-height:.98 !important;
    text-wrap:balance;
}
.single-episode .page-banner-content h1,
.single-project .page-banner-content h1{
    max-width:1050px;
    font-size:clamp(42px,4.6vw,66px) !important;
    line-height:1 !important;
}
.page-banner.shared-internal-banner .page-banner-subtitle{
    max-width:820px;
    margin-top:18px;
    font-size:18px;
    line-height:1.5;
}
.single-episode .page-banner,
.single-project .page-banner{
    overflow:hidden;
}
@media(max-width:900px){
    .page-banner.shared-internal-banner .page-banner-content h1,
    .single-episode .page-banner-content h1,
    .single-project .page-banner-content h1{
        font-size:clamp(38px,7vw,56px) !important;
    }
}
@media(max-width:700px){
    .page-banner.shared-internal-banner{
        min-height:320px !important;
        height:320px !important;
    }
    .page-banner.shared-internal-banner .page-banner-content{
        min-height:320px !important;
        height:320px;
        padding:28px 20px;
    }
    .page-banner.shared-internal-banner .page-banner-content h1,
    .single-episode .page-banner-content h1,
    .single-project .page-banner-content h1{
        font-size:clamp(34px,10vw,46px) !important;
        line-height:1.02 !important;
    }
    .page-banner.shared-internal-banner .page-banner-subtitle{
        font-size:16px;
    }
}


/* v3.0.4 — homepage All Episodes button */
.v3-section > .section-heading{
    align-items:flex-end;
}

.v3-all-episodes-button{
    flex:0 0 auto;
    margin:0 0 8px 28px;
    white-space:nowrap;
    min-width:132px;
    text-align:center;
}

@media(max-width:760px){
    .v3-section > .section-heading{
        align-items:flex-start;
        flex-direction:column;
    }

    .v3-all-episodes-button{
        margin:14px 0 0;
    }
}


/* v3.1.1 — Explore Related Content */
.heritage-related-panel{
    margin:48px 0 0;
    padding:34px 38px 38px;
    background:#eee3cf;
    border-left:4px solid #c89d3c;
}

.heritage-related-panel .eyebrow{
    margin:0 0 7px;
}

.heritage-related-panel h2{
    margin:0 0 26px;
    font-size:clamp(32px,4vw,46px);
}

.heritage-related-list{
    margin:0;
}

.heritage-related-row{
    display:grid;
    grid-template-columns:150px minmax(0,1fr);
    gap:24px;
    padding:16px 0;
    border-top:1px solid rgba(91,72,34,.18);
}

.heritage-related-row:first-child{
    border-top:0;
    padding-top:0;
}

.heritage-related-row dt{
    margin:0;
    color:#6f5a2a;
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.1em;
}

.heritage-related-row dd{
    margin:0;
    display:flex;
    flex-wrap:wrap;
    gap:8px 11px;
}

.heritage-related-row a{
    color:#7b5200;
    font-weight:700;
    text-decoration:underline;
    text-underline-offset:3px;
}

.heritage-related-row a:hover,
.heritage-related-row a:focus{
    color:#171512;
}

.heritage-related-separator{
    color:#ad8a3c;
}

@media(max-width:680px){
    .heritage-related-panel{
        padding:28px 24px 30px;
    }

    .heritage-related-row{
        grid-template-columns:1fr;
        gap:7px;
    }
}


/* v3.2.0 — final related-content polish */
.single-episode .entry-categories,
.single-episode .post-categories,
.single-episode .category-links,
.single-episode .entry-footer .cat-links,
.single-episode .single-category-link{
    display:none !important;
}

.heritage-related-panel{
    margin-top:44px;
    padding:32px 38px 34px;
}

.heritage-related-panel h2{
    margin-bottom:22px;
}

.heritage-related-row{
    grid-template-columns:175px minmax(0,1fr);
    padding:15px 0;
}

.heritage-related-row dt{
    display:flex;
    align-items:center;
    gap:9px;
}

.heritage-related-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:22px;
    height:22px;
    color:#9b741c;
    font-size:15px;
    line-height:1;
}

.heritage-related-row dd{
    gap:7px 10px;
}

@media(max-width:680px){
    .heritage-related-row{
        grid-template-columns:1fr;
    }
}


/* v3.2.1 — reliable related-content icons and legacy link removal */
.single-episode .post-taxonomy{
    display:none !important;
}

.heritage-related-icon{
    width:22px;
    height:22px;
    flex:0 0 22px;
}

.heritage-related-icon svg{
    display:block;
    width:22px;
    height:22px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}


/* v3.2.2 — remove legacy content-type category links everywhere */
.single-episode .post-taxonomy,
.single-project .post-taxonomy,
.single-research .post-taxonomy,
.single-archive_item .post-taxonomy,
.single-atlas_entry .post-taxonomy,
.single-walking_route .post-taxonomy,
.single-heritage_place .post-taxonomy,
.single-heritage_person .post-taxonomy,
.single-episode .entry-categories,
.single-project .entry-categories,
.single-research .entry-categories,
.single-archive_item .entry-categories,
.single-atlas_entry .entry-categories,
.single-walking_route .entry-categories,
.single-heritage_place .entry-categories,
.single-heritage_person .entry-categories,
.single .post-taxonomy,
.single .entry-categories,
.single .post-categories,
.single .category-links,
.single .cat-links{
    display:none !important;
}


/* ================================================================
   v3.5.0 — HERITAGE ARCHIVE MUSEUM
   ================================================================ */

.museum-container{
    width:min(1240px,calc(100% - 48px));
    margin-inline:auto;
}

.museum-introduction{
    padding:82px 0 76px;
}

.museum-introduction h2,
.museum-heading h2,
.museum-contribute h2,
.museum-vision h2{
    margin:5px 0 22px;
    font-size:clamp(42px,5vw,68px);
    line-height:1;
}

.museum-introduction__copy{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:34px;
    color:#655d50;
    font-size:17px;
    line-height:1.75;
}

.museum-section{
    padding:82px 0;
}

.museum-section--featured{
    background:#171512;
    color:#f8f1e5;
}

.museum-section--recent{
    background:#efe5d3;
}

.museum-heading{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:36px;
    margin-bottom:38px;
}

.museum-heading > p{
    max-width:510px;
    margin:0 0 7px;
    color:#756b5b;
    line-height:1.65;
}

.museum-section--featured .museum-heading > p{
    color:#c9c0b3;
}

.museum-featured-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1px;
    background:rgba(200,157,60,.35);
    border:1px solid rgba(200,157,60,.35);
}

.museum-featured-card{
    display:grid;
    grid-template-columns:72px minmax(0,1fr);
    gap:24px;
    min-height:280px;
    padding:38px;
    background:#211f1b;
}

.museum-featured-card__number{
    color:#c89d3c;
    font:700 22px/1 "Cormorant Garamond",serif;
}

.museum-featured-card h3{
    margin:0 0 16px;
    font:700 36px/1.05 "Cormorant Garamond",serif;
}

.museum-featured-card h3 a{
    color:#fff8ec;
    text-decoration:none;
}

.museum-featured-card p{
    color:#c9c0b3;
    line-height:1.7;
}

.museum-featured-card .text-link{
    color:#e2bc63;
}

.museum-collection-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}

.museum-collection-card{
    position:relative;
    display:grid;
    grid-template-columns:48px minmax(0,1fr) 24px;
    gap:18px;
    align-items:start;
    min-height:210px;
    padding:30px 26px;
    background:#fffaf1;
    border:1px solid #ddd2bf;
    border-top:4px solid #c89d3c;
    color:#28231c;
    text-decoration:none;
    box-shadow:0 8px 25px rgba(42,32,20,.07);
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}

.museum-collection-card:hover,
.museum-collection-card:focus{
    transform:translateY(-4px);
    box-shadow:0 16px 38px rgba(42,32,20,.13);
    border-color:#c89d3c;
}

.museum-collection-card__icon{
    position:relative;
    display:block;
    width:44px;
    height:44px;
    border:1px solid #c89d3c;
    border-radius:50%;
}

.museum-collection-card__icon::before,
.museum-collection-card__icon::after{
    content:"";
    position:absolute;
    box-sizing:border-box;
}

.museum-collection-card__content{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.museum-collection-card__content strong{
    font:700 27px/1.08 "Cormorant Garamond",serif;
}

.museum-collection-card__content span{
    color:#756b5b;
    font-size:15px;
    line-height:1.55;
}

.museum-collection-card__arrow{
    color:#a87916;
    font-size:24px;
    line-height:1;
}

.museum-icon-camera::before{
    left:10px;top:14px;width:24px;height:16px;border:2px solid #9b741c;border-radius:3px;
}
.museum-icon-camera::after{
    left:18px;top:18px;width:8px;height:8px;border:2px solid #9b741c;border-radius:50%;
}

.museum-icon-map::before{
    left:10px;top:9px;width:24px;height:26px;border:2px solid #9b741c;
    transform:skewY(-8deg);
}
.museum-icon-map::after{
    left:21px;top:10px;width:2px;height:24px;background:#9b741c;
}

.museum-icon-document::before,
.museum-icon-newspaper::before{
    left:12px;top:8px;width:20px;height:28px;border:2px solid #9b741c;
}
.museum-icon-document::after,
.museum-icon-newspaper::after{
    left:17px;top:15px;width:10px;height:2px;background:#9b741c;
    box-shadow:0 6px 0 #9b741c,0 12px 0 #9b741c;
}

.museum-icon-building::before{
    left:10px;bottom:9px;width:24px;height:20px;border:2px solid #9b741c;
    box-shadow:7px -7px 0 -5px #fffaf1,7px -7px 0 -3px #9b741c;
}
.museum-icon-building::after{
    left:17px;bottom:9px;width:3px;height:12px;background:#9b741c;
    box-shadow:7px 0 0 #9b741c;
}

.museum-icon-industry::before{
    left:8px;bottom:10px;width:28px;height:18px;border:2px solid #9b741c;
    clip-path:polygon(0 35%,30% 0,30% 35%,60% 0,60% 35%,100% 0,100% 100%,0 100%);
}
.museum-icon-industry::after{
    right:10px;top:8px;width:5px;height:15px;border:2px solid #9b741c;
}

.museum-icon-housing::before{
    left:9px;top:18px;width:26px;height:18px;border:2px solid #9b741c;
}
.museum-icon-housing::after{
    left:11px;top:9px;width:22px;height:22px;border-left:2px solid #9b741c;border-top:2px solid #9b741c;
    transform:rotate(45deg);
}

.museum-icon-transport::before{
    left:10px;top:10px;width:24px;height:24px;border:2px solid #9b741c;border-radius:5px;
}
.museum-icon-transport::after{
    left:14px;bottom:7px;width:6px;height:6px;border:2px solid #9b741c;border-radius:50%;
    box-shadow:12px 0 0 -2px #fffaf1,12px 0 0 0 #9b741c;
}

.museum-icon-park::before{
    left:19px;bottom:8px;width:6px;height:17px;background:#9b741c;
}
.museum-icon-park::after{
    left:9px;top:7px;width:26px;height:24px;background:#9b741c;
    clip-path:polygon(50% 0,100% 100%,0 100%);
}

.museum-icon-person::before{
    left:17px;top:8px;width:10px;height:10px;border:2px solid #9b741c;border-radius:50%;
}
.museum-icon-person::after{
    left:11px;bottom:8px;width:22px;height:16px;border:2px solid #9b741c;border-radius:50% 50% 4px 4px;
}

.museum-icon-memory::before{
    left:9px;top:10px;width:26px;height:20px;border:2px solid #9b741c;border-radius:50%;
}
.museum-icon-memory::after{
    left:13px;bottom:8px;width:10px;height:10px;border-left:2px solid #9b741c;
    transform:skewX(-35deg);
}

.museum-icon-film::before{
    left:8px;top:12px;width:28px;height:20px;border:2px solid #9b741c;
    background:repeating-linear-gradient(90deg,transparent 0 4px,#9b741c 4px 6px,transparent 6px 10px);
}
.museum-icon-film::after{
    left:18px;top:17px;border-left:9px solid #9b741c;border-top:5px solid transparent;border-bottom:5px solid transparent;
}

.museum-recent-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
}

.museum-recent-card{
    overflow:hidden;
    background:#fffaf1;
    box-shadow:0 10px 30px rgba(42,32,20,.09);
}

.museum-recent-card__image{
    display:block;
    aspect-ratio:16/9;
    background:#171512;
    overflow:hidden;
}

.museum-recent-card__image img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.museum-recent-card__content{
    padding:26px;
}

.museum-recent-card h3{
    margin:5px 0 14px;
    font:700 29px/1.08 "Cormorant Garamond",serif;
}

.museum-recent-card h3 a{
    color:#28231c;
    text-decoration:none;
}

.museum-empty-state{
    grid-column:1/-1;
    padding:44px;
    background:#fffaf1;
    border-left:4px solid #c89d3c;
}

.museum-town-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}

.museum-town-grid a{
    display:flex;
    flex-direction:column;
    min-height:145px;
    justify-content:flex-end;
    padding:25px;
    background:#211f1b;
    border-bottom:4px solid #c89d3c;
    color:#fff;
    text-decoration:none;
}

.museum-town-grid strong{
    font:700 31px/1.05 "Cormorant Garamond",serif;
}

.museum-town-grid span{
    margin-top:8px;
    color:#c9c0b3;
}

.museum-contribute{
    padding:82px 0;
    background:#171512;
    color:#f8f1e5;
}

.museum-contribute__inner{
    display:grid;
    grid-template-columns:1.4fr .6fr;
    gap:70px;
    align-items:center;
}

.museum-contribute p{
    color:#c9c0b3;
    line-height:1.7;
}

.museum-contribute__action{
    padding:32px;
    border:1px solid rgba(200,157,60,.45);
}

.museum-vision{
    padding:82px 0 92px;
    max-width:900px;
    text-align:center;
}

.museum-vision p:last-child{
    color:#655d50;
    font-size:18px;
    line-height:1.75;
}

@media(max-width:980px){
    .museum-introduction__copy,
    .museum-collection-grid,
    .museum-recent-grid,
    .museum-town-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .museum-contribute__inner{
        grid-template-columns:1fr;
        gap:36px;
    }
}

@media(max-width:700px){
    .museum-container{
        width:min(100% - 36px,1240px);
    }

    .museum-introduction,
    .museum-section,
    .museum-contribute,
    .museum-vision{
        padding-top:60px;
        padding-bottom:60px;
    }

    .museum-introduction__copy,
    .museum-featured-grid,
    .museum-collection-grid,
    .museum-recent-grid,
    .museum-town-grid{
        grid-template-columns:1fr;
    }

    .museum-heading{
        align-items:flex-start;
        flex-direction:column;
        gap:12px;
    }

    .museum-featured-card{
        grid-template-columns:44px minmax(0,1fr);
        padding:28px 24px;
    }

    .museum-collection-card{
        min-height:0;
    }
}


/* ================================================================
   v3.6.0 — LAUNCH-READY CONTENT PAGES
   ================================================================ */

.launch-container{
    width:min(1180px,calc(100% - 48px));
    margin-inline:auto;
}

.launch-section{
    padding:78px 0;
}

.launch-section--cream{
    background:#eee4d2;
}

.launch-section--dark{
    background:#171512;
    color:#fff7e9;
}

.launch-intro h2,
.launch-feature-layout h2,
.launch-editor-content h2,
.launch-cta h2,
.launch-section--dark h2,
.launch-empty-archive h2{
    margin:7px 0 25px;
    font-size:clamp(42px,5vw,66px);
    line-height:1;
}

.launch-intro-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:34px;
    color:#665e51;
    font-size:17px;
    line-height:1.75;
}

.launch-card-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
}

.launch-info-card{
    display:flex;
    flex-direction:column;
    min-height:280px;
    padding:34px;
    background:#fffaf1;
    border-top:4px solid #c89d3c;
    box-shadow:0 10px 30px rgba(42,32,20,.08);
}

.launch-info-card h3{
    margin:0 0 15px;
    font:700 33px/1.05 "Cormorant Garamond",serif;
}

.launch-info-card p{
    color:#6e6558;
    line-height:1.7;
}

.launch-info-card .text-link{
    margin-top:auto;
}

.launch-feature-layout{
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:70px;
    align-items:start;
}

.launch-feature-list{
    margin:0;
    padding:0;
    list-style:none;
}

.launch-feature-list li{
    position:relative;
    padding:17px 0 17px 33px;
    border-top:1px solid #ddd1bd;
    color:#5f574b;
    font-size:17px;
    line-height:1.6;
}

.launch-feature-list li::before{
    content:"";
    position:absolute;
    left:0;
    top:25px;
    width:12px;
    height:2px;
    background:#c89d3c;
}

.launch-town-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
    margin-top:34px;
}

.launch-town-grid a{
    display:flex;
    flex-direction:column;
    min-height:150px;
    justify-content:flex-end;
    padding:26px;
    background:#24211c;
    border-bottom:4px solid #c89d3c;
    color:#fff;
    text-decoration:none;
}

.launch-town-grid strong{
    font:700 31px/1 "Cormorant Garamond",serif;
}

.launch-town-grid span{
    margin-top:9px;
    color:#c9c0b3;
}

.launch-cta{
    padding:70px 0;
    background:#171512;
    color:#fff7e9;
}

.launch-cta__inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:50px;
}

.launch-cta h2{
    margin-bottom:15px;
}

.launch-cta p{
    max-width:760px;
    color:#c9c0b3;
    line-height:1.7;
}

.launch-editor-content{
    max-width:900px;
}

.launch-form-note{
    margin-top:30px;
    padding:22px 25px;
    background:#fffaf1;
    border-left:4px solid #c89d3c;
}

.taxonomy-content-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
    margin-top:34px;
}

.taxonomy-content-card{
    display:flex;
    flex-direction:column;
    background:#fffaf1;
    box-shadow:0 10px 30px rgba(42,32,20,.08);
}

.taxonomy-content-card__image{
    display:block;
    aspect-ratio:16/9;
    overflow:hidden;
    background:#171512;
}

.taxonomy-content-card__image img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.taxonomy-content-card__body{
    display:flex;
    flex:1;
    flex-direction:column;
    padding:27px;
}

.taxonomy-content-card h3{
    margin:4px 0 14px;
    font:700 30px/1.08 "Cormorant Garamond",serif;
}

.taxonomy-content-card h3 a{
    color:#28231c;
    text-decoration:none;
}

.taxonomy-content-card__body > p:not(.eyebrow){
    color:#6e6558;
    line-height:1.65;
}

.taxonomy-content-card .text-link{
    margin-top:auto;
}

.taxonomy-empty-state,
.launch-empty-archive{
    margin-top:34px;
    padding:46px;
    background:#eee4d2;
    border-left:5px solid #c89d3c;
}

.taxonomy-empty-state h3{
    margin:0 0 12px;
    font:700 38px/1.05 "Cormorant Garamond",serif;
}

.taxonomy-empty-state p,
.launch-empty-archive p{
    max-width:800px;
    color:#665e51;
    line-height:1.7;
}

.taxonomy-empty-actions,
.launch-empty-archive > div{
    display:flex;
    flex-wrap:wrap;
    gap:22px;
    align-items:center;
    margin-top:26px;
}

.pagination-wrap{
    margin-top:40px;
    display:flex;
    justify-content:center;
}

.pagination-wrap .navigation.pagination{
    width:auto;
}

.pagination-wrap .nav-links{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}

@media(max-width:900px){
    .launch-intro-grid,
    .launch-card-grid,
    .launch-town-grid,
    .taxonomy-content-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .launch-feature-layout{
        grid-template-columns:1fr;
        gap:28px;
    }
}

@media(max-width:680px){
    .launch-container{
        width:min(100% - 36px,1180px);
    }

    .launch-section{
        padding:58px 0;
    }

    .launch-intro-grid,
    .launch-card-grid,
    .launch-town-grid,
    .taxonomy-content-grid{
        grid-template-columns:1fr;
    }

    .launch-info-card{
        min-height:0;
    }

    .launch-cta__inner{
        align-items:flex-start;
        flex-direction:column;
    }

    .taxonomy-empty-state,
    .launch-empty-archive{
        padding:32px 25px;
    }
}


/* ================================================================
   v3.6.1 — TOPICS AND COLLECTIONS DIRECTORIES
   ================================================================ */

.taxonomy-directory-intro{
    max-width:850px;
    margin-bottom:40px;
}

.taxonomy-directory-intro h2{
    margin:7px 0 20px;
    font-size:clamp(42px,5vw,66px);
    line-height:1;
}

.taxonomy-directory-intro > p:last-child{
    color:#665e51;
    font-size:17px;
    line-height:1.75;
}

.taxonomy-directory-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
}

.taxonomy-directory-card{
    position:relative;
    display:flex;
    flex-direction:column;
    min-height:250px;
    padding:30px;
    background:#fffaf1;
    border-top:4px solid #c89d3c;
    box-shadow:0 10px 30px rgba(42,32,20,.08);
    color:#28231c;
    text-decoration:none;
    transition:transform .2s ease,box-shadow .2s ease;
}

.taxonomy-directory-card:hover,
.taxonomy-directory-card:focus{
    transform:translateY(-4px);
    box-shadow:0 16px 38px rgba(42,32,20,.14);
}

.taxonomy-directory-card__count{
    align-self:flex-start;
    margin-bottom:22px;
    padding:5px 9px;
    border:1px solid #c89d3c;
    color:#815b08;
    font-size:11px;
    font-weight:800;
    letter-spacing:.08em;
}

.taxonomy-directory-card strong{
    font:700 31px/1.05 "Cormorant Garamond",serif;
}

.taxonomy-directory-card__description{
    margin-top:14px;
    color:#6d6457;
    line-height:1.65;
}

.taxonomy-directory-card__link{
    margin-top:auto;
    padding-top:24px;
    color:#865b00;
    font-weight:700;
    text-decoration:underline;
    text-underline-offset:4px;
}

@media(max-width:900px){
    .taxonomy-directory-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:620px){
    .taxonomy-directory-grid{
        grid-template-columns:1fr;
    }

    .taxonomy-directory-card{
        min-height:0;
    }
}


/* ================================================================
   v3.6.2 — FINAL VISUAL POLISH
   ================================================================ */

/* Stronger contrast for all dark call-to-action sections */
.launch-cta{
    background:#171512;
    color:#f3eee3;
}

.launch-cta h2,
.launch-section--dark h2,
.museum-contribute h2,
.site-footer h2,
.site-footer h3{
    color:#f3eee3 !important;
}

.launch-cta .eyebrow,
.launch-section--dark .eyebrow,
.museum-contribute .eyebrow{
    color:#c89d3c;
}

.launch-cta p,
.launch-section--dark p,
.museum-contribute p{
    color:#e5ddd0;
}

.launch-cta .heritage-button{
    align-self:center;
    min-width:200px;
    text-align:center;
}

/* Slightly softer and more consistent section spacing */
.launch-section,
.museum-section{
    padding-top:74px;
    padding-bottom:74px;
}

.launch-intro,
.museum-introduction{
    padding-top:78px;
    padding-bottom:72px;
}

/* Refined cards */
.launch-info-card,
.taxonomy-directory-card,
.taxonomy-content-card,
.museum-collection-card,
.museum-recent-card{
    border-color:#ded3c0;
    box-shadow:0 8px 24px rgba(42,32,20,.08);
}

.launch-info-card:hover,
.taxonomy-directory-card:hover,
.taxonomy-directory-card:focus,
.museum-collection-card:hover,
.museum-collection-card:focus{
    transform:translateY(-3px);
    box-shadow:0 14px 34px rgba(42,32,20,.13);
}

/* Card typography and link consistency */
.launch-info-card h3,
.taxonomy-directory-card strong,
.taxonomy-content-card h3,
.museum-collection-card__content strong{
    color:#28231c;
}

.text-link,
.taxonomy-directory-card__link{
    text-decoration-thickness:1px;
    text-underline-offset:4px;
}

.text-link:hover,
.text-link:focus,
.taxonomy-directory-card__link:hover,
.taxonomy-directory-card__link:focus{
    color:#171512;
}

/* Better button readability */
.heritage-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
    padding:13px 22px;
    line-height:1.15;
    text-align:center;
}

.heritage-button:hover,
.heritage-button:focus{
    filter:brightness(.96);
    transform:translateY(-1px);
}

/* More balanced intro text columns */
.launch-intro-grid,
.museum-introduction__copy{
    gap:30px;
}

.launch-intro-grid p,
.museum-introduction__copy p{
    margin-top:0;
}

/* Directory cards feel less empty */
.taxonomy-directory-card{
    min-height:230px;
}

.taxonomy-directory-card__count{
    background:#f8efdd;
}

/* Improve town-card hover */
.launch-town-grid a,
.museum-town-grid a{
    transition:transform .2s ease,background-color .2s ease,border-color .2s ease;
}

.launch-town-grid a:hover,
.launch-town-grid a:focus,
.museum-town-grid a:hover,
.museum-town-grid a:focus{
    transform:translateY(-3px);
    background:#2b2822;
    border-bottom-color:#e0b64e;
}

/* Empty states */
.taxonomy-empty-state,
.launch-empty-archive,
.museum-empty-state{
    box-shadow:0 8px 24px rgba(42,32,20,.06);
}

/* Footer readability */
.site-footer{
    color:#e5ddd0;
}

.site-footer a{
    color:#f3eee3;
}

.site-footer a:hover,
.site-footer a:focus{
    color:#d8ad43;
}

/* Prevent long headings from becoming cramped */
.page-banner-content h1,
.launch-intro h2,
.launch-feature-layout h2,
.taxonomy-directory-intro h2,
.launch-cta h2{
    text-wrap:balance;
}

/* Tablet refinements */
@media(max-width:900px){
    .launch-card-grid,
    .taxonomy-directory-grid,
    .taxonomy-content-grid,
    .museum-collection-grid,
    .museum-recent-grid{
        gap:20px;
    }

    .launch-cta__inner{
        align-items:flex-start;
    }

    .launch-cta .heritage-button{
        align-self:flex-start;
    }
}

/* Mobile refinements */
@media(max-width:680px){
    .launch-section,
    .museum-section,
    .museum-contribute,
    .launch-cta{
        padding-top:54px;
        padding-bottom:54px;
    }

    .launch-intro,
    .museum-introduction{
        padding-top:58px;
        padding-bottom:54px;
    }

    .launch-info-card,
    .taxonomy-directory-card,
    .museum-collection-card,
    .taxonomy-content-card__body{
        padding:25px 22px;
    }

    .launch-intro h2,
    .launch-feature-layout h2,
    .launch-editor-content h2,
    .launch-cta h2,
    .taxonomy-directory-intro h2,
    .museum-introduction h2,
    .museum-heading h2{
        font-size:clamp(36px,11vw,50px);
    }

    .launch-cta__inner{
        gap:26px;
    }

    .launch-cta .heritage-button{
        width:100%;
    }

    .page-banner-content{
        padding-inline:20px;
    }
}


/* ================================================================
   v3.6.3 — COMPLETE DARK-SECTION CONTRAST AND MENU CLEANUP
   ================================================================ */

/*
 * Some museum headings retained the site's default dark heading colour.
 * These explicit rules cover every dark museum and archive section.
 */
.museum-section--featured,
.museum-section--featured h1,
.museum-section--featured h2,
.museum-section--featured h3,
.museum-section--featured h4,
.museum-section--featured .museum-heading h2,
.museum-section--featured .museum-featured-card h3,
.museum-contribute,
.museum-contribute h1,
.museum-contribute h2,
.museum-contribute h3,
.launch-section--dark,
.launch-section--dark h1,
.launch-section--dark h2,
.launch-section--dark h3,
.launch-cta,
.launch-cta h1,
.launch-cta h2,
.launch-cta h3{
    color:#f3eee3 !important;
}

.museum-section--featured .eyebrow,
.museum-contribute .eyebrow,
.launch-section--dark .eyebrow,
.launch-cta .eyebrow{
    color:#d3a83d !important;
}

.museum-section--featured .museum-heading > p,
.museum-section--featured p,
.museum-contribute p,
.launch-section--dark p,
.launch-cta p{
    color:#e5ddd0 !important;
}

.museum-section--featured .museum-featured-card{
    color:#f3eee3;
}

.museum-section--featured .museum-featured-card h3 a{
    color:#f7f1e7 !important;
}

.museum-section--featured .museum-featured-card p{
    color:#d7cec1 !important;
}

.museum-section--featured .text-link,
.museum-contribute .text-link,
.launch-section--dark .text-link,
.launch-cta .text-link{
    color:#e1b84f !important;
}

/* Keep gold buttons readable inside dark sections. */
.museum-section--featured .heritage-button,
.museum-contribute .heritage-button,
.launch-section--dark .heritage-button,
.launch-cta .heritage-button{
    color:#171512 !important;
}

/* Remove any remaining visual gap caused by an empty duplicate menu item. */
.primary-menu .menu-item:empty,
.footer-navigation .menu-item:empty{
    display:none;
}


/* ================================================================
   v3.6.4 — BUTTON HOVER AND BUILT-IN CONTACT FORM
   ================================================================ */

/* Gold buttons remain gold on hover rather than inheriting black */
.heritage-button,
a.heritage-button,
button.heritage-button,
input[type="submit"].heritage-button{
    background:#cfa238 !important;
    border:1px solid #cfa238 !important;
    color:#171512 !important;
    text-decoration:none !important;
    transition:
        background-color .18s ease,
        border-color .18s ease,
        color .18s ease,
        transform .18s ease,
        box-shadow .18s ease;
}

.heritage-button:hover,
.heritage-button:focus,
a.heritage-button:hover,
a.heritage-button:focus,
button.heritage-button:hover,
button.heritage-button:focus,
input[type="submit"].heritage-button:hover,
input[type="submit"].heritage-button:focus{
    background:#b98c25 !important;
    border-color:#b98c25 !important;
    color:#0f0e0c !important;
    filter:none !important;
    transform:translateY(-1px);
    box-shadow:0 8px 20px rgba(0,0,0,.18);
}

/* Built-in contact form */
.tsw-contact-form-wrap{
    max-width:920px;
    margin:0 auto;
}

.tsw-contact-form{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
    padding:36px;
    background:#fffaf1;
    border-top:4px solid #c89d3c;
    box-shadow:0 12px 34px rgba(42,32,20,.09);
}

.tsw-contact-field{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.tsw-contact-field--full{
    grid-column:1/-1;
}

.tsw-contact-field label{
    color:#28231c;
    font-weight:700;
}

.tsw-contact-field input,
.tsw-contact-field select,
.tsw-contact-field textarea{
    width:100%;
    min-height:48px;
    padding:12px 14px;
    border:1px solid #cfc3ae;
    background:#fff;
    color:#211f1b;
    font:inherit;
    box-sizing:border-box;
}

.tsw-contact-field textarea{
    min-height:190px;
    resize:vertical;
}

.tsw-contact-field input:focus,
.tsw-contact-field select:focus,
.tsw-contact-field textarea:focus{
    outline:2px solid #c89d3c;
    outline-offset:2px;
    border-color:#c89d3c;
}

.tsw-contact-consent{
    display:flex;
    align-items:flex-start;
    gap:10px;
    grid-column:1/-1;
    color:#5f574b;
    line-height:1.55;
}

.tsw-contact-consent input{
    width:auto;
    margin-top:4px;
}

.tsw-contact-actions{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    grid-column:1/-1;
    padding-top:4px;
}

.tsw-contact-actions small{
    color:#6d6457;
}

.tsw-contact-notice{
    margin-bottom:24px;
    padding:17px 20px;
    border-left:4px solid #c89d3c;
    background:#f5ead3;
    color:#2b261e;
}

.tsw-contact-notice--success{
    border-left-color:#4c7b4c;
    background:#e8f2e8;
}

.tsw-contact-notice--error{
    border-left-color:#9b3b32;
    background:#f7e7e4;
}

.tsw-contact-honeypot{
    position:absolute !important;
    left:-9999px !important;
    width:1px !important;
    height:1px !important;
    overflow:hidden !important;
}

@media(max-width:700px){
    .tsw-contact-form{
        grid-template-columns:1fr;
        padding:26px 22px;
    }

    .tsw-contact-field--full,
    .tsw-contact-consent,
    .tsw-contact-actions{
        grid-column:1;
    }

    .tsw-contact-actions{
        align-items:flex-start;
        flex-direction:column;
    }

    .tsw-contact-actions .heritage-button{
        width:100%;
    }
}

.tsw-contact-notice--stored{
    border-left-color:#4c7b4c;
    background:#e8f2e8;
    color:#233b23;
}
.tsw-contact-notice small{
    display:block;
    margin-top:6px;
    opacity:.82;
}


/* ================================================================
   v3.6.6 — CONTACT ACKNOWLEDGEMENT
   ================================================================ */

.tsw-contact-reference{
    display:block;
    margin-top:10px;
    font-weight:700;
    letter-spacing:.03em;
}

.tsw-contact-notice--success,
.tsw-contact-notice--stored{
    border-left-color:#4c7b4c;
    background:#e8f2e8;
    color:#233b23;
}


/* ================================================================
   v3.6.7 — CONTACT CATEGORY TEASER CARDS
   ================================================================ */

.contact-category-heading{
    max-width:900px;
    margin-bottom:38px;
}

.contact-category-heading h2{
    margin:7px 0 18px;
    font-size:clamp(42px,5vw,66px);
    line-height:1;
    text-wrap:balance;
}

.contact-category-heading > p:last-child{
    color:#665e51;
    font-size:17px;
    line-height:1.7;
}

.contact-category-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
}

.contact-category-card{
    display:flex;
    flex-direction:column;
    min-height:330px;
    padding:30px;
    background:#fffaf1;
    border-top:4px solid #c89d3c;
    box-shadow:0 8px 24px rgba(42,32,20,.08);
}

.contact-category-card__number{
    align-self:flex-start;
    margin-bottom:22px;
    color:#9a700f;
    font-size:12px;
    font-weight:800;
    letter-spacing:.12em;
}

.contact-category-card h3{
    margin:0 0 14px;
    color:#28231c;
    font:700 31px/1.05 "Cormorant Garamond",serif;
}

.contact-category-card > p{
    margin:0 0 18px;
    color:#6d6457;
    line-height:1.65;
}

.contact-category-card ul{
    margin:auto 0 0;
    padding:18px 0 0;
    list-style:none;
    border-top:1px solid #ded3c0;
}

.contact-category-card li{
    position:relative;
    padding:6px 0 6px 18px;
    color:#5f574b;
    line-height:1.5;
}

.contact-category-card li::before{
    content:"";
    position:absolute;
    left:0;
    top:15px;
    width:8px;
    height:2px;
    background:#c89d3c;
}

@media(max-width:980px){
    .contact-category-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:680px){
    .contact-category-grid{
        grid-template-columns:1fr;
    }

    .contact-category-card{
        min-height:0;
        padding:25px 22px;
    }

    .contact-category-heading h2{
        font-size:clamp(36px,11vw,50px);
    }
}


/* ================================================================
   THE SANDWELL WALKER v4.0.0 — CLEAN BASELINE
   ================================================================ */

:root{
    --tsw-black:#171512;
    --tsw-charcoal:#24211c;
    --tsw-cream:#f4ecdd;
    --tsw-paper:#fffaf1;
    --tsw-gold:#cfa238;
    --tsw-gold-dark:#b98c25;
    --tsw-ink:#28231c;
    --tsw-muted:#6b6255;
    --tsw-line:#ded3c0;
    --tsw-white:#f7f1e7;
    --tsw-shadow:0 10px 30px rgba(42,32,20,.09);
}

html{
    scroll-behavior:smooth;
}

body{
    background:var(--tsw-cream);
    color:var(--tsw-ink);
}

.v4-container,
.launch-container,
.museum-container{
    width:min(1200px,calc(100% - 48px));
    margin-inline:auto;
}

.v4-section,
.launch-section,
.museum-section{
    padding:72px 0;
}

.eyebrow{
    color:var(--tsw-gold);
    font-size:12px;
    font-weight:800;
    letter-spacing:.13em;
    text-transform:uppercase;
}

.heritage-button,
a.heritage-button,
button.heritage-button,
input[type="submit"].heritage-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
    padding:13px 22px;
    background:var(--tsw-gold)!important;
    border:1px solid var(--tsw-gold)!important;
    color:var(--tsw-black)!important;
    font-weight:800;
    line-height:1.15;
    text-align:center;
    text-decoration:none!important;
    transition:background-color .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}

.heritage-button:hover,
.heritage-button:focus{
    background:var(--tsw-gold-dark)!important;
    border-color:var(--tsw-gold-dark)!important;
    color:var(--tsw-black)!important;
    transform:translateY(-1px);
    box-shadow:0 8px 20px rgba(0,0,0,.17);
}

.text-link{
    color:#865b00;
    font-weight:700;
    text-decoration:underline;
    text-decoration-thickness:1px;
    text-underline-offset:4px;
}

.text-link:hover,
.text-link:focus{
    color:var(--tsw-black);
}

.v4-card-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
}

.v4-content-card{
    display:flex;
    flex-direction:column;
    min-width:0;
    background:var(--tsw-paper);
    border-top:4px solid var(--tsw-gold);
    box-shadow:var(--tsw-shadow);
}

.v4-content-card__image{
    display:block;
    aspect-ratio:16/9;
    overflow:hidden;
    background:var(--tsw-black);
}

.v4-content-card__image img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.v4-content-card__body{
    display:flex;
    flex:1;
    flex-direction:column;
    padding:28px;
}

.v4-content-card h2{
    margin:5px 0 14px;
    color:var(--tsw-ink);
    font:700 31px/1.08 "Cormorant Garamond",serif;
}

.v4-content-card h2 a{
    color:inherit;
    text-decoration:none;
}

.v4-content-card__body > p:not(.eyebrow){
    color:var(--tsw-muted);
    line-height:1.65;
}

.v4-content-card .text-link{
    margin-top:auto;
}

.v4-empty-state{
    padding:46px;
    background:#eee4d2;
    border-left:5px solid var(--tsw-gold);
    box-shadow:0 8px 24px rgba(42,32,20,.06);
}

.v4-empty-state h2{
    margin:7px 0 18px;
    font-size:clamp(40px,5vw,62px);
    line-height:1;
}

.v4-empty-state p{
    max-width:800px;
    color:var(--tsw-muted);
    line-height:1.7;
}

.v4-actions{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:22px;
    margin-top:24px;
}

/* Canonical dark sections */
.launch-cta,
.launch-section--dark,
.museum-section--featured,
.museum-contribute,
.site-footer{
    background:var(--tsw-black);
    color:var(--tsw-white);
}

.launch-cta h1,
.launch-cta h2,
.launch-cta h3,
.launch-section--dark h1,
.launch-section--dark h2,
.launch-section--dark h3,
.museum-section--featured h1,
.museum-section--featured h2,
.museum-section--featured h3,
.museum-contribute h1,
.museum-contribute h2,
.museum-contribute h3,
.site-footer h1,
.site-footer h2,
.site-footer h3{
    color:var(--tsw-white)!important;
}

.launch-cta p,
.launch-section--dark p,
.museum-section--featured p,
.museum-contribute p,
.site-footer p{
    color:#e5ddd0!important;
}

.launch-cta .eyebrow,
.launch-section--dark .eyebrow,
.museum-section--featured .eyebrow,
.museum-contribute .eyebrow{
    color:var(--tsw-gold)!important;
}

/* Standardised forms */
.tsw-contact-form{
    background:var(--tsw-paper);
    border-top:4px solid var(--tsw-gold);
    box-shadow:var(--tsw-shadow);
}

.tsw-contact-field input,
.tsw-contact-field select,
.tsw-contact-field textarea{
    border:1px solid #cfc3ae;
    background:#fff;
    color:var(--tsw-ink);
}

.tsw-contact-field input:focus,
.tsw-contact-field select:focus,
.tsw-contact-field textarea:focus{
    outline:2px solid var(--tsw-gold);
    border-color:var(--tsw-gold);
}

/* Navigation cleanup */
.primary-menu,
.footer-navigation{
    gap:0;
}

.primary-menu a,
.footer-navigation a{
    text-decoration:none;
}

.primary-menu .current-menu-item > a,
.primary-menu .current-menu-ancestor > a{
    color:var(--tsw-gold);
}

@media(max-width:980px){
    .v4-card-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:680px){
    .v4-container,
    .launch-container,
    .museum-container{
        width:min(100% - 36px,1200px);
    }

    .v4-section,
    .launch-section,
    .museum-section{
        padding:54px 0;
    }

    .v4-card-grid{
        grid-template-columns:1fr;
    }

    .v4-content-card__body{
        padding:24px 22px;
    }

    .v4-empty-state{
        padding:32px 24px;
    }

    .v4-actions{
        align-items:stretch;
        flex-direction:column;
    }

    .v4-actions .heritage-button{
        width:100%;
    }
}


/* ================================================================
   v4.0.1 — EXPLORE SANDWELL REFINEMENT
   ================================================================ */

.explore-introduction h2,
.explore-town-section h2,
.explore-section-heading h2{
    margin:7px 0 22px;
    font-size:clamp(42px,5vw,66px);
    line-height:1;
    text-wrap:balance;
}

.explore-introduction__copy{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:34px;
    max-width:1000px;
}

.explore-introduction__copy p,
.explore-section-heading > p{
    color:var(--tsw-muted);
    font-size:17px;
    line-height:1.72;
}

.explore-primary-routes,
.explore-latest{
    background:#eee4d2;
}

.explore-route-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
}

.explore-route-card{
    display:flex;
    flex-direction:column;
    min-height:300px;
    padding:36px;
    background:var(--tsw-paper);
    border-top:4px solid var(--tsw-gold);
    box-shadow:var(--tsw-shadow);
    color:var(--tsw-ink);
    text-decoration:none;
    transition:transform .2s ease,box-shadow .2s ease;
}

.explore-route-card:hover,
.explore-route-card:focus{
    transform:translateY(-3px);
    box-shadow:0 16px 36px rgba(42,32,20,.13);
}

.explore-route-card h2{
    margin:10px 0 18px;
    color:var(--tsw-ink);
    font:700 clamp(34px,4vw,50px)/1 "Cormorant Garamond",serif;
}

.explore-route-card p{
    max-width:520px;
    color:var(--tsw-muted);
    line-height:1.7;
}

.explore-route-card .text-link{
    margin-top:auto;
}

.explore-town-section{
    background:var(--tsw-black);
    color:var(--tsw-white);
}

.explore-town-section h2{
    color:var(--tsw-white)!important;
}

.explore-town-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
    margin-top:34px;
}

.explore-town-grid a{
    display:flex;
    flex-direction:column;
    min-height:150px;
    justify-content:flex-end;
    padding:26px;
    background:#24211c;
    border-bottom:4px solid var(--tsw-gold);
    color:var(--tsw-white);
    text-decoration:none;
    transition:transform .2s ease,background-color .2s ease;
}

.explore-town-grid a:hover,
.explore-town-grid a:focus{
    transform:translateY(-3px);
    background:#2c2822;
}

.explore-town-grid strong{
    font:700 31px/1 "Cormorant Garamond",serif;
}

.explore-town-grid span{
    margin-top:9px;
    color:#d7cec1;
}

.explore-section-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:40px;
    margin-bottom:38px;
}

.explore-section-heading > p{
    max-width:520px;
    margin-bottom:8px;
}

@media(max-width:900px){
    .explore-town-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .explore-section-heading{
        align-items:flex-start;
        flex-direction:column;
        gap:12px;
    }
}

@media(max-width:680px){
    .explore-introduction__copy,
    .explore-route-grid,
    .explore-town-grid{
        grid-template-columns:1fr;
    }

    .explore-route-card{
        min-height:0;
        padding:28px 24px;
    }

    .explore-introduction h2,
    .explore-town-section h2,
    .explore-section-heading h2{
        font-size:clamp(36px,11vw,50px);
    }
}


/* ================================================================
   v4.1.0 — ADVERTISING PLACEMENTS
   ================================================================ */

.tsw-ad-slot{
    width:100%;
    margin:38px auto;
    padding:12px;
    background:rgba(255,255,255,.42);
    border:1px solid var(--tsw-line,#ded3c0);
    text-align:center;
    box-sizing:border-box;
    overflow:hidden;
}

.tsw-ad-label{
    display:block;
    margin-bottom:8px;
    color:#776e61;
    font-size:10px;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.tsw-ad-code{
    display:flex;
    min-height:90px;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}

.tsw-ad-code > *{
    max-width:100%;
}

.tsw-ad-slot--article_after_intro,
.tsw-ad-slot--article_mid_content,
.tsw-ad-slot--before_related_content{
    max-width:970px;
}

.tsw-ad-grid-break{
    grid-column:1/-1;
    width:100%;
}

.tsw-ad-grid-break .tsw-ad-slot{
    margin:14px 0 26px;
}

@media(max-width:680px){
    .tsw-ad-slot{
        margin:28px auto;
        padding:8px;
    }

    .tsw-ad-code{
        min-height:70px;
    }
}


/* ================================================================
   v4.2.1 — SOCIAL MEDIA LINKS
   ================================================================ */
.tsw-public-social{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.tsw-social-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:12px 18px;border:1px solid var(--tsw-gold,#cfa238);color:var(--tsw-black,#171512);background:var(--tsw-gold,#cfa238);font-weight:800;text-decoration:none;transition:transform .18s ease,background-color .18s ease,border-color .18s ease}
.tsw-social-button:hover,.tsw-social-button:focus{transform:translateY(-1px);background:var(--tsw-gold-dark,#b98c25);border-color:var(--tsw-gold-dark,#b98c25);color:var(--tsw-black,#171512)}
.tsw-public-social--footer{flex-direction:column;align-items:flex-start;gap:8px}
.tsw-public-social--footer .tsw-social-button{min-height:auto;padding:0;border:0;background:transparent!important;color:#f4ecdd!important;font-weight:400}
.tsw-public-social--footer .tsw-social-button:hover,.tsw-public-social--footer .tsw-social-button:focus{color:var(--tsw-gold,#cfa238)!important;transform:none}
.tsw-social-cta{margin:42px 0;padding:34px;background:#eee4d2;border-left:5px solid var(--tsw-gold,#cfa238)}
.tsw-social-cta h2{margin:6px 0 14px;font-size:clamp(36px,4vw,52px);line-height:1}
.tsw-social-cta p:not(.eyebrow){max-width:760px;color:var(--tsw-muted,#6b6255);line-height:1.7}
.tsw-social-cta--page{margin:0;background:#171512;color:#f7f1e7;border-left:0}
.tsw-social-cta--page h2{color:#f7f1e7!important}
.tsw-social-cta--page p:not(.eyebrow){color:#e5ddd0!important}
@media(max-width:680px){.tsw-public-social:not(.tsw-public-social--footer){align-items:stretch;flex-direction:column}.tsw-public-social:not(.tsw-public-social--footer) .tsw-social-button{width:100%}.tsw-social-cta{padding:28px 22px}}


/* ================================================================
   v4.3.0 — FEATURED TOWN CONTENT
   ================================================================ */
.tsw-town-featured-heading{margin-bottom:28px}
.tsw-town-featured-heading h2{margin:7px 0 10px;font-size:clamp(38px,4.5vw,58px);line-height:1}
.tsw-town-featured-heading>p:last-child{color:var(--tsw-muted,#6b6255);line-height:1.65}
.tsw-town-featured-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:44px}
.tsw-town-featured-card{display:flex;flex-direction:column;min-width:0;background:var(--tsw-paper,#fffaf1);border-top:4px solid var(--tsw-gold,#cfa238);box-shadow:var(--tsw-shadow,0 10px 30px rgba(42,32,20,.09))}
.tsw-town-featured-card__image{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--tsw-black,#171512)}
.tsw-town-featured-card__image img{width:100%;height:100%;object-fit:cover}
.tsw-town-featured-card__body{display:flex;flex:1;flex-direction:column;padding:28px}
.tsw-town-featured-card h3{margin:8px 0 14px;font:700 34px/1.05 "Cormorant Garamond",serif}
.tsw-town-featured-card h3 a{color:var(--tsw-ink,#28231c);text-decoration:none}
.tsw-town-featured-card p:not(.eyebrow){color:var(--tsw-muted,#6b6255);line-height:1.65}
.tsw-town-featured-card .text-link{margin-top:auto}
.tsw-town-standard-heading{margin:10px 0 28px;padding-top:10px;border-top:1px solid var(--tsw-line,#ded3c0)}
.tsw-town-standard-heading h2{margin:7px 0 0;font-size:clamp(34px,4vw,50px);line-height:1}
@media(max-width:760px){.tsw-town-featured-grid{grid-template-columns:1fr}}

.tsw-image-credit{font-size:.78rem;line-height:1.45;color:#6b6255;margin:.45rem 0 1.25rem}.tsw-image-credit a{color:#8b651d;text-decoration:underline;text-underline-offset:2px}.tsw-image-credit__label{font-weight:700;color:#4b4439}


/* ================================================================
   v4.4.2 — IMAGE CAPTION + CREDIT PRESENTATION
   ================================================================ */

.tsw-image-caption{
    margin:.55rem 0 .15rem;
    color:#4e463b;
    font-size:.92rem;
    line-height:1.45;
    font-style:italic;
}

.wp-block-image figcaption,
.wp-caption-text{
    color:#4e463b;
    font-size:.92rem;
    line-height:1.45;
    font-style:italic;
}

.tsw-image-credit{
    margin:.15rem 0 1.3rem;
}
