/* Tachoni child theme — long-read pages, forms and figures
 * Used by History, the Charter, and the Be Counted registration page.
 */

.thdt-longread,
.thdt-page {
  max-width: 44rem;
  margin-inline: auto;
  font-family: var(--t-sans);
  font-size: 1.02rem;
  line-height: 1.72;
  color: var(--t-ink);
}
.thdt-longread > h2,
.thdt-page > h2 {
  font-family: var(--t-serif);
  font-size: clamp(1.45rem, 3.2vw, 1.85rem);
  color: var(--t-green);
  margin: 2.6rem 0 .5rem;
  padding-bottom: .45rem;
  border-bottom: 1px solid var(--t-rule);
  font-weight: 600;
}
.thdt-longread > h3,
.thdt-page > h3 {
  font-family: var(--t-serif);
  font-size: 1.16rem;
  color: var(--t-green);
  margin: 1.9rem 0 .35rem;
  font-weight: 600;
}
.thdt-longread p, .thdt-page p { margin: 0 0 1.05rem; }

.thdt-standfirst {
  font-size: 1.16rem !important;
  line-height: 1.6;
  color: #3d4a43;
  margin-bottom: 2rem !important;
}
:root[data-theme="dark"] .thdt-standfirst { color: #b9c4bd; }

.thdt-note {
  background: var(--t-ground);
  border-left: 3px solid var(--t-brass);
  padding: .95rem 1.15rem;
  font-size: .95rem;
  color: var(--t-muted);
  margin: 1.6rem 0 !important;
}

.thdt-sources, .thdt-draft {
  font-size: .86rem;
  color: var(--t-muted);
  border-top: 1px solid var(--t-rule);
  padding-top: .9rem;
  margin-top: 2.2rem !important;
}
.thdt-draft { border: 0; padding-top: 0; font-style: italic; margin-top: .6rem !important; }

ol.thdt-steps { padding-left: 1.2rem; margin: 0 0 1.2rem; }
ol.thdt-steps li { margin-bottom: .6rem; padding-left: .25rem; }

/* the census figures */
.thdt-figures {
  display: grid; gap: 1px; background: var(--t-rule);
  border: 1px solid var(--t-rule); border-radius: 3px;
  overflow: hidden; margin: 1.8rem 0 2rem;
}
@media (min-width: 34rem) { .thdt-figures { grid-template-columns: 1fr 1fr; } }
.thdt-fig { background: #fff; padding: 1.25rem 1.3rem; display: flex; flex-direction: column; gap: .3rem; }
:root[data-theme="dark"] .thdt-fig { background: #151d19; }
.thdt-fig-label {
  font-size: .68rem; font-weight: 700; letter-spacing: .15em;
  text-transform: uppercase; color: var(--t-muted);
}
.thdt-fig-num {
  font-size: clamp(1.9rem, 5vw, 2.5rem); font-weight: 700; line-height: 1;
  color: var(--t-green); font-variant-numeric: tabular-nums lining-nums;
}
.thdt-fig-down .thdt-fig-num { color: var(--t-clay); }
.thdt-fig-note { font-size: .82rem; color: var(--t-muted); }

/* download block */
.thdt-download {
  display: flex; align-items: center; gap: 1.1rem; flex-wrap: wrap;
  border: 1px solid var(--t-rule); border-left: 3px solid var(--t-brass);
  background: var(--t-ground); padding: 1.15rem 1.3rem; border-radius: 3px;
  margin: 1.8rem 0 2.2rem;
}
.thdt-download .meta { flex: 1 1 14rem; }
.thdt-download .name { font-family: var(--t-serif); font-size: 1.1rem; color: var(--t-green); font-weight: 600; }
.thdt-download .spec { font-size: .82rem; color: var(--t-muted); letter-spacing: .04em; }
.thdt-dl-btn {
  display: inline-block; background: var(--t-brass); color: #fbf8f0 !important;
  font-weight: 700; font-size: .92rem; padding: .7rem 1.35rem;
  border-radius: 2px; text-decoration: none !important; white-space: nowrap;
}
.thdt-dl-btn:hover { background: #8f3d13; }

/* the roles callout on Be Counted */
.thdt-roles { display: grid; gap: 1px; background: var(--t-rule);
  border: 1px solid var(--t-rule); border-radius: 3px; overflow: hidden; margin: 1.8rem 0; }
@media (min-width: 40rem) { .thdt-roles { grid-template-columns: 1fr 1fr; } }
.thdt-role { background: #fff; padding: 1.2rem 1.25rem; }
:root[data-theme="dark"] .thdt-role { background: #151d19; }
.thdt-role h4 { font-family: var(--t-serif); font-size: 1.1rem; color: var(--t-green);
  margin: 0 0 .35rem; font-weight: 600; }
.thdt-role .cap { font-size: .72rem; font-weight: 700; letter-spacing: .12em;
  text-transform: uppercase; color: var(--t-brass); display: block; margin-bottom: .5rem; }
.thdt-role p { font-size: .93rem; color: var(--t-muted); margin: 0 !important; }

/* Contact Form 7 — make it match the rest */
.thdt-form .wpcf7 { margin-top: 1.5rem; }
.thdt-form .wpcf7-form p { margin-bottom: 1.05rem; }
.thdt-form label { display: block; font-size: .74rem; font-weight: 700;
  letter-spacing: .11em; text-transform: uppercase; color: var(--t-muted); margin-bottom: .35rem; }
.thdt-form input[type=text], .thdt-form input[type=tel], .thdt-form input[type=email],
.thdt-form select, .thdt-form textarea {
  width: 100%; font-family: var(--t-sans); font-size: 1rem;
  padding: .68rem .8rem; border: 1px solid var(--t-rule); border-radius: 2px;
  background: #fff; color: var(--t-ink);
}
:root[data-theme="dark"] .thdt-form input, :root[data-theme="dark"] .thdt-form select,
:root[data-theme="dark"] .thdt-form textarea { background: #101815; }
.thdt-form input:focus, .thdt-form select:focus, .thdt-form textarea:focus {
  outline: none; border-color: var(--t-brass);
}
.thdt-form .wpcf7-list-item { display: block; margin: 0 0 .4rem; }
.thdt-form .wpcf7-list-item-label { font-size: .95rem; text-transform: none;
  letter-spacing: 0; font-weight: 400; color: var(--t-ink); }
.thdt-form .wpcf7-acceptance .wpcf7-list-item-label { font-size: .88rem; color: var(--t-muted); }
.thdt-form input[type=submit] {
  background: var(--t-brass); color: #fbf8f0; border: 0; font-weight: 700;
  font-size: 1rem; padding: .8rem 1.7rem; border-radius: 2px; cursor: pointer;
}
.thdt-form input[type=submit]:hover { background: #8f3d13; }
.thdt-fieldnote { font-size: .84rem; color: var(--t-muted); margin-top: -.6rem !important; }

/* download block: name and spec are separate lines */
.thdt-download .name,
.thdt-download .spec { display: block; }
.thdt-download .spec { margin-top: .2rem; }

/* ---------------------------------------------------------------
 * Inner page banner
 * The demo used a photograph we do not have. Until real Tachoni
 * photography exists, give it the Chetambe green rather than a grey
 * placeholder box.
 * --------------------------------------------------------------- */
.page-banner,
.ova-banner,
.banner-page,
.egovt-banner,
.wrap-banner-page {
  background-color: var(--t-green) !important;
  background-image: linear-gradient(180deg, #142f26 0%, #1f4737 100%) !important;
  color: #edf1ea;
}
.page-banner h1, .ova-banner h1, .banner-page h1,
.page-banner .title, .ova-banner .title,
.page-banner a, .ova-banner a,
.page-banner .breadcrumb, .ova-banner .breadcrumb,
.page-banner .breadcrumb a, .ova-banner .breadcrumb a {
  color: #edf1ea !important;
}
.page-banner .breadcrumb a:hover, .ova-banner .breadcrumb a:hover { color: var(--t-brass-lt, #c25a24) !important; }

/* ===============================================================
 * Header: logo sizing and the overlap fix
 * The THDT logo is a wide lockup (3.5:1). Left unconstrained it
 * pushes into the menu and collides with the first item.
 * =============================================================== */
.ova_logo img,
.ova_logo a img,
.wrap_logo img {
  max-height: 62px;
  width: auto;
  max-width: 300px;
  height: auto;
  display: block;
}
@media (max-width: 1199px) { .ova_logo img, .wrap_logo img { max-height: 52px; max-width: 240px; } }
@media (max-width: 767px)  { .ova_logo img, .wrap_logo img { max-height: 44px; max-width: 200px; } }

/* give the menu its own space so it cannot sit under the lockup */
@media (min-width: 992px) {
  .ova_menu_clasic .ova_nav { padding-left: 1.4rem; }
  .ova_logo { padding-right: 1.4rem; }
}

/* ---------------------------------------------------------------
 * Language selector — compact, with a globe rather than a flag.
 * Flags are a poor stand-in for languages generally, and worse here:
 * Kiswahili is not one country's, and Olutachoni has no flag at all.
 * --------------------------------------------------------------- */
.ova_language, .wrap_language, .language-switcher {
  font-family: var(--t-sans);
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.ova_language > a::before,
.wrap_language > a::before,
.ova_language .lang_current::before {
  content: "\f0ac";                    /* font-awesome globe */
  font-family: "Font Awesome 5 Free", "FontAwesome";
  font-weight: 900;
  margin-right: .4rem;
  color: var(--t-brass);
  font-size: .95em;
}
.ova_language, .wrap_language { min-width: 0 !important; }

/* ===============================================================
 * Page components
 * =============================================================== */
ul.thdt-list { margin: 0 0 1.15rem; padding-left: 1.15rem; }
ul.thdt-list li { margin-bottom: .55rem; }

/* related-pages block: where the trimmed nav items stay discoverable */
.thdt-related {
  margin: 3rem 0 0;
  border-top: 1px solid var(--t-rule);
  padding-top: 1.4rem;
}
.thdt-related h2 {
  font-family: var(--t-sans) !important;
  font-size: .74rem !important;
  font-weight: 700 !important;
  letter-spacing: .15em !important;
  text-transform: uppercase;
  color: var(--t-muted) !important;
  border: 0 !important;
  margin: 0 0 .9rem !important;
  padding: 0 !important;
}
.thdt-related ul { list-style: none; margin: 0; padding: 0;
  display: grid; gap: 1px; background: var(--t-rule);
  border: 1px solid var(--t-rule); border-radius: 3px; overflow: hidden; }
@media (min-width: 34rem) { .thdt-related ul { grid-template-columns: 1fr 1fr; } }
.thdt-related li { margin: 0; }
.thdt-related a {
  display: block; background: #fff; padding: .85rem 1rem;
  text-decoration: none !important; height: 100%;
}
:root[data-theme="dark"] .thdt-related a { background: #151d19; }
.thdt-related a:hover { background: var(--t-ground); }
.thdt-related a span {
  display: block; font-family: var(--t-serif); font-size: 1.02rem;
  color: var(--t-green); font-weight: 600;
}
.thdt-related a em { display: block; font-style: normal; font-size: .84rem; color: var(--t-muted); margin-top: .12rem; }

/* data table */
.thdt-tablewrap { overflow-x: auto; border: 1px solid var(--t-rule); border-radius: 3px; margin: 1.5rem 0 1.2rem; }
table.thdt-table { border-collapse: collapse; width: 100%; min-width: 32rem; background: #fff; }
:root[data-theme="dark"] table.thdt-table { background: #151d19; }
.thdt-table th, .thdt-table td { text-align: left; padding: .68rem .9rem;
  border-bottom: 1px solid var(--t-rule); font-size: .93rem; }
.thdt-table thead th { background: var(--t-ground); font-size: .68rem; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase; color: var(--t-muted); white-space: nowrap; }
.thdt-table td.n, .thdt-table th.n { text-align: right; font-variant-numeric: tabular-nums lining-nums; white-space: nowrap; }
.thdt-table td.c { font-size: .82rem; color: var(--t-muted); font-variant-numeric: tabular-nums; white-space: nowrap; }
.thdt-table td.cl { font-family: var(--t-serif); font-size: 1.02rem; font-weight: 600; color: var(--t-green); }
.thdt-table tfoot td { background: var(--t-ground); font-weight: 700;
  border-top: 1px solid var(--t-rule); font-variant-numeric: tabular-nums; }
.thdt-table tbody tr:hover { background: var(--t-ground); }
.chip { display: inline-block; font-size: .64rem; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; padding: .16rem .45rem; border: 1px solid var(--t-brass);
  color: var(--t-brass); border-radius: 2px; white-space: nowrap; }

/* lexicon specimen */
.thdt-spec { border: 1px solid var(--t-rule); border-radius: 3px; overflow: hidden; margin: 1.5rem 0; background: #fff; }
:root[data-theme="dark"] .thdt-spec { background: #151d19; }
.thdt-spec-row { display: flex; gap: 1.1rem; align-items: baseline; flex-wrap: wrap;
  padding: .85rem 1.1rem; border-bottom: 1px solid var(--t-rule); }
.thdt-spec-row:last-child { border-bottom: 0; }
.thdt-spec-row .w { font-family: var(--t-serif); font-size: 1.16rem; font-weight: 600;
  color: var(--t-green); min-width: 9rem; }
.thdt-spec-row .i { font-size: .84rem; color: var(--t-muted); }
.thdt-spec-row .e { font-size: .95rem; color: var(--t-muted); }

/* archive catalogue */
.thdt-cat { display: grid; gap: 1px; background: var(--t-rule);
  border: 1px solid var(--t-rule); border-radius: 3px; overflow: hidden; margin: 1.6rem 0; }
@media (min-width: 34rem) { .thdt-cat { grid-template-columns: 1fr 1fr; } }
@media (min-width: 58rem) { .thdt-cat { grid-template-columns: repeat(3, 1fr); } }
.thdt-cat article { background: #fff; padding: 1.1rem 1.15rem; display: flex; flex-direction: column; gap: .4rem; }
:root[data-theme="dark"] .thdt-cat article { background: #151d19; }
.thdt-cat .acc { font-size: .7rem; font-weight: 700; letter-spacing: .09em;
  text-transform: uppercase; color: var(--t-brass); }
.thdt-cat h4 { font-family: var(--t-serif); font-size: 1.06rem; font-weight: 600;
  color: var(--t-green); margin: 0; line-height: 1.25; }
.thdt-cat p { font-size: .89rem; color: var(--t-muted); margin: 0 !important; }
.thdt-cat .meta { margin-top: auto; padding-top: .55rem; border-top: 1px solid var(--t-rule);
  font-size: .78rem; color: var(--t-muted); font-variant-numeric: tabular-nums; }

/* empty state */
.thdt-empty { border: 1px dashed var(--t-rule); border-radius: 3px;
  padding: 1.4rem 1.5rem; background: var(--t-ground); margin: 1.5rem 0; }
.thdt-empty p { margin-bottom: .7rem !important; color: var(--t-muted); }
.thdt-empty p:first-child { color: var(--t-ink); }

.thdt-cta-inline { margin: 1.8rem 0 !important; }

/* the ova_logo widget outputs a normal and a sticky image; only one should show */
.ova_logo a > img ~ img,
.wrap_logo a > img ~ img,
.ova_logo .logo_sticky,
.ova_logo img.sticky { display: none !important; }
.ova_logo a { display: inline-block; line-height: 0; }

/* the real inner-page banner class */
.wrap_ova_header,
.wrap_ova_header.bg_feature_img {
  background-color: var(--t-green) !important;
  background-image: linear-gradient(180deg, #102a18 0%, #1f4634 100%) !important;
  background-size: cover;
  background-position: center;
}
.wrap_ova_header .ova_header_el,
.wrap_ova_header h1,
.wrap_ova_header .header_title,
.wrap_ova_header a,
.wrap_ova_header .breadcrumb,
.wrap_ova_header .breadcrumb a,
.wrap_ova_header span { color: #edf1ea !important; }
.wrap_ova_header .breadcrumb a:hover { color: #e58654 !important; }
.wrap_ova_header h1, .wrap_ova_header .header_title {
  font-family: var(--t-serif) !important;
  font-weight: 600 !important;
  letter-spacing: -.015em;
}

/* ova_logo emits a desktop and a mobile image; show exactly one */
/* both slots now carry the same file, so show the first and only the first */
.ova_logo img ~ img,
.ova_logo img:nth-of-type(n+2),
.wrap_logo img:nth-of-type(n+2) { display: none !important; }
.ova_logo img:first-of-type { display: block !important; }

/* long-form aligns with the page title, not centred against it */
.thdt-longread, .thdt-page { margin-left: 0; margin-right: 0; }


/* the register call that replaced the newsletter form */
.thdt-band-cta { max-width: 34rem; }
.thdt-band-cta p { color: rgba(255,255,255,.86); margin-bottom: 1rem; }
.thdt-band-cta .thdt-dl-btn { background: var(--t-brass); color: #fff !important; }
.thdt-band-cta .thdt-dl-btn:hover { background: #c25a24; }

/* ---------------------------------------------------------------
 * Article titles are written as sentences. The theme capitalises
 * Every Word, which mangles them ("August At Ndivisi").
 * --------------------------------------------------------------- */
.entry-title, .post-title, .blog-title,
.entry-title a, .post-title a,
article h2, article h3,
.ova-blog .title, .ova-blog .title a,
.wrap_ova_header h1, .header_title { text-transform: none !important; }

/* category chip above each article */
.cat-links, .post-cat, .entry-meta .cat, .ova-blog .cat {
  font-family: var(--t-sans);
  font-size: .7rem; font-weight: 700; letter-spacing: .13em;
  text-transform: uppercase; color: var(--t-brass);
}

/* ===============================================================
 * Dispatches — archive grid and single article
 * Single column, centred measure, no sidebar furniture.
 * =============================================================== */

/* the parent still reserves sidebar width in places; reclaim it */
.thdt-single .main,
.wrap_site.layout_1c .main { width: 100% !important; max-width: none !important; float: none !important; }
.thdt-single #sidebar, .thdt-single .sidebar { display: none !important; }

/* article measure */
.thdt-single .main > article,
.thdt-single .entry-content,
.thdt-single .content_post,
.thdt-single .post-content {
  max-width: 46rem;
  margin-inline: auto;
}
.thdt-single .entry-content p,
.thdt-single .post-content p { font-size: 1.06rem; line-height: 1.75; }

/* article header */
.thdt-single .entry-title,
.thdt-single h1 {
  font-family: var(--t-serif);
  font-size: clamp(1.9rem, 4.6vw, 2.9rem);
  line-height: 1.15;
  letter-spacing: -.018em;
  color: var(--t-green);
  text-transform: none !important;
  max-width: 20ch;
}
.thdt-single .entry-meta,
.thdt-single .post-meta {
  font-family: var(--t-sans);
  font-size: .78rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--t-muted);
}
.thdt-single .featured-image img,
.thdt-single .post-thumbnail img { border-radius: 3px; }

/* ---------------- More dispatches ---------------- */
.thdt-more {
  max-width: 62rem;
  margin: 4rem auto 0;
  padding-top: 2rem;
  border-top: 1px solid var(--t-rule);
}
.thdt-more > h2 {
  font-family: var(--t-sans);
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--t-muted);
  margin: 0 0 1.4rem;
}
.thdt-more-grid { display: grid; gap: 1.6rem; }
@media (min-width: 40rem) { .thdt-more-grid { grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr)); gap: 1.4rem; } }

.thdt-more-card {
  display: flex; flex-direction: column;
  border: 1px solid var(--t-rule);
  border-radius: 3px;
  overflow: hidden;
  background: #fff;
  transition: border-color .15s ease, transform .15s ease;
}
:root[data-theme="dark"] .thdt-more-card { background: #151d19; }
.thdt-more-card:hover { border-color: var(--t-brass); transform: translateY(-2px); }

.thdt-more-thumb { display: block; line-height: 0; background: var(--t-green); }
.thdt-more-thumb img { width: 100%; height: 150px; object-fit: cover; display: block; }
.thdt-more-noimg { display: block; height: 150px;
  background: linear-gradient(180deg, #102a18 0%, #1f4634 100%); }

.thdt-more-body { padding: 1rem 1.1rem 1.15rem; display: flex; flex-direction: column; gap: .45rem; flex: 1; }
.thdt-more-cat {
  font-size: .66rem; font-weight: 700; letter-spacing: .14em;
  text-transform: uppercase; color: var(--t-brass);
}
.thdt-more-card h3 { margin: 0; font-family: var(--t-serif); font-size: 1.08rem;
  font-weight: 600; line-height: 1.3; text-transform: none; }
.thdt-more-card h3 a { color: var(--t-green); text-decoration: none; }
.thdt-more-card h3 a:hover { color: var(--t-brass); }
.thdt-more-card p { margin: 0; font-size: .88rem; color: var(--t-muted); line-height: 1.55; }
.thdt-more-date { margin-top: auto; padding-top: .6rem; font-size: .74rem;
  color: var(--t-faint, var(--t-muted)); font-variant-numeric: tabular-nums; }
.thdt-more-all { max-width: 62rem; margin: 1.4rem auto 0; }
.thdt-more-all a {
  font-family: var(--t-sans); font-size: .82rem; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase;
  color: var(--t-brass); text-decoration: none;
}
.thdt-more-all a::after { content: " →"; }

/* ---------------- comments, below the related posts ---------------- */
.thdt-single #comments,
.thdt-single .comments-area,
.thdt-single .wrap_comment {
  max-width: 46rem;
  margin: 3.5rem auto 0;
  padding-top: 2rem;
  border-top: 1px solid var(--t-rule);
}
.thdt-single #comments h2, .thdt-single #comments h3,
.thdt-single .comments-area h2, .thdt-single .comments-area h3 {
  font-family: var(--t-serif); color: var(--t-green);
  font-size: 1.35rem; text-transform: none;
}
.thdt-single #comments input[type=text],
.thdt-single #comments input[type=email],
.thdt-single #comments textarea,
.thdt-single .comments-area input[type=text],
.thdt-single .comments-area input[type=email],
.thdt-single .comments-area textarea {
  width: 100%; font-family: var(--t-sans); font-size: 1rem;
  padding: .68rem .8rem; border: 1px solid var(--t-rule);
  border-radius: 2px; background: var(--t-ground); color: var(--t-ink);
}
.thdt-single #comments input[type=submit],
.thdt-single .comments-area input[type=submit],
.thdt-single .comments-area .submit {
  background: var(--t-brass); color: #fff; border: 0; font-weight: 700;
  padding: .78rem 1.6rem; border-radius: 2px; cursor: pointer;
}

/* ---------------- archive: Grid Medium ---------------- */
.blog-grid.grid_medium .item,
.blog-grid.grid_medium article { border-radius: 3px; }
.blog-grid .title, .blog-grid .title a,
.blog-grid h2, .blog-grid h3 { text-transform: none !important; font-family: var(--t-serif); }
.blog-grid .title a:hover { color: var(--t-brass); }

/* ---------------- single post: centred, single-column measure ----------------
 * The theme's single template fills the whole wrap and lets .thdt-page hug the
 * left (rule at the top of this file switches auto margins off for Elementor
 * pages). On a post there is no column to align to, so restore centring here:
 *   media / share / more dispatches -> 62rem band
 *   running text / meta / comments  -> 44rem measure, centred inside it
 */
.thdt-single .post-wrap { max-width: 62rem; margin-inline: auto; }
.thdt-single .post-title { display: none; }  /* the page banner already carries the h1 */
.thdt-single .post-media img {
  width: 100%; height: auto; aspect-ratio: 16 / 7;
  object-fit: cover; border-radius: 3px;
}
.thdt-single .post-meta,
.thdt-single .post-tag,
.thdt-single .ova-next-pre-post { max-width: 44rem; margin-inline: auto; }
.thdt-single .thdt-page,
.thdt-single .thdt-longread { max-width: 44rem; margin-left: auto; margin-right: auto; }
.thdt-single #comments,
.thdt-single .comments-area,
.thdt-single .wrap_comment { max-width: 44rem; }

/* comment form: the theme orders the URL field above name/email and makes the
 * submit a 100px pill. Name and email first, then website, then the comment. */
.thdt-single .comment-form .wrap-name-email { order: 1; }
.thdt-single .comment-form > input.form-control { order: 2; }
.thdt-single .comment-form > textarea.form-control { order: 3; }
.thdt-single .comment-form .comment-form-cookies-consent { order: 4; }
.thdt-single .comment-form .form-submit { order: 5; }
.thdt-single #commentform input.submit {
  border-radius: 2px !important;
  padding: .8rem 2rem !important;
  width: auto !important;
  font-family: var(--t-sans);
  letter-spacing: .06em;
}

/* ---------------- home hero ----------------
 * Replaces the Slider Revolution hero. The theme's bundled copy of that plugin
 * ships without public/js/module.js and its siblings, so it never initialises.
 */
.thdt-hero { position: relative; }
.thdt-hero .elementor-widget-wrap { max-width: 62rem; margin-inline: auto; padding-inline: 1.5rem; }
.thdt-hero .thdt-hero-eyebrow {
  font-family: var(--t-sans); font-size: .74rem; font-weight: 700;
  letter-spacing: .18em; text-transform: uppercase;
  color: var(--t-brass-lt); margin: 0 0 1.1rem;
}
.thdt-hero .thdt-hero-title .elementor-heading-title,
.thdt-hero .thdt-hero-title h1 {
  font-family: var(--t-serif);
  font-size: clamp(2.1rem, 5.2vw, 3.9rem);
  line-height: 1.08; letter-spacing: -.02em;
  color: #f4f6f1; margin: 0; text-transform: none;
}
.thdt-hero .thdt-hero-lede { margin-top: 1.5rem; max-width: 40rem; }
.thdt-hero .thdt-hero-lede p {
  font-family: var(--t-sans); font-size: 1.06rem; line-height: 1.7;
  color: rgba(244,246,241,.82); margin: 0 0 1.1rem;
}
.thdt-hero .thdt-hero-btns { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.8rem; }
.thdt-hero .thdt-hero-btn {
  display: inline-block; padding: .85rem 1.7rem; border-radius: 2px;
  font-family: var(--t-sans); font-size: .92rem; font-weight: 700;
  letter-spacing: .04em; text-decoration: none;
  background: var(--t-brass); color: #fff !important; border: 1px solid var(--t-brass);
  transition: background .15s ease, border-color .15s ease;
}
.thdt-hero .thdt-hero-btn:hover { background: var(--t-brass-lt); border-color: var(--t-brass-lt); }
.thdt-hero .thdt-hero-btn.is-ghost {
  background: transparent; border-color: rgba(244,246,241,.45); color: #f4f6f1 !important;
}
.thdt-hero .thdt-hero-btn.is-ghost:hover { border-color: #f4f6f1; background: rgba(244,246,241,.08); }
@media (max-width: 40rem) { .thdt-hero .thdt-hero-btn { width: 100%; text-align: center; } }
/* the photograph is strong, so the scrim is a gradient rather than a flat wash:
   dense where the words are, opening up over the recorder on the right */
.thdt-hero .elementor-background-overlay {
  background: linear-gradient(100deg,
      rgba(13,34,20,.95) 0%,
      rgba(13,34,20,.88) 38%,
      rgba(13,34,20,.62) 72%,
      rgba(13,34,20,.45) 100%) !important;
  opacity: 1 !important;
}
.thdt-hero > .elementor-container { position: relative; z-index: 2; }
