/* Tut Gold Core — components (D3–D6)
 *
 * RTL RULE, unchanged: no physical left/right anywhere. Logical properties
 * only. Every colour is a token — no hex literals in this file. */

/* ===================================================================
   SECTION HEADER
   =================================================================== */
.tgc-sechead { margin-block-end: 34px; }
.tgc-sechead--center { text-align: center; }
.tgc-sechead__title { font-size: clamp(28px, 4vw, 44px); margin-block-start: 10px; }
.tgc-sechead__sub { color: var(--tg-ink-70); max-inline-size: 62ch; margin: 0; }
.tgc-sechead--center .tgc-sechead__sub { margin-inline: auto; }
.tgc-section--brand .tgc-sechead__sub,
.tgc-section--deep .tgc-sechead__sub { color: rgba(255,255,255,.78); }

.tgc-textlink {
	color: var(--tg-brand); font-weight: 700; font-size: 15px;
	text-decoration: underline; text-underline-offset: 4px;
	text-decoration-color: var(--tg-accent); text-decoration-thickness: 2px;
}
.tgc-textlink:hover { color: var(--tg-accent-dk); }

/* ===================================================================
   TOP BAR + HEADER  (D4)
   =================================================================== */
.tgc-topbar { background: var(--tg-brand-deep); color: rgba(255,255,255,.78); font-size: 13.5px; }
.tgc-topbar__in { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; padding-block: 8px; }
.tgc-topbar__contact { display: flex; gap: 22px; flex-wrap: wrap; }
.tgc-topbar a { color: inherit; text-decoration: none; }
.tgc-topbar a:hover { color: var(--tg-accent); }
.tgc-topbar b { color: var(--tg-accent); font-weight: 600; }
.tgc-topbar__actions { display: flex; align-items: center; gap: 14px; }
.tgc-topbar__investor {
	border: 1px solid var(--tg-accent-30); padding-block: 4px; padding-inline: 12px;
	border-radius: var(--tg-radius); font-size: 12.5px;
}
.tgc-topbar__social {
	inline-size: 22px; block-size: 22px; display: inline-flex; align-items: center; justify-content: center;
	background: rgba(255,255,255,.15); border-radius: 3px; font-size: 11px; font-weight: 700;
}

.tgc-header { background: var(--tg-base); border-block-end: 1px solid var(--tg-line); }
.tgc-header.is-sticky { position: sticky; inset-block-start: 0; z-index: 90; box-shadow: 0 2px 12px var(--tg-brand-05); }
.tgc-header__in { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-block-size: 78px; }

.tgc-brand { display: flex; align-items: center; gap: 12px; text-decoration: none; padding-block: 10px; }

/* Height is the control; width follows the logo's own aspect ratio. The
   inline-size:auto is what stops WordPress's width attribute squashing it. */
.tgc-brand__logo {
	block-size: var(--tg-logo-h, 54px);
	inline-size: auto;
	max-inline-size: min(100%, 420px);
	object-fit: contain;
}

/* Logo-only: no gap to close, and the image is free to take the full area. */
.tgc-brand--logo-only { gap: 0; }
.tgc-brand--logo-only .tgc-brand__logo { max-inline-size: min(100%, 520px); }

/* Visually hidden, still read aloud — carries the company name when the
   text lockup is switched off. */
.tgc-brand .screen-reader-text {
	position: absolute; inline-size: 1px; block-size: 1px;
	padding: 0; margin: -1px; overflow: hidden;
	clip-path: inset(50%); white-space: nowrap; border: 0;
}
.tgc-brand__mark {
	inline-size: 44px; block-size: 44px; border-radius: 50%;
	background: linear-gradient(145deg, var(--tg-accent), var(--tg-accent-dk));
	color: #fff; font-family: var(--tg-font-head); font-weight: 700; font-size: 16px;
	display: flex; align-items: center; justify-content: center; flex: none;
}
.tgc-brand__text b {
	display: block; font-family: var(--tg-font-head); font-size: 20px;
	color: var(--tg-brand); text-transform: var(--tg-head-case); letter-spacing: .03em; font-weight: var(--tg-head-w);
}
.tgc-brand__text i { display: block; font-style: normal; font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var(--tg-accent); font-weight: 600; }
.tgc-brand--light .tgc-brand__text b { color: #fff; }

.tgc-nav .tgc-menu { display: flex; gap: 26px; list-style: none; margin: 0; padding: 0; align-items: center; }
.tgc-nav .tgc-menu a {
	font-family: var(--tg-font-head); font-size: 14px; font-weight: 500;
	letter-spacing: .1em; text-transform: uppercase; color: var(--tg-brand);
	text-decoration: none; padding-block: 6px; border-block-end: 2px solid transparent; display: block;
}
.tgc-nav .tgc-menu a:hover,
.tgc-nav .tgc-menu .current-menu-item > a { color: var(--tg-accent); border-block-end-color: var(--tg-accent); }
.tgc-nav .tgc-menu .sub-menu { display: none; }
.tgc-nav__empty { font-size: 13px; color: var(--tg-ink-70); margin: 0; }

.tgc-navtoggle {
	display: none; background: none; border: 0; cursor: pointer; padding: 8px; gap: 5px; flex-direction: column;
}
.tgc-navtoggle span { display: block; inline-size: 24px; block-size: 2px; background: var(--tg-brand); }

/* ===================================================================
   HERO  (D5)
   =================================================================== */
.tgc-hero { position: relative; overflow: hidden; }
.tgc-hero__slides { display: grid; }
.tgc-hero__slide {
	grid-area: 1 / 1;
	min-block-size: clamp(420px, 62vh, 640px);
	display: flex; align-items: center;
	background-size: cover; background-position: center;
	opacity: 0; visibility: hidden; transition: opacity .7s ease;
	position: relative;
}
.tgc-hero__slide.is-active { opacity: 1; visibility: visible; }
.tgc-hero__slide::before {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(100deg,
		color-mix(in srgb, var(--tg-brand-deep) calc(var(--tg-hero-overlay, .82) * 100%), transparent) 35%,
		color-mix(in srgb, var(--tg-brand-deep) 45%, transparent) 78%,
		var(--tg-accent-30));
}
/* Fallback for browsers without color-mix. */
@supports not (background: color-mix(in srgb, red 50%, blue)) {
	.tgc-hero__slide::before { background: linear-gradient(100deg, var(--tg-brand-deep) 35%, transparent 90%); opacity: var(--tg-hero-overlay, .82); }
}
.tgc-hero__in { position: relative; z-index: 2; padding-block: 80px; }
.tgc-hero__title {
	color: #fff; font-size: clamp(34px, 5.4vw, 62px);
	max-inline-size: 17ch; margin-block: 14px 18px;
}
.tgc-hero__text { color: rgba(255,255,255,.86); font-size: 19px; max-inline-size: 54ch; margin-block-end: 34px; }
.tgc-hero__cta { display: flex; gap: 16px; flex-wrap: wrap; }
.tgc-hero__cta .tgc-btn--ghost { color: #fff; }

.tgc-hero__dots {
	position: absolute; inset-block-end: 24px; inset-inline-start: 50%; transform: translateX(-50%);
	display: flex; gap: 9px; z-index: 3;
}
.tgc-hero__dots button {
	inline-size: 30px; block-size: 4px; border: 0; padding: 0; cursor: pointer;
	background: rgba(255,255,255,.4); border-radius: 2px; transition: background .25s;
}
.tgc-hero__dots button.is-active { background: var(--tg-accent); }

/* ===================================================================
   QUICK LINKS  (D5)
   =================================================================== */
.tgc-quick { position: relative; z-index: 5; margin-block-start: -52px; }
.tgc-quick__grid { display: grid; grid-template-columns: repeat(var(--tg-quick-cols, 4), 1fr); gap: 18px; }
.tgc-quick__card {
	background: var(--tg-base); border: 1px solid var(--tg-line);
	border-block-start: 4px solid var(--tg-accent); border-radius: var(--tg-radius);
	padding: 26px 20px; text-align: center; text-decoration: none;
	box-shadow: 0 10px 26px var(--tg-brand-12); transition: transform .25s;
}
.tgc-quick__card:hover { transform: translateY(-5px); }
.tgc-quick__icon { display: block; font-size: 26px; margin-block-end: 8px; }
.tgc-quick__label {
	font-family: var(--tg-font-head); font-size: 15px; font-weight: var(--tg-head-w);
	text-transform: var(--tg-head-case); letter-spacing: .06em; color: var(--tg-brand);
}

/* ===================================================================
   STATS  (D5)
   =================================================================== */
.tgc-stats__grid { display: grid; grid-template-columns: repeat(var(--tg-stat-cols, 4), 1fr); gap: 30px; }
.tgc-stats__item { text-align: center; }
.tgc-stats__value {
	display: block; font-family: var(--tg-font-head); font-weight: var(--tg-head-w);
	font-size: clamp(30px, 3.6vw, 46px); color: var(--tg-accent); line-height: 1.1;
}
.tgc-stats__label {
	display: block; margin-block-start: 8px; font-size: 12px;
	letter-spacing: .22em; text-transform: uppercase; color: rgba(255,255,255,.7);
}

/* ===================================================================
   WELCOME  (D5)
   =================================================================== */
.tgc-welcome__in { max-inline-size: 720px; margin-inline: auto; text-align: center; }
.tgc-welcome__text p { margin-block-end: 14px; }

/* ===================================================================
   CARDS  (D3)
   =================================================================== */
.tgc-card { display: flex; flex-direction: column; }
.tgc-card__media { display: block; position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: var(--tg-surface); }
.tgc-card__img { inline-size: 100%; block-size: 100%; object-fit: cover; transition: transform .5s; }
.tgc-card:hover .tgc-card__img { transform: scale(1.05); }
.tgc-card__placeholder {
	position: absolute; inset: 0;
	background: linear-gradient(135deg, var(--tg-brand), var(--tg-brand-deep));
}
.tgc-card__media .tgc-card__badge { position: absolute; inset-block-start: 12px; inset-inline-start: 12px; }
.tgc-card__body { padding: 24px 22px; display: flex; flex-direction: column; flex: 1; }
.tgc-card__meta {
	font-size: 12px; letter-spacing: .16em; text-transform: uppercase;
	color: var(--tg-ink-70); margin: 0 0 8px; display: flex; gap: 10px; align-items: center; flex-wrap: wrap;
}
.tgc-card__meta i { font-style: normal; opacity: .5; }
.tgc-card__reg {
	background: var(--tg-accent-12); color: var(--tg-accent-dk);
	padding-block: 3px; padding-inline: 9px; border-radius: var(--tg-radius);
	font-weight: 700; letter-spacing: .1em;
}
.tgc-card__title { font-size: 22px; margin-block-end: 10px; }
.tgc-card__title a { color: inherit; text-decoration: none; }
.tgc-card__title a:hover { color: var(--tg-accent-dk); }
.tgc-card__text { font-size: 15.5px; color: var(--tg-ink-70); margin: 0 0 14px; }
.tgc-card__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-block-start: auto; }
.tgc-card__link {
	margin-block-start: auto; font-family: var(--tg-font-head); font-size: 13px;
	letter-spacing: .14em; text-transform: uppercase; color: var(--tg-accent-dk);
	text-decoration: none; display: inline-flex; align-items: center; gap: 7px;
}
.tgc-card__link i { transition: transform .25s; }
.tgc-card__link:hover i { transform: translateX(4px); }
.tgc-rtl .tgc-card__link:hover i { transform: translateX(-4px); }
.tgc-card__pdf {
	font-size: 12px; letter-spacing: .12em; text-transform: uppercase;
	color: var(--tg-brand); text-decoration: none; border: 1px solid var(--tg-line);
	padding-block: 5px; padding-inline: 10px; border-radius: var(--tg-radius);
}
.tgc-card__pdf:hover { border-color: var(--tg-accent); color: var(--tg-accent-dk); }

.tgc-metrics--card { margin-block: 4px 16px; }
.tgc-metrics--card div { padding-block: 6px; font-size: 13.5px; }

.tgc-grid__more { text-align: center; margin-block-start: 40px; }

/* ===================================================================
   PAGE HEAD, CRUMBS, NOTICE, FILTERS  (D6)
   =================================================================== */
.tgc-pagehead {
	background: var(--tg-brand); color: #fff; position: relative;
	padding-block: clamp(44px, 6vw, 84px); background-size: cover; background-position: center;
}
.tgc-pagehead.has-image::before {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(100deg, var(--tg-brand-deep) 25%, rgba(0,0,0,.35));
	opacity: .88;
}
.tgc-pagehead > .tgc-wrap-in { position: relative; z-index: 2; }
.tgc-pagehead__title { color: #fff; font-size: clamp(30px, 4.6vw, 52px); margin-block: 10px 8px; }
.tgc-pagehead__sub { color: rgba(255,255,255,.8); max-inline-size: 58ch; margin: 0; }
.tgc-pagehead--single { padding-block: clamp(60px, 8vw, 120px); }
.tgc-pagehead--single .tgc-card__badge { margin-block-end: 14px; }

.tgc-crumbs { margin-block-start: 16px; font-size: 12.5px; color: rgba(255,255,255,.7); display: flex; gap: 8px; flex-wrap: wrap; }
.tgc-crumbs a { color: var(--tg-accent); text-decoration: none; }
.tgc-crumbs i { font-style: normal; opacity: .5; }

.tgc-notice-strip {
	background: var(--tg-accent); color: var(--tg-brand-deep);
	font-size: 14px; font-weight: 600; text-align: center; padding-block: 11px;
}
.tgc-notice-strip a { color: inherit; text-decoration: none; display: inline-flex; gap: 10px; align-items: center; }
.tgc-notice__dot { inline-size: 7px; block-size: 7px; border-radius: 50%; background: var(--tg-brand-deep); display: inline-block; }

.tgc-filters { display: flex; gap: 10px; flex-wrap: wrap; margin-block-end: 34px; }
.tgc-filters__btn {
	font-family: var(--tg-font-head); font-size: 13px; letter-spacing: .1em; text-transform: uppercase;
	border: 1px solid var(--tg-line); border-radius: var(--tg-radius);
	padding-block: 9px; padding-inline: 18px; color: var(--tg-brand); text-decoration: none;
	display: inline-flex; align-items: center; gap: 8px; transition: .2s;
}
.tgc-filters__btn:hover { border-color: var(--tg-accent); }
.tgc-filters__btn.is-active { background: var(--tg-brand); border-color: var(--tg-brand); color: #fff; }
.tgc-filters__btn i { font-style: normal; font-size: 11px; opacity: .6; }

.tgc-pagination { display: flex; gap: 8px; justify-content: center; margin-block-start: 44px; flex-wrap: wrap; }
.tgc-pagination .page-numbers {
	min-inline-size: 42px; block-size: 42px; display: inline-flex; align-items: center; justify-content: center;
	border: 1px solid var(--tg-line); border-radius: var(--tg-radius);
	color: var(--tg-brand); text-decoration: none; font-weight: 600;
}
.tgc-pagination .page-numbers.current,
.tgc-pagination .page-numbers:hover { background: var(--tg-brand); border-color: var(--tg-brand); color: #fff; }

.tgc-empty { text-align: center; color: var(--tg-ink-70); padding-block: 50px; }

/* ===================================================================
   SINGLE CONCESSION  (D6)
   =================================================================== */
.tgc-single__layout { display: grid; grid-template-columns: 1.6fr 1fr; gap: 54px; align-items: start; }
.tgc-single__lede { font-size: 20px; line-height: 1.65; color: var(--tg-brand); font-weight: 600; margin-block-end: 24px; }
.tgc-single__content h2 { font-size: 28px; margin-block: 30px 12px; }
.tgc-single__content h3 { font-size: 22px; margin-block: 24px 10px; }
.tgc-single__content p { margin-block-end: 16px; }
.tgc-single__content ul { padding-inline-start: 22px; margin-block-end: 16px; }

.tgc-factbox {
	background: var(--tg-surface); border: 1px solid var(--tg-line);
	border-block-start: 4px solid var(--tg-accent); border-radius: var(--tg-radius);
	padding: 26px 24px; position: sticky; inset-block-start: 100px;
}
.tgc-factbox__head { font-size: 17px; margin-block-end: 14px; }
.tgc-coords { margin-block-start: 18px; padding-block-start: 16px; border-block-start: 1px solid var(--tg-line); }
.tgc-coords code { display: block; margin-block: 6px 8px; font-size: 13px; color: var(--tg-brand); }

.tgc-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
.tgc-gallery__item { display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--tg-radius); }
.tgc-gallery__item img { inline-size: 100%; block-size: 100%; object-fit: cover; transition: transform .5s; }
.tgc-gallery__item:hover img { transform: scale(1.06); }

/* ===================================================================
   CTA BAND + PARTNERS + FOOTER
   =================================================================== */
.tgc-ctaband .tgc-wrap-in { text-align: center; }
.tgc-ctaband__title { color: #fff; font-size: clamp(26px, 3.4vw, 40px); max-inline-size: 22ch; margin-inline: auto; margin-block-end: 28px; }

.tgc-partners__head { text-align: center; font-size: clamp(22px, 3vw, 32px); margin-block-end: 26px; }
.tgc-partners__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 12px; }
.tgc-partners__cell {
	background: var(--tg-base); border: 1px solid var(--tg-line); border-radius: var(--tg-radius);
	block-size: 84px; display: flex; align-items: center; justify-content: center; padding: 12px;
}
.tgc-partners__logo {
	max-block-size: 100%; max-inline-size: 100%; object-fit: contain;
	filter: grayscale(1); opacity: .62; transition: filter .3s, opacity .3s;
}
.tgc-partners__cell:hover .tgc-partners__logo { filter: none; opacity: 1; }

.tgc-footer { background: var(--tg-brand-deep); color: rgba(255,255,255,.72); padding-block: 54px 26px; }
.tgc-footer__grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr; gap: 44px; padding-block-end: 32px; }
.tgc-footer .tgc-brand { padding-block: 0; }
.tgc-footer__blurb { font-size: 14.5px; margin-block-start: 16px; max-inline-size: 46ch; }
.tgc-footer__head {
	color: #fff; font-size: 15px; margin-block-end: 14px;
	padding-block-end: 10px; border-block-end: 1px solid rgba(255,255,255,.14);
}
.tgc-footer__links { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
.tgc-footer__links a { color: inherit; text-decoration: none; font-size: 14.5px; }
.tgc-footer__links a:hover { color: var(--tg-accent); }
.tgc-footer__bar {
	display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap;
	border-block-start: 1px solid rgba(255,255,255,.12); padding-block-start: 20px; font-size: 13px;
}
.tgc-footer__menu { display: flex; gap: 18px; list-style: none; margin: 0; padding: 0; }
.tgc-footer__menu a { color: inherit; text-decoration: none; }
.tgc-footer__menu a:hover { color: var(--tg-accent); }

/* ===================================================================
   RESPONSIVE
   =================================================================== */
@media (max-width: 1024px) {
	.tgc-single__layout { grid-template-columns: 1fr; gap: 34px; }
	.tgc-factbox { position: static; }
	.tgc-footer__grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 900px) {
	.tgc-quick__grid { grid-template-columns: repeat(2, 1fr); }
	.tgc-stats__grid { grid-template-columns: repeat(2, 1fr); }
	.tgc-quick { margin-block-start: -30px; }

	.tgc-brand__logo { block-size: var(--tg-logo-h-mob, 42px); }
	.tgc-brand--logo-only .tgc-brand__logo { max-inline-size: min(100%, 300px); }

	.tgc-navtoggle { display: flex; }
	.tgc-nav {
		position: absolute; inset-inline: 0; inset-block-start: 100%;
		background: var(--tg-base); border-block-end: 1px solid var(--tg-line);
		padding: 0 24px; max-block-size: 0; overflow: hidden; transition: max-block-size .3s ease;
	}
	.tgc-header__in { position: relative; }
	.tgc-nav.is-open { max-block-size: 70vh; overflow-y: auto; padding-block: 14px 20px; }
	.tgc-nav .tgc-menu { flex-direction: column; align-items: stretch; gap: 0; }
	.tgc-nav .tgc-menu a { padding-block: 13px; border-block-end: 1px solid var(--tg-line); }
	.tgc-nav .tgc-menu .sub-menu { display: block; list-style: none; padding-inline-start: 16px; }
}

@media (max-width: 600px) {
	.tgc-footer__grid { grid-template-columns: 1fr; gap: 30px; }
	.tgc-topbar__in { justify-content: center; text-align: center; }
	.tgc-hero__text { font-size: 17px; }
}

@media (prefers-reduced-motion: reduce) {
	.tgc-hero__slide { transition: none; }
	.tgc-card__img, .tgc-gallery__item img, .tgc-quick__card, .tgc-card__link i { transition: none; }
	.tgc-card:hover .tgc-card__img, .tgc-quick__card:hover { transform: none; }
}

/* ===================================================================
   EDITOR-ONLY EMPTY STATE
   Never rendered for visitors — see TGC_Home::empty_state().
   =================================================================== */
.tgc-editnote {
	border: 2px dashed var(--tg-line); border-radius: var(--tg-radius);
	padding: 34px 28px; text-align: center; background: var(--tg-surface);
	display: flex; flex-direction: column; align-items: center; gap: 10px;
}
.tgc-editnote b {
	font-family: var(--tg-font-head); font-size: 19px; color: var(--tg-brand);
	text-transform: var(--tg-head-case); letter-spacing: var(--tg-head-ls); font-weight: var(--tg-head-w);
}
.tgc-editnote span { color: var(--tg-ink-70); font-size: 15px; }
.tgc-editnote i { font-style: normal; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--tg-ink-70); opacity: .7; }
.tgc-editnote .tgc-btn { margin-block-start: 6px; }

/* ===================================================================
   SPECIFICITY GUARD  —  read before editing
   -------------------------------------------------------------------
   Elementor's frontend stylesheet ships:

       .elementor img { height: auto; max-width: 100%; }

   That selector scores (0,1,1). Any of our image rules written as a
   single class scores (0,1,0) and therefore LOSES whenever a shortcode
   is placed inside an Elementor container — the image ignores our
   sizing and renders at its natural height.

   The rules below restate the same declarations at (0,2,1) so they win
   inside the builder and out. Do not "simplify" them back to a single
   class, and do not reach for !important instead — a client overriding
   these from Customizer CSS should still be able to.
   =================================================================== */

.tgc-brand img.tgc-brand__logo {
	block-size: var(--tg-logo-h, 54px);
	max-block-size: var(--tg-logo-h, 54px);
	inline-size: auto;
	max-inline-size: min(100%, 420px);
	object-fit: contain;
}
.tgc-brand--logo-only img.tgc-brand__logo { max-inline-size: min(100%, 520px); }

.tgc-card img.tgc-card__img {
	inline-size: 100%;
	block-size: 100%;
	max-inline-size: none;
	object-fit: cover;
}

.tgc-partners__cell img.tgc-partners__logo {
	max-block-size: 100%;
	max-inline-size: 100%;
	block-size: auto;
	inline-size: auto;
	object-fit: contain;
}

.tgc-gallery a.tgc-gallery__item img {
	inline-size: 100%;
	block-size: 100%;
	max-inline-size: none;
	object-fit: cover;
}

@media (max-width: 900px) {
	.tgc-brand img.tgc-brand__logo {
		block-size: var(--tg-logo-h-mob, 42px);
		max-block-size: var(--tg-logo-h-mob, 42px);
	}
	.tgc-brand--logo-only img.tgc-brand__logo { max-inline-size: min(100%, 300px); }
}

/* ===================================================================
   D7 — NEWS FILTERS
   =================================================================== */
.tgc-filterbar { display: flex; flex-direction: column; gap: 14px; margin-block-end: 34px; }
.tgc-filterbar .tgc-filters { margin-block-end: 0; }

.tgc-toggle { display: inline-flex; border: 1px solid var(--tg-line); border-radius: var(--tg-radius); overflow: hidden; align-self: flex-start; }
.tgc-toggle__btn {
	font-family: var(--tg-font-head); font-size: 13px; letter-spacing: .1em; text-transform: uppercase;
	padding-block: 10px; padding-inline: 20px; color: var(--tg-brand); text-decoration: none; transition: .2s;
}
.tgc-toggle__btn + .tgc-toggle__btn { border-inline-start: 1px solid var(--tg-line); }
.tgc-toggle__btn.is-active { background: var(--tg-accent); color: var(--tg-brand-deep); font-weight: 600; }

/* Single release */
.tgc-single__narrow { max-inline-size: 780px; margin-inline: auto; }
.tgc-single__meta { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; color: rgba(255,255,255,.8); font-size: 13.5px; margin: 0 0 8px; }

.tgc-download {
	display: flex; align-items: center; gap: 16px; text-decoration: none;
	border: 1px solid var(--tg-line); border-inline-start: 4px solid var(--tg-accent);
	border-radius: var(--tg-radius); padding: 18px 22px; margin-block-end: 30px;
	background: var(--tg-surface); transition: border-color .25s, transform .25s;
}
.tgc-download:hover { border-color: var(--tg-accent); transform: translateY(-2px); }
.tgc-download__icon {
	inline-size: 40px; block-size: 40px; flex: none; border-radius: 50%;
	background: var(--tg-accent); color: var(--tg-brand-deep);
	display: flex; align-items: center; justify-content: center; font-size: 19px; font-weight: 700;
}
.tgc-download__body b { display: block; color: var(--tg-brand); font-size: 16px; }
.tgc-download__body i { font-style: normal; font-size: 13px; color: var(--tg-ink-70); letter-spacing: .06em; text-transform: uppercase; }

.tgc-prevnext { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-block-start: 50px; padding-block-start: 30px; border-block-start: 1px solid var(--tg-line); }
.tgc-prevnext__item { text-decoration: none; border: 1px solid var(--tg-line); border-radius: var(--tg-radius); padding: 18px 20px; transition: border-color .25s; }
.tgc-prevnext__item:hover { border-color: var(--tg-accent); }
.tgc-prevnext__item--next { text-align: end; }
.tgc-prevnext__item span { display: block; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--tg-accent-dk); margin-block-end: 5px; }
.tgc-prevnext__item b { color: var(--tg-brand); font-size: 15.5px; font-weight: 600; }

/* ===================================================================
   D8 — INVESTORS
   =================================================================== */
.tgc-investors__intro { display: grid; grid-template-columns: 1.7fr 1fr; gap: 54px; align-items: start; }
.tgc-prose p { margin-block-end: 16px; }

.tgc-deckbox {
	background: var(--tg-surface); border: 1px solid var(--tg-line);
	border-block-start: 4px solid var(--tg-accent); border-radius: var(--tg-radius); padding: 28px 24px;
}
.tgc-deckbox h3 { font-size: 21px; margin-block: 8px 4px; }
.tgc-deckbox p { font-size: 13px; color: var(--tg-ink-70); letter-spacing: .06em; text-transform: uppercase; margin-block-end: 18px; }

.tgc-stats__head { text-align: center; color: #fff; font-size: clamp(24px,3vw,34px); margin-block-end: 34px; }

.tgc-filings { border: 1px solid var(--tg-line); border-radius: var(--tg-radius); overflow: hidden; background: var(--tg-base); }
.tgc-filings__head, .tgc-filings__row {
	display: grid; grid-template-columns: 130px 1fr 140px 130px; gap: 16px;
	padding-block: 15px; padding-inline: 22px; align-items: center;
}
.tgc-filings__head {
	background: var(--tg-brand); color: #fff;
	font-family: var(--tg-font-head); font-size: 12px; letter-spacing: .18em; text-transform: uppercase;
}
.tgc-filings__row { border-block-start: 1px solid var(--tg-line); transition: background .2s; }
.tgc-filings__row:hover { background: var(--tg-surface); }
.tgc-filings__date { font-size: 14px; color: var(--tg-ink-70); white-space: nowrap; }
.tgc-filings__title a { color: var(--tg-brand); text-decoration: none; font-weight: 600; font-size: 15.5px; }
.tgc-filings__title a:hover { color: var(--tg-accent-dk); }
.tgc-filings__plain { color: var(--tg-ink-70); font-size: 13px; }

/* ===================================================================
   D9 — COMPANY
   =================================================================== */
.tgc-split { display: grid; grid-template-columns: 1.2fr 1fr; gap: 60px; align-items: center; }
.tgc-split--single { grid-template-columns: 1fr; max-inline-size: 780px; }
.tgc-split__media img { inline-size: 100%; block-size: auto; border-radius: var(--tg-radius); display: block; }

.tgc-team { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 26px; }
.tgc-team__card { background: var(--tg-base); border: 1px solid var(--tg-line); border-radius: var(--tg-radius); overflow: hidden; }
.tgc-team__photo { aspect-ratio: 1 / 1; overflow: hidden; background: var(--tg-surface); position: relative; }
.tgc-team__placeholder { position: absolute; inset: 0; background: linear-gradient(135deg, var(--tg-brand), var(--tg-brand-deep)); }
.tgc-team__body { padding: 20px 20px 24px; }
.tgc-team__body h3 { font-size: 19px; }
.tgc-team__role { color: var(--tg-accent-dk); font-size: 13px; letter-spacing: .12em; text-transform: uppercase; margin: 4px 0 10px; font-weight: 600; }
.tgc-team__bio { font-size: 14.5px; color: var(--tg-ink-70); margin: 0; }

.tgc-pillar { border-block-start: 3px solid var(--tg-accent); padding-block-start: 20px; }
.tgc-pillar h3 { font-size: 19px; margin-block-end: 8px; }
.tgc-pillar p { font-size: 15px; color: var(--tg-ink-70); margin: 0; }

/* ===================================================================
   D10 — CONTACT + GALLERY
   =================================================================== */
.tgc-contact__grid { display: grid; grid-template-columns: 1fr 1.3fr; gap: 60px; align-items: start; }
.tgc-contact__list { display: grid; gap: 20px; margin: 0; }
.tgc-contact__list dt { font-size: 11.5px; letter-spacing: .2em; text-transform: uppercase; color: var(--tg-accent-dk); font-weight: 700; margin-block-end: 5px; }
.tgc-contact__list dd { margin: 0; font-size: 16px; color: var(--tg-brand); }
.tgc-contact__list a { color: inherit; text-decoration: none; }
.tgc-contact__list a:hover { color: var(--tg-accent-dk); }

.tgc-map { line-height: 0; }
.tgc-map iframe { inline-size: 100%; block-size: 420px; border: 0; display: block; }

.tgc-gallerypage .tgc-gallery { grid-template-columns: repeat(var(--tg-gal-cols, 3), 1fr); }

/* Lightbox */
.tgc-lb {
	position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center;
	background: rgba(8,10,14,.94); padding: 40px 24px;
}
.tgc-lb[hidden] { display: none; }
.tgc-lb__img { max-inline-size: 100%; max-block-size: 82vh; object-fit: contain; border-radius: var(--tg-radius); }
.tgc-lb__cap { position: absolute; inset-block-end: 26px; inset-inline: 0; text-align: center; color: rgba(255,255,255,.85); font-size: 14.5px; padding-inline: 24px; }
.tgc-lb__btn {
	position: absolute; background: rgba(255,255,255,.12); border: 0; color: #fff; cursor: pointer;
	inline-size: 46px; block-size: 46px; border-radius: 50%; font-size: 22px; line-height: 1;
	display: flex; align-items: center; justify-content: center; transition: background .2s;
}
.tgc-lb__btn:hover { background: var(--tg-accent); color: var(--tg-brand-deep); }
.tgc-lb__close { inset-block-start: 22px; inset-inline-end: 22px; }
.tgc-lb__prev { inset-inline-start: 22px; }
.tgc-lb__next { inset-inline-end: 22px; }

@media (max-width: 1024px) {
	.tgc-investors__intro,
	.tgc-split,
	.tgc-contact__grid { grid-template-columns: 1fr; gap: 34px; }
	.tgc-split { text-align: start; }
}

@media (max-width: 780px) {
	.tgc-filings__head { display: none; }
	.tgc-filings__row { grid-template-columns: 1fr; gap: 6px; padding-block: 18px; }
	.tgc-filings__title { order: -1; }
	.tgc-prevnext { grid-template-columns: 1fr; }
	.tgc-prevnext__item--next { text-align: start; }
	.tgc-gallerypage .tgc-gallery { grid-template-columns: repeat(2, 1fr); }
	.tgc-lb__prev, .tgc-lb__next { inset-block-end: 22px; inset-block-start: auto; }
}

/* ===================================================================
   SPECIFICITY GUARD  (v1.6.0)
   -------------------------------------------------------------------
   Elementor and most themes normalise headings with rules like
   `.elementor h2 { margin: 0 }` and `.elementor h3 { color: … }`.
   Those score (0,1,1) and beat any single-class rule of ours at
   (0,1,0) — which is why the CTA title refused to centre and the
   footer column headings rendered dark-on-dark.

   Every rule below is deliberately written with two classes, scoring
   (0,2,0), which outranks (0,1,1). Do not "simplify" these back to a
   single class; the duplication is the entire point.

   The CTA also stops relying on `margin-inline: auto` for centring —
   flex alignment cannot be cancelled by a margin reset.
   =================================================================== */

.tgc-ctaband .tgc-wrap-in {
	display: flex; flex-direction: column; align-items: center;
	text-align: center; gap: 26px;
}
.tgc-ctaband .tgc-ctaband__title {
	color: #fff; max-inline-size: 22ch; margin: 0;
	font-size: clamp(26px, 3.4vw, 40px); line-height: 1.15;
}
.tgc-ctaband .tgc-btn { margin: 0; }

.tgc-footer .tgc-footer__head {
	color: #fff; font-size: 15px; margin: 0 0 14px;
	padding-block-end: 10px; border-block-end: 1px solid rgba(255,255,255,.14);
}
.tgc-footer .tgc-footer__blurb,
.tgc-footer .tgc-footer__links a,
.tgc-footer .tgc-footer__menu a { color: rgba(255,255,255,.75); }
.tgc-footer .tgc-footer__links a:hover,
.tgc-footer .tgc-footer__menu a:hover { color: var(--tg-accent); }

.tgc-comp .tgc-sechead__title,
.tgc-comp .tgc-card__title,
.tgc-comp .tgc-team__body h3,
.tgc-comp .tgc-pillar h3 { color: var(--tg-brand); margin-block-start: 0; }

.tgc-section--deep .tgc-sechead__title,
.tgc-stats .tgc-stats__head { color: #fff; }

.tgc-comp .tgc-hero__title,
.tgc-comp .tgc-pagehead__title { color: #fff; margin: 0 0 14px; }

/* Empty states were sitting in a full section's padding as well as their
   own, producing a screen of nothing. */
.tgc-comp .tgc-empty { padding-block: 26px; margin: 0; }

/* ===================================================================
   MOTION  (v1.6.0)
   -------------------------------------------------------------------
   Entrance animation is opt-in via the `tgc-anim` class that front.js
   puts on <html>. Without JS the class never lands, every rule below
   is inert, and content renders plainly visible — the animation can
   never be the reason something is invisible.
   =================================================================== */

.tgc-anim .tgc-reveal {
	opacity: 0;
	transform: translateY(16px);
	transition: opacity .55s cubic-bezier(.22,.61,.36,1),
	            transform .55s cubic-bezier(.22,.61,.36,1);
	transition-delay: calc(var(--tgc-i, 0) * 70ms);
	will-change: opacity, transform;
}
.tgc-anim .tgc-reveal.is-in { opacity: 1; transform: none; }

/* Hover — lift and lighten. Cards already have a border; moving it to the
   accent on hover reads as "interactive" without a colour wash. */
.tgc-card { transition: transform .28s cubic-bezier(.22,.61,.36,1), box-shadow .28s, border-color .28s; }
.tgc-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 14px 34px rgba(15, 42, 74, .13);
	border-color: var(--tg-accent);
}
.tgc-card__media { overflow: hidden; }
.tgc-card__img, .tgc-card .tgc-card__img { transition: transform .5s cubic-bezier(.22,.61,.36,1); }
.tgc-card:hover .tgc-card__img { transform: scale(1.055); }

.tgc-btn { transition: background-color .25s, color .25s, transform .18s, box-shadow .25s; }
.tgc-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(15,42,74,.18); }
.tgc-btn:active { transform: translateY(0); }

.tgc-quick__card { transition: transform .28s cubic-bezier(.22,.61,.36,1), box-shadow .28s; }
.tgc-quick__card:hover { transform: translateY(-6px); box-shadow: 0 16px 34px rgba(15,42,74,.16); }

.tgc-team__card { transition: transform .28s cubic-bezier(.22,.61,.36,1), border-color .28s; }
.tgc-team__card:hover { transform: translateY(-4px); border-color: var(--tg-accent); }
.tgc-team__img { transition: transform .5s cubic-bezier(.22,.61,.36,1); }
.tgc-team__card:hover .tgc-team__img { transform: scale(1.05); }

.tgc-gallery__item { overflow: hidden; display: block; }
.tgc-gallery__item img { transition: transform .5s cubic-bezier(.22,.61,.36,1), filter .4s; }
.tgc-gallery__item:hover img { transform: scale(1.07); filter: brightness(1.06); }

.tgc-filings__row { transition: background-color .22s, padding-inline-start .22s; }
.tgc-filings__row:hover { padding-inline-start: 28px; }

.tgc-filters__btn, .tgc-toggle__btn { transition: background-color .22s, color .22s, border-color .22s; }
.tgc-pillar { transition: transform .28s cubic-bezier(.22,.61,.36,1); }
.tgc-pillar:hover { transform: translateY(-3px); }

.tgc-stats__value { transition: color .3s; }
.tgc-stats__item:hover .tgc-stats__value { color: var(--tg-accent-lt, #E8C55A); }

/* Motion is decoration. Anyone who has asked their OS to stop it gets
   the finished state immediately, with no transition and no transform. */
@media (prefers-reduced-motion: reduce) {
	.tgc-anim .tgc-reveal { opacity: 1; transform: none; transition: none; }
	.tgc-card:hover, .tgc-quick__card:hover, .tgc-team__card:hover,
	.tgc-pillar:hover, .tgc-btn:hover { transform: none; box-shadow: none; }
	.tgc-card:hover .tgc-card__img,
	.tgc-team__card:hover .tgc-team__img,
	.tgc-gallery__item:hover img { transform: none; }
	.tgc-filings__row:hover { padding-inline-start: 22px; }
}

/* ===================================================================
   SPACING SYSTEM  (v1.7.0)
   -------------------------------------------------------------------
   Before this, vertical spacing was invented per component: 34px here,
   26px there, 40px, 44px, 28px. Nothing lined up because nothing was
   measured against anything. Every vertical gap now comes from one
   six-step scale, so blocks in different components sit on the same
   rhythm whether or not they were written on the same day.

   Steps roughly follow a 1.5 ratio. Section padding is fluid; the
   in-component steps are fixed, because a heading's gap to its list
   should not change with viewport width.
   =================================================================== */
.tgc-comp, .tgc-header, .tgc-footer, .tgc-chrome {
	--tg-s1: 8px;
	--tg-s2: 12px;
	--tg-s3: 18px;
	--tg-s4: 26px;
	--tg-s5: 40px;
	--tg-s6: 60px;
	--tg-sec:       clamp(56px, 6.5vw, 96px);
	--tg-sec-tight: clamp(34px, 4vw, 56px);
}

.tgc-section          { padding-block: var(--tg-sec); }
.tgc-section--tight   { padding-block: var(--tg-sec-tight); }

/* Two plain-background sections in a row produced two full pads of
   whitespace with no visual boundary to justify it — the single biggest
   source of the "weird gaps". Where the background does not change,
   the seam collapses to one pad. */
.tgc-section:not(.tgc-section--surface):not(.tgc-section--deep):not(.tgc-section--brand)
+ .tgc-section:not(.tgc-section--surface):not(.tgc-section--deep):not(.tgc-section--brand),
.tgc-section--surface + .tgc-section--surface,
.tgc-section--deep + .tgc-section--deep {
	padding-block-start: 0;
}

/* Consistent internal rhythm */
.tgc-comp .tgc-sechead            { margin-block-end: var(--tg-s5); }
.tgc-comp .tgc-sechead__title     { margin-block-start: var(--tg-s1); }
.tgc-comp .tgc-filters,
.tgc-comp .tgc-filterbar          { margin-block-end: var(--tg-s5); }
.tgc-comp .tgc-grid__more         { margin-block-start: var(--tg-s5); }
.tgc-comp .tgc-pagination         { margin-block-start: var(--tg-s5); }
.tgc-comp .tgc-download           { margin-block-end: var(--tg-s4); }
.tgc-comp .tgc-prevnext           { margin-block-start: var(--tg-s6); padding-block-start: var(--tg-s4); }
.tgc-comp .tgc-single__lede       { margin-block-end: var(--tg-s4); }
.tgc-comp .tgc-partners__head     { margin-block-end: var(--tg-s4); }
.tgc-comp .tgc-hero__in           { padding-block: clamp(64px, 8vw, 104px); }
.tgc-comp .tgc-hero__text         { margin-block-end: var(--tg-s5); }
.tgc-footer                       { padding-block: var(--tg-s6) var(--tg-s4); }
.tgc-footer .tgc-footer__grid     { gap: var(--tg-s5); padding-block-end: var(--tg-s4); }
.tgc-footer .tgc-footer__bar      { padding-block-start: var(--tg-s3); }

/* An empty result sat inside a full section pad plus its own, giving a
   screenful of nothing. */
.tgc-comp .tgc-empty              { padding-block: var(--tg-s5); }

/* ===================================================================
   HOVER — navigation and quick links  (v1.7.0)
   =================================================================== */

/* Header menu: an accent rule grows from the centre. The link already
   reserves the 2px border, so nothing shifts on hover. */
.tgc-header .tgc-menu a {
	position: relative;
	transition: color .24s ease;
}
.tgc-header .tgc-menu a::after {
	content: ""; position: absolute; inset-inline: 0; inset-block-end: -2px;
	block-size: 2px; background: var(--tg-accent);
	transform: scaleX(0); transform-origin: center;
	transition: transform .28s cubic-bezier(.22,.61,.36,1);
}
.tgc-header .tgc-menu a:hover,
.tgc-header .tgc-menu a:focus-visible { color: var(--tg-accent-dk); }
.tgc-header .tgc-menu a:hover::after,
.tgc-header .tgc-menu a:focus-visible::after,
.tgc-header .tgc-menu .current-menu-item > a::after { transform: scaleX(1); }

/* Footer and top bar: nudge toward the reader, with the accent colour. */
.tgc-footer .tgc-footer__links a,
.tgc-footer .tgc-footer__menu a,
.tgc-topbar a {
	display: inline-block;
	transition: color .22s ease, transform .22s ease;
}
.tgc-footer .tgc-footer__links a:hover,
.tgc-footer .tgc-footer__menu a:hover,
.tgc-topbar a:hover { color: var(--tg-accent); transform: translateX(3px); }

.tgc-brand { transition: opacity .24s ease; }
.tgc-brand:hover { opacity: .85; }

/* The four hero boxes: lift, accent top rule, icon rises with the card. */
.tgc-quick__card {
	position: relative; overflow: hidden;
	transition: transform .3s cubic-bezier(.22,.61,.36,1), box-shadow .3s, border-color .3s;
}
.tgc-quick__card::before {
	content: ""; position: absolute; inset-block-start: 0; inset-inline: 0;
	block-size: 3px; background: var(--tg-accent);
	transform: scaleX(0); transform-origin: inline-start;
	transition: transform .32s cubic-bezier(.22,.61,.36,1);
}
.tgc-quick__card:hover::before,
.tgc-quick__card:focus-visible::before { transform: scaleX(1); }
.tgc-quick__card:hover,
.tgc-quick__card:focus-visible {
	transform: translateY(-6px);
	box-shadow: 0 16px 34px rgba(15,42,74,.16);
}
.tgc-quick__icon { transition: transform .32s cubic-bezier(.22,.61,.36,1); }
.tgc-quick__card:hover .tgc-quick__icon { transform: translateY(-3px) scale(1.08); }
.tgc-quick__label { transition: color .24s ease; }
.tgc-quick__card:hover .tgc-quick__label { color: var(--tg-accent-dk); }

/* ===================================================================
   CAROUSEL  (v1.7.0)
   -------------------------------------------------------------------
   Built on CSS scroll-snap rather than a JS transform track: it drags
   natively on touch, keeps working if the script fails, and the browser
   handles the physics. JS only wires the buttons, dots and autoplay.
   =================================================================== */
.tgc-carousel { position: relative; }
.tgc-carousel__viewport { overflow: hidden; border-radius: var(--tg-radius); }
.tgc-carousel__track {
	display: flex; gap: 16px; list-style: none; margin: 0; padding: 0;
	overflow-x: auto; scroll-snap-type: x mandatory;
	scrollbar-width: none; -ms-overflow-style: none;
	scroll-behavior: smooth;
}
.tgc-carousel__track::-webkit-scrollbar { display: none; }
.tgc-carousel__track:focus-visible { outline: 3px solid var(--tg-accent); outline-offset: 3px; }

.tgc-carousel__slide {
	flex: 0 0 calc((100% - 32px) / 3); scroll-snap-align: start; position: relative;
}
.tgc-carousel__slide figure { margin: 0; position: relative; overflow: hidden; border-radius: var(--tg-radius); }
.tgc-carousel__img {
	inline-size: 100%; block-size: 300px; object-fit: cover; display: block;
	transition: transform .55s cubic-bezier(.22,.61,.36,1);
}
.tgc-carousel__slide:hover .tgc-carousel__img { transform: scale(1.05); }
.tgc-carousel__cap {
	position: absolute; inset-inline: 0; inset-block-end: 0; padding: 30px 18px 16px;
	background: linear-gradient(to top, rgba(10,30,54,.92), rgba(10,30,54,0));
	color: #fff;
}
.tgc-carousel__cap b { display: block; font-family: var(--tg-font-head); font-size: 17px; font-weight: 500; }
.tgc-carousel__cap span { font-size: 13.5px; color: rgba(255,255,255,.8); }

.tgc-carousel__btn {
	position: absolute; inset-block-start: calc(50% - 22px);
	inline-size: 44px; block-size: 44px; border: 0; border-radius: 50%; cursor: pointer;
	background: var(--tg-base); color: var(--tg-brand); font-size: 22px; line-height: 1;
	box-shadow: 0 4px 16px rgba(15,42,74,.2);
	display: flex; align-items: center; justify-content: center;
	transition: background-color .22s, color .22s, transform .22s;
}
.tgc-carousel__btn:hover { background: var(--tg-accent); color: var(--tg-brand-deep); transform: scale(1.08); }
.tgc-carousel__btn[disabled] { opacity: .35; cursor: default; transform: none; }
.tgc-carousel__btn--prev { inset-inline-start: -18px; }
.tgc-carousel__btn--next { inset-inline-end: -18px; }

.tgc-carousel__dots { display: flex; gap: 8px; justify-content: center; margin-block-start: var(--tg-s4); }
.tgc-carousel__dot {
	inline-size: 26px; block-size: 4px; border: 0; padding: 0; cursor: pointer;
	background: var(--tg-line); transition: background-color .24s, transform .24s;
}
.tgc-carousel__dot:hover { transform: scaleY(1.8); }
.tgc-carousel__dot.is-active { background: var(--tg-accent); }

@media (max-width: 1024px) { .tgc-carousel__slide { flex-basis: calc((100% - 16px) / 2); } }
@media (max-width: 680px) {
	.tgc-carousel__slide { flex-basis: 100%; }
	.tgc-carousel__img { block-size: 230px; }
	.tgc-carousel__btn--prev { inset-inline-start: 4px; }
	.tgc-carousel__btn--next { inset-inline-end: 4px; }
}

@media (prefers-reduced-motion: reduce) {
	.tgc-carousel__track { scroll-behavior: auto; }
	.tgc-carousel__slide:hover .tgc-carousel__img,
	.tgc-quick__card:hover .tgc-quick__icon,
	.tgc-carousel__btn:hover { transform: none; }
	.tgc-header .tgc-menu a::after { transition: none; }
	.tgc-footer .tgc-footer__links a:hover,
	.tgc-footer .tgc-footer__menu a:hover,
	.tgc-topbar a:hover { transform: none; }
}

/* Editor-only inline note (visitors never see this) */
.tgc-editline {
	font-size: 13.5px; color: var(--tg-ink-70); background: var(--tg-surface);
	border-inline-start: 3px solid var(--tg-accent); padding: 10px 14px;
	margin-block-end: var(--tg-s4);
}

/* Registration details in the footer bar — present but never shouting */
.tgc-footer .tgc-footer__legal {
	display: block; font-size: 12.5px; color: rgba(255,255,255,.5);
	margin-block-start: 4px; line-height: 1.5;
}

/* Registration document links in the footer bar */
.tgc-footer .tgc-footer__docs {
	display: block; font-size: 12.5px; color: rgba(255,255,255,.5);
	margin-block-start: 5px; line-height: 1.6;
}
.tgc-footer .tgc-footer__docs i { font-style: normal; color: rgba(255,255,255,.4); }
.tgc-footer .tgc-footer__docs em { font-style: normal; color: rgba(255,255,255,.25); margin-inline: 4px; }
.tgc-footer .tgc-footer__docs a {
	color: rgba(255,255,255,.7); text-decoration: none;
	border-block-end: 1px solid rgba(212,160,23,.4); transition: color .22s, border-color .22s;
}
.tgc-footer .tgc-footer__docs a:hover { color: var(--tg-accent); border-block-end-color: var(--tg-accent); }

/* ===================================================================
   v1.9.0 — team statement, scope of activities, contact form, WhatsApp
   =================================================================== */
.tgc-teamintro { display: grid; grid-template-columns: 1.6fr 1fr; gap: var(--tg-s6); align-items: center; }
.tgc-teamintro__facts { display: grid; gap: var(--tg-s2); }
.tgc-teamintro__fact {
	background: var(--tg-base); border: 1px solid var(--tg-line);
	border-inline-start: 4px solid var(--tg-accent); padding: 18px 22px;
	transition: transform .28s cubic-bezier(.22,.61,.36,1), box-shadow .28s;
}
.tgc-teamintro__fact:hover { transform: translateX(4px); box-shadow: 0 8px 22px rgba(15,42,74,.1); }
.tgc-teamintro__fact b { display: block; font-family: var(--tg-font-head); font-weight: 500; font-size: 26px; color: var(--tg-brand); line-height: 1.1; }
.tgc-teamintro__fact span { font-size: 12.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--tg-ink-70); }

.tgc-scope { display: grid; gap: 0; border: 1px solid var(--tg-line); border-radius: var(--tg-radius); overflow: hidden; }
.tgc-scope__item {
	display: grid; grid-template-columns: 64px 1fr auto; gap: var(--tg-s4); align-items: center;
	padding: 26px 30px; background: var(--tg-base); border-block-start: 1px solid var(--tg-line);
	transition: background-color .22s;
}
.tgc-scope__item:first-child { border-block-start: 0; }
.tgc-scope__item:hover { background: var(--tg-surface); }
.tgc-scope__item.is-core { background: var(--tg-brand); color: #fff; }
.tgc-scope__item.is-core:hover { background: var(--tg-brand-deep); }
.tgc-scope__n { font-family: var(--tg-font-head); font-size: 30px; font-weight: 500; color: var(--tg-accent); line-height: 1; }
.tgc-scope__body h3 { font-size: 20px; margin: 0 0 4px; color: inherit; }
.tgc-scope__body p { margin: 0; font-size: 15px; color: var(--tg-ink-70); }
.tgc-scope__item.is-core .tgc-scope__body p { color: rgba(255,255,255,.78); }
.tgc-scope__tag {
	font-family: var(--tg-font-head); font-size: 11px; letter-spacing: .18em; text-transform: uppercase;
	border: 1px solid var(--tg-line); padding: 6px 12px; color: var(--tg-ink-70); white-space: nowrap;
}
.tgc-scope__item.is-core .tgc-scope__tag { background: var(--tg-accent); border-color: var(--tg-accent); color: var(--tg-brand-deep); font-weight: 600; }

.tgc-topbar__wa { display: inline-flex; align-items: center; gap: 6px; }
.tgc-topbar__wa svg { flex: none; }

/* Built-in contact form */
.tgc-form__el { display: grid; gap: var(--tg-s3); }
.tgc-form__row--2 { display: grid; grid-template-columns: 1fr 1fr; gap: var(--tg-s3); }
.tgc-form__field label {
	display: block; font-family: var(--tg-font-head); font-size: 12px; letter-spacing: .16em;
	text-transform: uppercase; color: var(--tg-brand); margin-block-end: 7px;
}
.tgc-form__field label i { font-style: normal; color: var(--tg-accent-dk); }
.tgc-form__field input, .tgc-form__field select, .tgc-form__field textarea {
	inline-size: 100%; font: inherit; font-size: 15.5px; color: var(--tg-ink);
	background: var(--tg-base); border: 1px solid var(--tg-line); border-radius: var(--tg-radius);
	padding: 13px 15px; transition: border-color .22s, box-shadow .22s;
}
.tgc-form__field input:focus, .tgc-form__field select:focus, .tgc-form__field textarea:focus {
	outline: 0; border-color: var(--tg-accent); box-shadow: 0 0 0 3px rgba(212,160,23,.18);
}
.tgc-form__field textarea { resize: vertical; min-block-size: 140px; }
.tgc-form__hp { position: absolute; inset-inline-start: -9999px; inline-size: 1px; block-size: 1px; overflow: hidden; }
.tgc-form__actions { display: flex; align-items: center; gap: var(--tg-s3); flex-wrap: wrap; }
.tgc-form__hint { font-size: 13px; color: var(--tg-ink-70); }
.tgc-form__notice { padding: 16px 20px; border-radius: var(--tg-radius); margin-block-end: var(--tg-s4); font-size: 15px; }
.tgc-form__notice b { display: block; font-family: var(--tg-font-head); font-weight: 500; font-size: 16px; margin-block-end: 3px; }
.tgc-form__notice--ok  { background: #F1F8F3; border: 1px solid #BFE0CB; color: #1B5233; }
.tgc-form__notice--err { background: #FDF3F2; border: 1px solid #F0C4C0; color: #7A2019; }

@media (max-width: 1024px) { .tgc-teamintro { grid-template-columns: 1fr; gap: var(--tg-s5); } }
@media (max-width: 720px) {
	.tgc-form__row--2 { grid-template-columns: 1fr; }
	.tgc-scope__item { grid-template-columns: 44px 1fr; }
	.tgc-scope__tag { grid-column: 2; justify-self: start; }
}
@media (prefers-reduced-motion: reduce) { .tgc-teamintro__fact:hover { transform: none; box-shadow: none; } }


/* ===================================================================
   v1.9.2 fixes — both written at (0,2,0)+ per the Elementor guard
   doctrine: single-class rules lose to Elementor's element resets.
   =================================================================== */

/* Stats/highlights heading was sitting on top of the number row —
   margin on the (0,1,0) rule was being beaten inside Elementor. */
.tgc-stats .tgc-stats__head { margin-block: 0 clamp(30px, 4vw, 46px); }
.tgc-stats .tgc-stats__grid { margin-block-start: 0; }

/* WhatsApp label wrapped under its icon when a theme forced
   svg { display: block }. Flex on the anchor makes wrapping
   impossible regardless of what the theme does to the svg. */
.tgc-topbar .tgc-topbar__wa {
	display: inline-flex; align-items: center; gap: 6px; white-space: nowrap;
}
.tgc-topbar .tgc-topbar__wa svg {
	display: inline-block; inline-size: 14px; block-size: 14px; flex: none;
}

/* ===================================================================
   v1.9.4 — carousel, Elementor guard (occurrences five and six)
   Same disease as the logo/CTA/footer/stats bugs: Elementor's
   `.elementor img { height:auto }` (0,1,1) beat the slide image's
   single class, and the kit's `button` rules (0,2,1 on hover) beat
   the arrow and dot styling. Everything below is written at
   (0,2,0)/(0,3,0) so the kit can never reach it.
   =================================================================== */
.tgc-carousel .tgc-carousel__img {
	inline-size: 100%; block-size: 300px; object-fit: cover; display: block;
}
.tgc-carousel .tgc-carousel__slide figure { block-size: 300px; }

.tgc-carousel .tgc-carousel__btn {
	background: var(--tg-base); color: var(--tg-brand);
	border: 0; border-radius: 50%; padding: 0;
	inline-size: 44px; block-size: 44px; font-size: 22px; line-height: 1;
	box-shadow: 0 4px 16px rgba(15,42,74,.2);
}
.tgc-carousel .tgc-carousel__btn:hover,
.tgc-carousel .tgc-carousel__btn:focus {
	background: var(--tg-accent); color: var(--tg-brand-deep);
	border: 0; outline: 0;
}
.tgc-carousel .tgc-carousel__btn:focus-visible {
	outline: 3px solid var(--tg-accent); outline-offset: 2px;
}
.tgc-carousel .tgc-carousel__btn[disabled],
.tgc-carousel .tgc-carousel__btn[disabled]:hover {
	background: var(--tg-base); color: var(--tg-brand); opacity: .35; transform: none;
}

.tgc-carousel .tgc-carousel__dot {
	inline-size: 26px; block-size: 8px; padding: 0; cursor: pointer;
	background: var(--tg-line); border: 0; border-radius: 4px;
	transition: background-color .22s, transform .22s;
}
.tgc-carousel .tgc-carousel__dot:hover,
.tgc-carousel .tgc-carousel__dot:focus {
	background: var(--tg-accent-30); border: 0; outline: 0;
}
.tgc-carousel .tgc-carousel__dot:focus-visible {
	outline: 2px solid var(--tg-accent); outline-offset: 2px;
}
.tgc-carousel .tgc-carousel__dot.is-active,
.tgc-carousel .tgc-carousel__dot.is-active:hover {
	background: var(--tg-accent);
}

@media (max-width: 768px) {
	.tgc-carousel .tgc-carousel__img,
	.tgc-carousel .tgc-carousel__slide figure { block-size: 230px; }
}
