/* ================================================================
   Section 508 / WCAG 2.1 AA — colour contrast (1.4.3) and
   link identification (1.4.1).

   Every value below was measured, not estimated. The originals sat
   between 2.15:1 and 4.48:1 against a 4.5:1 requirement, which is a
   hard failure for federal procurement.
   ================================================================ */

/* Cookie bar controls: #ffffff on #cd9f70 measured 2.39:1.
   Dark ink on the same gold measures 7.64:1 — the brand colour is
   unchanged, only the label darkens. */
#cn-accept-cookie,
#cn-refuse-cookie,
#cn-more-info,
.cn-set-cookie,
.cn-more-info,
#cookie-notice .cn-button:not(.cn-close-icon) {
  color: #1B1408 !important;
  font-weight: 600;
}

/* Gold call-to-action buttons: white on #d9a774 measured 2.16:1,
   dark ink measures 8.46:1. */
.elementskit-btn,
.ekit-btn-wraper > a,
.elementor-button[style*="D9A774"],
.elementor-button[style*="d9a774"] { color: #1B1408 !important; }

/* Post meta (dates, categories): #adadad measured 2.24:1. */
.elementor-post__meta-data,
.elementor-post__meta-data span,
.elementor-post-date,
.elementor-post-avatar { color: #5F6570 !important; }

/* Post excerpts: #777777 measured 4.48:1 — just under the line. */
.elementor-post__excerpt,
.elementor-post__excerpt p { color: #5F6570 !important; }

/* Small labels: #9a9aa2 measured 2.79:1. */
.lbl,
[data-placement] > .lbl { color: #5F6570 !important; }

/* Table captions in long-form articles: #B98F5E measured 2.94:1. */
.trybus-article table caption { color: #8A5E2C !important; }

/* 1.4.1 Use of Colour — a link inside prose must be identifiable
   without colour. The earlier rule covered <p>; list items were the
   gap axe found. */
.trybus-article li > a:not(.elementor-button):not([class*="btn"]),
.elementor-widget-text-editor li > a:not(.elementor-button),
.elementor-widget-theme-post-content li > a:not(.elementor-button) {
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-thickness: 1px;
}


/* Remaining gold buttons whose label was still white (#ffffff on #d9a774 =
   2.15:1). Same treatment: brand colour untouched, label darkened to 8.46:1.
   Targeted by widget id because the background is set per-widget, so there is
   no class to hook. */
.elementor-element-0ea3e42 .elementor-button-text,
.elementor-element-0ea3e42 .elementor-button,
.elementor-element-0ea3e42 a.elementor-button,
.elementor-element-0ee91b7 .elementor-button-text,
.elementor-element-0ee91b7 .elementor-button,
.elementor-element-0ee91b7 a.elementor-button,
.elementor-element-23bdddd .elementor-button-text,
.elementor-element-23bdddd .elementor-button,
.elementor-element-23bdddd a.elementor-button,
.elementor-element-262b44a9 .elementor-button-text,
.elementor-element-262b44a9 .elementor-button,
.elementor-element-262b44a9 a.elementor-button,
.elementor-element-2711cd97 .elementor-button-text,
.elementor-element-2711cd97 .elementor-button,
.elementor-element-2711cd97 a.elementor-button,
.elementor-element-331df71 .elementor-button-text,
.elementor-element-331df71 .elementor-button,
.elementor-element-331df71 a.elementor-button,
.elementor-element-34446ad .elementor-button-text,
.elementor-element-34446ad .elementor-button,
.elementor-element-34446ad a.elementor-button,
.elementor-element-3e65ab55 .elementor-button-text,
.elementor-element-3e65ab55 .elementor-button,
.elementor-element-3e65ab55 a.elementor-button,
.elementor-element-44fef3b .elementor-button-text,
.elementor-element-44fef3b .elementor-button,
.elementor-element-44fef3b a.elementor-button,
.elementor-element-4631f22 .elementor-button-text,
.elementor-element-4631f22 .elementor-button,
.elementor-element-4631f22 a.elementor-button,
.elementor-element-4a9d684 .elementor-button-text,
.elementor-element-4a9d684 .elementor-button,
.elementor-element-4a9d684 a.elementor-button,
.elementor-element-64ca8de2 .elementor-button-text,
.elementor-element-64ca8de2 .elementor-button,
.elementor-element-64ca8de2 a.elementor-button,
.elementor-element-6b987c41 .elementor-button-text,
.elementor-element-6b987c41 .elementor-button,
.elementor-element-6b987c41 a.elementor-button,
.elementor-element-79e1f4f .elementor-button-text,
.elementor-element-79e1f4f .elementor-button,
.elementor-element-79e1f4f a.elementor-button,
.elementor-element-7d88b6c7 .elementor-button-text,
.elementor-element-7d88b6c7 .elementor-button,
.elementor-element-7d88b6c7 a.elementor-button,
.elementor-element-7f0a3c3 .elementor-button-text,
.elementor-element-7f0a3c3 .elementor-button,
.elementor-element-7f0a3c3 a.elementor-button,
.elementor-element-7f799a6 .elementor-button-text,
.elementor-element-7f799a6 .elementor-button,
.elementor-element-7f799a6 a.elementor-button,
.elementor-element-806f27b .elementor-button-text,
.elementor-element-806f27b .elementor-button,
.elementor-element-806f27b a.elementor-button,
.elementor-element-b122d10 .elementor-button-text,
.elementor-element-b122d10 .elementor-button,
.elementor-element-b122d10 a.elementor-button,
.elementor-element-c7c52f9 .elementor-button-text,
.elementor-element-c7c52f9 .elementor-button,
.elementor-element-c7c52f9 a.elementor-button,
.elementor-element-cae90e0 .elementor-button-text,
.elementor-element-cae90e0 .elementor-button,
.elementor-element-cae90e0 a.elementor-button,
.elementor-element-cbf2c39 .elementor-button-text,
.elementor-element-cbf2c39 .elementor-button,
.elementor-element-cbf2c39 a.elementor-button,
.elementor-element-cc91a28 .elementor-button-text,
.elementor-element-cc91a28 .elementor-button,
.elementor-element-cc91a28 a.elementor-button,
.elementor-element-cee821a .elementor-button-text,
.elementor-element-cee821a .elementor-button,
.elementor-element-cee821a a.elementor-button,
.elementor-element-d4700ff .elementor-button-text,
.elementor-element-d4700ff .elementor-button,
.elementor-element-d4700ff a.elementor-button,
.elementor-element-e0e3ef2 .elementor-button-text,
.elementor-element-e0e3ef2 .elementor-button,
.elementor-element-e0e3ef2 a.elementor-button,
.elementor-element-eb04033 .elementor-button-text,
.elementor-element-eb04033 .elementor-button,
.elementor-element-eb04033 a.elementor-button,
.elementor-element-ebcb043 .elementor-button-text,
.elementor-element-ebcb043 .elementor-button,
.elementor-element-ebcb043 a.elementor-button,
.elementor-element-fa3500f .elementor-button-text,
.elementor-element-fa3500f .elementor-button,
.elementor-element-fa3500f a.elementor-button { color: #1B1408 !important; }

/* Tooltip / dropdown labels rendered on gold */
[data-placement] .li,
[data-placement] a { color: #1B1408 !important; }

/* 1.4.1 — links in the legal pages sit inside styled spans, not <p> */
.legal a, [data-custom-class="link"] {
  text-decoration: underline;
  text-underline-offset: 2px;
}


/* A heading rendered white on the gold band measured below 4.5:1.
   Same approach as the buttons: keep the brand colour, darken the text. */
.elementor-element[class*="elementor-element-"] .elementor-heading-title[style*="color:#FFF"],
.elementor-heading-title[style*="color:#fff"] { color: #1B1408 !important; }

/* Legal-page links written as spans with a custom class */
a[data-custom-class="link"] { text-decoration: underline !important; text-underline-offset: 2px; }


/* One heading used #C68D76 on white (2.9:1). Darkened within the same
   terracotta family to clear AA at 4.5:1. */
.elementor-element-7e9c70e .elementor-heading-title { color: #A9603F !important; }

/* the industry logo band needed words beside the logos */
.elementor-element-tb-logo-lede{max-width:60rem;margin:0 auto 1.25rem;text-align:center;font-family:"Montserrat",sans-serif;font-size:15px;line-height:1.7;color:#616670}
.elementor-element-tb-logo-lede p{margin:0 0 .75rem}
.elementor-element-tb-logo-lede a{color:#8A5340;text-decoration:underline;font-weight:600}

/* Two terracotta contrast failures found by axe on 15 August, both pre-existing
   and both from the brand colour #C68D76 sitting at 2.81:1 against white.
   The hue is kept; only the lightness moves, by the smallest step that clears
   the threshold, so the pages still read as the same palette. */

/* large heading in terracotta on white: needs 3:1, was 2.81, now 3.5 */
.elementor-element.elementor-element-27f5d9e .elementor-heading-title,
.elementor-element.elementor-element-27f5d9e > h2{color:#B87A61 !important}

/* 12px white label on a terracotta fill: needs 4.5:1, was 2.81, now 5.73 */
.elementor-2618 .elementor-element.elementor-element-35a474d .elementor-button{background-color:#96553D;color:#fff;fill:#fff}

/* One icon system, 16 August. The old icons came from four libraries mixed in
   one viewport, and the ElementsKit font was subsetted during the migration to
   14 glyphs, so most of its 904 class names painted nothing. These are drawn as
   inline SVG on a single 24-unit grid at one stroke weight, inheriting the
   colour the theme already sets. */
.elementor-icon .tb-icon{width:46px;height:46px;display:block}
.elementor-icon-list-icon .tb-icon{width:30px;height:30px;display:block}
.elementor-icon-box-icon .elementor-icon{color:#C68D76}
.elementor-icon-list-icon:has(.tb-icon){align-self:flex-start;margin-top:1px}


/* ── /resources/ listing, 17 August ────────────────────────────────────────
   The grid was an Elementor posts widget whose cards were maintained by hand,
   so two of them had lost their descriptions and one was still advertising a
   title the post no longer used. Every field is now read out of the post at
   build time. There are no thumbnails by design: the ones the old site used
   were duplicated stock photographs. The topic and the read time do the work
   the picture was supposed to do, and do it honestly. */
.tb-resintro{max-width:46rem;margin:0 0 2rem !important;font-family:"Montserrat",sans-serif;
  font-size:1.0625rem !important;line-height:1.75 !important;color:#4A5A62}
.tb-resfilter{margin:0 0 2rem}
/* the theme sets every h2 in Eurostile at 38px uppercase, and every <button> to
   a filled terracotta pill, so the rules the cards need have to say so */
.tb-resfilter__h{font-family:"Montserrat",sans-serif !important;font-size:.75rem !important;
  letter-spacing:.09em !important;text-transform:uppercase;color:#60747C;margin:0 0 .7rem !important;
  font-weight:600 !important;line-height:1.4 !important}
.tb-resfilter__row{display:flex;flex-wrap:wrap;gap:.5rem}
.tb-resfilter__row .tb-resfilter__btn{font-family:"Montserrat",sans-serif !important;
  font-size:.875rem !important;line-height:1 !important;letter-spacing:0 !important;
  text-transform:none !important;font-weight:500 !important;
  padding:.65rem 1rem !important;border:1px solid #E0D3C8 !important;border-radius:999px !important;
  background:#fff !important;color:#274550 !important;cursor:pointer;
  transition:background-color .15s ease,border-color .15s ease}
.tb-resfilter__row .tb-resfilter__btn span{color:#8A5340;margin-left:.35rem;
  font-variant-numeric:tabular-nums}
.tb-resfilter__row .tb-resfilter__btn:hover{border-color:#C68D76 !important;background:#FAF2EC !important}
.tb-resfilter__row .tb-resfilter__btn.is-on{background:#274550 !important;
  border-color:#274550 !important;color:#fff !important}
.tb-resfilter__row .tb-resfilter__btn.is-on span{color:#E6C3B2}
.tb-resfilter__btn:focus-visible{outline:3px solid #96553D;outline-offset:2px}
.tb-resfilter__live{margin:.75rem 0 0;font-family:"Montserrat",sans-serif;font-size:.8125rem;
  color:#60747C;min-height:1.2em}

.tb-resgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.75rem;
  list-style:none;margin:0;padding:0}
.tb-rescard{display:flex;flex-direction:column;list-style:none;background:#fff;border:1px solid #E8DCD2;
  border-top:3px solid #C68D76;border-radius:6px;padding:1.6rem 1.5rem 1.25rem;
  position:relative;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.tb-rescard:hover{box-shadow:0 10px 26px rgba(39,69,80,.12);transform:translateY(-2px)}
.tb-rescard:focus-within{box-shadow:0 0 0 3px rgba(150,85,61,.35)}
.tb-rescard__tag--lead{color:#8A5340;background:#F3E0D5;font-weight:700}
.tb-rescard__tag--lead .tb-rescard__sep{margin:0 .45rem;color:#C68D76}
.tb-rescard__tag{display:inline-block;align-self:flex-start;font-family:"Montserrat",sans-serif;
  font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;
  color:#74532C;background:#FAF2EC;border-radius:999px;padding:.3rem .7rem;margin:0 0 .85rem}
.tb-rescard .tb-rescard__title{font-family:"Eurostile","Rubik",system-ui,sans-serif !important;
  font-size:1.25rem !important;line-height:1.3 !important;letter-spacing:.005em !important;
  text-transform:none !important;font-weight:500 !important;margin:0 0 .7rem !important;
  color:#274550;overflow-wrap:anywhere}
.tb-rescard__title a{color:inherit;text-decoration:none}
.tb-rescard__title a::after{content:"";position:absolute;inset:0}
.tb-rescard:hover .tb-rescard__title a{color:#8A5340}
.tb-rescard__title a:focus-visible{outline:none}
.tb-rescard__excerpt{font-family:"Montserrat",sans-serif;font-size:.9375rem !important;
  line-height:1.7 !important;color:#4A5A62;margin:0 0 1.25rem !important}
.tb-rescard__meta{margin:auto 0 0 !important;padding-top:.9rem;border-top:1px solid #F0E6DC;
  font-family:"Montserrat",sans-serif;font-size:.8125rem;color:#4F6068;
  display:flex;align-items:center;flex-wrap:wrap;gap:.4rem}
.tb-rescard__sep{color:#C7B6A8}
.tb-rescard__more{margin-left:auto;color:#8A5340;font-weight:600}
.tb-rescard:hover .tb-rescard__more{text-decoration:underline}
.tb-rescard--lead{grid-column:1/-1;background:#FAF2EC;border-color:#E4D3C5;
  border-top-width:4px;padding:2rem 2rem 1.5rem}
.tb-rescard--lead .tb-rescard__title{font-size:1.875rem !important;line-height:1.2 !important;
  max-width:26ch}
.tb-rescard--lead .tb-rescard__excerpt{font-size:1.0625rem !important;max-width:70ch}
.tb-rescard--lead .tb-rescard__meta{border-top-color:#E4D3C5}
@media (max-width:1024px){
  .tb-resgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.35rem}
  .tb-rescard--lead .tb-rescard__title{font-size:1.625rem !important}
}
@media (max-width:767px){
  .tb-resgrid{grid-template-columns:1fr;gap:1.1rem}
  .tb-rescard{padding:1.35rem 1.25rem 1.1rem}
  .tb-rescard--lead{padding:1.5rem 1.25rem 1.15rem}
  .tb-rescard--lead .tb-rescard__title{font-size:1.375rem !important}
  .tb-rescard--lead .tb-rescard__excerpt{font-size:1rem !important}
  .tb-rescard__more{margin-left:0;width:100%}
}
@media (prefers-reduced-motion:reduce){
  .tb-rescard{transition:none}
  .tb-rescard:hover{transform:none}
}

/* read time in the keep-reading rail, so the same two facts follow an article
   wherever it is named */
.tb-kr__time{display:block;font-size:.75rem;color:#74532C;margin-top:.4rem}

/* ── /tribal-nations/ landing page, 17 August ──────────────────────────────
   Two things this page needed that the industry stylesheet did not carry:
   bullets inside a card, and the CTA and button rules, which until now lived
   only in article.css. That is why the closing CTA on the seven industry pages
   renders as unstyled text — those pages never load article.css. Moving the
   rules here fixes all of them without touching any page's markup. */
.tb-card__list{margin:.85rem 0 0;padding:0 0 0 1.05rem}
.tb-card__list li{margin:.4rem 0;font-family:"Montserrat",sans-serif;font-size:.9375rem;
  line-height:1.6;color:#4A5A62}
.tb-card__list li::marker{color:#C68D76}
.tb-eyebrow{font-family:"Montserrat",sans-serif;font-size:.75rem;letter-spacing:.12em;
  text-transform:uppercase;font-weight:700;color:#8A5340;margin:0 0 .9rem}
.tb-lede-band .tb-inner{max-width:52rem}
.tb-lede--first{font-size:1.1875rem !important;line-height:1.7 !important;color:#33454D}
.tb-cta__row--left{justify-content:flex-start;margin-top:1.6rem}

/* the CTA and button system, previously only on article pages */
.tb-cta{font-family:"Rubik","Montserrat",system-ui,sans-serif}
.tb-cta--end{background:#274550;color:#fff;padding:clamp(2.5rem,6vw,3.75rem) 1.25rem;margin:0}
.tb-cta--end__inner{max-width:52rem;margin:0 auto;text-align:center}
.tb-cta--end h2{font-family:"Eurostile","Rubik",system-ui,sans-serif;
  font-size:clamp(1.5rem,3.4vw,2.15rem) !important;line-height:1.2 !important;
  margin:0 0 .9rem !important;color:#fff !important;text-wrap:balance;border:0;padding:0}
.tb-cta--end p{margin:0 auto 1.7rem;max-width:40rem;font-size:1.0625rem;line-height:1.65;
  color:#EDE6DE}
.tb-cta__row{display:flex;flex-wrap:wrap;gap:.85rem;justify-content:center}
.tb-btn{display:inline-block;padding:.85rem 1.75rem;border-radius:3px;font-size:.9375rem;
  font-weight:600;letter-spacing:.05em;text-transform:uppercase;text-decoration:none !important;
  border:2px solid transparent;
  transition:background-color .15s ease,color .15s ease,border-color .15s ease}
.tb-btn--primary{background:#D9A774;color:#241705 !important;border-color:#D9A774}
.tb-btn--primary:hover,.tb-btn--primary:focus-visible{background:#C08B4E;border-color:#C08B4E}
.tb-btn--ghost{background:transparent;color:#fff !important;border-color:#9FB4BC}
.tb-btn--ghost:hover,.tb-btn--ghost:focus-visible{background:#fff;color:#274550 !important;
  border-color:#fff}
.tb-btn--dark{background:transparent;color:#274550 !important;border-color:#60747C}
.tb-btn--dark:hover,.tb-btn--dark:focus-visible{background:#274550;color:#fff !important;
  border-color:#274550}
.tb-cta__fine{margin:1.4rem 0 0;font-size:.9375rem;color:#DCD4CB}
.tb-cta__fine a{color:#E8B984;text-decoration:underline;text-underline-offset:2px}
.tb-cta__fine a:hover,.tb-cta__fine a:focus-visible{color:#fff}
.tb-btn:focus-visible{outline:3px solid #D9A774;outline-offset:3px}

/* ── home page, 17 August ─────────────────────────────────────────────────
   The two cards under "Choose Your Path" put white 18px text on the terracotta
   fill, which measures 1.9:1 against it. The site's own buttons already use
   near-black on that same colour, so the text follows the buttons rather than
   the fill changing. */
.elementor-155 .elementor-element.elementor-element-5df1da5 :is(h1,h2,h3,h4,h5,h6,p,span,li),
.elementor-155 .elementor-element.elementor-element-fea19c4 :is(h1,h2,h3,h4,h5,h6,p,span,li){
  color:#241705 !important}

/* Amber on near-white was used for three more things on this page and measures
   2.2:1. Same family, darkened to the smallest step that clears the threshold:
   3:1 for the 32px section title, 4.5:1 for the 14px and 17px labels. */
.elementor-155 .elementor-element-5b90f40 .ekit-heading--title{color:#A9603F !important}
.elementor-155 .elementor-element-06277c9 .elementor-testimonial__name{color:#8A5340 !important}
.elementor-155 .elementor-element-08abefa .elementor-heading-title{color:#8A5340 !important}

/* ── the Professional and Managed Services icons, 17 August ───────────────
   Four marks on one grid, one weight, one colour, aligned to the first line of
   the label they sit beside. Set for the band, not per widget, because per
   widget is how they drifted into two colours and two copies of the same
   picture. */
.elementor-155 .elementor-element-26afc31 .elementor-icon-list-icon{
  color:#A9603F !important;align-self:flex-start;margin-top:1px}
.elementor-155 .elementor-element-26afc31 .elementor-icon-list-icon .tb-icon{
  width:30px;height:30px;display:block}
/* the theme fills any svg inside an icon slot, which turned these outline marks
   into solid blobs */
svg.tb-icon{fill:none !important}
.elementor-155 .elementor-element-26afc31 .elementor-icon-list-icon svg.e-font-icon-svg{
  width:17px;height:17px}

/* ── home hero, 17 August ─────────────────────────────────────────────────
   The grey hexagons are gone. They had no shape at small sizes and no meaning
   at any size. Variant B: an engineer at a cabling rack, faded into the gradient on its left edge.

   The headline keeps a text column clear of the artwork at every width, and
   below 1024px the artwork drops out entirely so the headline sits on flat
   colour. */
.elementor-155 .elementor-element.elementor-element-44dd328:not(.elementor-motion-effects-element-type-background){background-image:linear-gradient(90deg,#16282F 0%,rgba(22,40,47,.94) 34%,rgba(22,40,47,.72) 52%,rgba(22,40,47,.22) 74%,rgba(22,40,47,.10) 100%),url(/assets/img/hero-work.webp),linear-gradient(105deg,#16282F 0%,#1E3A45 45%,#274550 100%) !important;background-position:center,right center,center !important;background-size:cover,auto 108%,cover !important;background-repeat:no-repeat,no-repeat,no-repeat !important}
@media (max-width:1024px){
  .elementor-155 .elementor-element.elementor-element-44dd328:not(.elementor-motion-effects-element-type-background){background-image:linear-gradient(105deg,#16282F 0%,#1E3A45 45%,#274550 100%) !important;background-size:cover !important}
}
.elementor-155 .elementor-element.elementor-element-44dd328::before{opacity:0}
.elementor-155 .elementor-element.elementor-element-967c5ea .elementor-heading-title{
  text-shadow:0 1px 12px rgba(10,20,25,.45)}
@media (min-width:1025px){
  /* the words keep their own column; the button row is left alone so the
     labels do not wrap inside the notched buttons */
  .elementor-155 .elementor-element.elementor-element-967c5ea,
  .elementor-155 .elementor-element.elementor-element-90fb628{max-width:68% !important}
}

/* ── links inside an icon-list item, 18 August ────────────────────────────
   Elementor styles `.elementor-icon-list-item > a` as a flex row, because it
   expects the whole item to be one link. A link written *inside* the item's
   text inherits that and drops onto its own line, in the theme's grey — which
   on a dark band is unreadable. These links take the colour of the sentence
   they sit in and are marked by a terracotta underline instead, so they work on
   the dark bands and the light ones without a second rule. */
.elementor-icon-list-text a{display:inline !important;color:inherit !important;
  text-decoration:underline;text-decoration-color:#D9A774;text-decoration-thickness:2px;
  text-underline-offset:3px;font-weight:600}
.elementor-icon-list-text a:hover,.elementor-icon-list-text a:focus-visible{
  text-decoration-color:currentColor}


/* ── body grey at 14px, 18 August ─────────────────────────────────────────
   On phones the home page's service band drops to 14px, where the theme's
   #7A7A7A on white measures 4.29:1 and fails AA. One step darker clears it at
   every size the site uses. */
.elementor-155 .elementor-element-26afc31 :is(p,span,b,li),
.elementor-155 .elementor-element-26afc31 .elementor-icon-list-text{color:#5F5F5F !important}

/* ── header call-to-action buttons, 18 August ─────────────────────────────
   White labels, to match the navigation, on the brand gold. Brandon asked for
   white and for the gold left alone, and the gold is his call: white on
   #D9A774 measures 2.16:1, which is below the 4.5:1 AA threshold for 12px
   text. Noted here rather than silently corrected. The hover state darkens the
   fill, which is where the label gets its contrast back. */
.ekit-template-content-header .elementskit-btn,
.ekit-template-content-header .ekit-btn-wraper > a{
  color:#fff !important;fill:#fff !important}
.ekit-template-content-header .elementskit-btn:hover,
.ekit-template-content-header .elementskit-btn:focus-visible,
.ekit-template-content-header .ekit-btn-wraper > a:hover,
.ekit-template-content-header .ekit-btn-wraper > a:focus-visible{
  color:#fff !important;
  background-image:linear-gradient(65deg,#B07A45 90%,rgba(0,0,0,0) 90%) !important}

/* ── FAQ disclosures, 18 August ───────────────────────────────────────────
   Questions collapsed by default, opened one at a time. Native <details>, so
   this works with no JavaScript and needs no widget. The marker is drawn rather
   than using the browser's triangle, which cannot be styled consistently. */
.tb-faqs{max-width:56rem;margin:0 auto;display:block !important;grid-template-columns:1fr !important;
  column-gap:0 !important}
details.tb-faq{border-bottom:1px solid #E3D6CA;padding:0}
details.tb-faq:first-of-type{border-top:1px solid #E3D6CA}
details.tb-faq > summary{list-style:none;cursor:pointer;position:relative;
  padding:1.15rem 3rem 1.15rem 0;display:block}
details.tb-faq > summary::-webkit-details-marker{display:none}
details.tb-faq > summary h3{margin:0 !important;font-family:"Montserrat",sans-serif !important;
  font-size:1.0625rem !important;line-height:1.5 !important;font-weight:600 !important;
  letter-spacing:0 !important;text-transform:none !important;color:inherit}
details.tb-faq > summary::after{content:"";position:absolute;right:.65rem;top:1.55rem;
  width:11px;height:11px;border-right:2px solid #C68D76;border-bottom:2px solid #C68D76;
  transform:rotate(45deg);transition:transform .18s ease}
details.tb-faq[open] > summary::after{transform:rotate(-135deg);top:1.85rem}
details.tb-faq > summary:hover h3{color:#8A5340}
details.tb-faq > summary:focus-visible{outline:3px solid #96553D;outline-offset:3px}
details.tb-faq .tb-faq__a{margin:0;padding:0 3rem 1.35rem 0}
details.tb-faq .tb-faq__a p{margin:0;font-family:"Montserrat",sans-serif;font-size:1rem;
  line-height:1.75;color:inherit;opacity:.92}
/* on the dark bands the hairline has to be light instead */
.tb-band--dark details.tb-faq,.tb-cream details.tb-faq{border-color:#E3D6CA}
@media (prefers-reduced-motion:reduce){
  details.tb-faq > summary::after{transition:none}
}

/* ── white on gold, 18 August ──────────────────────────────────────────────
   Discovered in a browser after the hidden bands were unhidden: white text on
   #D9A774 measures 2.15:1. The gold stays, the text goes to near-black, which
   is what the buttons and the home page cards already do. */
.elementor-element-0ea3e42 .elementor-heading-title,
.elementor-element-0ea3e42 > .elementor-widget-container,
.elementor-element-0ee91b7 .elementor-heading-title,
.elementor-element-0ee91b7 > .elementor-widget-container,
.elementor-element-23bdddd .elementor-heading-title,
.elementor-element-23bdddd > .elementor-widget-container,
.elementor-element-34446ad .elementor-heading-title,
.elementor-element-34446ad > .elementor-widget-container,
.elementor-element-7f0a3c3 .elementor-heading-title,
.elementor-element-7f0a3c3 > .elementor-widget-container,
.elementor-element-d4700ff .elementor-heading-title,
.elementor-element-d4700ff > .elementor-widget-container,
.elementor-element-ed494f9 .elementor-heading-title,
.elementor-element-ed494f9 > .elementor-widget-container{color:#241705 !important}

/* ── amber labels at 17px, 18 August ──────────────────────────────────────
   Checked with the entrance animations settled, so these are real rather than a
   mid-fade reading. #D9A774 is 2.15:1 on white and #B87A61 is 3.5:1, and 17px
   at normal weight needs 4.5:1. The selectors carry the same weight as the
   rules they replace, including an earlier fix of mine that only reached 3.5. */
.elementor-element.elementor-element-3e635ae6 .elementor-heading-title,
.elementor-element.elementor-element-325c79b6 .elementor-heading-title,
.elementor-element.elementor-element-27f5d9e .elementor-heading-title,
.elementor-element.elementor-element-27f5d9e > h2{color:#8A5340 !important}

/* ── partner popups, 18 August ────────────────────────────────────────────
   The Elementor popup templates are inert markup in a static export, so they
   were printing as a stack of partner descriptions under the footer. Hidden
   here, and opened as a real dialog by /assets/trybus/popups.js. */
.tb-partner-popup{display:none !important}
.tb-modal{position:fixed;inset:0;z-index:9999;background:rgba(16,28,33,.72);
  display:flex;align-items:center;justify-content:center;padding:1.5rem}
.tb-modal[hidden]{display:none}
.tb-modal__panel{position:relative;background:#fff;border-radius:6px;max-width:44rem;width:100%;
  max-height:86vh;overflow:auto;padding:2.25rem 2rem 1.75rem;
  box-shadow:0 24px 60px rgba(10,20,25,.35)}
.tb-modal__panel:focus{outline:none}
.tb-modal__panel .tb-partner-popup{display:block !important}
.tb-modal__close{position:absolute;top:.5rem;right:.6rem;width:2.25rem;height:2.25rem;
  border:0;background:transparent;font-size:1.75rem;line-height:1;color:#60747C;cursor:pointer;
  border-radius:4px}
.tb-modal__close:hover{color:#242424;background:#F3EAE2}
.tb-modal__close:focus-visible{outline:3px solid #96553D;outline-offset:2px}
@media (max-width:600px){.tb-modal{padding:.75rem}.tb-modal__panel{padding:2rem 1.15rem 1.25rem}}

/* ── stage lists, 18 August ───────────────────────────────────────────────
   The icon lists that carry a bold label, a break and a paragraph had no gap
   between items, so seven stages ran together as one block, and the check mark
   sat beside the middle of each block rather than beside the label. Scoped with
   :has() to items that actually have a label, so plain icon lists are left as
   they are. */
.elementor-icon-list-items > li:has(> .elementor-icon-list-text > b){
  align-items:flex-start !important;
  margin-bottom:26px !important}
.elementor-icon-list-items > li:has(> .elementor-icon-list-text > b):last-child{
  margin-bottom:0 !important}
.elementor-icon-list-items > li:has(> .elementor-icon-list-text > b)
  > .elementor-icon-list-icon{
  align-self:flex-start !important;
  margin-top:3px}
/* the label becomes its own line, which is what the <br> was doing by hand, and
   takes the darker brand colour so it separates from the body it introduces */
.elementor-icon-list-text > b:first-child{
  display:block;
  margin-bottom:3px;
  color:#274550;
  font-weight:700}
.elementor-icon-list-text > b:first-child + br{display:none}
/* a link inside the body computed to 600, close enough to the label's 700 to
   read as another heading mid sentence */
.elementor-icon-list-text a{font-weight:inherit !important}

@media (max-width:767px){
  .elementor-icon-list-items > li:has(> .elementor-icon-list-text > b){
    margin-bottom:22px !important}
}
