.elementor-2147 .elementor-element.elementor-element-0ed9254{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}body.elementor-page-2147:not(.elementor-motion-effects-element-type-background), body.elementor-page-2147 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#09090B;}/* Start custom CSS for text-editor, class: .elementor-element-7866693 *//* ====================================================================
   Team Fronx — shared design system (tfrx)
   Matches the home page styling exactly, with About-page additions
   at the bottom.
   ==================================================================== */
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
html { scroll-behavior: smooth; }

/* Hide the scrollbar while keeping scroll behaviour intact */
html, body {
  scrollbar-width: none;        /* Firefox */
  -ms-overflow-style: none;     /* IE / legacy Edge */
}
html::-webkit-scrollbar,
body::-webkit-scrollbar {       /* Chrome / Safari / new Edge */
  width: 0;
  height: 0;
  display: none;
}
body {
  background: #09090b;
  color: #f2e5c8;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

.tfrx,
.tfrx * {
  box-sizing: border-box;
}

.tfrx {
  --bg: #09090b;
  --bg-soft: #111113;
  --panel: rgba(255, 255, 255, 0.05);
  --panel-border: transparent;
  --text: #f2e5c8;
  --heading: #f7e8bf;
  --muted: #d8c8a4;
  --soft: #b79f6d;
  --gold: #d4b574;
  --gold-deep: #9a7a3a;
  --gold-dark: #8a6b33;
  --radius: 20px;
  --shadow: 0 20px 60px rgba(0, 0, 0, 0.35);

  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background:
    radial-gradient(circle at top right, rgba(183,147,72,0.14), transparent 26%),
    var(--bg);
  color: var(--text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  overflow-x: hidden;
  line-height: 1.6;
  position: relative;
}

.tfrx h1,
.tfrx h2,
.tfrx h3,
.tfrx h4 {
  color: var(--heading);
}

.tfrx p,
.tfrx a,
.tfrx span,
.tfrx button,
.tfrx div {
  color: inherit;
}

.tfrx a {
  text-decoration: none;
}

.tfrx img {
  max-width: 100%;
  display: block;
}

/* ===================== THEME-MATCHED SELECTION & FOCUS ===================== */
/* Text-selection highlight (replaces the browser-default blue) */
::selection {
  background: #d4b574;
  color: #111113;
}
::-moz-selection {
  background: #d4b574;
  color: #111113;
}

/* Subtle gold tap feedback on touch devices (replaces the blue/grey flash) */
.tfrx,
.tfrx * {
  -webkit-tap-highlight-color: rgba(212, 181, 116, 0.20);
}

/* Keyboard focus ring in theme gold (replaces the default blue outline) */
.tfrx a:focus-visible,
.tfrx button:focus-visible,
.tfrx input:focus-visible,
.tfrx textarea:focus-visible,
.tfrx select:focus-visible,
.tfrx [tabindex]:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
  border-radius: 8px;
}

/* Don't show the focus ring on mouse clicks, only keyboard navigation */
.tfrx a:focus:not(:focus-visible),
.tfrx button:focus:not(:focus-visible) {
  outline: none;
}

.tfrx-container {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  padding-left: 18px;
  padding-right: 18px;
}

.tfrx-nav {
  position: sticky;
  top: 0;
  z-index: 999;
  background: transparent;
  border-bottom: none;
  padding-top: 16px;
}

/* Floating glass pill */
.tfrx-nav-row {
  min-height: 62px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 8px 8px 18px;
  border-radius: 999px;
  background: rgba(16, 16, 20, 0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(212, 181, 116, 0.18);
  box-shadow:
    0 18px 44px rgba(0, 0, 0, 0.5),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
.tfrx-nav .tfrx-brand-logo { width: 44px; height: 44px; }
.tfrx-nav .tfrx-brand-text { font-size: 1.05rem; }
.tfrx-nav .tfrx-menu-btn { border-radius: 50%; }

.tfrx-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  font-weight: 800;
  font-size: 1.1rem;
  min-width: 0;
  color: var(--heading);
}

.tfrx-brand-logo {
  width: 62px;
  height: 62px;
  flex: 0 0 auto;
  object-fit: contain;
  border-radius: 0;
  background: transparent;
  padding: 0;
}

.tfrx-brand-text {
  white-space: nowrap;
  font-size: 1.1rem;
  color: var(--heading);
}

.tfrx-menu {
  display: none;
  align-items: center;
  gap: 22px;
}

.tfrx-menu a {
  color: #ead7ac;
  font-weight: 600;
  font-size: 0.96rem;
  transition: color 0.3s ease;
}

/* Animated underline on hover / active (skips the Join Now button + Store pill) */
.tfrx-menu a:not(.tfrx-btn):not(.tfrx-nav-store) {
  position: relative;
}
.tfrx-menu a:not(.tfrx-btn):not(.tfrx-nav-store)::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -6px;
  height: 2px;
  border-radius: 2px;
  background: var(--gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}

.tfrx-menu a:hover {
  color: var(--gold);
}
.tfrx-menu a:not(.tfrx-btn):not(.tfrx-nav-store):hover::after,
.tfrx-menu a.is-active::after {
  transform: scaleX(1);
}

/* ===================== MODERN "STORE" NAV PILL ===================== */
.tfrx-menu .tfrx-nav-store {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 16px;
  border-radius: 999px;
  border: 1px solid rgba(212, 181, 116, 0.32);
  background: rgba(212, 181, 116, 0.06);
  color: #ead7ac;
  font-weight: 600;
  font-size: 0.92rem;
  line-height: 1;
  transition: background 0.25s ease, border-color 0.25s ease, color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.tfrx-menu .tfrx-nav-store:hover {
  background: rgba(212, 181, 116, 0.14);
  border-color: rgba(244, 221, 164, 0.55);
  color: var(--gold);
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(154, 122, 58, 0.18);
}

.tfrx-nav-store svg {
  width: 17px;
  height: 17px;
  flex: 0 0 auto;
}

/* Mobile menu: show it as a normal stacked link with the icon inline */
.tfrx-mobile .tfrx-nav-store {
  display: flex;
  align-items: center;
  gap: 10px;
}

.tfrx-menu-btn {
  width: 44px;
  height: 44px;
  border: 1px solid rgba(212,181,116,0.16);
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.03);
  color: var(--heading);
  cursor: pointer;
  flex: 0 0 auto;
}

.tfrx-mobile {
  display: none;
  margin-top: 10px;
  padding: 8px 18px 16px;
  border-radius: 22px;
  background: rgba(16, 16, 20, 0.7);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(212, 181, 116, 0.16);
}

.tfrx-mobile.active {
  display: block;
  animation: tfrxFadeDown 0.35s ease;
}

.tfrx-mobile a {
  display: block;
  padding: 12px 0;
  border-bottom: 1px solid rgba(212,181,116,0.08);
  color: #ead7ac;
  font-weight: 600;
}

.tfrx-mobile .tfrx-btn {
  margin-top: 14px;
  width: 100%;
}

.tfrx-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 50px;
  padding: 14px 22px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-weight: 700;
  cursor: pointer;
  transition: transform 0.28s ease, background 0.28s ease, border-color 0.28s ease, box-shadow 0.28s ease, color 0.28s ease;
  text-align: center;
  white-space: nowrap;
  appearance: none;
  -webkit-appearance: none;
  outline: none;
  position: relative;
  overflow: hidden;
}

.tfrx-btn:hover {
  transform: translateY(-3px);
}

.tfrx-btn-primary {
  background: linear-gradient(135deg, var(--gold-deep), var(--gold-dark));
  color: #f8ecd0;
  border: 1px solid rgba(228, 199, 132, 0.28);
  box-shadow:
    0 10px 25px rgba(154,122,58,0.24),
    inset 0 1px 0 rgba(255,255,255,0.10);
}

.tfrx-btn-primary:hover {
  border-color: rgba(245, 223, 171, 0.45);
  box-shadow:
    0 16px 34px rgba(154,122,58,0.34),
    0 0 0 1px rgba(212,181,116,0.18),
    inset 0 1px 0 rgba(255,255,255,0.14);
}

.tfrx-btn-secondary {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(212,181,116,0.22);
  color: #f2dfb3;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.04),
    0 8px 20px rgba(0,0,0,0.14);
}

.tfrx-btn-secondary:hover {
  background: rgba(212,181,116,0.08);
  border-color: rgba(212,181,116,0.48);
  color: #faedcb;
  box-shadow:
    0 14px 28px rgba(0,0,0,0.20),
    0 0 0 1px rgba(212,181,116,0.16),
    inset 0 1px 0 rgba(255,255,255,0.06);
}

.tfrx-hero,
.tfrx-section {
  width: 100%;
  max-width: 100%;
  scroll-margin-top: 96px;
}

.tfrx-hero {
  padding: 56px 0 42px;
  position: relative;
}

.tfrx-hero-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 26px;
  align-items: center;
  width: 100%;
}

.tfrx-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border-radius: 999px;
  border: 1px solid rgba(212,181,116,0.18);
  background: rgba(255,255,255,0.04);
  margin-bottom: 18px;
  color: #efd8a2;
  font-size: 12px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  font-weight: 800;
  animation: tfrxPulse 2s infinite ease-in-out;
}

.tfrx-badge-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--gold);
  flex: 0 0 auto;
}

.tfrx-title {
  margin: 0 0 14px;
  font-size: clamp(2.6rem, 8vw, 6.5rem);
  line-height: 0.95;
  letter-spacing: -0.04em;
  font-weight: 900;
  color: var(--heading);
}

.tfrx-title-gradient {
  background: linear-gradient(180deg, #faedcb 0%, #dfc07c 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: #faedcb;
}

/* Solid gold accent for hero titles, with a touch of letter spacing */
.tfrx-title-accent {
  color: #efcf88;
  letter-spacing: 0.02em;
}

.tfrx-subtitle {
  margin: 0 0 16px;
  color: #e3c88a;
  font-size: clamp(1.05rem, 4vw, 1.6rem);
  font-weight: 400;
}

.tfrx-divider {
  width: 96px;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  margin: 0 0 22px;
}

.tfrx-copy {
  color: #e4d4ae;
  font-size: 1rem;
  max-width: 780px;
  margin: 0 0 28px;
}

.tfrx-copy .hl {
  color: var(--gold);
  font-weight: 800;
}

.tfrx-actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 30px;
}

.tfrx-hero-visual,
.tfrx-event-media,
.tfrx-gallery-item {
  width: 100%;
  max-width: 100%;
  height: auto;
  min-height: unset;
}

.tfrx-hero-visual {
  aspect-ratio: 16 / 10;
  position: relative;
  overflow: hidden;
  border-radius: 30px;
  background:
    linear-gradient(180deg, rgba(0,0,0,0.12), rgba(0,0,0,0.45)),
    url('https://teamfronx.com/wp-content/uploads/2026/03/1001387198-1.jpg') center/cover no-repeat;
  border: none;
  box-shadow: 0 20px 50px rgba(0,0,0,0.34);
  animation: tfrxFloat 5s ease-in-out infinite;
}

.tfrx-hero-overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: end;
  padding: 22px;
  background: linear-gradient(180deg, rgba(0,0,0,0.02), rgba(0,0,0,0.72));
}

.tfrx-hero-overlay h3 {
  margin: 0 0 6px;
  font-size: 1.3rem;
  color: var(--heading);
}

.tfrx-hero-overlay p {
  margin: 0;
  color: #eedfc0;
  max-width: 420px;
}

.tfrx-stats,
.tfrx-mini,
.tfrx-features,
.tfrx-events,
.tfrx-gallery,
.tfrx-footer-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  width: 100%;
}

.tfrx-stat,
.tfrx-mini-card,
.tfrx-feature,
.tfrx-event,
.tfrx-footer-col {
  background: var(--panel);
  border: none;
  border-radius: var(--radius);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.tfrx-stat:hover,
.tfrx-mini-card:hover,
.tfrx-feature:hover,
.tfrx-event:hover,
.tfrx-footer-col:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.28);
}

.tfrx-stat,
.tfrx-mini-card,
.tfrx-feature {
  padding: 20px;
}

.tfrx-iconbox {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(183,147,72,0.16);
  color: var(--gold);
  margin-bottom: 14px;
  transition: transform 0.3s ease, background 0.3s ease;
}

.tfrx-stat-number {
  font-size: 2.5rem;
  line-height: 1;
  font-weight: 900;
  margin: 12px 0 8px;
  color: #efcf88;
  display: inline-flex;
  align-items: baseline;
  gap: 2px;
}

.tfrx-stat-number.is-animated {
  opacity: 0;
  transform: translateY(8px);
  animation: tfrxCountPop 0.7s ease forwards;
  animation-delay: 0.7s;
}

.tfrx-stat-number .plus {
  color: #efcf88;
  font-size: 0.9em;
}

.tfrx-stat-label {
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--soft);
  font-weight: 800;
}

.tfrx-mini-card h3,
.tfrx-feature h3,
.tfrx-event-content h3,
.tfrx-gallery-caption h3,
.tfrx-footer-title {
  margin: 0 0 10px;
  color: var(--heading);
}

.tfrx-mini-card p,
.tfrx-feature p,
.tfrx-event-content p,
.tfrx-footer-text,
.tfrx-footer-links div,
.tfrx-legal a,
.tfrx-legal span {
  margin: 0;
  color: var(--muted);
}

.tfrx-section {
  padding: 60px 0 0;
}

.tfrx-section-soft {
  background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
}

.tfrx-section-dark {
  background: #111113;
}

.tfrx-section-header {
  text-align: center;
  margin-bottom: 28px;
}

.tfrx-label {
  color: var(--gold);
  font-size: 12px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  font-weight: 800;
  margin-bottom: 10px;
}

.tfrx-section-title {
  margin: 0 0 12px;
  font-size: clamp(2rem, 6vw, 3.8rem);
  line-height: 1.08;
  font-weight: 900;
  color: var(--heading);
}

.tfrx-section-title span {
  color: #efcf88;
}

.tfrx-section-desc {
  max-width: 760px;
  margin: 0 auto;
  color: var(--muted);
}

.tfrx-feature {
  padding: 24px;
}

.tfrx-event {
  overflow: hidden;
  padding: 0;
  display: flex;
  flex-direction: column;
}

.tfrx-event-media {
  aspect-ratio: 16 / 10;
  position: relative;
  background: #111;
  overflow: hidden;
}

.tfrx-event-media img,
.tfrx-gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.tfrx-event:hover .tfrx-event-media img,
.tfrx-gallery-item:hover img {
  transform: scale(1.08);
}

.tfrx-event-date {
  position: absolute;
  top: 14px;
  right: 14px;
  padding: 8px 12px;
  border-radius: 12px;
  background: rgba(154,122,58,0.95);
  color: #f8ebca;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.tfrx-event-content {
  padding: 20px;
}

.tfrx-gallery-item {
  aspect-ratio: 4 / 3;
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  border: none;
  background: #111;
  box-shadow: 0 14px 30px rgba(0,0,0,0.22);
}

.tfrx-gallery-caption {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: end;
  padding: 20px;
  background: linear-gradient(180deg, rgba(0,0,0,0.05), rgba(0,0,0,0.8));
}

.tfrx-gallery-caption h3 {
  font-size: 1.2rem;
  text-shadow: 0 2px 12px rgba(0,0,0,0.5);
  transform: translateY(10px);
  transition: transform 0.35s ease;
  color: var(--heading);
}

.tfrx-cta {
  text-align: center;
  background:
    radial-gradient(circle at center, rgba(183,147,72,0.16), transparent 34%),
    #0b0b0d;
  position: relative;
  overflow: visible;
}

.tfrx-cta .tfrx-actions {
  justify-content: center;
  margin-bottom: 0;
}

.tfrx-popup {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 0;
  background: rgba(0, 0, 0, 0.78);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.tfrx-popup.active {
  display: flex;
  animation: tfrxReveal 0.3s ease forwards;
}

.tfrx-popup-card {
  position: relative;
  width: min(920px, 100%);
  max-height: 90vh;
  border-radius: 24px;
  overflow: hidden;
  background: #111113;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
}

.tfrx-popup-card img {
  width: 100%;
  height: auto;
  max-height: 90vh;
  object-fit: contain;
  display: block;
}

.tfrx-popup-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 46px;
  height: 46px;
  border: none;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.74);
  color: #ffffff;
  font-size: 26px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.3);
  transition: background 0.25s ease, transform 0.25s ease, color 0.25s ease;
}

.tfrx-popup-close:hover {
  background: rgba(212,181,116,0.95);
  color: #111113;
  transform: scale(1.05);
}

.tfrx-music-dock {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 1001;
  transition: transform 0.18s ease;
  will-change: transform;
  pointer-events: none;
}

.tfrx-music-fab {
  pointer-events: auto;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 58px;
  padding: 12px 18px 12px 14px;
  border-radius: 999px;
  border: 1px solid rgba(244,221,164,0.22);
  background: rgba(12, 12, 14, 0.82);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: #f7e8bf;
  box-shadow:
    0 18px 36px rgba(0,0,0,0.34),
    0 0 0 1px rgba(212,181,116,0.08),
    inset 0 1px 0 rgba(255,255,255,0.06);
  cursor: pointer;
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease, background 0.28s ease;
}

.tfrx-music-fab:hover {
  transform: translateY(-3px);
  border-color: rgba(244,221,164,0.36);
  background: rgba(18, 18, 21, 0.9);
  box-shadow:
    0 22px 42px rgba(0,0,0,0.42),
    0 0 20px rgba(212,181,116,0.12),
    inset 0 1px 0 rgba(255,255,255,0.08);
}

.tfrx-music-fab:active {
  transform: translateY(-1px);
}

.tfrx-music-icon {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--gold-deep), var(--gold-dark));
  color: #f8ecd0;
  flex: 0 0 auto;
  box-shadow:
    0 10px 20px rgba(154,122,58,0.28),
    inset 0 1px 0 rgba(255,255,255,0.12);
}

.tfrx-music-icon svg {
  width: 16px;
  height: 16px;
  display: block;
}

.tfrx-music-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  line-height: 1.1;
}

.tfrx-music-kicker {
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #b79f6d;
  font-weight: 800;
}

.tfrx-music-label {
  font-size: 14px;
  font-weight: 800;
  color: #f7e8bf;
}

.tfrx-music-fab.is-playing .tfrx-music-icon {
  animation: tfrxPulseGlow 1.8s infinite ease-in-out;
}

.tfrx-music-fab.is-playing .tfrx-music-kicker {
  color: #efcf88;
}

.tfrx-music-fab.is-playing .tfrx-music-label {
  color: #faedcb;
}

.tfrx-footer {
  background: #09090b;
  border-top: 1px solid rgba(212,181,116,0.12);
  padding-bottom: 24px;
}

.tfrx-footer-col {
  padding: 20px;
}

.tfrx-footer-links {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tfrx-footer-links a {
  color: var(--muted);
}

.tfrx-footer-links a:hover,
.tfrx-legal a:hover {
  color: var(--gold);
}

.tfrx-socials {
  display: flex;
  gap: 10px;
  margin-top: 14px;
  flex-wrap: wrap;
}

.tfrx-social {
  width: 46px;
  height: 46px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));
  border: 1px solid rgba(212,181,116,0.18);
  color: #efd39a;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.04),
    0 10px 20px rgba(0,0,0,0.16);
  transition: transform 0.28s ease, background 0.28s ease, border-color 0.28s ease, box-shadow 0.28s ease, color 0.28s ease;
  position: relative;
  overflow: hidden;
}

.tfrx-social svg {
  width: 18px;
  height: 18px;
  display: block;
  transition: transform 0.28s ease;
}

.tfrx-social:hover {
  transform: translateY(-3px) scale(1.03);
  background: linear-gradient(180deg, rgba(212,181,116,0.12), rgba(255,255,255,0.03));
  border-color: rgba(244,221,164,0.38);
  color: #faedcb;
  box-shadow:
    0 14px 26px rgba(0,0,0,0.24),
    0 0 20px rgba(212,181,116,0.12);
}

.tfrx-social:hover svg {
  transform: scale(1.08);
}

.tfrx-news {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
}

.tfrx-input {
  min-height: 56px;
  width: 100%;
  border-radius: 16px;
  border: 1px solid rgba(212,181,116,0.14);
  background: #161618;
  color: var(--text);
  padding: 0 18px;
  outline: none;
  font-size: 16px;
  flex: 1 1 auto;
}

.tfrx-input::placeholder {
  color: #ac9260;
}

.tfrx-news .tfrx-btn {
  min-height: 56px;
  padding-left: 24px;
  padding-right: 24px;
}

/* ===================== CONTACT PAGE ===================== */
.tfrx-contact-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  align-items: start;
}

.tfrx-contact-info {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

.tfrx-contact-info a {
  color: var(--gold);
}

.tfrx-contact-info a:hover {
  color: #faedcb;
}

.tfrx-contact-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
  background: var(--panel);
  border-radius: var(--radius);
  padding: 24px;
}

.tfrx-textarea {
  width: 100%;
  min-height: 150px;
  border-radius: 16px;
  border: 1px solid rgba(212,181,116,0.14);
  background: #161618;
  color: var(--text);
  padding: 14px 18px;
  outline: none;
  font-size: 16px;
  font-family: inherit;
  line-height: 1.6;
  resize: vertical;
}

.tfrx-textarea::placeholder {
  color: #ac9260;
}

.tfrx-contact-form .tfrx-btn {
  margin-top: 4px;
}

/* ===================== BLOG ===================== */
.tfrx-blog {
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
}

.tfrx-blog-card {
  display: flex;
  flex-direction: column;
  background: var(--panel);
  border-radius: var(--radius);
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.tfrx-blog-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.28);
}

.tfrx-blog-media {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #111;
}

.tfrx-blog-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.tfrx-blog-card:hover .tfrx-blog-media img {
  transform: scale(1.08);
}

.tfrx-blog-body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 20px 22px 24px;
  flex: 1 1 auto;
}

.tfrx-blog-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 800;
}

.tfrx-blog-cat { color: var(--gold); }
.tfrx-blog-date { color: var(--soft); }

.tfrx-blog-card h3 {
  margin: 0;
  font-size: 1.25rem;
  line-height: 1.3;
  color: var(--heading);
}

.tfrx-blog-card p {
  margin: 0;
  color: var(--muted);
  font-size: 0.96rem;
}

.tfrx-blog-more {
  margin-top: auto;
  padding-top: 6px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--gold);
  font-weight: 700;
  font-size: 0.92rem;
  transition: gap 0.25s ease, color 0.25s ease;
}

.tfrx-blog-more:hover {
  color: #faedcb;
  gap: 11px;
}

.tfrx-blog-more svg { width: 16px; height: 16px; flex: 0 0 auto; }

@media (min-width: 640px) {
  .tfrx-blog { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 1024px) {
  .tfrx-blog { grid-template-columns: repeat(3, 1fr); }
}

/* ===================== LEGAL / DOCUMENT PAGES ===================== */
.tfrx-doc {
  max-width: 840px;
  margin: 0 auto;
}

.tfrx-doc h2,
.tfrx-doc h3 {
  margin: 30px 0 10px;
  color: var(--heading);
}

.tfrx-doc h3 {
  font-size: 1.25rem;
}

.tfrx-doc p,
.tfrx-doc li {
  color: var(--muted);
  margin: 0 0 14px;
}

.tfrx-doc ul {
  margin: 0 0 16px;
  padding-left: 22px;
}

.tfrx-doc li {
  margin-bottom: 8px;
}

.tfrx-doc strong {
  color: var(--heading);
}

.tfrx-doc a {
  color: var(--gold);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.tfrx-doc a:hover {
  color: #faedcb;
}

/* Legal page — two-column layout with a sticky table of contents */
.tfrx-doc-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
  align-items: start;
  max-width: 1100px;
  margin: 0 auto;
}

.tfrx-doc-toc {
  background: var(--panel);
  border: 1px solid rgba(212,181,116,0.14);
  border-radius: var(--radius);
  padding: 20px 16px;
}

.tfrx-doc-toc-title {
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--soft);
  font-weight: 800;
  margin-bottom: 10px;
  padding-left: 12px;
}

.tfrx-doc-toc a {
  display: block;
  padding: 7px 0 7px 12px;
  color: var(--muted);
  font-size: 0.9rem;
  border-left: 2px solid transparent;
  transition: color 0.2s ease, border-color 0.2s ease;
}

.tfrx-doc-toc a:hover {
  color: var(--gold);
  border-left-color: var(--gold);
}

/* Collapsible "On this page" TOC — a tap-to-open dropdown on mobile,
   an always-open sticky sidebar on desktop. Pure CSS (no JS needed). */
.tfrx-toc-check {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
  margin: 0;
}
.tfrx-toc-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  cursor: pointer;
  margin: 0;
  user-select: none;
  -webkit-user-select: none;
}
.tfrx-toc-summary::after {
  content: "";
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
  transition: transform 0.25s ease;
  opacity: 0.75;
  flex: 0 0 auto;
}
.tfrx-toc-check:checked ~ .tfrx-toc-summary::after {
  transform: translateY(1px) rotate(-135deg);
}
.tfrx-toc-links {
  display: none;
  margin-top: 12px;
}
.tfrx-toc-check:checked ~ .tfrx-toc-links {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px 12px;
}
.tfrx-doc-toc-sub {
  grid-column: 1 / -1;
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--soft);
  font-weight: 800;
  margin: 12px 0 2px;
  padding-left: 12px;
}

@media (min-width: 960px) {
  .tfrx-toc-summary { cursor: default; }
  .tfrx-toc-summary::after { display: none; }
  .tfrx-toc-links { display: block !important; margin-top: 10px; }
  .tfrx-doc-toc-sub { margin-top: 16px; }
}

.tfrx-doc-card {
  background: linear-gradient(180deg, rgba(255,255,255,0.055), rgba(255,255,255,0.02));
  border: 1px solid rgba(212,181,116,0.14);
  border-radius: var(--radius);
  padding: 28px 22px;
  max-width: 100%;
  margin: 0;
  box-shadow: 0 20px 50px rgba(0,0,0,0.28);
}

/* Lead paragraph with a gold accent bar */
.tfrx-doc-intro {
  position: relative;
  font-size: 1.1rem;
  line-height: 1.75;
  color: var(--text);
  margin: 0 0 8px;
  padding: 2px 0 26px 18px;
  border-bottom: 1px solid rgba(212,181,116,0.14);
}
.tfrx-doc-intro::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  bottom: 30px;
  width: 3px;
  border-radius: 3px;
  background: linear-gradient(180deg, var(--gold), rgba(212,181,116,0.08));
}

.tfrx-doc-section {
  padding: 30px 0;
  border-bottom: 1px solid rgba(212,181,116,0.10);
}

.tfrx-doc-section:last-child {
  border-bottom: none;
  padding-bottom: 4px;
}

.tfrx-doc-section h3 {
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 1.3rem;
  line-height: 1.25;
  margin: 0 0 14px;
  scroll-margin-top: 100px;
}

.tfrx-doc-section p,
.tfrx-doc-section li {
  line-height: 1.75;
}

.tfrx-doc-section ul {
  padding-left: 20px;
  margin: 0 0 14px;
}
.tfrx-doc-section li {
  padding-left: 6px;
}
.tfrx-doc-section li::marker {
  color: var(--gold);
}

/* Circular gold-gradient number badge */
.tfrx-doc-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--gold-deep), var(--gold-dark));
  color: #f8ecd0;
  font-size: 0.98rem;
  font-weight: 800;
  box-shadow: 0 6px 16px rgba(154,122,58,0.30), inset 0 1px 0 rgba(255,255,255,0.14);
}

@media (min-width: 960px) {
  .tfrx-doc-layout {
    grid-template-columns: 250px 1fr;
    gap: 32px;
  }
  .tfrx-doc-toc {
    position: sticky;
    top: 100px;
  }
  .tfrx-doc-card {
    padding: 40px;
  }
}

@media (min-width: 640px) {
  .tfrx-contact-info { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 900px) {
  .tfrx-contact-grid { grid-template-columns: 0.95fr 1.05fr; gap: 30px; }
  .tfrx-contact-info { grid-template-columns: repeat(2, 1fr); align-self: stretch; }
}

.tfrx-footer-bottom {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(212,181,116,0.12);
  display: flex;
  flex-direction: column;
  gap: 6px;
  text-align: center;
}

.tfrx-copyline {
  color: #b99e68;
  font-size: 14px;
}

/* "©" is a discreet admin-login link — looks like plain text, gold on hover */
.tfrx-copyline .tfrx-admin-dot {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  transition: color 0.25s ease;
}
.tfrx-copyline .tfrx-admin-dot:hover {
  color: var(--gold);
}

.tfrx-legal {
  display: flex;
  justify-content: center;
  gap: 18px;
  flex-wrap: wrap;
  font-size: 14px;
}

.tfrx-center {
  text-align: center;
}

/* Scroll-reveal: hidden until the element scrolls into view, then it
   fades + slides up. The .tfrx-visible class is added by script.js. */
/* Only hide-then-reveal when JS is active (an inline script adds the
   `tfrx-js` class before paint). Without JS — e.g. the content pasted into
   WordPress without script.js — .tfrx-reveal stays fully visible instead of
   leaving the page blank. */
html.tfrx-js .tfrx-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.7s ease, transform 0.7s ease;
  will-change: opacity, transform;
}

html.tfrx-js .tfrx-reveal.tfrx-visible {
  opacity: 1;
  transform: translateY(0);
}

.tfrx-delay-1 { transition-delay: 0.08s; }
.tfrx-delay-2 { transition-delay: 0.16s; }
.tfrx-delay-3 { transition-delay: 0.24s; }
.tfrx-delay-4 { transition-delay: 0.32s; }

/* Respect users who prefer reduced motion — show everything immediately */
@media (prefers-reduced-motion: reduce) {
  .tfrx-reveal {
    transition: none;
    opacity: 1;
    transform: none;
  }
}

@keyframes tfrxReveal {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes tfrxFadeDown {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes tfrxPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(212,181,116,0.15); }
  50% { box-shadow: 0 0 0 8px rgba(212,181,116,0.02); }
}

@keyframes tfrxFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}

@keyframes tfrxCountPop {
  0% { opacity: 0; transform: translateY(10px) scale(0.9); }
  60% { opacity: 1; transform: translateY(0) scale(1.08); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes tfrxPulseGlow {
  0%, 100% {
    box-shadow:
      0 10px 20px rgba(154,122,58,0.28),
      0 0 0 0 rgba(212,181,116,0.00),
      inset 0 1px 0 rgba(255,255,255,0.12);
  }
  50% {
    box-shadow:
      0 12px 26px rgba(154,122,58,0.38),
      0 0 0 8px rgba(212,181,116,0.08),
      inset 0 1px 0 rgba(255,255,255,0.14);
  }
}

@media (max-width: 767px) {
  .tfrx-title { font-size: 2.4rem; }
  .tfrx-btn { width: 100%; }
  .tfrx-hero-visual,
  .tfrx-event-media,
  .tfrx-gallery-item { aspect-ratio: 4 / 3; }

  .tfrx-stat {
    text-align: center;
  }

  /* Center only the stat icons; feature/contact-card icons stay left-aligned
     with their text so they don't look disconnected */
  .tfrx-stat .tfrx-iconbox {
    margin-left: auto;
    margin-right: auto;
  }

  .tfrx-stat-number {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  .tfrx-stat-label {
    text-align: center;
  }

  .tfrx-popup {
    padding: 0;
  }

  .tfrx-popup-card {
    border-radius: 18px;
  }

  .tfrx-popup-close {
    top: 10px;
    right: 10px;
    width: 42px;
    height: 42px;
  }

  .tfrx-music-dock {
    right: 12px;
    bottom: 12px;
  }

  .tfrx-music-fab {
    min-height: 54px;
    padding: 12px 14px 12px 12px;
  }

  .tfrx-music-kicker {
    font-size: 9px;
  }

  .tfrx-music-label {
    font-size: 13px;
  }
}

/* ---------- Small-phone polish (<= 639px) ---------- */
@media (max-width: 639px) {
  /* Tighter vertical rhythm so pages don't feel endless on a phone */
  .tfrx-section { padding: 46px 0 0; }
  .tfrx-hero { padding: 40px 0 34px; }

  /* Stats: compact 3-across row instead of three tall stacked cards */
  .tfrx-stats {
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
  }
  .tfrx-stats .tfrx-stat { padding: 16px 6px; }
  .tfrx-stats .tfrx-iconbox {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    margin-bottom: 8px;
  }
  .tfrx-stats .tfrx-iconbox svg { width: 18px; height: 18px; }
  .tfrx-stats .tfrx-stat-number {
    font-size: 1.5rem;
    margin: 4px 0 2px;
  }
  .tfrx-stats .tfrx-stat-number .plus { font-size: 0.85em; }
  .tfrx-stats .tfrx-stat-label {
    font-size: 8px;
    letter-spacing: 0.06em;
  }

  /* Legal pages: tighter padding + a 2-column table of contents */
  .tfrx-doc-card { padding: 22px 18px; }
  .tfrx-doc-section h3 { font-size: 1.1rem; }
  .tfrx-doc-toc {
    padding: 16px 16px;
  }
  .tfrx-doc-toc a {
    font-size: 0.82rem;
    padding: 6px 0 6px 10px;
  }
}

@media (min-width: 640px) {
  .tfrx-container {
    padding-left: 24px;
    padding-right: 24px;
  }

  .tfrx-stats { grid-template-columns: repeat(3, 1fr); }
  .tfrx-mini { grid-template-columns: repeat(3, 1fr); }
  .tfrx-actions {
    flex-direction: row;
    flex-wrap: wrap;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .tfrx-hero-visual { aspect-ratio: 16 / 9; }
  .tfrx-gallery-item { aspect-ratio: 4 / 3; }
}

@media (min-width: 768px) {
  .tfrx-menu { display: flex; }
  .tfrx-menu-btn,
  .tfrx-mobile { display: none !important; }
  .tfrx-hero { padding: 72px 0 52px; }
  .tfrx-hero-grid {
    grid-template-columns: 1.1fr 0.9fr;
    gap: 30px;
  }
  .tfrx-features { grid-template-columns: repeat(2, 1fr); }
  .tfrx-events { grid-template-columns: repeat(2, 1fr); }
  .tfrx-gallery { grid-template-columns: repeat(2, 1fr); }
  .tfrx-footer-grid { grid-template-columns: 1fr 1fr; }
  .tfrx-news {
    flex-direction: row;
    align-items: stretch;
  }
  .tfrx-input { min-width: 0; }
  .tfrx-footer-bottom {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    text-align: left;
  }
}

@media (min-width: 1024px) {
  .tfrx-features { grid-template-columns: repeat(4, 1fr); }
  .tfrx-events { grid-template-columns: repeat(3, 1fr); }
  .tfrx-gallery { grid-template-columns: repeat(4, 1fr); }
  .tfrx-footer-grid { grid-template-columns: 2fr 1fr 1fr; }
  .tfrx-hero-visual { aspect-ratio: 16 / 9; }

  .tfrx-event {
    min-height: 460px;
  }

  .tfrx-event-content {
    padding: 24px 22px 26px;
  }
}

/* ====================================================================
   ABOUT PAGE ADDITIONS
   ==================================================================== */
.tfrx-menu a.is-active { color: var(--gold); }

/* Layout: nav (header) + footer stay full-width; everything between is
   boxed in a centered 1280px column, so section bands no longer bleed
   edge-to-edge. */
.tfrx-main {
  width: min(1280px, 100%);
  margin-left: auto;
  margin-right: auto;
}

/* The section "bands" (soft/dark) were built to run full-width. Inside the
   boxed column they'd get clipped into rectangles with hard vertical seams
   against the page background, so flatten them — the inner cards provide the
   visual separation instead. */
.tfrx-main .tfrx-section-soft,
.tfrx-main .tfrx-section-dark,
.tfrx-main .tfrx-cta {
  background: transparent;
}

/* Section underline */
.tfrx-underline {
  width: 80px;
  height: 3px;
  margin: 14px auto 0;
  border-radius: 3px;
  background: linear-gradient(90deg, var(--gold-deep), var(--gold));
}

/* Our Story */
.tfrx-story-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
  align-items: center;
}
.tfrx-story-text p { margin: 0 0 20px; color: var(--muted); }
.tfrx-story-text p:last-child { margin-bottom: 0; }
.tfrx-story-media {
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(0,0,0,0.34);
}
.tfrx-story-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 16 / 10;
}

/* Powered by VORTIXA */
.tfrx-vortixa-card {
  display: grid;
  grid-template-columns: 1fr;
  gap: 26px;
  align-items: center;
  background: #01010c;
  border: 1px solid rgba(212, 181, 116, 0.14);
  border-radius: var(--radius);
  padding: 34px;
}
.tfrx-vortixa-logo { display: flex; align-items: center; justify-content: center; }
.tfrx-vortixa-logo img { width: min(240px, 72%); }
.tfrx-vortixa-divider { display: none; }
.tfrx-vortixa-copy p { margin: 0 0 14px; color: var(--muted); }
.tfrx-vortixa-copy p strong { color: var(--heading); }
.tfrx-vortixa-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
  color: var(--gold);
  font-weight: 600;
}
.tfrx-vortixa-link span { text-decoration: underline; text-underline-offset: 3px; }
.tfrx-vortixa-link:hover { color: #faedcb; }

@media (min-width: 768px) {
  .tfrx-story-grid { grid-template-columns: 1fr 1.1fr; gap: 40px; }
  .tfrx-vortixa-card { grid-template-columns: 0.85fr auto 1.6fr; padding: 40px; }
  .tfrx-vortixa-divider {
    display: block;
    width: 1px;
    align-self: stretch;
    background: rgba(212,181,116,0.16);
  }
}


/* ============================================================
   GRAND WORDMARK FOOTER (editorial, GoCanopy-style)
   ============================================================ */
.gf{position:relative;overflow:hidden;background:#0b0b0d;border-top:1px solid rgba(212,181,116,.14);padding:64px 0 0;}
.gf, .gf *{box-sizing:border-box;}
.gf-in{width:100%;max-width:1280px;margin:0 auto;padding:0 40px;}

.gf-top{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:36px;}
.gf-desc{position:relative;color:#c6b183;max-width:368px;line-height:1.8;font-size:1.1rem;margin:0;letter-spacing:.15px;padding-left:20px;}
.gf-desc::before{content:"";position:absolute;left:0;top:4px;bottom:6px;width:3px;border-radius:3px;background:linear-gradient(180deg,var(--gold),rgba(212,181,116,0.05));}
.gf-desc .gf-hl{font-weight:700;background:linear-gradient(90deg,#f7e8bf,#e0c483);-webkit-background-clip:text;background-clip:text;color:transparent;}
.gf-col h5{margin:0 0 16px;color:#f2e6c6;font-weight:600;font-size:1rem;}
.gf-col a{position:relative;display:flex;align-items:center;color:#93855f;margin-bottom:11px;font-size:1rem;width:-moz-fit-content;width:fit-content;transition:color .2s ease,padding-left .2s ease;}
.gf-col a::before{content:"-";position:absolute;left:0;top:50%;transform:translateY(-50%);opacity:0;color:var(--gold);transition:opacity .2s ease;}
.gf-col a:hover{color:var(--gold);padding-left:14px;}
.gf-col a:hover::before{opacity:1;}

.gf-mid{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-top:52px;flex-wrap:wrap;}
.gf-socials{display:inline-flex;align-items:center;gap:12px;}
.gf-socials .lab{color:#e8dcbb;font-weight:500;font-size:1.02rem;margin-right:6px;}
.gf-socials .gf-ic{width:42px;height:42px;border-radius:50%;background:transparent;border:1px solid rgba(212,181,116,.42);color:#f2e6c6;display:flex;align-items:center;justify-content:center;transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease;}
.gf-socials .gf-ic:hover{background:#f2e6c6;border-color:#f2e6c6;color:#0b0b0d;transform:translateY(-2px);}
.gf-socials .gf-ic svg{width:19px;height:19px;color:inherit;}

.gf-ctawrap{flex:0 0 auto;min-width:460px;}
.gf-cta{display:flex;align-items:center;gap:16px;border:1px solid rgba(212,181,116,.34);border-radius:999px;padding:10px 10px 10px 16px;background:rgba(255,255,255,.02);}
.gf-cta-logo{width:46px;height:46px;border-radius:50%;border:1px solid rgba(212,181,116,.34);display:flex;align-items:center;justify-content:center;flex:0 0 auto;overflow:hidden;}
.gf-cta-logo img{width:30px;height:30px;object-fit:contain;}
.gf-cta-text{color:#e8dcbb;font-size:1.06rem;white-space:nowrap;flex:1;}
.gf-cta .tfrx-btn{min-height:46px;padding:12px 20px;white-space:nowrap;}
.gf-cta .tfrx-btn svg{width:17px;height:17px;}

.gf-tags{display:flex;justify-content:space-between;gap:20px;margin-top:16px;font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;font-size:12px;letter-spacing:.12em;color:#8f7c52;text-transform:uppercase;}

.gf-mark{font-family:'Playfair Display',Georgia,'Times New Roman',serif;font-weight:600;color:#f3e8c9;font-size:15.4vw;line-height:.9;text-align:center;margin:30px 0 0;white-space:nowrap;letter-spacing:-.012em;}

.gf-bottom{position:relative;z-index:3;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-top:18px;padding:18px 40px 28px;border-top:1px solid rgba(212,181,116,.10);color:#8f7c52;font-size:13.5px;}
.gf-bottom .tfrx-admin-dot{color:inherit;text-decoration:none;cursor:pointer;transition:color .25s ease;}
.gf-bottom .tfrx-admin-dot:hover{color:var(--gold);}
.gf-legal{display:flex;gap:22px;flex-wrap:wrap;}
.gf-legal a{color:#93855f;font-size:13.5px;transition:color .2s ease;}
.gf-legal a:hover{color:var(--gold);}

@media (max-width:820px){
  .gf{padding-top:54px;}
  .gf-in{padding:0 22px;}
  .gf-top{grid-template-columns:1fr 1fr;gap:26px 18px;}
  .gf-desc{grid-column:1 / -1;}
  .gf-mid{flex-direction:column;align-items:stretch;gap:22px;margin-top:40px;}
  .gf-socials{align-self:flex-start;flex-wrap:wrap;}
  .gf-ctawrap{min-width:0;width:100%;max-width:100%;}
  .gf-cta{flex-wrap:wrap;border-radius:22px;padding:16px;gap:12px 14px;min-width:0;}
  .gf-cta-text{white-space:normal;flex:1 1 120px;min-width:0;}
  .gf-cta .tfrx-btn{flex:1 1 100%;width:100%;min-width:0;justify-content:center;}
  .gf-tags{flex-direction:column;gap:6px;margin-top:20px;}
  .gf-mark{white-space:normal;overflow-wrap:anywhere;font-size:18vw;line-height:.92;margin-top:24px;}
  .gf-bottom{flex-direction:column;align-items:stretch;gap:12px;margin-top:14px;padding:18px 22px 26px;}
  .gf-bottom > span{max-width:100%;overflow-wrap:anywhere;}
  .gf-legal{gap:12px 18px;}
}

/* Fix: remove blank space caused by stray empty <p> tags that WordPress
   auto-inserts around the <section> and trailing <script> tags in this
   Text Editor widget's content. */
.tfrx > p:empty {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.elementor-text-editor > p:has(script) {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}/* End custom CSS */

