:root {
  --ts-page: #eef0f4;
  --ts-surface: #ffffff;
  --ts-surface2: #f2f4f7;
  --ts-ink: #0e1420;
  --ts-muted: #5b6474;
  --ts-faint: #8a93a3;
  --ts-border: rgba(10, 14, 25, 0.10);
  --ts-border-soft: rgba(10, 14, 25, 0.06);
  --ts-accent: #0f9d5f;
  --ts-accent-ink: #ffffff;
  --ts-accent-soft: rgba(15, 157, 95, 0.10);
  --ts-accent-line: rgba(15, 157, 95, 0.32);
  --ts-glow: rgba(15, 157, 95, 0.16);
}

.ts-body { margin: 0; font-family: 'Hanken Grotesk', sans-serif; background: var(--ts-page); color: var(--ts-ink); }
.ts-body a { color: inherit; }
.ts-wrap { max-width: 1280px; margin: 0 auto; }
.ts-kicker { font-family: 'Space Mono', monospace; font-size: 13px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ts-accent); margin: 0 0 14px; }

.ts-nav { display: flex; align-items: center; justify-content: space-between; padding: 24px 64px; border-bottom: 1px solid var(--ts-border-soft); position: sticky; top: 0; background: var(--ts-surface); z-index: 20; }
.ts-logo { display: flex; align-items: center; gap: 14px; text-decoration: none; }
.ts-logo-bars { display: flex; flex-direction: column; gap: 4px; }
.ts-logo-bars span { display: block; height: 8px; border-radius: 3px; }
.ts-logo-bars span:nth-child(1) { width: 36px; background: var(--ts-accent); }
.ts-logo-bars span:nth-child(2) { width: 26px; background: var(--ts-muted); }
.ts-logo-bars span:nth-child(3) { width: 30px; background: var(--ts-faint); }
.ts-logo-word { font-family: 'Schibsted Grotesk', sans-serif; font-weight: 800; font-size: 28px; letter-spacing: -0.01em; color: var(--ts-ink); }
.ts-nav-links { display: flex; align-items: center; gap: 28px; }
.ts-nav-link { font-family: 'Space Mono', monospace; font-size: 13px; color: var(--ts-muted); text-decoration: none; }
.ts-nav-cta { font-family: 'Schibsted Grotesk', sans-serif; font-weight: 700; font-size: 14px; color: var(--ts-accent-ink); background: var(--ts-accent); padding: 11px 18px; border-radius: 11px; text-decoration: none; }

.ts-hero { position: relative; padding: 96px 64px 20px; text-align: center; overflow: hidden; }
.ts-hero-glow { position: absolute; top: -120px; left: 50%; transform: translateX(-50%); width: 640px; height: 340px; background: radial-gradient(ellipse at center, var(--ts-glow), transparent 70%); pointer-events: none; }
.ts-hero .ts-kicker { position: relative; display: inline-flex; align-items: center; gap: 8px; margin: 0 0 26px; }
.ts-hero h1 { position: relative; font-family: 'Schibsted Grotesk', sans-serif; font-weight: 800; font-size: clamp(48px, 9vw, 132px); line-height: 0.9; letter-spacing: -0.04em; margin: 0 0 26px; }
.ts-hero h1 span { color: var(--ts-accent); }
.ts-hero p { position: relative; font-size: 20px; line-height: 1.6; color: var(--ts-muted); margin: 0 auto 34px; max-width: 44ch; }
.ts-hero-ctas { position: relative; display: flex; gap: 14px; flex-wrap: wrap; justify-content: center; }

.ts-btn { display: inline-flex; align-items: center; gap: 10px; font-family: 'Schibsted Grotesk', sans-serif; font-weight: 700; font-size: 16px; padding: 15px 26px; border-radius: 13px; text-decoration: none; transition: transform .2s ease, filter .2s ease, border-color .2s ease; }
.ts-btn-primary { color: var(--ts-accent-ink); background: var(--ts-accent); }
.ts-btn-primary:hover { transform: translateY(-3px); filter: brightness(1.06); }
.ts-btn-outline { color: var(--ts-ink); background: transparent; border: 1px solid var(--ts-accent-line); }
.ts-btn-outline:hover { transform: translateY(-3px); border-color: var(--ts-accent); }

.ts-section { padding: 96px 64px 40px; }
.ts-section h2 { font-family: 'Schibsted Grotesk', sans-serif; font-weight: 800; font-size: clamp(30px, 3.4vw, 46px); line-height: 1.02; letter-spacing: -0.02em; margin: 0 0 14px; max-width: 22ch; }
.ts-section > p { font-size: 18px; line-height: 1.6; color: var(--ts-muted); margin: 0 0 48px; max-width: 54ch; }

.ts-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.ts-card { background: var(--ts-surface); border: 1px solid var(--ts-border); border-radius: 20px; padding: 28px; box-shadow: 0 1px 2px rgba(20, 25, 40, 0.05); }
.ts-card-num { width: 46px; height: 46px; border-radius: 12px; background: var(--ts-accent-soft); border: 1px solid var(--ts-accent-line); display: flex; align-items: center; justify-content: center; font-family: 'Space Mono', monospace; font-weight: 700; font-size: 18px; color: var(--ts-accent); margin-bottom: 22px; }
.ts-card h3 { font-family: 'Schibsted Grotesk', sans-serif; font-weight: 700; font-size: 21px; letter-spacing: -0.01em; margin: 0 0 8px; }
.ts-card p { font-size: 15px; line-height: 1.6; color: var(--ts-muted); margin: 0; }

.ts-trust-panel { background: linear-gradient(180deg, var(--ts-surface), var(--ts-surface2)); border: 1px solid var(--ts-border); border-radius: 28px; padding: 52px 48px; box-shadow: 0 1px 2px rgba(20, 25, 40, 0.05); }
.ts-trust-panel h2 { margin: 0 0 40px; max-width: 20ch; }
.ts-trust-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 36px; }
.ts-trust-item { border-top: 2px solid var(--ts-accent); padding-top: 20px; }
.ts-trust-item h3 { font-family: 'Schibsted Grotesk', sans-serif; font-weight: 700; font-size: 19px; letter-spacing: -0.01em; margin: 0 0 10px; }
.ts-trust-item p { font-size: 15px; line-height: 1.6; color: var(--ts-muted); margin: 0; }

.ts-follow { text-decoration: none; background: var(--ts-surface); border: 1px solid var(--ts-border); border-radius: 22px; padding: 34px; display: flex; flex-direction: column; gap: 18px; box-shadow: 0 1px 2px rgba(20, 25, 40, 0.05); transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.ts-follow:hover { transform: translateY(-4px); border-color: var(--ts-accent-line); box-shadow: 0 18px 40px rgba(20, 25, 40, 0.1); }
.ts-follow-badge { display: flex; align-items: center; gap: 14px; }
.ts-follow-icon { width: 44px; height: 44px; border-radius: 12px; background: rgba(124, 92, 255, 0.12); border: 1px solid rgba(124, 92, 255, 0.35); display: flex; align-items: center; justify-content: center; }
.ts-follow-icon span { width: 18px; height: 18px; border: 2px solid #7c5cff; border-radius: 6px; display: block; }
.ts-follow-label { font-family: 'Space Mono', monospace; font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ts-muted); }
.ts-follow h3 { font-family: 'Schibsted Grotesk', sans-serif; font-weight: 800; font-size: 26px; letter-spacing: -0.01em; margin: 0 0 4px; }
.ts-follow p { font-size: 15px; color: var(--ts-muted); margin: 0; }

/* Links list page */
.ts-links-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.ts-link-card { display: flex; flex-direction: column; justify-content: space-between; gap: 24px; text-decoration: none; background: var(--ts-surface); border: 1px solid var(--ts-border); border-radius: 20px; padding: 26px; box-shadow: 0 1px 2px rgba(20, 25, 40, 0.05); transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.ts-link-card:hover { transform: translateY(-4px); border-color: var(--ts-accent-line); box-shadow: 0 18px 40px rgba(20, 25, 40, 0.1); }
.ts-link-card h3 { font-family: 'Schibsted Grotesk', sans-serif; font-weight: 700; font-size: 20px; letter-spacing: -0.01em; margin: 0 0 6px; color: var(--ts-ink); }
.ts-link-card .ts-link-url { font-family: 'Space Mono', monospace; font-size: 12px; color: var(--ts-faint); word-break: break-all; margin: 0; }
.ts-link-card .ts-link-cta { font-family: 'Space Mono', monospace; font-size: 12px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--ts-accent); }
.ts-empty-state { background: var(--ts-surface); border: 1px solid var(--ts-border); border-radius: 20px; padding: 40px; text-align: center; color: var(--ts-muted); font-size: 15px; }

.ts-footer { padding: 56px 64px 44px; border-top: 1px solid var(--ts-border-soft); margin-top: 24px; }
.ts-footer-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
.ts-footer-logo { display: flex; align-items: center; gap: 13px; margin-bottom: 14px; }
.ts-footer-logo .ts-logo-bars span { height: 7px; }
.ts-footer-logo .ts-logo-bars span:nth-child(1) { width: 33px; }
.ts-footer-logo .ts-logo-bars span:nth-child(2) { width: 24px; }
.ts-footer-logo .ts-logo-bars span:nth-child(3) { width: 28px; }
.ts-footer-word { font-family: 'Schibsted Grotesk', sans-serif; font-weight: 800; font-size: 26px; letter-spacing: -0.01em; }
.ts-footer-top > div:first-child p { font-size: 14px; color: var(--ts-faint); margin: 0; max-width: 36ch; }
.ts-footer-cta { text-decoration: none; display: inline-flex; align-items: center; gap: 12px; background: var(--ts-accent); color: var(--ts-accent-ink); font-family: 'Schibsted Grotesk', sans-serif; font-weight: 800; font-size: 16px; padding: 16px 24px; border-radius: 14px; transition: transform .25s ease, filter .25s ease; }
.ts-footer-cta:hover { transform: translateY(-3px); filter: brightness(1.06); }
.ts-footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-top: 36px; padding-top: 22px; border-top: 1px solid var(--ts-border-soft); }
.ts-footer-bottom p { font-family: 'Space Mono', monospace; font-size: 12px; color: var(--ts-faint); margin: 0; }
.ts-footer-bottom-links { display: flex; gap: 22px; }
.ts-footer-bottom-links a { font-family: 'Space Mono', monospace; font-size: 12px; color: var(--ts-muted); text-decoration: none; }

@media (max-width: 900px) {
  .ts-nav, .ts-hero, .ts-section, .ts-footer { padding-left: 24px; padding-right: 24px; }
  .ts-grid-3, .ts-trust-grid, .ts-links-grid { grid-template-columns: 1fr; }
}
