:root {
  --tc-bg: #071014;
  --tc-bg-deep: #03090c;
  --tc-panel: #0d191e;
  --tc-panel-2: #112128;
  --tc-line: rgba(255, 255, 255, 0.11);
  --tc-line-strong: rgba(255, 255, 255, 0.2);
  --tc-text: #f4f7f5;
  --tc-muted: #96a7a8;
  --tc-accent: #b6f24a;
  --tc-accent-strong: #d3ff7e;
  --tc-cyan: #60d8df;
  --tc-danger: #ff8181;
  --tc-radius: 18px;
  --tc-radius-lg: 28px;
  --tc-shadow: 0 28px 80px rgba(0, 0, 0, 0.32);
  --tc-shell: min(1180px, calc(100% - 40px));
  --tc-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--tc-bg-deep); }
body {
  margin: 0;
  color: var(--tc-text);
  background:
    radial-gradient(circle at 80% -10%, rgba(96, 216, 223, 0.08), transparent 34rem),
    radial-gradient(circle at 15% 10%, rgba(182, 242, 74, 0.05), transparent 30rem),
    var(--tc-bg);
  font-family: var(--tc-font);
  font-size: 17px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .025;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E");
  z-index: 999;
}
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .18em; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
::selection { background: var(--tc-accent); color: #071014; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.tc-skip-link { position: fixed; top: 8px; left: 8px; z-index: 2000; background: var(--tc-accent); color: #071014; padding: 10px 16px; transform: translateY(-160%); }
.tc-skip-link:focus { transform: none; }
.tc-shell { width: var(--tc-shell); margin-inline: auto; }
.tc-main { min-height: 70vh; }

.tc-site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  border-bottom: 1px solid transparent;
  transition: background .2s ease, border-color .2s ease, backdrop-filter .2s ease;
}
.tc-site-header.is-scrolled { background: rgba(3, 9, 12, .82); border-color: var(--tc-line); backdrop-filter: blur(18px); }
.tc-header-inner { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.tc-brand { display: inline-flex; align-items: center; gap: 11px; text-decoration: none; font-weight: 800; letter-spacing: -.045em; }
.tc-brand__mark { width: 31px; height: 31px; display: grid; place-items: center; border: 2px solid var(--tc-accent); border-radius: 50%; position: relative; box-shadow: inset 0 0 0 4px rgba(182,242,74,.07); }
.tc-brand__mark::before, .tc-brand__mark::after { content:""; position:absolute; background:var(--tc-bg); border-inline: 3px solid var(--tc-accent); width: 7px; height: 35px; }
.tc-brand__mark::before { transform: rotate(45deg); }
.tc-brand__mark::after { transform: rotate(-45deg); }
.tc-brand__mark span { width: 9px; height: 9px; border-radius: 50%; background: var(--tc-accent); z-index: 1; }
.tc-brand__text { font-size: 24px; }
.tc-brand__text span { color: var(--tc-accent); }
.tc-nav__list { display: flex; align-items: center; gap: 28px; padding: 0; margin: 0; list-style: none; }
.tc-nav__list a { color: #cdd7d6; text-decoration: none; font-size: 14px; font-weight: 650; }
.tc-nav__list a:hover, .tc-nav__list .current-menu-item > a { color: var(--tc-accent); }
.tc-menu-toggle { display: none; background: transparent; border: 0; width: 44px; height: 44px; padding: 9px; }
.tc-menu-toggle span:not(.screen-reader-text) { display: block; height: 2px; margin: 5px 0; background: var(--tc-text); }

.tc-home-hero { padding: 72px 0 94px; overflow: hidden; }
.tc-home-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(380px, .82fr); align-items: center; gap: clamp(60px, 8vw, 110px); }
.tc-home-hero__copy h1 { margin: 12px 0 24px; max-width: 760px; font-size: clamp(55px, 7vw, 92px); line-height: .94; letter-spacing: -.075em; }
.tc-home-hero__copy h1 em { color: var(--tc-accent); font-style: normal; }
.tc-eyebrow { margin: 0 0 12px; color: var(--tc-accent); font-size: 12px; font-weight: 850; letter-spacing: .17em; text-transform: uppercase; }
.tc-eyebrow > span { display: inline-block; width: 30px; height: 2px; margin: 0 10px 3px 0; background: var(--tc-accent); }
.tc-lead { max-width: 720px; margin: 0; color: #b7c3c2; font-size: clamp(19px, 2vw, 23px); line-height: 1.55; }
.tc-action-row { display: flex; align-items: center; flex-wrap: wrap; gap: 26px; margin-top: 34px; }
.tc-button { display: inline-flex; align-items: center; justify-content: center; gap: 16px; min-height: 52px; padding: 0 22px; border: 1px solid var(--tc-accent); border-radius: 8px; background: var(--tc-accent); color: #071014; font-size: 14px; font-weight: 850; text-decoration: none; box-shadow: 0 12px 30px rgba(182,242,74,.12); cursor: pointer; }
.tc-button:hover { background: var(--tc-accent-strong); }
.tc-button--secondary { border-color: var(--tc-line-strong); background: transparent; color: var(--tc-text); box-shadow: none; }
.tc-button--secondary:hover { border-color: var(--tc-accent); background: rgba(182,242,74,.06); }
.tc-text-link { color: var(--tc-text); font-size: 14px; font-weight: 750; text-decoration-color: var(--tc-accent); }
.tc-proof-row { display: flex; flex-wrap: wrap; gap: 22px; margin-top: 28px; color: var(--tc-muted); font-size: 13px; }
.tc-proof-row span::first-letter { color: var(--tc-accent); }

.tc-hero-demo { position: relative; padding: 20px; border: 1px solid var(--tc-line); border-radius: 22px; background: linear-gradient(145deg, rgba(17,33,40,.96), rgba(8,17,21,.98)); box-shadow: var(--tc-shadow); transform: rotate(1.1deg); }
.tc-hero-demo::before { content:""; position:absolute; inset:-80px -100px auto auto; width:260px; height:260px; border-radius:50%; background:rgba(182,242,74,.11); filter:blur(80px); z-index:-1; }
.tc-hero-demo__top { display:flex; align-items:center; gap:7px; padding-bottom: 16px; border-bottom:1px solid var(--tc-line); }
.tc-hero-demo__top span { width:7px; height:7px; border-radius:50%; background:#56666a; }
.tc-hero-demo__top span:first-child { background:var(--tc-accent); }
.tc-hero-demo__top strong { margin-left:auto; color:var(--tc-muted); font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.tc-demo-goal { display:flex; align-items:end; justify-content:space-between; gap:20px; padding:25px 4px 18px; }
.tc-demo-goal span, .tc-demo-metrics span { color:var(--tc-muted); font-size:12px; text-transform:uppercase; letter-spacing:.12em; }
.tc-demo-goal strong { font-size:36px; letter-spacing:.04em; font-variant-numeric: tabular-nums; }
.tc-demo-metrics { display:grid; grid-template-columns:repeat(3,1fr); border-block:1px solid var(--tc-line); }
.tc-demo-metrics > div { padding:17px 12px; border-right:1px solid var(--tc-line); }
.tc-demo-metrics > div:last-child { border-right:0; }
.tc-demo-metrics strong { display:block; margin-top:4px; font-size:21px; }
.tc-demo-metrics small { color:var(--tc-muted); }
.tc-demo-splits { padding:18px 2px; }
.tc-demo-splits > div { display:grid; grid-template-columns:34px 1fr 55px; align-items:center; gap:10px; padding:8px 0; font-size:12px; }
.tc-demo-splits i { height:4px; border-radius:5px; background:linear-gradient(90deg,var(--tc-accent) var(--w),rgba(255,255,255,.08) var(--w)); }
.tc-demo-splits b { text-align:right; font-variant-numeric:tabular-nums; }
.tc-hero-demo > a { display:flex; justify-content:space-between; padding:15px 4px 3px; border-top:1px solid var(--tc-line); color:var(--tc-accent); font-size:13px; font-weight:800; text-decoration:none; }

.tc-section { padding: 92px 0; }
.tc-section--raised { background: rgba(255,255,255,.018); border-block: 1px solid rgba(255,255,255,.055); }
.tc-section-heading { display:grid; grid-template-columns:1.2fr .8fr; align-items:end; gap:60px; margin-bottom:38px; }
.tc-section-heading h2, .tc-principles h2 { margin: 0; font-size: clamp(36px, 5vw, 58px); line-height: 1.02; letter-spacing: -.055em; }
.tc-section-heading > p { margin:0 0 5px; color:var(--tc-muted); }
.tc-card-grid { display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap:16px; }
.tc-directory-card { display:block; position:relative; color:inherit; text-decoration:none; min-height:220px; padding:27px; border:1px solid var(--tc-line); border-radius:var(--tc-radius); background:rgba(13,25,30,.78); transition:transform .18s ease,border-color .18s ease,background .18s ease; overflow:hidden; }
.tc-directory-card:hover, .tc-directory-card:focus-visible { transform: translateY(-4px); border-color:rgba(182,242,74,.48); background:var(--tc-panel-2); }
.tc-directory-card__icon { width:44px; height:44px; display:grid; place-items:center; margin-bottom:25px; border:1px solid var(--tc-line); border-radius:12px; color:var(--tc-accent); background:rgba(182,242,74,.05); font-size:20px; }
.tc-directory-card h3, .tc-directory-card h2 { margin:0 0 9px; font-size:21px; line-height:1.2; letter-spacing:-.025em; }
.tc-directory-card:focus-visible { outline:2px solid var(--tc-accent); outline-offset:3px; }
.tc-directory-card p { margin:0; color:var(--tc-muted); font-size:14px; }
.tc-directory-card__meta { display:flex; justify-content:space-between; align-items:center; margin-top:25px; color:#cad3d2; font-size:12px; font-weight:750; }
.tc-directory-card__meta b { color:var(--tc-accent); font-size:18px; }
.tc-directory-card--featured { grid-column:span 2; min-height:260px; background:linear-gradient(135deg,rgba(19,38,44,.96),rgba(10,19,23,.95)); }
.tc-directory-card--featured::after { content:""; position:absolute; width:210px; height:210px; right:-80px; bottom:-90px; border:1px solid rgba(182,242,74,.17); border-radius:50%; box-shadow:0 0 0 25px rgba(182,242,74,.025),0 0 0 55px rgba(182,242,74,.018); }
.tc-principles__grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:100px; }
.tc-principle-list { border-top:1px solid var(--tc-line); }
.tc-principle-list article { display:grid; grid-template-columns:50px 1fr; gap:22px; padding:24px 0; border-bottom:1px solid var(--tc-line); }
.tc-principle-list article > span { color:var(--tc-accent); font-size:12px; font-weight:850; }
.tc-principle-list h3 { margin:0 0 5px; font-size:20px; }
.tc-principle-list p { margin:0; color:var(--tc-muted); font-size:14px; }

.tc-page-hero { padding: 62px 0 40px; }
.tc-page-hero__inner { max-width: 990px; }
.tc-page-hero h1 { max-width: 940px; margin:8px 0 18px; font-size:clamp(45px,6vw,74px); line-height:1; letter-spacing:-.065em; }
.tc-breadcrumbs { display:flex; flex-wrap:wrap; gap:9px; margin-bottom:32px; color:var(--tc-muted); font-size:12px; }
.tc-breadcrumbs a { text-decoration:none; }
.tc-breadcrumbs span:last-child { color:#dce3e2; }
.tc-page-layout { padding-bottom:100px; }
.tc-page-layout--hub { display:grid; grid-template-columns:minmax(0, 1fr) 280px; gap:62px; }
.tc-page-layout--full { display:block; }
.tc-content { min-width:0; }
.tc-content--tool { width:100%; }
.tc-content--standard { width:min(900px, 100%); margin-inline:auto; }
.tc-content > :first-child { margin-top:0; }

.tc-content h2 { margin:60px 0 16px; font-size:clamp(29px,4vw,43px); line-height:1.1; letter-spacing:-.045em; }
.tc-content h3 { margin:38px 0 12px; font-size:24px; line-height:1.2; letter-spacing:-.025em; }
.tc-content p, .tc-content li { color:#b4c0bf; }
.tc-content a { color:var(--tc-accent); }
.tc-content table { width:100%; border-collapse:collapse; margin:28px 0; font-size:14px; }
.tc-content th, .tc-content td { padding:14px; border-bottom:1px solid var(--tc-line); text-align:left; }
.tc-content th { color:var(--tc-text); }
.tc-content blockquote { margin:35px 0; padding:22px 25px; border-left:3px solid var(--tc-accent); background:rgba(182,242,74,.045); }
.tc-page-aside { padding-top:8px; }
.tc-sticky-card { position:sticky; top:110px; padding:24px; border:1px solid var(--tc-line); border-radius:var(--tc-radius); background:rgba(13,25,30,.76); }
.tc-kicker { color:var(--tc-accent); font-size:11px; font-weight:850; letter-spacing:.15em; text-transform:uppercase; }
.tc-sticky-card h2 { margin:8px 0; font-size:24px; line-height:1.15; letter-spacing:-.035em; }
.tc-sticky-card p { margin:0 0 20px; color:var(--tc-muted); font-size:14px; }
.tc-sticky-card .tc-button { width:100%; }
.tc-archive-grid { padding:30px 0 100px; }
.tc-empty-state { min-height:65vh; display:grid; place-items:center; text-align:center; }
.tc-empty-state h1 { margin:0; font-size:clamp(45px,7vw,80px); letter-spacing:-.06em; }
.tc-empty-state p { color:var(--tc-muted); }

.tc-site-footer { padding:68px 0 24px; border-top:1px solid var(--tc-line); background:var(--tc-bg-deep); }
.tc-footer-grid { display:grid; grid-template-columns:1.6fr .7fr .7fr; gap:60px; }
.tc-brand--footer { margin-bottom:14px; }
.tc-footer-grid p { max-width:390px; color:var(--tc-muted); font-size:14px; }
.tc-footer-grid h2 { margin:0 0 15px; color:#d9e0df; font-size:12px; letter-spacing:.14em; text-transform:uppercase; }
.tc-footer-links { margin:0; padding:0; list-style:none; }
.tc-footer-links li { margin:8px 0; }
.tc-footer-links a { color:var(--tc-muted); font-size:14px; text-decoration:none; }
.tc-footer-links a:hover { color:var(--tc-accent); }
.tc-footer-bottom { display:flex; justify-content:space-between; gap:20px; margin-top:55px; padding-top:21px; border-top:1px solid var(--tc-line); color:#69797a; font-size:12px; }

@media (max-width: 980px) {
  .tc-home-hero__grid { grid-template-columns:1fr; }
  .tc-hero-demo { max-width:650px; transform:none; }
  .tc-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tc-page-layout--hub { grid-template-columns:1fr; }
  .tc-page-aside { display:none; }
  .tc-principles__grid { grid-template-columns:1fr; gap:45px; }
}
@media (max-width: 760px) {
  :root { --tc-shell: min(100% - 28px, 1180px); }
  body { font-size:16px; }
  .tc-header-inner { min-height:68px; }
  .tc-menu-toggle { display:block; }
  .tc-nav { display:none; position:absolute; top:68px; left:14px; right:14px; padding:12px; border:1px solid var(--tc-line); border-radius:14px; background:#0a1519; box-shadow:var(--tc-shadow); }
  .tc-nav.is-open { display:block; }
  .tc-nav__list { display:block; }
  .tc-nav__list li { border-bottom:1px solid var(--tc-line); }
  .tc-nav__list li:last-child { border-bottom:0; }
  .tc-nav__list a { display:block; padding:12px 9px; }
  .tc-home-hero { padding:48px 0 65px; }
  .tc-home-hero__copy h1 { font-size:clamp(50px,15vw,72px); }
  .tc-section { padding:65px 0; }
  .tc-section-heading { grid-template-columns:1fr; gap:18px; }
  .tc-card-grid { grid-template-columns:1fr; }
  .tc-directory-card--featured { grid-column:auto; }
  .tc-demo-metrics { grid-template-columns:1fr; }
  .tc-demo-metrics > div { border-right:0; border-bottom:1px solid var(--tc-line); }
  .tc-demo-metrics > div:last-child { border-bottom:0; }
  .tc-page-hero { padding:42px 0 28px; }
  .tc-page-hero h1 { font-size:clamp(42px,13vw,62px); }
  .tc-footer-grid { grid-template-columns:1fr 1fr; }
  .tc-footer-grid > div:first-child { grid-column:1 / -1; }
  .tc-footer-bottom { display:block; }
  .tc-footer-bottom span { display:block; margin-top:6px; }
}
@media (max-width: 480px) {
  .tc-action-row { align-items:stretch; }
  .tc-action-row .tc-button { width:100%; }
  .tc-proof-row { display:grid; gap:8px; }
  .tc-hero-demo { padding:15px; }
  .tc-demo-goal { display:block; }
  .tc-demo-goal strong { display:block; margin-top:5px; font-size:31px; }
  .tc-footer-grid { grid-template-columns:1fr; }
  .tc-footer-grid > div:first-child { grid-column:auto; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}

/* Calculator pages: keep the tool wide and centre the supporting editorial content. */
.tc-content > .wp-block-group.alignwide:first-child ~ * {
  width: min(900px, calc(100% - 48px)) !important;
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.tc-content > .wp-block-group.alignwide:first-child ~ ul,
.tc-content > .wp-block-group.alignwide:first-child ~ ol {
  padding-left: 1.4rem;
}
@media (max-width: 760px) {
  .tc-content > .wp-block-group.alignwide:first-child ~ * {
    width: calc(100% - 28px) !important;
  }
}



/* Homepage category routes and specific related-tool journeys. */
.tc-section--compact { padding: 64px 0; }
.tc-section-heading--compact { margin-bottom: 28px; }
.tc-category-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.tc-category-card { display:flex; min-height:170px; flex-direction:column; gap:8px; padding:24px; border:1px solid var(--tc-line); border-radius:var(--tc-radius); background:rgba(13,25,30,.78); text-decoration:none; transition:transform .18s ease,border-color .18s ease,background .18s ease; }
.tc-category-card:hover, .tc-category-card:focus-visible { transform:translateY(-4px); border-color:rgba(182,242,74,.48); background:var(--tc-panel-2); }
.tc-category-card:focus-visible { outline:2px solid var(--tc-accent); outline-offset:3px; }
.tc-category-card > span { color:var(--tc-accent); font-size:26px; line-height:1; }
.tc-category-card strong { margin-top:auto; font-size:21px; letter-spacing:-.025em; }
.tc-category-card small { color:var(--tc-muted); font-size:13px; line-height:1.45; }
.tc-section-link { margin:24px 0 0; text-align:right; }
.tc-section-link a { color:var(--tc-accent); font-size:14px; font-weight:800; text-decoration:none; }
.tc-related-list { margin:16px 0 22px; padding:0; list-style:none; }
.tc-related-list li { border-top:1px solid var(--tc-line); }
.tc-related-list li:last-child { border-bottom:1px solid var(--tc-line); }
.tc-related-list a { display:block; padding:13px 0; text-decoration:none; }
.tc-related-list strong { display:block; color:var(--tc-text); font-size:14px; line-height:1.25; }
.tc-related-list span { display:block; margin-top:4px; color:var(--tc-muted); font-size:12px; line-height:1.4; }
.tc-related-list a:hover strong { color:var(--tc-accent); }
@media (max-width: 980px) {
  .tc-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 560px) {
  .tc-category-grid { grid-template-columns:1fr; }
  .tc-category-card { min-height:140px; }
}
