/*
Theme Name: tenders.gy
Theme URI: https://tenders.gy
Author: tenders.gy
Description: Lightweight marketing and editorial theme for tenders.gy.
Version: 0.66.34
Requires at least: 6.6
Requires PHP: 8.2
Text Domain: tenders-gy
*/

/* Interactive actions should advertise their click behaviour consistently. */
:is(a[href], button, input[type='button'], input[type='submit'], input[type='reset'], [role='button'], [role='link'], summary):not(:disabled):not([aria-disabled='true']) {
    cursor: pointer;
}

:is(button, input, [role='button'], [role='link'], a)[aria-disabled='true'],
:is(button, input):disabled {
    cursor: not-allowed;
}

* { box-sizing: border-box; }
html { font-size: 20px; scroll-behavior: smooth; scrollbar-gutter: stable; }
body {
  margin: 0;
  background: var(--tg-canvas);
  color: var(--tg-ink);
  font-family: var(--tg-font-body);
  font-size: 1rem;
  font-weight: var(--tg-weight-regular);
  line-height: 1.65;
  font-synthesis-weight: none;
  text-rendering: optimizeLegibility;
}
a { color: var(--tg-green); text-underline-offset: .2em; }
a:hover { color: var(--tg-green-dark); }
img { display: block; max-width: 100%; height: auto; }
button, input, textarea, select { font: inherit; }
select:not([multiple]) {
  appearance: none;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='m1 1.25 5 5 5-5' stroke='%236c756f' stroke-width='1.35' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-position: right .8rem center;
  background-repeat: no-repeat;
  background-size: .68rem auto;
  padding-right: 2.35rem;
}
select:not([multiple]):focus-visible { outline: 2px solid var(--tg-green); outline-offset: 2px; }
button, .button { max-height: 48px; }
h1, h2, h3, h4, h5, h6 { font-family: var(--tg-font-heading); font-weight: var(--tg-weight-heading); }
strong, b { font-family: var(--tg-font-emphasis); font-weight: var(--tg-weight-regular); }
nav, .site-actions { font-family: var(--tg-font-interface); }
:focus-visible { outline: 2px solid var(--tg-green); outline-offset: 3px; }

.skip-link {
  position: fixed;
  top: .75rem;
  left: .75rem;
  z-index: 100;
  transform: translateY(-200%);
  background: #fff;
  padding: .75rem 1rem;
}
.skip-link:focus { transform: none; }
.site-width { width: min(100% - 2rem, var(--tg-width)); margin-inline: auto; }

.site-header { position: relative; z-index: 10; border-bottom: 1px solid var(--tg-header-line); background: #fff; }
.site-header__inner { min-height: var(--tg-header-inner-height); display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; column-gap: 1rem; }
.site-brand { display: inline-flex; align-items: center; color: var(--tg-ink); text-decoration: none; }
.brand-logo { display: inline-block; width: auto; height: var(--tg-header-logo-compact-height); max-width: min(11rem, 42vw); aspect-ratio: 1006 / 226; line-height: 0; }
.brand-logo > svg { display: block; width: 100%; height: 100%; }
.site-nav { display: flex; align-items: center; justify-self: start; gap: .25rem; }
.site-nav ul { display: flex; align-items: center; gap: .25rem; margin: 0; padding: 0; list-style: none; }
.site-nav li { position: relative; }
.site-nav a { display: inline-flex; min-height: var(--tg-header-control-height); align-items: center; border-radius: .4rem; padding-inline: .65rem; color: #313131; font-size: var(--tg-nav-font-size); font-weight: var(--tg-weight-regular); text-decoration: none; transition: background-color 140ms ease, color 140ms ease; }
.site-nav a:hover { background: var(--tg-sky-soft); color: var(--tg-green-dark); }
.site-nav__trigger { display: inline-flex; min-height: var(--tg-header-control-height); align-items: center; gap: .3rem; border: 0; border-radius: .4rem; background: transparent; padding-inline: .65rem; color: #313131; font: inherit; font-size: var(--tg-nav-font-size); font-weight: var(--tg-weight-regular); cursor: pointer; transition: background-color 140ms ease, color 140ms ease; }
.site-nav__trigger:hover, .site-nav__trigger:focus-visible, .site-nav__trigger[aria-expanded="true"] { background: var(--tg-sky-soft); color: var(--tg-green-dark); }
.site-nav__trigger:focus-visible { outline: 2px solid var(--tg-green-dark); outline-offset: 2px; }
.site-nav__trigger svg { width: .55rem; height: .4rem; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; transition: transform 150ms ease; }
.site-nav__trigger[aria-expanded="true"] svg { transform: rotate(180deg); }
.site-nav__submenu { position: absolute; top: calc(100% + var(--tg-nav-submenu-offset)); left: 0; z-index: 30; display: grid; width: min(var(--tg-nav-submenu-width), calc(100vw - 2rem)); grid-template-columns: 1fr; gap: .15rem; visibility: hidden; opacity: 0; transform: translateY(-.25rem); border: 1px solid var(--tg-header-line); border-radius: .75rem; background: #fff; padding: .3rem; box-shadow: 0 1rem 2.5rem rgba(24, 34, 44, .14); transition: opacity 140ms ease, transform 140ms ease, visibility 140ms; }
.site-nav__submenu--about { right: 0; left: auto; }
.site-nav__item--has-submenu.is-open .site-nav__submenu { visibility: visible; opacity: 1; transform: translateY(0); }
.site-nav .site-nav__submenu a { display: block; border-radius: .6rem; }
.site-actions { display: flex; align-items: center; justify-self: end; gap: .6rem; }
.button, .site-actions .button { display: inline-flex; min-height: var(--tg-header-control-height); align-items: center; justify-content: center; border: 1px solid transparent; border-radius: var(--tg-button-radius); padding: .5rem 1.2rem; background: var(--tg-button); color: #fff; font-weight: var(--tg-weight-regular); text-decoration: none; transition: background-color 150ms cubic-bezier(.4, 0, .2, 1), border-color 150ms cubic-bezier(.4, 0, .2, 1), color 150ms cubic-bezier(.4, 0, .2, 1), box-shadow 180ms cubic-bezier(.2, .8, .2, 1), transform 180ms cubic-bezier(.2, .8, .2, 1); }
.site-actions .button { height: var(--tg-button-height); min-height: var(--tg-button-height); padding: 0 1rem; font-size: .7rem; font-weight: var(--tg-weight-regular); }
.site-actions .button--trial { gap: .5rem; padding-inline: 1rem .85rem; }
.button__arrow { width: 1rem; height: .6rem; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; transition: transform 240ms cubic-bezier(.4, 0, .2, 1); }
.button__label--compact { display: none; }
.button--trial:hover .button__arrow, .button--trial:focus-visible .button__arrow { transform: translateX(.15rem); }
.button:hover { background: var(--tg-button-hover); color: #fff; box-shadow: 0 .35rem .9rem rgb(0 98 65 / 16%); transform: translateY(-1px); }
.button:active { transform: translateY(0) scale(.985); }
.button:focus-visible { outline: 2px solid var(--tg-green); outline-offset: 3px; }
.site-actions .button--outline { max-height: 48px; border-color: #a4a4a4; background: #fff; color: var(--tg-navy-dark); }
.site-actions .button--outline:hover { border-color: var(--tg-button); background: var(--tg-button); color: #fff; transition-delay: 90ms; }
.site-menu-toggle { position: relative; display: none; width: var(--tg-header-control-height); height: var(--tg-header-control-height); border: 0; border-radius: var(--tg-button-radius); background: #fff; color: var(--tg-navy-dark); cursor: pointer; }
.site-menu-toggle > span { position: absolute; top: 50%; left: 50%; width: 1rem; height: 2px; border-radius: 999px; background: currentColor; transform: translate(-50%, -50%); transform-origin: center; transition: transform 160ms ease, opacity 160ms ease; }
.site-menu-toggle > span:first-child { transform: translate(-50%, calc(-50% - .3rem)); }
.site-menu-toggle > span:nth-child(3) { transform: translate(-50%, calc(-50% + .3rem)); }
.site-menu-toggle[aria-expanded="true"] > span:first-child { transform: translate(-50%, -50%) rotate(45deg); }
.site-menu-toggle[aria-expanded="true"] > span:nth-child(2) { opacity: 0; }
.site-menu-toggle[aria-expanded="true"] > span:nth-child(3) { transform: translate(-50%, -50%) rotate(-45deg); }
.site-nav__mobile-account { display: none; }
.site-nav__mobile-account[hidden] { display: none; }
.button--quiet { border-color: var(--tg-line); background: #fff; color: var(--tg-ink); }
.button--quiet:hover { border-color: #8e887f; background: #fff; color: var(--tg-ink); }

.hero,
.activity-bridge,
.section--source-index { --activity-bridge-space: clamp(3.5rem, 8vw, 6.5rem); --activity-bridge-overlap: calc(2.325rem + clamp(.7rem, 1.5vw, 1rem) + 1px); }
.hero { position: relative; isolation: isolate; overflow: hidden; background: #fff; }
.hero::before { content: ""; position: absolute; top: 50%; left: 50%; z-index: 0; width: min(44rem, 64vw); height: 110%; pointer-events: none; background: radial-gradient(ellipse at center, rgb(0 168 105 / 48%) 0%, rgb(212 233 226 / 80%) 38%, rgb(255 255 255 / 0%) 72%); filter: blur(1.2rem); transform: translate3d(-130%, -50%, 0) scale(.94); will-change: transform, opacity; animation: hero-light-sweep 5.5s cubic-bezier(.45, 0, .55, 1) infinite; }
.hero-flow { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.hero-flow svg { display: block; width: 100%; height: 100%; }
.hero-flow__arch { fill: none; stroke: var(--tg-navy); stroke-width: 1.35; opacity: .055; vector-effect: non-scaling-stroke; }
.hero-flow__arch--green { stroke: var(--tg-green); opacity: .075; }
.hero-flow__arch--secondary { stroke-width: 1; opacity: .028; }
.hero__inner { position: relative; z-index: 1; padding-block: var(--activity-bridge-space); padding-bottom: calc(var(--activity-bridge-space) + var(--activity-bridge-overlap)); }
.hero__copy { position: relative; z-index: 1; width: min(100%, 65rem); margin-inline: auto; text-align: center; }
.hero h1 { max-width: 28ch; margin: 0 auto; color: var(--tg-navy-dark); font-size: clamp(1.4rem, 7.5vw, 2.25rem); line-height: 1; letter-spacing: -.055em; font-weight: var(--tg-weight-heading); }
.hero__lead { max-width: 45rem; margin: 1.35rem auto 0; color: var(--tg-muted); font-size: clamp(.85rem, 1.4vw, 1rem); font-weight: var(--tg-weight-regular); line-height: 1.55; }
.hero__lead p { margin: 0; }
.hero-signup-cta { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; margin: 1.5rem auto 0; }
.hero-signup-cta[data-home-signed-out][hidden], .hero-signup-note[data-home-signed-out][hidden], .hero-auth-actions[hidden] { display: none !important; }
.hero-signup-cta__button { min-width: clamp(10.5rem, 20vw, 13rem); min-height: 48px; padding-inline: 1.1rem; font-size: clamp(.78rem, 1.2vw, .9rem); }
.hero-signup-cta__button--secondary { border-color: #a4a4a4; background: #fff; color: var(--tg-ink); }
.hero-signup-cta__button--secondary:hover { border-color: var(--tg-green); background: var(--tg-sky-soft); color: var(--tg-green-dark); }
.hero-signup-note { display: flex; flex-wrap: wrap; justify-content: center; gap: .25rem .2rem; margin: .65rem 0 0; color: #606060; font-size: .68rem; line-height: 1.5; }
.hero-signup-note__flag { display: inline-flex; align-items: center; margin-left: .05rem; }
.hero-signup-note__flag svg { display: block; width: 1.05rem; height: auto; }
.hero-auth-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; margin: 1.5rem auto 0; }
.hero-auth-actions .button { min-height: 48px; }
.hero-auth-actions__primary { border-color: var(--tg-green); background: var(--tg-green); color: #fff; }
.hero-auth-actions__primary:hover { border-color: var(--tg-green-dark); background: var(--tg-green-dark); color: #fff; }
.hero-auth-actions__secondary { border-color: #a4a4a4; background: #fff; color: var(--tg-ink); }
.hero-auth-actions__secondary:hover { border-color: var(--tg-green); background: var(--tg-sky-soft); color: var(--tg-green-dark); }
@keyframes tg-button-spin { to { transform: scale(1) rotate(360deg); } }
.activity-bar { position: relative; overflow: hidden; border: 0; background: transparent; color: #1f2723; }
.activity-bar__link { display: block; color: inherit; text-decoration: none; }
.activity-bar__link:focus-visible { outline: 2px solid var(--tg-green); outline-offset: -2px; }
.activity-bar__content { position: relative; z-index: 1; padding-block: .8rem .9rem; }
.activity-bar__mark { position: absolute; top: .45rem; left: .55rem; z-index: 2; display: block; width: 1.65rem; color: var(--tg-green); pointer-events: none; }
.activity-bar__mark svg { position: relative; z-index: 1; display: block; width: 100%; height: auto; overflow: visible; fill: none; stroke: currentColor; stroke-width: 3.5; }
.activity-bar__mark .activity-bar__mark-ripple { position: absolute; inset: 0; z-index: 0; opacity: 0; transform-box: fill-box; transform-origin: center; }
.activity-bar__mark-logo circle:first-child { stroke: var(--tg-green-soft); }
.activity-bar__inner { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.activity-bar__stat { position: relative; display: flex; min-width: 0; min-height: 4.25rem; flex-direction: column; align-items: center; justify-content: center; gap: .3rem; padding: .45rem .3rem; text-align: center; }
.activity-bar__stat:not(:last-child)::after { position: absolute; top: 0; right: 0; width: 1px; height: 100%; background: #d9ddd9; content: ""; }
.activity-bar .activity-bar__number { display: block; color: #1f2723; font-family: var(--tg-font-heading); font-size: clamp(1.45rem, 3vw, 2.05rem); font-weight: var(--tg-weight-heading); line-height: 1; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.activity-bar .activity-bar__label { max-width: none; color: #1f2723; font-size: clamp(10px, 2.6vw, 14px); font-weight: var(--tg-weight-regular); line-height: 1.35; white-space: nowrap; }
.activity-bridge { position: relative; z-index: 4; height: 0; margin: 0; }
.activity-bridge .activity-bar { overflow: visible; transform: translateY(-50%); }
.activity-bridge .activity-bar__content { overflow: hidden; max-width: 48rem; border: 1px solid #e1e4e2; border-radius: .8rem; background: #fff; padding: clamp(.7rem, 1.5vw, 1rem); box-shadow: 0 2px 8px rgb(0 0 0 / 10%); }
.activity-bridge .activity-bar__inner { position: relative; z-index: 1; width: 100%; margin-inline: auto; border: 0; border-radius: 0; background: transparent; padding: .2rem .7rem; box-shadow: none; }
.activity-bridge .activity-bar .activity-bar__number { color: #1f2723; }
@media (prefers-reduced-motion: no-preference) {
  .activity-bar__mark-ripple { animation: activity-mark-ripple 2.4s ease-out infinite; }
  .scroll-reveal-enabled [data-scroll-reveal] { opacity: 0; transform: translate3d(0, 1rem, 0); transition: opacity 500ms ease-out, transform 500ms ease-out; transition-delay: var(--reveal-delay, 0ms); will-change: opacity, transform; }
  .scroll-reveal-enabled [data-scroll-reveal].is-visible { opacity: 1; transform: translate3d(0, 0, 0); will-change: auto; }
}

@keyframes activity-mark-ripple {
  0% { opacity: 0; transform: scale(1); }
  14% { opacity: .42; }
  100% { opacity: 0; transform: scale(1.8); }
}

@keyframes hero-light-sweep {
  0%, 100% { transform: translate3d(-130%, -50%, 0) scale(.94); opacity: .66; }
  50% { transform: translate3d(30%, -50%, 0) scale(1.06); opacity: .94; }
}

.section { padding-block: clamp(3.5rem, 7vw, 6.5rem); }
.section + .section { border-top: 1px solid var(--tg-line); }
.section h2 { max-width: 18ch; margin: 0; color: var(--tg-navy-dark); font-size: var(--tg-heading-section-size); line-height: 1.08; letter-spacing: -.045em; font-weight: var(--tg-weight-heading); }
.section-heading { display: grid; gap: 1.5rem; align-items: end; }
.section-heading p { max-width: 37rem; margin: 0; color: var(--tg-muted); font-size: .98rem; line-height: 1.65; }
.section__intro { max-width: 43rem; margin-top: 1rem; color: var(--tg-muted); font-size: 1.05rem; }
.text-link { display: inline-flex; margin-top: 1.4rem; color: var(--tg-navy); font-weight: var(--tg-weight-regular); text-decoration: none; }
.text-link:hover { color: var(--tg-green-dark); text-decoration: underline; }
.text-link span { margin-left: .35rem; }

.section--problems { background: #fff; }
.section--problems > .site-width { max-width: 50rem; }
.problem-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: clamp(1.5rem, 6vw, 5rem); row-gap: 1rem; align-items: center; }
.problem-heading__copy { min-width: 0; max-width: 48rem; }
.problem-heading__eyebrow { margin: 0 0 .65rem; color: var(--tg-green); font-family: var(--tg-font-interface); font-size: .7rem; font-weight: var(--tg-weight-regular); letter-spacing: .04em; line-height: 1.3; text-transform: uppercase; }
.section--problems .problem-heading__title { max-width: 18ch; margin: 0; text-align: left; }
.problem-list__lead { min-width: 0; max-width: 42rem; grid-column: 1; margin: 0; color: var(--tg-muted); font-size: 1rem; line-height: 1.55; overflow-wrap: break-word; text-align: left; }
.problem-heading__mark { display: block; width: clamp(6rem, 18vw, 12rem); height: auto; grid-column: 2; grid-row: 1 / span 2; justify-self: end; }
.problem-list { display: grid; gap: 1rem; margin: clamp(2rem, 4vw, 3rem) 0 0; padding: 0; list-style: none; }
.problem-card { display: flex; overflow: hidden; flex-direction: column; border: 1px solid #e3efeb; border-radius: var(--tg-radius); background: #fafcfb; }
.problem-card__problem { padding: 1.25rem; }
.problem-list h3 { max-width: 27rem; margin: 0; color: var(--tg-navy-dark); font-size: clamp(1.08rem, 2vw, 1.3rem); line-height: 1.25; }
.problem-card__problem > p { margin: .7rem 0 0; color: var(--tg-muted); font-size: .88rem; line-height: 1.65; }
.problem-card__solution { position: relative; overflow: hidden; flex: 1; border-top: 1px solid #dbeae5; background: #f1f7f5; padding: 1rem 1.25rem 1.15rem; }
.problem-card__solution::before { position: absolute; right: .55rem; bottom: -.55rem; color: rgba(0, 117, 74, .08); content: "✓"; font-size: 4.25rem; font-weight: var(--tg-weight-regular); line-height: 1; pointer-events: none; }
.problem-card__solution strong { position: relative; z-index: 1; display: block; color: var(--tg-ink); font-size: .82rem; font-weight: var(--tg-weight-regular); line-height: 1.5; }
.problem-card__solution p { position: relative; z-index: 1; margin: .45rem 0 0; color: var(--tg-ink); font-size: .78rem; font-weight: var(--tg-weight-regular); line-height: 1.55; }
.problem-card__solution > p:first-child { margin-top: 0; }
.section--match-flow { overflow: hidden; border-top: 1px solid #e5eee9; background: #f7faf8; }
.match-flow__heading { max-width: 44rem; margin-inline: auto; text-align: center; }
.match-flow__eyebrow { margin: 0 0 .7rem; color: var(--tg-green); font-family: var(--tg-font-interface); font-size: .7rem; font-weight: var(--tg-weight-regular); letter-spacing: .05em; line-height: 1.3; text-transform: uppercase; }
.match-flow__heading h2 { max-width: 21ch; margin: 0 auto; color: var(--tg-navy-dark); font-size: var(--tg-heading-section-size); line-height: 1.04; letter-spacing: -.045em; }
.match-flow__heading > p:last-child { max-width: 37rem; margin: 1rem auto 0; color: var(--tg-muted); font-size: .92rem; line-height: 1.6; }
.match-flow { display: flex; max-width: 52rem; flex-direction: column; align-items: center; margin: clamp(2.5rem, 5vw, 4rem) auto 0; }
.match-flow__card { position: relative; width: min(100%, 42rem); border: 1px solid #dce8e2; border-radius: 1rem; background: #fff; padding: clamp(1rem, 2.5vw, 1.55rem) clamp(1.1rem, 3.5vw, 2rem); box-shadow: 0 1.25rem 2.5rem rgb(35 62 50 / 8%); }
.match-flow__card--tender { z-index: 2; animation: match-flow-tender 7s cubic-bezier(.22, 1, .36, 1) infinite; }
.match-flow__card--profile { z-index: 1; margin-top: .2rem; animation: match-flow-profile 7s cubic-bezier(.22, 1, .36, 1) infinite; }
.match-flow__card-top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.match-flow__source { display: inline-flex; align-items: center; border-radius: 999px; background: #dff5e9; padding: .28rem .55rem; color: var(--tg-green-dark); font-family: var(--tg-font-interface); font-size: .58rem; font-weight: var(--tg-weight-regular); line-height: 1.2; }
.match-flow__source--profile { background: #e7f0ec; color: #52685c; }
.match-flow__time { color: #9aa69f; font-size: .58rem; }
.match-flow__card h3 { max-width: 34rem; margin: .75rem 0 .25rem; color: #1c2922; font-size: clamp(1.05rem, 2vw, 1.45rem); line-height: 1.2; letter-spacing: -.025em; }
.match-flow__card p { margin: 0; color: #7a8780; font-size: .7rem; line-height: 1.45; }
.match-flow__meta { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: 1rem; }
.match-flow__meta span { border-radius: .4rem; background: #eef8f2; padding: .36rem .55rem; color: #507263; font-family: var(--tg-font-interface); font-size: .56rem; line-height: 1.2; }
.match-flow__connector { display: grid; width: min(18rem, 55%); grid-template-columns: 1fr auto 1fr; align-items: center; gap: .75rem; margin: .35rem 0; color: var(--tg-green); }
.match-flow__connector-line { height: 2.3rem; border-left: 2px dashed #9bd7b8; justify-self: center; animation: match-flow-connector 7s ease-in-out infinite; }
.match-flow__connector strong { display: grid; place-items: center; min-width: 6.5rem; color: var(--tg-green); font-family: var(--tg-font-heading); font-size: clamp(1.45rem, 3vw, 2rem); line-height: 1; letter-spacing: -.06em; animation: match-flow-score 7s cubic-bezier(.22, 1, .36, 1) infinite; }
.match-flow__connector strong small { margin-top: .15rem; color: #6a8274; font-family: var(--tg-font-interface); font-size: .55rem; font-weight: var(--tg-weight-regular); letter-spacing: .05em; line-height: 1; text-transform: uppercase; }
.match-flow__profile-status { display: inline-flex; align-items: center; gap: .3rem; color: var(--tg-green-dark); font-family: var(--tg-font-interface); font-size: .58rem; font-weight: var(--tg-weight-regular); }
.match-flow__profile-status i { width: .42rem; height: .42rem; border-radius: 50%; background: var(--tg-green); box-shadow: 0 0 0 .2rem #dff5e9; }
.match-flow__delivery { width: min(100%, 42rem); margin-top: 1.1rem; animation: match-flow-delivery 7s cubic-bezier(.22, 1, .36, 1) infinite; }
.match-flow__delivery-label { margin-bottom: .55rem; color: #698074; font-family: var(--tg-font-interface); font-size: .58rem; font-weight: var(--tg-weight-regular); letter-spacing: .06em; text-align: center; text-transform: uppercase; }
.match-flow__delivery-card { display: flex; align-items: center; gap: .6rem; border: 1px solid #cde8d9; border-radius: .7rem; background: #e5f8ed; padding: .7rem .8rem; color: #175d40; }
.match-flow__delivery-card + .match-flow__delivery-card { margin-top: .55rem; }
.match-flow__delivery-card--email { background: #edf8f3; }
.match-flow__delivery-icon { display: grid; width: 1.65rem; height: 1.65rem; flex: 0 0 1.65rem; place-items: center; border-radius: .45rem; background: var(--tg-green); color: #fff; }
.match-flow__delivery-icon svg { width: .9rem; height: .9rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5; }
.match-flow__delivery-card > span:nth-child(2) { display: grid; gap: .08rem; min-width: 0; }
.match-flow__delivery-card b { color: #145c3f; font-size: .66rem; line-height: 1.2; }
.match-flow__delivery-card small { color: #6d887a; font-size: .55rem; line-height: 1.2; }
.match-flow__delivery-card strong { margin-left: auto; color: var(--tg-green-dark); font-family: var(--tg-font-interface); font-size: .55rem; font-weight: var(--tg-weight-regular); }
@keyframes match-flow-tender { 0%, 66% { opacity: 1; transform: translateY(0); } 78%, 100% { opacity: .62; transform: translateY(.15rem); } }
@keyframes match-flow-profile { 0%, 18% { opacity: 0; transform: translateY(-.5rem); } 30%, 66% { opacity: 1; transform: translateY(0); } 78%, 100% { opacity: .72; transform: translateY(.1rem); } }
@keyframes match-flow-connector { 0%, 23% { opacity: 0; transform: scaleY(.25); } 34%, 70% { opacity: 1; transform: scaleY(1); } 82%, 100% { opacity: .35; transform: scaleY(.8); } }
@keyframes match-flow-score { 0%, 27% { opacity: 0; transform: scale(.8); } 37%, 68% { opacity: 1; transform: scale(1); } 80%, 100% { opacity: .6; transform: scale(.96); } }
@keyframes match-flow-delivery { 0%, 46% { opacity: 0; transform: translateY(.6rem); } 57%, 72% { opacity: 1; transform: translateY(0); } 82%, 100% { opacity: .7; transform: translateY(.1rem); } }


.section--source-index { position: relative; isolation: isolate; overflow: hidden; padding-top: calc(var(--activity-bridge-space) + var(--activity-bridge-overlap)); background: #0d1c15; color: #fff; }
.section--source-index::before,
.section--source-index::after { position: absolute; border: 1px solid rgba(121, 210, 160, .16); border-radius: 50%; content: ""; pointer-events: none; }
.section--source-index::before { right: -12rem; bottom: -21rem; width: min(58vw, 38rem); aspect-ratio: 1; box-shadow: 0 0 0 4.5rem rgba(121, 210, 160, .06), 0 0 0 9rem rgba(121, 210, 160, .035); }
.section--source-index::after { top: -13rem; left: -10rem; width: min(34vw, 22rem); aspect-ratio: 1; background: rgba(0, 117, 84, .1); }
.section--source-index > * { position: relative; z-index: 1; }
.source-index__shell { min-width: 0; }
.source-index__head { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: clamp(1.4rem, 3vw, 2rem); }
.source-index__copy { max-width: 42rem; }
.section--source-index .source-index__copy h2 { max-width: 35ch; margin: 0; color: #fff; font-size: var(--tg-heading-section-size); line-height: 1.04; letter-spacing: -.045em; }
.source-index__metric { display: inline-block; white-space: nowrap; }
.source-index__metric [data-sources-monitored-heading] { display: inline-block; min-width: 2ch; color: var(--tg-green-soft); font-variant-numeric: tabular-nums; }
.source-index__copy > p { max-width: 34rem; margin: .8rem 0 0; color: #c4d7ca; font-size: .78rem; line-height: 1.55; }
.source-index__controls { display: flex; gap: .45rem; flex-shrink: 0; padding-bottom: .1rem; }
.source-index__controls button { display: grid; width: 2rem; height: 2rem; place-items: center; border: 1px solid #4b5c52; border-radius: 50%; background: transparent; color: #fff; cursor: pointer; transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease; }
.source-index__controls button:hover, .source-index__controls button:focus-visible { border-color: var(--tg-green-soft); background: var(--tg-green-soft); color: #0d1c15; }
.source-index__controls button:disabled { border-color: #34453b; color: #637168; cursor: default; }
.source-index__controls button:disabled:hover { border-color: #34453b; background: transparent; color: #637168; }
.source-index__controls svg { width: .95rem; height: .95rem; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.source-index__viewport { max-width: 59rem; overflow-x: auto; overflow-y: visible; margin-inline: -.25rem; padding: .25rem; scroll-behavior: smooth; scrollbar-width: none; scroll-snap-type: x mandatory; overscroll-behavior-inline: contain; }
.source-index__viewport::-webkit-scrollbar { display: none; }
.source-index__viewport:focus-visible { outline: 2px solid var(--tg-green); outline-offset: .3rem; }
.source-index__track { display: flex; gap: 1rem; width: max-content; margin: 0; padding: 0; list-style: none; }
.source-index__card { display: flex; width: clamp(14rem, 24vw, 17rem); min-height: 22rem; flex: 0 0 clamp(14rem, 24vw, 17rem); flex-direction: column; overflow: hidden; border: 1px solid rgba(171, 221, 193, .16); border-radius: var(--tg-radius); background: linear-gradient(180deg, #193529 0%, #11261c 100%); box-shadow: 0 .45rem 1.4rem rgba(0, 0, 0, .24); scroll-snap-align: start; transition: border-color 180ms ease, transform 180ms ease, box-shadow 180ms ease; }
.source-index__card:hover { border-color: rgba(171, 221, 193, .42); box-shadow: 0 .65rem 1.6rem rgba(0, 0, 0, .3); transform: translateY(-.15rem); }
.source-index__media { position: relative; height: clamp(10rem, 17vw, 12rem); margin: 0; overflow: hidden; background: #193529; }
.source-index__media::after { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(6, 20, 14, .08) 30%, rgba(6, 20, 14, .58) 100%); content: ""; pointer-events: none; }
.source-index__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 380ms cubic-bezier(.2, .7, .2, 1); }
.source-index__card:hover .source-index__media img { transform: scale(1.035); }
.source-index__card-body { display: flex; flex: 1; flex-direction: column; padding: 1rem 1.05rem 1.1rem; }
.source-index__card-copy { display: flex; align-items: center; }
.source-index__card-copy h3 { margin: 0; color: #fff; font-size: .88rem; line-height: 1.25; }
.source-index__card-body > p { max-width: 24rem; margin: .7rem 0 0; color: #c4d7ca; font-size: .7rem; line-height: 1.5; }
.source-index__explore { display: inline-flex; align-items: center; gap: .3rem; margin-top: auto; padding-top: 1rem; color: var(--tg-green-soft); font-family: var(--tg-font-interface); font-size: .68rem; font-weight: var(--tg-weight-regular); text-decoration: none; }
.source-index__explore:hover { color: #fff; }
.source-index__footer { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-top: 1rem; }
.source-index__footer .text-link { color: var(--tg-green-soft); font-family: var(--tg-font-interface); font-size: .68rem; font-weight: var(--tg-weight-regular); text-decoration: none; }
.source-index__footer .text-link:hover { color: #fff; }
.source-index__dots { display: flex; align-items: center; gap: .3rem; min-height: .5rem; }
.source-index__dot { width: .4rem; height: .4rem; border-radius: 50%; background: #476354; transition: width 180ms ease, border-radius 180ms ease, background-color 180ms ease; }
.source-index__dot.is-active { width: 1.15rem; border-radius: .5rem; background: var(--tg-green); }
.source-index__dots button { display: block; width: .4rem; height: .4rem; border: 0; border-radius: 50%; background: #476354; padding: 0; cursor: pointer; transition: width 180ms ease, border-radius 180ms ease, background-color 180ms ease; }
.source-index__dots button.is-active { width: 1.15rem; border-radius: .5rem; background: var(--tg-green); }

.section--pricing-teaser { border-top: 1px solid var(--tg-header-line); background: var(--tg-paper); }

.home-faq { border-top: 1px solid var(--tg-header-line); background: #fff; }
.home-faq__inner { display: grid; gap: 2rem; padding-block: clamp(3.5rem, 7vw, 6rem); }
.home-faq__heading { max-width: 30rem; }
.home-faq__heading h2 { margin: 0; color: var(--tg-navy-dark); font-size: var(--tg-heading-section-size); line-height: 1.08; letter-spacing: -.045em; font-weight: var(--tg-weight-heading); }
.home-faq__heading p { margin: .8rem 0 0; color: var(--tg-muted); font-size: .82rem; line-height: 1.6; }
.home-faq__list { border-top: 1px solid var(--tg-line); }
.home-faq details { border-bottom: 1px solid var(--tg-line); }
.home-faq summary { position: relative; padding: 1rem 2rem 1rem 0; color: var(--tg-navy-dark); font-family: var(--tg-font-heading); font-size: .98rem; font-weight: var(--tg-weight-regular); line-height: 1.4; cursor: pointer; list-style: none; }
.home-faq summary::-webkit-details-marker { display: none; }
.home-faq summary::marker { content: ""; }
.home-faq summary::after { content: "+"; position: absolute; top: 50%; right: .2rem; transform: translateY(-50%); color: var(--tg-green-dark); font-family: var(--tg-font-interface); font-size: 1.2rem; font-weight: var(--tg-weight-regular); line-height: 1; }
.home-faq details[open] summary::after { content: "−"; }
.home-faq summary:hover { color: var(--tg-green-dark); }
.home-faq__answer { max-width: 38rem; margin: -.1rem 2rem 0 0; padding-bottom: 1.1rem; color: #606060; font-size: .88rem; line-height: 1.65; }
.home-faq__answer p { margin: 0; }
.home-faq__answer p + p { margin-top: .65rem; }
.home-faq__answer a,
.home-faq__answer a:visited { color: inherit; font-weight: var(--tg-weight-regular); text-decoration: underline; }
.home-faq__answer a:hover { color: inherit; }


.content { width: min(100% - 2rem, 48rem); margin-inline: auto; padding-block: 4rem 6rem; }
.content h1 { margin: 0 0 2rem; font-size: clamp(2.3rem, 5vw, 4rem); line-height: 1.05; letter-spacing: -.05em; }
.single-news .content > h1 { font-size: clamp(1.75rem, 3.5vw, 2.5rem); line-height: 1.15; letter-spacing: -.03em; }
.content h2 { margin-top: 2.5rem; line-height: 1.2; letter-spacing: -.025em; }
.content p, .content li { color: var(--tg-muted); }
.content p + p { margin-top: 1.2rem; }
.content li + li { margin-top: .5rem; }
.content a, .content a:visited { color: var(--tg-green); text-decoration: underline; }
.content a:hover { color: var(--tg-green-dark); }
.post-list { border-top: 0; }
.post-list article { padding-block: 1.5rem; border-bottom: 1px solid var(--tg-line); }
.post-list h2, .post-list h3 { margin: 0; font-size: 1.4rem; line-height: 1.25; letter-spacing: -.025em; }
.post-list h2 a, .post-list h3 a { color: var(--tg-ink); text-decoration: none; }
.post-list h2 a:hover, .post-list h3 a:hover { color: var(--tg-green); text-decoration: underline; }
.post-list article > p:last-child, .post-summary__body > p:last-child { max-width: 68ch; margin: .7rem 0 0; color: var(--tg-muted); font-size: .85rem; line-height: 1.6; }
.post-meta { color: var(--tg-muted); font-size: .85rem; }
.post-featured-image { margin: 0 0 2rem; }
.post-featured-image__image { display: block; width: 100%; height: auto; }
.post-featured-image figcaption { margin-top: .5rem; color: var(--tg-muted); font-size: .7rem; line-height: 1.5; }
.post-summary--with-image { display: grid; grid-template-columns: 12rem minmax(0, 1fr); align-items: start; gap: 1.2rem; }
.post-summary__thumbnail { display: block; overflow: hidden; }
.post-summary__image { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; }
.post-summary__body { min-width: 0; }
.post-summary__body > .post-meta { margin-top: 0; }
.article-signup { margin-top: 2.5rem; padding-top: 1.6rem; border-top: 1px solid var(--tg-line); }
.content .article-signup h2 { margin: 0 0 .65rem; font-size: clamp(1.35rem, 3vw, 1.7rem); }
.content .article-signup p { max-width: 38rem; margin: 0; font-size: .9rem; line-height: 1.6; }
.article-signup__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem 1.2rem; margin-block: 1.1rem; }
.content .article-signup__button, .content .article-signup__button:visited { min-height: 48px; padding: .5rem 1rem; color: #fff; font-size: .8rem; line-height: 1.4; text-decoration: none; }
.content .article-signup__button:hover, .content .article-signup__button:active { color: #fff; transform: none; box-shadow: none; }
.article-signup__pricing { display: inline-flex; align-items: center; min-height: 44px; font-size: .8rem; }
.content .article-signup .article-signup__note { max-width: 38rem; font-size: .75rem; }
@media (max-width: 640px) {
  .post-summary--with-image { grid-template-columns: minmax(0, 1fr); gap: .9rem; }
}



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

.insights-hero { border-bottom: 1px solid var(--tg-header-line); background: #fff; padding-block: clamp(3.5rem, 8vw, 6rem); }
.insights-hero h1 { max-width: 18ch; margin: 0; color: var(--tg-navy-dark); font-size: clamp(2.2rem, 5vw, 3.4rem); font-weight: var(--tg-weight-heading); line-height: 1.03; letter-spacing: -.052em; }
.insights-hero p { max-width: 37rem; margin: 1rem 0 0; color: var(--tg-muted); font-size: .9rem; line-height: 1.6; }
.insights-summary { padding-block: clamp(3rem, 7vw, 5rem); background: var(--tg-paper); }
.insights-summary__heading { display: grid; max-width: 42rem; gap: .65rem; }
.insights-summary__heading h2, .insights-roadmap h2 { margin: 0; color: var(--tg-navy-dark); font-size: var(--tg-heading-section-size); font-weight: var(--tg-weight-heading); line-height: 1.08; letter-spacing: -.045em; }
.insights-summary__heading p, .insights-roadmap p { margin: 0; color: var(--tg-muted); font-size: .82rem; line-height: 1.6; }
.insights-metrics { display: grid; margin-top: 1.6rem; overflow: hidden; border: 1px solid var(--tg-line); border-radius: var(--tg-radius); background: #fff; }
.insights-metrics > div { display: grid; gap: .45rem; padding: 1.3rem; border-bottom: 1px solid var(--tg-header-line); }
.insights-metrics > div:last-child { border-bottom: 0; }
.insights-metrics strong { color: var(--tg-navy-dark); font-family: var(--tg-font-heading); font-size: clamp(1.8rem, 5vw, 2.5rem); font-weight: var(--tg-weight-regular); line-height: 1; letter-spacing: -.045em; font-variant-numeric: tabular-nums; }
.insights-metrics span { color: var(--tg-muted); font-size: .72rem; }
.insights-roadmap { padding-block: clamp(3rem, 7vw, 5.5rem); background: #fff; }
.insights-roadmap__inner { display: grid; gap: 2rem; }
.insights-roadmap__inner > div { display: grid; max-width: 38rem; gap: .8rem; }
.insights-roadmap ul { display: grid; gap: 0; margin: 0; padding: 0; border-top: 1px solid var(--tg-line); list-style: none; }
.insights-roadmap li { padding: .9rem 0; border-bottom: 1px solid var(--tg-line); color: var(--tg-navy-dark); font-size: .78rem; }

.advertise-page { background: #fff; }
.advertise-page .site-width, .about-page .site-width { max-width: 48rem; }
.advertise-hero { border-bottom: 1px solid var(--tg-header-line); background: #fff; }
.advertise-hero__inner { display: grid; gap: 2rem; padding-block: clamp(3.5rem, 8vw, 6.5rem); align-items: center; }
.advertise-hero__copy { max-width: 39rem; }
.advertise-hero h1 { max-width: 14ch; margin: 0; color: var(--tg-navy-dark); font-size: clamp(2.3rem, 6vw, 3.6rem); font-weight: var(--tg-weight-heading); line-height: 1; letter-spacing: -.055em; }
.advertise-hero__copy > p { max-width: 36rem; margin: 1rem 0 0; color: var(--tg-muted); font-size: clamp(.86rem, 1.3vw, .96rem); line-height: 1.62; }
.advertise-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1rem; margin-top: 1.4rem; }
.advertise-hero__actions .button, .advertise-contact .button { min-height: 2.4rem; font-size: .74rem; }
.advertise-text-link { color: var(--tg-navy-dark); font-size: .72rem; font-weight: var(--tg-weight-regular); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .25em; }
.advertise-text-link:visited, .advertise-text-link:hover { color: var(--tg-navy-dark); }
.advertise-hero__context { border-radius: .75rem; background: var(--tg-green); padding: clamp(1.25rem, 4vw, 2rem); color: #fff; }
.advertise-hero__context h2 { max-width: 22ch; margin: 0; color: #fff; font-size: clamp(1.35rem, 3vw, 1.8rem); font-weight: var(--tg-weight-heading); line-height: 1.12; letter-spacing: -.035em; }
.advertise-hero__context dl { margin: 1.4rem 0 0; }
.advertise-hero__context dl > div { display: grid; gap: .25rem; padding-block: .7rem; border-top: 1px solid rgb(255 255 255 / 30%); }
.advertise-hero__context dt { color: var(--tg-green-soft); font-family: var(--tg-font-interface); font-size: .6rem; font-weight: var(--tg-weight-regular); }
.advertise-hero__context dd { margin: 0; color: #fff; font-size: .75rem; line-height: 1.5; }
.advertise-audience, .advertise-options, .advertise-faq { padding-block: clamp(3.5rem, 8vw, 6rem); }
.advertise-audience { background: #fff; }
.advertise-audience__inner { display: grid; gap: 2rem; }
.advertise-section-heading { display: grid; max-width: 39rem; gap: .75rem; }
.advertise-section-heading h2, .advertise-faq h2, .advertise-contact h2 { margin: 0; color: var(--tg-navy-dark); font-size: var(--tg-heading-section-size); font-weight: var(--tg-weight-heading); line-height: 1.08; letter-spacing: -.045em; }
.advertise-section-heading p, .advertise-contact p { margin: 0; color: var(--tg-muted); font-size: .82rem; line-height: 1.65; }
.advertise-audience__list { margin: 0; padding: 0; border-top: 1px solid var(--tg-line); list-style: none; }
.advertise-audience__list li { display: grid; gap: .35rem; padding-block: 1rem; border-bottom: 1px solid var(--tg-line); }
.advertise-audience__list strong { color: var(--tg-navy-dark); font-size: .82rem; line-height: 1.35; }
.advertise-audience__list span { color: var(--tg-muted); font-size: .74rem; line-height: 1.55; }
.advertise-options { border-block: 1px solid var(--tg-header-line); background: var(--tg-paper); }
.advertise-options__list { margin-top: 2rem; border-top: 1px solid var(--tg-line); }
.advertise-options__list article { display: grid; gap: .45rem; padding-block: 1.25rem; border-bottom: 1px solid var(--tg-line); }
.advertise-options__list h3 { margin: 0; color: var(--tg-navy-dark); font-size: .9rem; font-weight: var(--tg-weight-heading); line-height: 1.35; }
.advertise-options__list p { max-width: 40rem; margin: 0; color: var(--tg-muted); font-size: .76rem; line-height: 1.58; }
.advertise-options__standard { max-width: 48rem; margin: 1.5rem 0 0; border-left: 3px solid var(--tg-green); padding-left: .9rem; color: var(--tg-muted); font-size: .74rem; line-height: 1.6; }
.advertise-options__standard strong { color: var(--tg-navy-dark); }
.advertise-faq { background: #fff; }
.advertise-faq__inner { display: grid; gap: 1.5rem; }
.advertise-faq__list { border-top: 1px solid var(--tg-line); }
.advertise-faq details { border-bottom: 1px solid var(--tg-line); }
.advertise-faq summary { position: relative; padding: .95rem 2rem .95rem 0; color: var(--tg-navy-dark); font-family: var(--tg-font-heading); font-size: .82rem; font-weight: var(--tg-weight-regular); line-height: 1.4; cursor: pointer; list-style: none; }
.advertise-faq summary::-webkit-details-marker { display: none; }
.advertise-faq summary::marker { content: ""; }
.advertise-faq summary::after { content: "+"; position: absolute; top: 50%; right: .25rem; color: var(--tg-green-dark); font-family: var(--tg-font-interface); font-size: 1.1rem; font-weight: var(--tg-weight-regular); line-height: 1; transform: translateY(-50%); }
.advertise-faq details[open] summary::after { content: "−"; }
.advertise-faq details p { max-width: 39rem; margin: -.1rem 2rem 1rem 0; color: var(--tg-muted); font-size: .75rem; line-height: 1.62; }
.advertise-contact { border-top: 1px solid #b8d9ce; background: var(--tg-green-soft); }
.advertise-contact__inner { display: grid; gap: 1.25rem; padding-block: clamp(2.5rem, 6vw, 4rem); align-items: center; }
.advertise-contact__inner > div { display: grid; max-width: 40rem; gap: .65rem; }
.advertise-contact .button { width: fit-content; }

.about-page { background: #fff; }
.about-hero { border-bottom: 1px solid var(--tg-header-line); background: #fff; }
.about-hero__inner { display: grid; max-width: 39rem; gap: .85rem; padding-block: clamp(3.5rem, 8vw, 6rem); }
.about-hero h1 { margin: 0; color: var(--tg-navy-dark); font-size: clamp(2.3rem, 6vw, 3.6rem); font-weight: var(--tg-weight-heading); line-height: 1; letter-spacing: -.055em; }
.about-hero p { max-width: 32rem; margin: 0; color: var(--tg-muted); font-size: clamp(.9rem, 1.4vw, 1rem); line-height: 1.6; }
.about-chapter { scroll-margin-top: 1rem; border-bottom: 1px solid var(--tg-header-line); background: #fff; }
.about-chapter__inner { display: grid; gap: 1.5rem; padding-block: clamp(3.5rem, 8vw, 5.5rem); }
.about-chapter h2 { margin: 0; color: var(--tg-green); font-size: var(--tg-heading-section-size); font-weight: var(--tg-weight-heading); line-height: 1.08; letter-spacing: -.045em; }
.about-chapter__body { min-width: 0; }
.about-chapter__body > :first-child { margin-top: 0; }
.about-chapter__body > :last-child { margin-bottom: 0; }
.about-chapter__body p { max-width: 38rem; margin: 0 0 1rem; color: var(--tg-muted); font-size: .82rem; line-height: 1.7; }
.about-chapter__body .about-chapter__lead { color: var(--tg-navy-dark); font-size: clamp(1rem, 2vw, 1.2rem); font-weight: var(--tg-weight-regular); line-height: 1.45; letter-spacing: -.02em; }
.about-chapter__body a, .about-chapter__body a:visited, .about-chapter__body a:hover { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .25em; }
.about-chapter--why { background: var(--tg-paper); }
.about-chapter--who { background: #fff; }
.about-chapter--who .about-chapter__lead { color: var(--tg-navy-dark); }
.about-email { display: inline-flex; width: fit-content; align-items: center; gap: .5rem; margin-top: .75rem; color: var(--tg-ink); font-size: .74rem; }
.about-email a { color: inherit !important; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .25em; }
.about-email svg { width: .95rem; height: .95rem; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.site-footer { border-top: 1px solid var(--tg-footer-border); background: var(--tg-footer-background); color: var(--tg-footer-text-color); color-scheme: light; font-family: var(--tg-font-body); font-synthesis-weight: none; text-rendering: optimizeLegibility; }
.site-footer a { -webkit-user-drag: none; -webkit-user-select: text; user-select: text; color: inherit; text-decoration: none; transition: color 150ms ease; }
.site-footer a:hover { color: var(--tg-footer-link-hover); text-decoration: underline; text-underline-offset: .22em; }
.site-footer a:focus-visible { outline: 2px solid var(--tg-footer-link-hover); outline-offset: 4px; }
.site-footer__top { display: flex; flex-direction: column; align-items: center; gap: 2rem; padding-block: 2rem; border-bottom: 1px solid var(--tg-footer-border); text-align: left; }
.site-footer__intro { width: 100%; max-width: 42rem; }
.site-footer__brand { display: inline-flex; }
.footer-social { display: flex; flex-wrap: nowrap; align-items: center; justify-content: center; gap: .4rem; }
.footer-social a { display: inline-flex; width: 44px; height: 44px; align-items: center; justify-content: center; color: var(--tg-footer-social-color); }
.footer-social a:hover { color: var(--tg-footer-link-hover); }
.footer-social svg { width: 1.3rem; height: 1.3rem; fill: currentColor; }
.footer-directory { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.75rem 1.5rem; padding-block: 2rem; }
.footer-directory__group h2 { margin: 0 0 1.15rem; color: var(--tg-footer-heading-color); font-family: var(--tg-font-interface); font-size: var(--tg-footer-heading-size); font-weight: var(--tg-weight-heading); line-height: 1.3; letter-spacing: .1em; text-transform: uppercase; }
.footer-directory__group ul, .footer-directory__group address { display: grid; gap: .5rem; margin: 0; padding: 0; font-style: normal; list-style: none; }
.footer-directory__group a { display: inline-block; width: fit-content; color: var(--tg-footer-text-color); font-size: var(--tg-footer-text-size); font-weight: var(--tg-weight-regular); line-height: 1.45; }
.footer-rankings { display: grid; gap: 2.75rem; padding-block: 2rem; border-bottom: 1px solid var(--tg-footer-border); }
.footer-rankings[hidden], .footer-rankings__group[hidden] { display: none; }
.footer-rankings__group h2 { margin: 0 0 1.15rem; color: var(--tg-footer-heading-color); font-family: var(--tg-font-interface); font-size: var(--tg-footer-heading-size); font-weight: var(--tg-weight-heading); line-height: 1.3; letter-spacing: .1em; text-transform: uppercase; }
.footer-rankings__columns { display: grid; gap: .5rem 1.5rem; }
.footer-rankings__columns ul { display: grid; align-content: start; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.footer-rankings__group a { display: inline-block; width: fit-content; color: var(--tg-footer-text-color); font-size: var(--tg-footer-text-size); font-weight: var(--tg-weight-regular); line-height: 1.45; }
.site-footer__details { display: grid; gap: 2rem; padding-block: 2rem; }
.site-footer__legal-summary { width: 100%; max-width: 900px; margin-inline: auto; text-align: center; }
.site-footer__legal-summary p { margin: 0; color: var(--tg-footer-disclaimer-color); font-size: var(--tg-footer-legal-size); line-height: 1.75; -webkit-user-select: text; user-select: text; }
.site-footer__legal-summary a { color: inherit; text-decoration: underline; text-underline-offset: .22em; }
.site-footer__copyright { width: 100%; max-width: 42.5rem; margin-inline: auto; text-align: center; }
.site-footer__copyright p { margin: 0; color: var(--tg-footer-text-color); font-size: var(--tg-footer-text-size); line-height: 1.5; }

nav,
nav * { font-family: var(--tg-font-interface); font-weight: var(--tg-weight-regular); }

.site-nav a,
.site-nav__trigger,
.site-nav__trigger span,
button,
.button,
input[type="button"],
input[type="submit"] { font-weight: var(--tg-weight-regular); }

@media (min-width: 48rem) {
  .hero h1 { font-size: clamp(2.25rem, 5.4vw, 3rem); }
  .section-heading { grid-template-columns: minmax(0, 1fr) minmax(17rem, .72fr); }
  .problem-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
  .problem-card__problem { min-height: 10.75rem; }
  .home-faq__inner { grid-template-columns: minmax(14rem, .68fr) minmax(0, 1fr); gap: clamp(3rem, 8vw, 7rem); align-items: start; }
  .insights-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .insights-metrics > div { border-right: 1px solid var(--tg-header-line); border-bottom: 0; }
  .insights-metrics > div:last-child { border-right: 0; }
  .insights-roadmap__inner { grid-template-columns: minmax(0, .9fr) minmax(18rem, .7fr); gap: clamp(3rem, 8vw, 6rem); align-items: start; }
  .advertise-hero__inner { grid-template-columns: minmax(0, 1.1fr) minmax(17rem, .72fr); gap: clamp(2.5rem, 7vw, 6rem); }
  .advertise-audience__inner { grid-template-columns: minmax(0, .9fr) minmax(18rem, .7fr); gap: clamp(3rem, 8vw, 7rem); align-items: start; }
  .advertise-audience__list li { grid-template-columns: minmax(10rem, .6fr) minmax(0, 1fr); gap: 1.5rem; }
  .advertise-options__list article { grid-template-columns: minmax(12rem, .55fr) minmax(0, 1fr); gap: 2rem; }
  .advertise-faq__inner { grid-template-columns: minmax(12rem, .55fr) minmax(0, 1fr); gap: clamp(3rem, 8vw, 7rem); align-items: start; }
  .advertise-contact__inner { grid-template-columns: minmax(0, 1fr) auto; gap: 2rem; }
  .about-chapter__inner { grid-template-columns: minmax(8.5rem, .36fr) minmax(0, 1fr); gap: clamp(2rem, 6vw, 5rem); align-items: start; }
  .site-footer__top { flex-direction: row; align-items: center; justify-content: space-between; text-align: left; }
  .footer-directory { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .footer-rankings { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-rankings__columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-rankings__columns--single { grid-template-columns: minmax(0, 1fr); }
}

@media (min-width: 70rem) {
}

@media (min-width: 64rem) {
  .problem-list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
  .problem-card__problem { min-height: 13.5rem; }
  .footer-directory { grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: clamp(1rem, 2.5vw, 2.5rem); }
  .footer-rankings { grid-template-columns: repeat(5, minmax(0, 1fr)); column-gap: clamp(1.5rem, 3vw, 3rem); }
  .footer-rankings__group--double { grid-column: span 2; }
  .footer-rankings__group--single { grid-column: span 1; }
}

@supports (grid-template-rows: subgrid) {
  @media (min-width: 48rem) {
    .problem-list { align-items: stretch; }
    .problem-card { display: grid; grid-row: span 2; grid-template-rows: subgrid; row-gap: 0; }
    .problem-card__problem { min-height: 0; }
  }

  @media (min-width: 64rem) {
    .problem-list { column-gap: 1rem; row-gap: 0; }
  }
}

@media (min-width: 1200px) {
}

@media (min-width: 1101px) {
  .site-header .brand-logo, .site-footer .brand-logo { height: var(--tg-header-logo-height); max-width: none; }
}

@media (max-width: 1100px) {
  .site-header .brand-logo, .site-footer .brand-logo { height: var(--tg-header-logo-compact-height); max-width: none; }
  .site-actions .button__label--full { display: none; }
  .site-actions .button__label--compact { display: inline; }
  .site-header__inner { grid-template-columns: auto minmax(0, 1fr) auto auto; gap: .5rem; min-height: var(--tg-header-inner-height); padding-block: .45rem; }
  .site-nav { display: none; position: absolute; top: 100%; left: 50%; right: auto; z-index: 20; width: 100vw; max-width: none; justify-self: stretch; transform: translateX(-50%); border-top: 1px solid var(--tg-header-line); border-bottom: 1px solid var(--tg-line); background: #fff; padding: .75rem max(1rem, calc((100vw - var(--tg-width)) / 2)); box-shadow: 0 .35rem .7rem rgb(0 117 74 / 9%); }
  .site-nav.is-open { display: block; }
  .site-nav ul { display: grid; gap: .15rem; }
  .site-nav a { width: 100%; min-height: 2.4rem; padding-inline: .75rem; font-size: var(--tg-nav-font-size); }
  .site-nav__trigger { width: 100%; min-height: 2.4rem; justify-content: space-between; padding-inline: .75rem; font-size: var(--tg-nav-font-size); }
  .site-nav__submenu { position: static; display: none; width: 100%; grid-template-columns: 1fr; gap: .1rem; visibility: visible; opacity: 1; transform: none; border: 0; border-radius: 0; padding: .2rem 0 .35rem .45rem; box-shadow: none; transition: none; }
  .site-nav__item--has-submenu.is-open .site-nav__submenu { display: grid; }
  .site-actions { grid-column: 3; }
  .site-menu-toggle { display: inline-flex; grid-column: 4; }
}

@media (min-width: 48rem) and (max-width: 64rem) {
  .source-index__viewport { max-width: none; }
  .source-index__card { width: calc((100vw - 4rem - 1rem) / 2); flex-basis: calc((100vw - 4rem - 1rem) / 2); }
}

@media (max-width: 47.99rem) {
  .match-flow__heading h2 { max-width: 18ch; }
  .match-flow { margin-top: 2.25rem; }
  .match-flow__connector { width: 68%; gap: .45rem; }
  .match-flow__connector strong { min-width: 5.5rem; font-size: 1.35rem; }
  .match-flow__card h3 { font-size: 1rem; }
  .problem-heading { grid-template-columns: 1fr; gap: 1.25rem; text-align: center; }
  .problem-heading__copy { max-width: 30rem; justify-self: center; }
  .section--problems .problem-heading__title { margin-inline: auto; text-align: center; }
  .problem-heading__mark { width: 7.5rem; grid-column: 1; grid-row: auto; justify-self: center; }
  .problem-list__lead { grid-column: 1; margin-inline: auto; text-align: center; }
  .source-index__head { align-items: flex-start; flex-direction: column; }
  .source-index__copy { max-width: 34rem; }
  .section--source-index .source-index__copy h2 { max-width: 28ch; }
  .source-index__controls { align-self: flex-end; }
  .source-index__viewport { max-width: none; }
  .source-index__card { width: calc(100vw - 3rem); flex-basis: calc(100vw - 3rem); }
  .hero::before { width: 105vw; }
  .hero-flow { inset-inline: -65%; }
  .hero-flow__arch--secondary { display: none; }
}

@media (max-width: 767px) {
  .site-actions .button--outline { display: none; }
  .site-nav__mobile-account { display: block; margin-top: .3rem; }
  .site-nav__mobile-account a { max-height: 48px; justify-content: center; border: 1px solid #a4a4a4; border-radius: var(--tg-button-radius); background: #fff; color: var(--tg-navy-dark); }
  .site-nav__mobile-account a:hover { border-color: var(--tg-button); background: var(--tg-button); color: #fff; }
  .site-header .brand-logo, .site-footer .brand-logo { width: min(42vw, 8rem); height: auto; max-width: none; }
  .site-header__inner { width: calc(100% - (var(--tg-header-mobile-gutter) * 2)); grid-template-columns: minmax(0, 1fr) 0 auto auto; column-gap: .25rem; }
  .site-header .site-brand { min-width: 0; }
  .site-header .brand-logo { width: var(--tg-header-logo-mobile-width); max-width: 100%; }
  .site-actions .button:not(.button--outline) { min-height: var(--tg-header-control-compact-height); padding-inline: .45rem; font-size: .6rem; white-space: nowrap; }
  .site-actions .button--trial { gap: .3rem; }
  .button__arrow { width: .8rem; }
  .site-menu-toggle { width: var(--tg-header-control-compact-height); height: var(--tg-header-control-compact-height); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .hero::before { opacity: .62; transform: translate3d(-50%, -50%, 0); animation: none; }
  .match-flow__card, .match-flow__connector-line, .match-flow__connector strong, .match-flow__delivery { animation: none; opacity: 1; transform: none; }
  .site-actions .button--trial, .button__arrow { transition: none; animation: none; }
  [data-scroll-reveal] { opacity: 1; transform: none; transition: none; }
}
.resources-page__header { border-bottom: 1px solid var(--tg-header-line); background: #fff; }
.resources-page__header .site-width { padding-block: clamp(3rem, 7vw, 5rem); }
.resources-page__header h1 { margin: 0; font-size: clamp(2.3rem, 5vw, 3.5rem); line-height: 1.1; letter-spacing: -.05em; }
.resources-page__header p:not(.resources-page__back) { max-width: 42rem; margin: .85rem 0 0; color: var(--tg-muted); font-size: 1rem; line-height: 1.6; }
.resources-page__back { margin: 0 0 1.2rem; font-size: .8rem; }
.resources-page__back a { color: var(--tg-green-dark); }
.resources-page__body { padding-block: 3rem 5rem; }
.resources-page__categories { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.resources-page__categories a { display: flex; min-height: 10rem; flex-direction: column; border: 1px solid var(--tg-line); border-radius: var(--tg-radius); background: #fff; padding: 1.2rem; color: var(--tg-ink); text-decoration: none; }
.resources-page__categories a:hover { border-color: var(--tg-green); }
.resources-page__categories h2 { margin: 0; font-size: 1.05rem; }
.resources-page__categories p { margin: .6rem 0 1rem; color: var(--tg-muted); font-size: .82rem; line-height: 1.5; }
.resources-page__categories span { margin-top: auto; color: var(--tg-green-dark); }
.resources-page__latest { margin-top: 3rem; }
.resources-page__latest > h2 { margin: 0 0 1.2rem; font-size: 1.5rem; }
@media (max-width: 760px) { .resources-page__categories { grid-template-columns: 1fr; } }


    .site-footer__registration {
        width: 100%;
        max-width: 360px;
        margin: 0 auto;
        text-align: center;
    }

    .site-footer__registration img {
        display: block;
        width: 100%;
        max-width: 240px;
        height: auto;
        margin-inline: auto;
    }

    .site-footer__registration figcaption {
        margin-top: 0.1rem;
        color: var(--tg-footer-text-color);
        font-size: var(--tg-footer-legal-size);
        line-height: 1.6;
    }

    .site-footer__registration figcaption span {
        white-space: nowrap;
    }

.article-recent-news { padding-block: 0 5rem; }
.article-recent-news .marketing-news__heading h2 { font-size: clamp(1.75rem, 3.5vw, 2.5rem); line-height: 1.15; }
.article-recent-news .marketing-news__actions button { padding: 0; color: var(--tg-ink); }
.article-recent-news .marketing-news__actions button[hidden] { display: none; }
.article-recent-news .marketing-news__card h3 { letter-spacing: normal; }

.single-news .content > h1 { margin-bottom: .65rem; }
.single-news .content > h1 + .post-meta { margin: 0 0 2rem; }
.post-summary__body > h2 + .post-meta { margin: .55rem 0 .7rem; }
