
:root { --gutter-x: var(--page-margin); }
body { background: var(--cream); }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
ul, ol { list-style: none; margin: 0; padding: 0; }
h1, h2, h3, p { margin: 0; }
button { font: inherit; }


.tg-h1 { text-wrap: balance; } .tg-h2 { text-wrap: balance; }
.tg-h1 .tg-accent, .tg-h2 .tg-accent { color: var(--geo-blue); }
.tg-section--black .tg-accent, .tg-on-dark .tg-accent { color: var(--mint); }
.tg-lede { color: var(--ink-warm); text-wrap: pretty; max-width: 40ch; }
.tg-section--black .tg-lede, .tg-section--product .tg-lede { color: rgba(248,244,235,.85); }
.tg-fine { font-family: var(--font-mono); font-size: 14px; letter-spacing: var(--track-mono); text-transform: uppercase; color: var(--secondary); line-height: 1.5; }
.tg-section--black .tg-fine, .tg-section--product .tg-fine { color: rgba(248,244,235,.72); }


.tg-nav__login { font-size: var(--text-base); font-weight: 500; letter-spacing: var(--track-ui); white-space: nowrap; }
.tg-nav--dark .tg-nav__login { color: var(--cream); }
@media (max-width: 900px) { .tg-nav__login { display: none; } }


.tg-hero { padding-top: calc(var(--nav-top) + var(--nav-h) + 56px); padding-bottom: var(--section-y); }
.tg-hero .tg-container { display: grid; gap: 48px; align-items: center; }
.tg-hero--split .tg-container { grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); }
.tg-hero--center .tg-container { justify-items: center; text-align: center; }
.tg-hero--center .tg-lede { margin-inline: auto; }
.tg-hero--wide .tg-h1 { max-width: none; }
.tg-hero-copy { display: grid; gap: 24px; justify-items: start; }
.tg-hero--center .tg-hero-copy { justify-items: center; }
.tg-cta-row { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; margin-top: 8px; }
.tg-hero--center .tg-cta-row { justify-content: center; }
@media (max-width: 980px) {
  .tg-hero--split .tg-container { grid-template-columns: minmax(0, 1fr); }
  .tg-hero { padding-top: calc(var(--nav-top) + var(--nav-h) + 28px); padding-bottom: 64px; }
}
@media (max-width: 600px) {
  .tg-hero .tg-h1 { font-size: 40px; line-height: 1.08; }
  .tg-hero .tg-lede { font-size: 19px; }
  .tg-btn--lg { height: 60px; font-size: 20px; padding: 0 32px; }
  .tg-hero .tg-container { gap: 32px; }
}


@media (max-width: 600px) { .tg-section__head { margin-bottom: 40px; } .tg-h2 { font-size: 34px; } }


.tg-ui { background: var(--white); border-radius: var(--radius-card); box-shadow: var(--shadow-lift); padding: 28px; color: var(--black); text-align: left; width: 100%; }
.tg-section--black .tg-ui, .tg-section--product .tg-ui { box-shadow: var(--shadow-deep); }
.tg-ui-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.tg-ui-title { font-size: 20px; font-weight: 500; letter-spacing: -0.01em; }
.tg-ui-sub { font-size: 15px; color: var(--secondary); margin-top: 4px; }
.tg-ui-rule { height: 1px; background: var(--hairline); margin: 18px 0; }
.tg-sample { font-family: var(--font-mono); font-size: 12px; letter-spacing: var(--track-mono); text-transform: uppercase; color: var(--secondary);
          border: 1px solid var(--hairline); border-radius: 999px; padding: 4px 10px; white-space: nowrap; }
.tg-eng { display: inline-flex; align-items: center; gap: 10px; font-size: 16px; font-weight: 500; white-space: nowrap; }
.tg-eng img { width: 22px; height: 22px; object-fit: contain; }
.tg-chip { height: 30px; font-size: 13px; }
.tg-mrow { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-top: 1px solid var(--hairline); font-size: 16px; }
.tg-mrow:first-of-type { border-top: 0; }
.tg-mrow .tg-chips { margin-left: auto; display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.tg-mrow .tg-r { margin-left: auto; font-variant-numeric: tabular-nums; }
.tg-mrow.tg-you { color: var(--geo-blue); }
.tg-num-k { font-family: var(--font-mono); font-size: 12px; letter-spacing: var(--track-mono); color: var(--geo-blue); width: 28px; flex: none; }
.tg-big-n { font-size: 56px; font-weight: 500; letter-spacing: -0.02em; line-height: 1; color: var(--geo-blue); font-variant-numeric: tabular-nums; }
.tg-big-n + span { font-size: 15px; color: var(--secondary); }
.tg-chart svg { width: 100%; height: auto; margin-top: 12px; }
.tg-bars .tg-br { margin-top: 14px; }
.tg-bars .tg-lab { display: flex; justify-content: space-between; font-size: 15px; margin-bottom: 6px; }
.tg-bars .tg-lab b { font-weight: 500; }
.tg-bars .tg-track { height: 12px; border-radius: 6px; background: var(--sunken); overflow: hidden; }
.tg-bars .tg-fill { height: 100%; border-radius: 6px; background: var(--sky); }
.tg-bars .tg-br.tg-you .tg-fill { background: var(--geo-blue); }
.tg-bars .tg-br.tg-you .tg-lab { color: var(--geo-blue); }
.tg-bubble { margin: 16px 0 0 auto; width: fit-content; max-width: 88%; background: var(--sunken); border-radius: 20px; padding: 10px 16px; font-size: 16px; line-height: 1.35; }
.tg-ans { margin-top: 14px; font-size: 16px; line-height: 1.5; color: var(--ink); }
.tg-ans mark { background: none; color: var(--black); border-bottom: 2px solid var(--sky); }
.tg-flag { margin-top: 14px; padding: 12px 14px; border-radius: var(--radius-sm); background: var(--paper); font-size: 14px; line-height: 1.45; }
.tg-flag b { font-weight: 500; }
.tg-opp-title { font-size: 22px; font-weight: 500; letter-spacing: -0.01em; margin-top: 14px; }
.tg-opp-why { font-size: 15px; color: var(--secondary); margin-top: 6px; line-height: 1.45; }
.tg-table td.tg-c, .tg-table th.tg-c { text-align: center; }
.tg-table tr.tg-you td { color: var(--geo-blue); }
.tg-mock-stack { display: grid; gap: 16px; }


.tg-feature .tg-card__title { font-size: 26px; }
.tg-feature .tg-card__lede { font-size: 18px; line-height: 1.5; color: var(--ink-warm); }
.tg-card__def { font-size: 15px; color: var(--secondary); line-height: 1.45; }
.tg-section--black .tg-card { background: var(--dark); }
.tg-section--black .tg-card .tg-card__lede { color: rgba(248,244,235,.8); }
.tg-cols-3, .tg-cols-2 { align-items: stretch; }
@media (max-width: 900px) { .tg-cols-3, .tg-cols-2, .tg-cols-4 { grid-template-columns: minmax(0, 1fr); } }


.tg-steps-big { display: grid; }
.tg-steps-big li { display: grid; grid-template-columns: 80px minmax(0, 1fr) minmax(0, 1fr); gap: 8px 32px; padding: 32px 0; border-top: 1px solid var(--hairline); align-items: baseline; }
.tg-steps-big li:last-child { border-bottom: 1px solid var(--hairline); }
.tg-steps-big .tg-k { font-family: var(--font-mono); font-size: 14px; letter-spacing: var(--track-mono); color: var(--geo-blue); }
.tg-steps-big .tg-t { font-size: 30px; font-weight: 500; letter-spacing: -0.01em; line-height: 1.2; }
.tg-steps-big .tg-b { font-size: 18px; line-height: 1.5; color: var(--ink-warm); }
.tg-steps-big .tg-b b { font-weight: 500; color: var(--black); }
@media (max-width: 760px) { .tg-steps-big li { grid-template-columns: 48px minmax(0, 1fr); } .tg-steps-big .tg-b { grid-column: 2; } .tg-steps-big .tg-t { font-size: 24px; } }


.tg-plans { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; align-items: stretch; }
.tg-plan { display: flex; flex-direction: column; gap: 16px; padding: 36px; border-radius: var(--radius-card); background: var(--paper); }
.tg-section--paper .tg-plan, .tg-section--sunken .tg-plan { background: var(--cream); }
.tg-plan--dark { background: var(--black); color: var(--cream); }
.tg-plan-name { font-size: 30px; font-weight: 500; letter-spacing: -0.01em; }
.tg-plan-for { font-size: 16px; color: var(--secondary); line-height: 1.45; }
.tg-plan--dark .tg-plan-for { color: var(--dark-muted); }
.tg-plan-price { font-size: 64px; font-weight: 500; letter-spacing: -0.02em; line-height: 1; }
.tg-plan-price span { font-size: 18px; font-weight: 400; letter-spacing: 0; color: var(--secondary); }
.tg-plan--dark .tg-plan-price span { color: var(--dark-muted); }
.tg-plan-free { font-size: 16px; color: var(--geo-blue); font-weight: 500; }
.tg-plan--dark .tg-plan-free { color: var(--mint); }
.tg-plan .tg-list li { font-size: 16px; }
.tg-plan--dark .tg-list li { color: var(--cream); }
.tg-plan .tg-btn { margin-top: auto; align-self: flex-start; }
@media (max-width: 760px) { .tg-plans { grid-template-columns: minmax(0, 1fr); } .tg-plan-price { font-size: 52px; } }


.tg-engine-row { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.tg-engine-row .tg-eng { background: rgba(248,244,235,.14); color: var(--cream); border-radius: 999px; padding: 10px 20px 10px 12px; }
.tg-engine-row .tg-eng img { background: var(--cream); border-radius: 50%; padding: 4px; width: 30px; height: 30px; }


.tg-stat-block .tg-mono { margin-top: 8px; }


.tg-closing { text-align: center; }
.tg-closing .tg-container { display: grid; justify-items: center; gap: 24px; }
.tg-closing .tg-h2 { max-width: 18ch; }


.tg-footer .tg-footer__grid { grid-template-columns: 1.4fr 1fr 1fr; }
.tg-footer .tg-text-button { background: none; border: 0; padding: 0; color: var(--dark-muted); font-size: var(--text-sm); cursor: pointer; text-decoration: underline; }
@media (max-width: 760px) { .tg-footer .tg-footer__grid { grid-template-columns: 1fr; } }


.tg-sticky { position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 40; display: none; }
.tg-sticky .tg-btn { width: 100%; height: 56px; font-size: 18px; box-shadow: 0 12px 30px rgba(10,10,10,.18); }
@media (max-width: 760px) { .tg-sticky:not([hidden]) { display: block; } }


#analytics-choice { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 60; max-width: 560px; margin-inline: auto; background: var(--cream);
                    border-radius: var(--radius-card); box-shadow: var(--shadow-lift); padding: 20px 24px; font-size: 15px; line-height: 1.45; }
#analytics-choice[hidden] { display: none; }
#analytics-choice h2 { font-size: 18px; font-weight: 500; margin-bottom: 6px; }
#analytics-choice a { text-decoration: underline; }
#analytics-choice .cookie-options { display: grid; gap: 10px; margin: 14px 0; }
#analytics-choice label { display: flex; gap: 10px; align-items: flex-start; font-weight: 500; }
#analytics-choice label[hidden] { display: none; }
#analytics-choice .tg-cookie-detail { font-weight: 400; color: var(--secondary); font-size: 14px; }
#analytics-choice .tg-analytics-actions { display: flex; flex-wrap: wrap; gap: 10px; }
#analytics-choice button { cursor: pointer; height: 44px; padding: 0 20px; border-radius: 999px; font-size: 15px; font-weight: 500; letter-spacing: var(--track-ui); }
#cookies-save { background: var(--orange); color: var(--black); border: 0; }
#cookies-reject { background: transparent; color: var(--black); border: 1px solid var(--hairline); }


.tg-hero--center .tg-container { grid-template-columns: minmax(0, 1fr); }
.tg-table-wrap { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
@media (max-width: 600px) {
  .tg-table { font-size: 14px; }
  .tg-table th { padding: 10px 10px; font-size: 11px; }
  .tg-table td { padding: 10px 10px; }
  .tg-ui { padding: 20px; }
}


.tg-ui { --text: var(--black); --text-body: var(--ink); --text-muted: var(--secondary); --border: var(--hairline); --bg-card: var(--paper); color: var(--black); }
.tg-ui .tg-table td { color: var(--ink); } .tg-ui .tg-table td:first-child { color: var(--black); } .tg-ui .tg-table tr.tg-you td { color: var(--geo-blue); }

.tg-plan.tg-plan--dark { background: var(--black); color: var(--cream); --text: var(--cream); --text-body: var(--cream); --text-muted: var(--dark-muted); --border: var(--dark-hairline); }
.tg-plan.tg-plan--dark .tg-plan-name, .tg-plan.tg-plan--dark .tg-plan-price { color: var(--cream); }

.tg-section--product .tg-accent { color: inherit; }

.tg-hero--plans .tg-container { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
.tg-hero--plans .tg-plan { padding: 28px; }
.tg-hero--plans .tg-plan-price { font-size: 52px; }
.tg-plan-price span { white-space: nowrap; }
@media (max-width: 980px) { .tg-hero--plans .tg-container { grid-template-columns: minmax(0, 1fr); } }


.w-embed { display: contents; }
.w-embed::before, .w-embed::after { content: none !important; display: none !important; }
body .w-embed:has(table) { overflow: visible; margin-inline: 0; padding-inline: 0; }

html:not(.tg-js) [data-reveal] { opacity: 1; transform: none; }
[data-panel][hidden] { display: none !important; }


.tg-hero--stack .tg-container { grid-template-columns: minmax(0, 1fr); justify-items: center; text-align: center; }
.tg-hero--stack .tg-hero-copy { justify-items: center; }
.tg-hero--stack .tg-h1 { max-width: 19em; }
.tg-hero--stack .tg-lede { margin-inline: auto; max-width: 52ch; }
.tg-hero--stack .tg-cta-row { justify-content: center; }
.tg-hero-mock { width: min(1040px, 100%); }
.tg-hero--stack .tg-container > :not(.tg-hero-copy):not(.tg-hero-mock) { width: min(880px, 100%); }
.tg-hero--stack.tg-hero--plans .tg-container { grid-template-columns: minmax(0, 1fr); }
.tg-mock-cap { font-size: 14px; color: var(--secondary); margin-top: 16px; text-align: center; }
.tg-hero--split .tg-mock-cap { text-align: left; }
.tg-mstats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.tg-mstat { background: var(--paper); border-radius: var(--radius-sm); padding: 16px; }
.tg-mstat b { display: block; font-size: 30px; font-weight: 500; letter-spacing: -0.01em; color: var(--black); font-variant-numeric: tabular-nums; line-height: 1.1; }
.tg-mstat span { display: block; font-size: 14px; color: var(--secondary); margin-top: 6px; line-height: 1.4; }
.tg-next-opp { background: var(--paper); border-radius: var(--radius-sm); padding: 20px; display: grid; gap: 10px; justify-items: start; }
.tg-next-opp .tg-opp-title { margin: 0; }
.tg-next-opp .tg-opp-why { margin: 0; }
@media (max-width: 760px) { .tg-mstats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }


.tg-closing .tg-lede { max-width: 52ch; margin-inline: auto; }


.tg-footer__social { display: flex; gap: 16px; margin-top: 24px; }
.tg-footer__social-link { color: var(--cream); opacity: .7; transition: opacity var(--dur-sm) var(--ease); }
.tg-footer__social-link:hover { opacity: 1; }
.tg-footer__social-link svg { width: 24px; height: 24px; }


@media (max-width: 600px) { .tg-dock { max-width: 100%; overflow-x: auto; } .tg-dock__item { padding: 0 14px; } }


.tg-cols-2 .tg-section__head .tg-h2, .tg-cols-2 .tg-h2, .tg-wide-head .tg-h2 { font-size: clamp(28px, 2.6vw, var(--text-3xl)); line-height: var(--lh-snug); letter-spacing: var(--track-h3); }
.tg-cols-2 .tg-section__head { margin-bottom: 0; }

.tg-bars--solo .tg-fill { background: var(--geo-blue); }

.tg-wide-mock { width: min(1040px, 100%); margin-inline: auto; }
.tg-wide-head { margin-top: 32px; }
.tg-wide-head .tg-section__head { margin-bottom: 40px; }


.tg-hero--stack .tg-container > :not(.tg-hero-copy), .tg-hero--center .tg-container > :not(.tg-hero-copy) { text-align: left; }
