/*
 * tipscopywriting.com -- design system
 * #0D0D0D Black + #B8F244 Lime + #FAFAFA Snow
 * Syne (heading) + Manrope (body) -- first use in series
 * Nav: DARK STICKY HORIZONTAL -- unique (not floating, not split-center, not sidebar)
 * Hero: PURE TYPOGRAPHIC EDITORIAL -- no hero image, only copy -- unique in series
 * Belt: LIME SCROLLING TICKER
 * Launch Band: LIME BG SECTION -- electric contrast moment
 */

@import url('https://fonts.googleapis.com/css2?family=Syne:wght@400;600;700;800&family=Manrope:wght@400;500;600;700&display=swap');

/* -- TOKENS ---------------------------------------------------- */
:root {
  --tpc-black:  #0D0D0D;
  --tpc-dark:   #181818;
  --tpc-darker: #212121;
  --tpc-lime:   #B8F244;
  --tpc-lime-d: #9CDB1E;
  --tpc-lime-bg: rgba(184,242,68,.07);
  --tpc-snow:   #FAFAFA;
  --tpc-ash:    #8A8A8A;
  --tpc-ghost:  rgba(255,255,255,.04);
  --tpc-border: rgba(255,255,255,.08);
  --tpc-borderh: rgba(184,242,68,.35);

  --tpc-fh: 'Syne','Arial Black',sans-serif;
  --tpc-fb: 'Manrope','Helvetica Neue',Arial,sans-serif;

  --tpc-r4: 4px; --tpc-r6: 6px; --tpc-r8: 8px;
  --tpc-r12: 12px; --tpc-r16: 16px;
}

/* -- RESET ----------------------------------------------------- */
*,*::before,*::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  font-family: var(--tpc-fb); font-size: .9375rem; line-height: 1.72;
  color: var(--tpc-snow); background: var(--tpc-black); overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }
button { cursor: pointer; font-family: var(--tpc-fb); }
ul { list-style: none; }
em { font-style: normal; }

/* -- TYPOGRAPHY ----------------------------------------------- */
h1,h2,h3,h4 { font-family: var(--tpc-fh); font-weight: 700; line-height: 1.1; color: var(--tpc-snow); }
h1 { font-size: clamp(2.75rem, 7vw, 7.5rem); letter-spacing: -.04em; }
h2 { font-size: clamp(2rem, 4vw, 3.5rem); letter-spacing: -.025em; }
h3 { font-size: clamp(1.25rem, 2.5vw, 1.875rem); letter-spacing: -.01em; }
h4 { font-size: 1.0625rem; }
p  { line-height: 1.8; }

/* -- NAV: DARK STICKY HORIZONTAL ------------------------------ */
.tc-mast {
  position: sticky; top: 0; z-index: 900;
  background: var(--tpc-black);
  border-bottom: 1px solid var(--tpc-border);
  height: 72px; display: flex; align-items: center;
}
.tc-mast-inner {
  max-width: 1100px; margin: 0 auto; width: 100%;
  padding: 0 clamp(1.25rem, 4vw, 2.5rem);
  display: flex; align-items: center; justify-content: space-between;
}
.tc-mast-brand {
  font-family: var(--tpc-fh); font-size: clamp(1.125rem, 2vw, 1.4375rem);
  font-weight: 800; color: var(--tpc-snow); letter-spacing: -.025em; flex-shrink: 0;
}
.tc-mast-brand .tc-ld { color: var(--tpc-lime); }
.tc-mast-links { display: flex; align-items: center; gap: .125rem; }
.tc-mast-lnk {
  font-family: var(--tpc-fh); font-size: 1.0625rem; font-weight: 600;
  color: var(--tpc-ash); padding: .5rem .875rem; border-radius: var(--tpc-r6);
  transition: color .16s;
}
.tc-mast-lnk:hover, .tc-mast-lnk.tc-on { color: var(--tpc-snow); }
.tc-mast-go {
  font-family: var(--tpc-fh); font-size: .875rem; font-weight: 800;
  background: var(--tpc-lime); color: #000;
  padding: .625rem 1.375rem; border-radius: var(--tpc-r6); border: none;
  transition: background .16s; margin-left: .875rem; white-space: nowrap;
}
.tc-mast-go:hover { background: var(--tpc-lime-d); }
.tc-mast-burger {
  display: none; background: none; border: none;
  color: var(--tpc-snow); padding: .5rem; margin-left: .75rem;
}

/* Drawer */
.tc-drawer {
  display: none; position: fixed; inset: 0; z-index: 9000;
  background: var(--tpc-black); flex-direction: column;
  padding: 2rem; overflow-y: auto;
}
.tc-drawer.tc-dr-open { display: flex; }
.tc-dr-cls { background: none; border: none; color: var(--tpc-ash); padding: .5rem; margin-bottom: 2rem; }
.tc-dr-lnk {
  font-family: var(--tpc-fh); font-size: 1.75rem; font-weight: 700;
  color: rgba(255,255,255,.6); padding: .75rem 0;
  border-bottom: 1px solid var(--tpc-border); display: block;
}
.tc-dr-lnk:hover { color: var(--tpc-snow); }
.tc-dr-go {
  margin-top: 2rem; background: var(--tpc-lime); color: #000;
  padding: 1rem 2rem; border-radius: var(--tpc-r8); font-family: var(--tpc-fh);
  font-size: 1rem; font-weight: 800; text-align: center; display: block;
}

/* -- HERO: PURE TYPOGRAPHIC EDITORIAL ------------------------- */
#tc-stage {
  min-height: 90vh; display: flex; align-items: center;
  background: var(--tpc-black); position: relative; overflow: hidden;
  padding: clamp(5rem, 9vw, 9rem) 0 clamp(3rem, 5vw, 5rem);
}
#tc-stage::before {
  content: ''; position: absolute; inset: 0;
  background-image:
    repeating-linear-gradient(90deg, transparent, transparent calc(25% - 1px),
    rgba(255,255,255,.018) calc(25% - 1px), rgba(255,255,255,.018) 25%);
  pointer-events: none;
}
.tc-stage-inner {
  max-width: 1100px; margin: 0 auto;
  padding: 0 clamp(1.25rem, 4vw, 2.5rem); width: 100%;
}
.tc-stage-above {
  font-size: .75rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .12em;
  color: var(--tpc-ash); margin-bottom: 2.25rem;
  display: flex; align-items: center; gap: .625rem;
}
.tc-stage-above::before {
  content: ''; width: 30px; height: 1px; background: var(--tpc-border);
}
.tc-stage-h {
  font-size: clamp(3.5rem, 9.5vw, 9.5rem);
  font-weight: 800; line-height: .95; letter-spacing: -.045em;
  margin-bottom: clamp(2.5rem, 4vw, 4rem); max-width: 10ch;
}
.tc-underline {
  color: var(--tpc-lime);
  text-decoration: underline;
  text-decoration-thickness: 4px;
  text-underline-offset: .12em;
}
.tc-stage-row {
  display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: center;
}
.tc-stage-sub {
  font-size: clamp(1rem, 1.8vw, 1.125rem); color: var(--tpc-ash);
  line-height: 1.8; max-width: 44ch;
}
.tc-stage-acts { display: flex; flex-direction: column; gap: 1rem; align-items: flex-start; }

/* -- SCROLLING TICKER (lime band) ----------------------------- */
.tc-belt { overflow: hidden; background: var(--tpc-lime); padding: .875rem 0; }
.tc-belt-track {
  display: flex; gap: 2.5rem; width: max-content;
  animation: tcBeltRoll 28s linear infinite;
}
.tc-belt-track:hover { animation-play-state: paused; }
@keyframes tcBeltRoll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.tc-belt-track span {
  font-family: var(--tpc-fh); font-size: .8125rem; font-weight: 800;
  color: #000; text-transform: uppercase; letter-spacing: .1em; white-space: nowrap;
}
.tc-belt-sep { color: rgba(0,0,0,.18) !important; font-size: 1.125rem !important; letter-spacing: 0 !important; }

/* -- CONTAINER ------------------------------------------------ */
.tc-shell { max-width: 1100px; margin: 0 auto; padding: 0 clamp(1.25rem, 4vw, 2.5rem); }

/* -- REVEAL --------------------------------------------------- */
.tc-emerge { opacity: 0; transform: translateY(18px); transition: opacity .5s ease, transform .5s ease; }
.tc-emerge.tc-vis { opacity: 1; transform: none; }

/* -- EYEBROW TAG --------------------------------------------- */
.tc-tag {
  font-family: var(--tpc-fh); font-size: .6875rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: .12em; color: var(--tpc-lime);
  margin-bottom: .875rem; display: block;
}

/* -- BUTTONS -------------------------------------------------- */
.tc-btn-lime {
  display: inline-flex; align-items: center; gap: .5rem;
  background: var(--tpc-lime); color: #000;
  font-family: var(--tpc-fh); font-size: .9375rem; font-weight: 800;
  padding: .875rem 2rem; border-radius: var(--tpc-r6); border: none;
  transition: background .16s; white-space: nowrap;
}
.tc-btn-lime:hover { background: var(--tpc-lime-d); }
.tc-btn-outline {
  display: inline-flex; align-items: center; gap: .5rem;
  background: transparent; color: var(--tpc-snow);
  font-family: var(--tpc-fh); font-size: .9375rem; font-weight: 700;
  padding: .875rem 2rem; border-radius: var(--tpc-r6);
  border: 1.5px solid var(--tpc-border); transition: border-color .16s;
  white-space: nowrap;
}
.tc-btn-outline:hover { border-color: var(--tpc-snow); }
.tc-btn-dk {
  display: inline-flex; align-items: center; gap: .5rem;
  background: var(--tpc-black); color: var(--tpc-snow);
  font-family: var(--tpc-fh); font-size: .9375rem; font-weight: 800;
  padding: .875rem 2rem; border-radius: var(--tpc-r6); border: none;
  transition: background .16s; white-space: nowrap;
}
.tc-btn-dk:hover { background: var(--tpc-darker); }
.tc-btn-ghost-dk {
  display: inline-flex; align-items: center; gap: .5rem;
  background: transparent; color: rgba(0,0,0,.65);
  font-family: var(--tpc-fh); font-size: .9375rem; font-weight: 700;
  padding: .875rem 2rem; border-radius: var(--tpc-r6);
  border: 2px solid rgba(0,0,0,.25); transition: border-color .16s;
  white-space: nowrap;
}
.tc-btn-ghost-dk:hover { border-color: rgba(0,0,0,.55); color: #000; }
.tc-link-arrow {
  display: inline-flex; align-items: center; gap: .375rem;
  font-family: var(--tpc-fh); font-size: .9375rem; font-weight: 700;
  color: var(--tpc-lime); border-bottom: 1.5px solid transparent; transition: border-color .16s;
}
.tc-link-arrow:hover { border-color: var(--tpc-lime); }

/* -- BANDS ---------------------------------------------------- */
.tc-band     { padding: clamp(4rem, 8vw, 7rem) 0; }
.tc-band-sm  { padding: clamp(2.5rem, 5vw, 4rem) 0; }
.tc-band-blk { background: var(--tpc-black); }
.tc-band-drk { background: var(--tpc-dark); }

/* -- SERVICE SLATE GRID --------------------------------------- */
.tc-slate-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 1px; background: var(--tpc-border);
  border: 1px solid var(--tpc-border); border-radius: var(--tpc-r8); overflow: hidden;
  margin-top: clamp(2rem, 4vw, 3.5rem);
}
.tc-slate-card {
  background: var(--tpc-black); padding: 2rem;
  display: flex; flex-direction: column; min-height: 260px;
  transition: background .2s; text-decoration: none;
}
.tc-slate-card:hover { background: var(--tpc-dark); }
.tc-slate-card:hover .tc-slate-arr { color: var(--tpc-lime); transform: translate(2px, -2px); }
.tc-slate-num {
  font-family: var(--tpc-fh); font-size: .6875rem; font-weight: 800;
  color: var(--tpc-lime); letter-spacing: .1em; text-transform: uppercase; margin-bottom: 1.25rem;
}
.tc-slate-ico {
  width: 40px; height: 40px; border-radius: 50%;
  background: var(--tpc-lime-bg); color: var(--tpc-lime);
  display: flex; align-items: center; justify-content: center; margin-bottom: 1rem;
  flex-shrink: 0;
}
.tc-slate-name {
  font-family: var(--tpc-fh); font-size: 1rem; font-weight: 700;
  color: var(--tpc-snow); margin-bottom: .5rem; flex: 1;
}
.tc-slate-desc { font-size: .875rem; color: var(--tpc-ash); line-height: 1.7; margin-bottom: 1.5rem; }
.tc-slate-foot {
  display: flex; align-items: center; justify-content: space-between;
  border-top: 1px solid var(--tpc-border); padding-top: 1rem;
}
.tc-slate-price { font-family: var(--tpc-fh); font-size: .875rem; font-weight: 700; color: var(--tpc-ash); }
.tc-slate-arr { color: var(--tpc-ash); transition: color .18s, transform .18s; }

/* -- CASE STUDIES: ALTERNATING -------------------------------- */
.tc-evidence { background: var(--tpc-dark); }
.tc-proof-card {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: clamp(2.5rem, 5vw, 4.5rem); align-items: center;
  padding: clamp(3rem, 6vw, 5rem) 0;
  border-bottom: 1px solid var(--tpc-border);
}
.tc-proof-card:last-child { border-bottom: none; }
.tc-proof-card.tc-flip .tc-proof-img { order: 2; }
.tc-proof-card.tc-flip .tc-proof-txt { order: 1; }
.tc-proof-img { border-radius: var(--tpc-r16); overflow: hidden; aspect-ratio: 3/2; background: var(--tpc-darker); }
.tc-proof-img img { width: 100%; height: 100%; object-fit: cover; }
.tc-proof-cat { font-size: .6875rem; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; color: var(--tpc-lime); margin-bottom: .75rem; font-family: var(--tpc-fh); }
.tc-proof-h3 { font-family: var(--tpc-fh); font-size: clamp(1.25rem, 2vw, 1.625rem); margin-bottom: 1.25rem; }
.tc-proof-lbl { font-size: .6875rem; font-weight: 800; text-transform: uppercase; letter-spacing: .09em; color: var(--tpc-ash); font-family: var(--tpc-fh); margin: 1rem 0 .375rem; }
.tc-proof-p { font-size: .9375rem; color: var(--tpc-ash); line-height: 1.8; margin: 0; }
.tc-proof-stats { display: flex; gap: 3rem; flex-wrap: wrap; margin-top: 2rem; padding-top: 2rem; border-top: 1px solid var(--tpc-border); }
.tc-ps-n { font-family: var(--tpc-fh); font-size: clamp(2rem, 4vw, 3rem); font-weight: 800; color: var(--tpc-lime); line-height: 1; }
.tc-ps-l { font-size: .75rem; color: var(--tpc-ash); margin-top: .25rem; }

/* -- WHY US (2x2 numbered) ------------------------------------ */
.tc-pillars-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5px; background: var(--tpc-border); border: 1px solid var(--tpc-border); border-radius: var(--tpc-r8); overflow: hidden; }
.tc-pillar { background: var(--tpc-black); padding: 2.5rem 2rem; }
.tc-pillar-n { font-family: var(--tpc-fh); font-size: .6875rem; font-weight: 800; color: var(--tpc-lime); letter-spacing: .1em; text-transform: uppercase; margin-bottom: 1.125rem; }
.tc-pillar h4 { font-family: var(--tpc-fh); font-size: 1.125rem; font-weight: 700; margin-bottom: .625rem; }
.tc-pillar p { font-size: .875rem; color: var(--tpc-ash); line-height: 1.75; margin: 0; }

/* -- PROCESS: HORIZONTAL 5-STEP ------------------------------- */
.tc-method-row {
  display: grid; grid-template-columns: repeat(5, 1fr);
  gap: 0; position: relative; margin-top: clamp(2rem, 4vw, 3.5rem);
}
.tc-method-row::before {
  content: ''; position: absolute;
  top: 24px; left: 48px; right: 48px; height: 1px;
  background: var(--tpc-border);
}
.tc-method-step { padding: 0 1rem; text-align: center; position: relative; }
.tc-method-dot {
  width: 48px; height: 48px; border-radius: 50%;
  background: var(--tpc-lime); color: #000;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--tpc-fh); font-size: .875rem; font-weight: 800;
  margin: 0 auto 1.375rem; position: relative; z-index: 1;
}
.tc-method-h { font-family: var(--tpc-fh); font-size: .9375rem; font-weight: 700; color: var(--tpc-snow); margin-bottom: .5rem; }
.tc-method-b { font-size: .8125rem; color: var(--tpc-ash); line-height: 1.65; }

/* -- TESTIMONIALS: 3-col dark --------------------------------- */
.tc-echoes-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.tc-echo {
  background: var(--tpc-dark); border: 1px solid var(--tpc-border);
  border-radius: var(--tpc-r16); padding: 2rem;
}
.tc-echo-mark {
  font-family: Georgia, serif; font-size: 3.5rem; line-height: .6;
  color: var(--tpc-lime); margin-bottom: 1.25rem; display: block;
}
.tc-echo-tag {
  font-size: .6875rem; font-weight: 800; text-transform: uppercase;
  letter-spacing: .1em; color: var(--tpc-lime); font-family: var(--tpc-fh); margin-bottom: .875rem;
}
.tc-echo-body { font-size: .9375rem; color: rgba(255,255,255,.6); line-height: 1.78; margin-bottom: 1.5rem; }
.tc-echo-name { font-family: var(--tpc-fh); font-size: .9375rem; font-weight: 700; }
.tc-echo-role { font-size: .8125rem; color: var(--tpc-ash); }

/* -- PRICING (3 plans) ---------------------------------------- */
.tc-plans-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; margin-top: clamp(2rem, 4vw, 3.5rem); }
.tc-plan {
  border: 1.5px solid var(--tpc-border); border-radius: var(--tpc-r16);
  padding: 2.25rem; background: var(--tpc-black); position: relative;
}
.tc-plan.tc-plan-pop { background: var(--tpc-dark); border-color: var(--tpc-lime); }
.tc-plan-badge {
  position: absolute; top: -13px; left: 50%; transform: translateX(-50%);
  background: var(--tpc-lime); color: #000; font-family: var(--tpc-fh);
  font-size: .6875rem; font-weight: 800; text-transform: uppercase; letter-spacing: .07em;
  padding: .3rem 1rem; border-radius: 100px; white-space: nowrap;
}
.tc-plan-name { font-family: var(--tpc-fh); font-size: 1.375rem; font-weight: 700; margin-bottom: .375rem; }
.tc-plan-tag { font-size: .8125rem; color: var(--tpc-ash); margin-bottom: 1.25rem; }
.tc-plan-price { font-family: var(--tpc-fh); font-size: 2.75rem; font-weight: 800; color: var(--tpc-lime); line-height: 1; margin-bottom: 1.75rem; }
.tc-plan-list { display: flex; flex-direction: column; gap: .625rem; margin-bottom: 2rem; }
.tc-plan-item { display: flex; align-items: flex-start; gap: .625rem; font-size: .875rem; color: var(--tpc-ash); }
.tc-plan-ico { color: var(--tpc-lime); flex-shrink: 0; margin-top: 1px; }
.tc-plan-cta { width: 100%; justify-content: center; }

/* -- FAQ ("-riddles" class to ensure naming uniqueness) ------- */
.tc-riddles-wrap { max-width: 720px; margin: 0 auto; }
.tc-riddle { border-bottom: 1px solid var(--tpc-border); }
.tc-riddle-btn {
  width: 100%; display: flex; align-items: center; justify-content: space-between;
  gap: 1rem; padding: 1.25rem 0; background: none; border: none; text-align: left; cursor: pointer;
}
.tc-riddle-q { font-family: var(--tpc-fh); font-size: 1rem; font-weight: 700; color: var(--tpc-snow); flex: 1; }
.tc-riddle-i { color: var(--tpc-ash); flex-shrink: 0; transition: transform .25s; }
.tc-riddle.tc-ri-on .tc-riddle-i { transform: rotate(180deg); }
.tc-riddle-ans { display: none; padding-bottom: 1.25rem; }
.tc-riddle.tc-ri-on .tc-riddle-ans { display: block; }
.tc-riddle-ans p { font-size: .9375rem; color: var(--tpc-ash); line-height: 1.8; }

/* -- LIME LAUNCH BAND ----------------------------------------- */
.tc-launch-band { background: var(--tpc-lime); padding: clamp(4rem, 7vw, 6rem) 0; }
.tc-lb-inner { max-width: 820px; margin: 0 auto; padding: 0 clamp(1.25rem, 4vw, 2.5rem); text-align: center; }
.tc-lb-h { font-family: var(--tpc-fh); font-size: clamp(2rem, 4.5vw, 3.5rem); font-weight: 800; color: #0D0D0D; letter-spacing: -.025em; margin-bottom: 1rem; }
.tc-lb-sub { font-size: clamp(1rem, 1.8vw, 1.125rem); color: rgba(0,0,0,.55); margin-bottom: 2.5rem; max-width: 52ch; margin-left: auto; margin-right: auto; line-height: 1.75; }
.tc-lb-acts { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }

/* -- PACKAGE BUILDER ------------------------------------------ */
.tc-bld-grid { display: grid; grid-template-columns: 1fr 320px; gap: 2.5rem; align-items: start; }
.tc-bld-card { background: var(--tpc-dark); border: 1px solid var(--tpc-border); border-radius: var(--tpc-r12); padding: 2rem; margin-bottom: 1.25rem; }
.tc-bld-hd { font-size: .6875rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; color: var(--tpc-lime); margin-bottom: 1rem; padding-bottom: .625rem; border-bottom: 1px solid var(--tpc-border); font-family: var(--tpc-fh); }
.tc-pkg-row { border: 1.5px solid var(--tpc-border); border-radius: var(--tpc-r8); padding: 1rem 1.25rem; cursor: pointer; margin-bottom: .625rem; display: flex; align-items: center; gap: 1rem; transition: all .18s; }
.tc-pkg-row:hover { border-color: rgba(184,242,68,.25); background: var(--tpc-lime-bg); }
.tc-pkg-row.tc-pk-on { border-color: var(--tpc-lime); background: var(--tpc-lime-bg); }
.tc-pkg-radio { width: 18px; height: 18px; border-radius: 50%; border: 1.5px solid var(--tpc-border); flex-shrink: 0; transition: all .18s; }
.tc-pkg-row.tc-pk-on .tc-pkg-radio { border-color: var(--tpc-lime); background: var(--tpc-lime); box-shadow: inset 0 0 0 4px var(--tpc-dark); }
.tc-pkg-nm { font-family: var(--tpc-fh); font-weight: 700; font-size: .9375rem; color: var(--tpc-snow); }
.tc-pkg-sub { font-size: .8125rem; color: var(--tpc-ash); }
.tc-pkg-pr { margin-left: auto; font-family: var(--tpc-fh); font-size: 1.125rem; font-weight: 700; color: var(--tpc-lime); white-space: nowrap; }

.tc-add-row { display: flex; align-items: center; gap: .875rem; padding: .875rem 1rem; border: 1.5px solid var(--tpc-border); border-radius: var(--tpc-r8); cursor: pointer; margin-bottom: .5rem; transition: all .18s; }
.tc-add-row:hover { border-color: rgba(184,242,68,.25); }
.tc-add-row.tc-ad-on { border-color: var(--tpc-lime); background: var(--tpc-lime-bg); }
.tc-add-chk { width: 20px; height: 20px; border: 1.5px solid var(--tpc-border); border-radius: var(--tpc-r4); flex-shrink: 0; display: flex; align-items: center; justify-content: center; color: #000; background: transparent; transition: all .16s; }
.tc-add-row.tc-ad-on .tc-add-chk { background: var(--tpc-lime); border-color: var(--tpc-lime); }
.tc-add-nm { flex: 1; font-size: .9375rem; font-weight: 500; color: var(--tpc-snow); }
.tc-add-pr { font-family: var(--tpc-fh); font-size: .9375rem; font-weight: 700; color: var(--tpc-ash); }

.tc-hrs-ctrl { display: flex; align-items: center; gap: 1rem; }
.tc-hrs-sl { flex: 1; accent-color: var(--tpc-lime); }
.tc-hrs-display { font-family: var(--tpc-fh); font-size: 1.25rem; font-weight: 700; color: var(--tpc-lime); min-width: 5.5rem; }

/* Tally (receipt) */
.tc-tally { background: var(--tpc-darker); border: 1px solid var(--tpc-border); border-radius: var(--tpc-r16); padding: 2rem; position: sticky; top: 5.5rem; }
.tc-tally-hd { font-family: var(--tpc-fh); font-size: 1.125rem; font-weight: 700; color: var(--tpc-snow); margin-bottom: 1.25rem; }
.tc-tally-items { min-height: 60px; margin-bottom: 1rem; display: flex; flex-direction: column; gap: .5rem; }
.tc-tally-row { display: flex; justify-content: space-between; gap: 1rem; font-size: .875rem; }
.tc-tally-row span:first-child { color: var(--tpc-ash); }
.tc-tally-row span:last-child { color: var(--tpc-snow); font-weight: 600; white-space: nowrap; }
.tc-tally-nil { font-size: .875rem; font-style: italic; color: rgba(255,255,255,.2); }
.tc-tally-div { border-top: 1px solid var(--tpc-border); margin: 1rem 0; }
.tc-tally-total { display: flex; justify-content: space-between; align-items: baseline; }
.tc-tally-tl { font-size: .6875rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: var(--tpc-ash); font-family: var(--tpc-fh); }
.tc-tally-tv { font-family: var(--tpc-fh); font-size: 2.25rem; font-weight: 800; color: var(--tpc-lime); }
.tc-tally-go { margin-top: 1.25rem; width: 100%; justify-content: center; }
.tc-tally-note { font-size: .6875rem; color: var(--tpc-ash); text-align: center; margin-top: .75rem; line-height: 1.6; opacity: .6; }

/* -- CHECKOUT ------------------------------------------------- */
.tc-ck-grid { display: grid; grid-template-columns: 1fr 360px; gap: 2.5rem; align-items: start; }
.tc-ck-form { background: var(--tpc-dark); border: 1px solid var(--tpc-border); border-radius: var(--tpc-r16); padding: 2.5rem; }
.tc-ck-sum { background: var(--tpc-darker); border: 1px solid var(--tpc-border); border-radius: var(--tpc-r16); padding: 2rem; position: sticky; top: 5.5rem; }
.tc-ck-sum-hd { font-family: var(--tpc-fh); font-size: 1.125rem; font-weight: 700; margin-bottom: 1.25rem; }
.tc-ck-sum-row { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: .5rem; font-size: .875rem; }
.tc-ck-sum-k { color: var(--tpc-ash); }
.tc-ck-sum-v { color: var(--tpc-snow); font-weight: 600; text-align: right; }
.tc-ck-div { border-top: 1px solid var(--tpc-border); margin: 1rem 0; }
.tc-ck-sum-total { display: flex; justify-content: space-between; align-items: baseline; }
.tc-ck-sum-tl { font-size: .6875rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: var(--tpc-ash); font-family: var(--tpc-fh); }
.tc-ck-sum-tv { font-family: var(--tpc-fh); font-size: 2rem; font-weight: 800; color: var(--tpc-lime); }
.tc-ck-sum-note { font-size: .8125rem; color: var(--tpc-ash); margin-top: 1rem; line-height: 1.65; }
.tc-ck-sec-hd { font-family: var(--tpc-fh); font-size: 1rem; font-weight: 700; margin-bottom: 1.25rem; padding-bottom: .875rem; border-bottom: 1px solid var(--tpc-border); }
.tc-field { margin-bottom: 1.25rem; }
.tc-field label { display: block; font-size: .875rem; font-weight: 600; color: var(--tpc-snow); margin-bottom: .4rem; font-family: var(--tpc-fh); }
.tc-field input, .tc-field select, .tc-field textarea { width: 100%; padding: .75rem 1rem; border: 1.5px solid var(--tpc-border); border-radius: var(--tpc-r8); font-family: var(--tpc-fb); font-size: .9375rem; color: var(--tpc-snow); background: var(--tpc-black); transition: border-color .18s; -webkit-appearance: none; }
.tc-field input:focus, .tc-field select:focus, .tc-field textarea:focus { outline: none; border-color: var(--tpc-lime); box-shadow: 0 0 0 3px var(--tpc-lime-bg); }
.tc-field-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.tc-tos-row { display: flex; align-items: flex-start; gap: .75rem; margin: 1.5rem 0; }
.tc-tos-row input { flex-shrink: 0; margin-top: 3px; accent-color: var(--tpc-lime); }
.tc-tos-row label { font-size: .875rem; color: var(--tpc-ash); line-height: 1.6; }
.tc-tos-row a { color: var(--tpc-lime); text-decoration: underline; }

/* -- PAGE HEADS ----------------------------------------------- */
.tc-page-head { background: var(--tpc-dark); padding: clamp(5.5rem, 9vw, 7.5rem) 0 clamp(2.5rem, 4.5vw, 3.5rem); text-align: center; border-bottom: 1px solid var(--tpc-border); }
.tc-page-head h1 { margin-bottom: .875rem; }
.tc-page-sub { color: var(--tpc-ash); max-width: 52ch; margin: 0 auto; font-size: clamp(.9375rem, 1.8vw, 1.0625rem); line-height: 1.8; }

/* Service page head (dark with lime accent) */
.tc-svc-head {
  background: var(--tpc-black); border-bottom: 1px solid var(--tpc-border);
  padding: clamp(5.5rem, 9vw, 7.5rem) 0 clamp(3rem, 5vw, 4rem); text-align: center;
  position: relative; overflow: hidden;
}
.tc-svc-head::after {
  content: ''; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%);
  width: 200px; height: 2px; background: var(--tpc-lime);
}
.tc-svc-head h1 { color: var(--tpc-snow); }
.tc-svc-head-sub { color: var(--tpc-ash); max-width: 54ch; margin: .875rem auto 0; font-size: clamp(.9375rem, 1.8vw, 1.0625rem); line-height: 1.8; }
.tc-svc-wrap { max-width: 800px; margin: 0 auto; padding: clamp(3rem, 6vw, 5rem) clamp(1.25rem, 3vw, 2rem); }
.tc-svc-photo { border-radius: var(--tpc-r16); overflow: hidden; aspect-ratio: 16/9; background: var(--tpc-dark); margin-bottom: 2.5rem; }
.tc-svc-photo img { width: 100%; height: 100%; object-fit: cover; }
.tc-svc-text p { color: var(--tpc-ash); margin-bottom: 1.25rem; line-height: 1.85; }
.tc-svc-feat { background: var(--tpc-dark); border-radius: var(--tpc-r12); padding: 1.75rem; margin-top: 2rem; border-left: 3px solid var(--tpc-lime); }
.tc-sfeat-hd { font-size: .6875rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; color: var(--tpc-lime); margin-bottom: 1rem; font-family: var(--tpc-fh); }
.tc-sfeat-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .625rem; }
.tc-sfeat-item { display: flex; align-items: flex-start; gap: .5rem; font-size: .875rem; color: var(--tpc-ash); }
.tc-sfeat-ico { color: var(--tpc-lime); flex-shrink: 0; margin-top: 1px; }
.tc-svc-cta { background: var(--tpc-lime); border-radius: var(--tpc-r16); padding: 2.5rem; text-align: center; margin-top: 3rem; }
.tc-scta-from { font-size: .6875rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; color: rgba(0,0,0,.45); font-family: var(--tpc-fh); }
.tc-scta-price { font-family: var(--tpc-fh); font-size: 2.75rem; font-weight: 800; color: #0D0D0D; line-height: 1; }
.tc-scta-note { font-size: .875rem; color: rgba(0,0,0,.5); margin-bottom: 1.75rem; }
.tc-scta-acts { display: flex; gap: .875rem; justify-content: center; flex-wrap: wrap; }

/* -- CONTACT -------------------------------------------------- */
.tc-ct-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: start; }
.tc-ct-info { display: flex; flex-direction: column; gap: 1.25rem; margin-top: 1.5rem; }
.tc-ct-row { display: flex; align-items: flex-start; gap: 1rem; }
.tc-ct-ico { width: 42px; height: 42px; border-radius: 50%; background: var(--tpc-lime-bg); color: var(--tpc-lime); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.tc-ct-lbl { font-size: .6875rem; font-weight: 800; text-transform: uppercase; letter-spacing: .09em; color: var(--tpc-lime); font-family: var(--tpc-fh); }
.tc-ct-val { font-size: .9375rem; font-weight: 500; color: var(--tpc-snow); }
.tc-ct-form-box { background: var(--tpc-dark); border: 1px solid var(--tpc-border); border-radius: var(--tpc-r16); padding: 2rem; }

/* -- LEGAL ---------------------------------------------------- */
.tc-legal { max-width: 800px; margin: 0 auto; padding: clamp(3rem, 6vw, 5rem) clamp(1.25rem, 3vw, 2rem); }
.tc-legal h1 { text-align: center; margin-bottom: .5rem; }
.tc-legal-date { text-align: center; font-size: .875rem; color: var(--tpc-ash); margin-bottom: 3rem; }
.tc-legal h2 { font-size: 1.25rem; margin: 2.5rem 0 .75rem; color: var(--tpc-lime); font-family: var(--tpc-fh); }
.tc-legal h3 { font-size: 1.0625rem; margin: 1.75rem 0 .5rem; }
.tc-legal p, .tc-legal li { color: var(--tpc-ash); line-height: 1.85; }
.tc-legal p { margin-bottom: 1rem; }
.tc-legal ul, .tc-legal ol { margin: .875rem 0 1rem 1.5rem; }
.tc-legal ul li { list-style: disc; margin-bottom: .5rem; }
.tc-legal ol li { list-style: decimal; margin-bottom: .5rem; }
.tc-legal code { font-family: monospace; font-size: .875rem; background: var(--tpc-dark); padding: .125rem .375rem; border-radius: 3px; color: var(--tpc-lime); }

/* -- SUCCESS / CANCEL ----------------------------------------- */
.tc-conf { max-width: 480px; margin: 0 auto; text-align: center; padding: clamp(3rem, 6vw, 5rem) clamp(1.25rem, 3vw, 2rem); }
.tc-conf-ico { width: 72px; height: 72px; border-radius: 50%; background: var(--tpc-lime); color: #000; margin: 0 auto 1.5rem; display: flex; align-items: center; justify-content: center; }
.tc-next-steps { text-align: left; margin: 2rem 0; display: flex; flex-direction: column; gap: 1rem; }
.tc-ns-item { display: flex; align-items: flex-start; gap: 1rem; }
.tc-ns-num { width: 30px; height: 30px; border-radius: 50%; background: var(--tpc-lime); color: #000; display: flex; align-items: center; justify-content: center; font-family: var(--tpc-fh); font-size: .8125rem; font-weight: 800; flex-shrink: 0; }
.tc-ns-item p { font-size: .9rem; color: var(--tpc-ash); line-height: 1.65; margin: 0; }

/* -- COOKIE BANNER -------------------------------------------- */
.tc-cookie { position: fixed; bottom: 1.5rem; left: 50%; transform: translateX(-50%); z-index: 9000; background: var(--tpc-darker); border: 1px solid var(--tpc-border); border-radius: var(--tpc-r12); padding: 1.125rem 1.5rem; display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; box-shadow: 0 16px 48px rgba(0,0,0,.6); max-width: 680px; width: calc(100% - 3rem); opacity: 0; visibility: hidden; transition: opacity .35s, visibility .35s; }
.tc-cookie.tc-ck-show { opacity: 1; visibility: visible; }
.tc-ck-txt { font-size: .875rem; color: var(--tpc-ash); flex: 1; min-width: 180px; }
.tc-ck-txt a { color: var(--tpc-lime); text-decoration: underline; }
.tc-ck-btns { display: flex; gap: .625rem; flex-shrink: 0; }
.tc-ck-yes { background: var(--tpc-lime); color: #000; border: none; font-family: var(--tpc-fh); font-size: .875rem; font-weight: 800; padding: .5rem 1.125rem; border-radius: var(--tpc-r6); cursor: pointer; }
.tc-ck-nope { background: transparent; color: var(--tpc-ash); border: 1.5px solid var(--tpc-border); font-family: var(--tpc-fh); font-size: .875rem; font-weight: 600; padding: .5rem 1.125rem; border-radius: var(--tpc-r6); cursor: pointer; }

/* -- CHAT ---------------------------------------------------- */
.tc-chat-fab { position: fixed; bottom: 1.75rem; right: 1.75rem; z-index: 8888; width: 52px; height: 52px; border-radius: 50%; background: var(--tpc-lime); color: #000; border: none; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: transform .2s; box-shadow: 0 4px 16px rgba(184,242,68,.3); }
.tc-chat-fab:hover { transform: scale(1.08); }
.tc-chat-panel { position: fixed; bottom: 5.5rem; right: 1.75rem; z-index: 8888; width: 320px; background: var(--tpc-darker); border: 1px solid var(--tpc-border); border-radius: var(--tpc-r16); display: none; flex-direction: column; overflow: hidden; box-shadow: 0 16px 48px rgba(0,0,0,.5); }
.tc-chat-panel.tc-cp-on { display: flex; }
.tc-chat-top { background: var(--tpc-lime); padding: 1rem 1.25rem; display: flex; align-items: center; gap: .75rem; }
.tc-chat-av { width: 34px; height: 34px; border-radius: 50%; background: #000; display: flex; align-items: center; justify-content: center; font-family: var(--tpc-fh); font-size: .6875rem; font-weight: 800; color: var(--tpc-lime); }
.tc-chat-nm { color: #000; font-weight: 800; font-size: .9375rem; font-family: var(--tpc-fh); }
.tc-chat-st { color: rgba(0,0,0,.5); font-size: .75rem; }
.tc-chat-msgs { padding: 1rem; flex: 1; max-height: 240px; overflow-y: auto; display: flex; flex-direction: column; gap: .625rem; }
.tc-cmsg { max-width: 82%; padding: .625rem .875rem; border-radius: var(--tpc-r8); font-size: .875rem; line-height: 1.5; }
.tc-cmsg.tc-bot { background: var(--tpc-dark); color: var(--tpc-snow); align-self: flex-start; border-bottom-left-radius: 3px; }
.tc-cmsg.tc-me { background: var(--tpc-lime); color: #000; align-self: flex-end; border-bottom-right-radius: 3px; }
.tc-chat-inp-row { display: flex; gap: .5rem; padding: .75rem 1rem; border-top: 1px solid var(--tpc-border); }
.tc-chat-inp { flex: 1; border: 1px solid var(--tpc-border); border-radius: var(--tpc-r6); padding: .5rem .75rem; font-family: var(--tpc-fb); font-size: .875rem; background: var(--tpc-dark); color: var(--tpc-snow); }
.tc-chat-send { background: var(--tpc-lime); color: #000; border: none; border-radius: var(--tpc-r6); padding: .5rem .75rem; }

/* -- FOOTER (tc-depot) ---------------------------------------- */
.tc-depot { background: var(--tpc-dark); border-top: 1px solid var(--tpc-border); padding: clamp(3.5rem, 7vw, 5.5rem) 0 0; }
.tc-depot-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 3rem; margin-bottom: clamp(2.5rem, 5vw, 4rem); }
.tc-depot-brand { font-family: var(--tpc-fh); font-size: clamp(1.125rem, 2vw, 1.4375rem); font-weight: 800; color: var(--tpc-snow); margin-bottom: .875rem; letter-spacing: -.02em; }
.tc-depot-brand .tc-ld { color: var(--tpc-lime); }
.tc-depot-blurb { font-size: .875rem; color: var(--tpc-ash); line-height: 1.75; max-width: 28ch; margin-bottom: 1.25rem; }
.tc-depot-socials { display: flex; gap: .625rem; }
.tc-depot-soc { width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--tpc-border); color: var(--tpc-ash); display: flex; align-items: center; justify-content: center; transition: border-color .18s, color .18s; }
.tc-depot-soc:hover { border-color: var(--tpc-lime); color: var(--tpc-lime); }
.tc-depot-col-hd { font-family: var(--tpc-fh); font-size: .6875rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; color: rgba(255,255,255,.2); margin-bottom: 1rem; }
.tc-depot-col a { display: block; font-size: .875rem; margin-bottom: .5rem; color: var(--tpc-ash); transition: color .16s; }
.tc-depot-col a:hover { color: var(--tpc-lime); }
.tc-depot-bar { border-top: 1px solid var(--tpc-border); padding: 1.5rem 0; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem; font-size: .8125rem; color: rgba(255,255,255,.18); }
.tc-depot-legal { display: flex; gap: 1.25rem; flex-wrap: wrap; }
.tc-depot-legal a { color: rgba(255,255,255,.2); transition: color .16s; }
.tc-depot-legal a:hover { color: var(--tpc-ash); }

/* -- UTILS ---------------------------------------------------- */
.tc-tc    { text-align: center; }
.tc-mt1   { margin-top: .875rem; }
.tc-mt2   { margin-top: 2rem; }
.tc-mt3   { margin-top: 3rem; }
.tc-ctr   { display: flex; align-items: center; justify-content: center; gap: .875rem; flex-wrap: wrap; }

/* -- RESPONSIVE ----------------------------------------------- */
@media (max-width: 1024px) {
  .tc-plans-row { grid-template-columns: 1fr; max-width: 420px; margin: 2rem auto 0; }
  .tc-depot-grid { grid-template-columns: 1fr 1fr; }
  .tc-echoes-row { grid-template-columns: 1fr; }
}
@media (max-width: 860px) {
  .tc-mast-links { display: none; }
  .tc-mast-go { display: none; }
  .tc-mast-burger { display: flex; }
  .tc-stage-row { grid-template-columns: 1fr; gap: 2rem; }
  .tc-proof-card { grid-template-columns: 1fr; }
  .tc-proof-card.tc-flip .tc-proof-img { order: 0; }
  .tc-proof-card.tc-flip .tc-proof-txt { order: 1; }
  .tc-pillars-grid { grid-template-columns: 1fr; }
  .tc-method-row { grid-template-columns: 1fr 1fr; }
  .tc-method-row::before { display: none; }
  .tc-bld-grid { grid-template-columns: 1fr; }
  .tc-tally { position: static; }
  .tc-ck-grid { grid-template-columns: 1fr; }
  .tc-ck-sum { position: static; }
  .tc-ct-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .tc-slate-grid { grid-template-columns: 1fr; }
  .tc-echoes-row { grid-template-columns: 1fr; }
  .tc-depot-grid { grid-template-columns: 1fr; }
  .tc-depot-bar { flex-direction: column; text-align: center; }
  .tc-field-2 { grid-template-columns: 1fr; }
  .tc-sfeat-grid { grid-template-columns: 1fr; }
  .tc-method-row { grid-template-columns: 1fr; }
  .tc-chat-panel { width: calc(100vw - 3.5rem); right: 1rem; }
}

/* -- EXTENDED CLASSES FOR INNER PAGES ------------------------- */

/* Aliases / page-level helpers */
.tc-hull { max-width: 1100px; margin: 0 auto; padding: 0 clamp(1.25rem, 4vw, 2.5rem); }
.tc-page-standfirst { color: var(--tpc-ash); max-width: 52ch; margin: .875rem auto 0; font-size: clamp(.9375rem, 1.8vw, 1.0625rem); line-height: 1.8; }
.tc-label-tag { font-family: var(--tpc-fh); font-size: .6875rem; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; color: var(--tpc-lime); margin-bottom: .875rem; display: block; }
.tc-lime-btn { display: inline-flex; align-items: center; gap: .5rem; background: var(--tpc-lime); color: #000; font-family: var(--tpc-fh); font-size: .9375rem; font-weight: 800; padding: .875rem 2rem; border-radius: var(--tpc-r6); border: none; transition: background .16s; }
.tc-lime-btn:hover { background: var(--tpc-lime-d); }
.tc-ghost-btn { display: inline-flex; align-items: center; gap: .5rem; background: transparent; color: var(--tpc-snow); font-family: var(--tpc-fh); font-size: .9375rem; font-weight: 700; padding: .875rem 2rem; border-radius: var(--tpc-r6); border: 1.5px solid var(--tpc-border); transition: border-color .16s; }
.tc-ghost-btn:hover { border-color: var(--tpc-snow); }
.tc-req { color: var(--tpc-lime); }
.tc-band-lead { background: var(--tpc-dark); padding: clamp(4rem, 8vw, 7rem) 0; }
.tc-band-ink  { background: var(--tpc-black); padding: clamp(4rem, 8vw, 7rem) 0; }

/* Launch band inner */
.tc-launch-inner { max-width: 720px; margin: 0 auto; text-align: center; padding: 0 clamp(1.25rem, 4vw, 2.5rem); }
.tc-launch-inner h2 { color: #0D0D0D; margin-bottom: .875rem; }
.tc-launch-inner p { color: rgba(0,0,0,.55); margin-bottom: 2rem; max-width: 46ch; margin-left: auto; margin-right: auto; line-height: 1.75; }
.tc-launch-cta { display: inline-flex; align-items: center; gap: .5rem; background: #0D0D0D; color: #fff; font-family: var(--tpc-fh); font-size: .9375rem; font-weight: 800; padding: .875rem 2rem; border-radius: var(--tpc-r6); transition: background .16s; }
.tc-launch-cta:hover { background: var(--tpc-darker); }

/* About page */
.tc-about-split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(3rem, 6vw, 5rem); align-items: start; }
.tc-about-img { border-radius: var(--tpc-r16); overflow: hidden; aspect-ratio: 4/5; background: var(--tpc-dark); border: 1px solid var(--tpc-border); }
.tc-about-img img { width: 100%; height: 100%; object-fit: cover; }
.tc-about-copy p { color: var(--tpc-ash); margin-bottom: 1.125rem; line-height: 1.85; }
.tc-about-values { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
.tc-about-val { background: var(--tpc-darker); border: 1px solid var(--tpc-border); border-radius: var(--tpc-r12); padding: 2rem; }
.tc-about-val-ico { width: 44px; height: 44px; border-radius: var(--tpc-r8); background: rgba(255,60,60,.08); color: rgba(255,80,80,.9); display: flex; align-items: center; justify-content: center; margin-bottom: 1rem; }
.tc-about-val h4 { font-family: var(--tpc-fh); font-size: 1.0625rem; font-weight: 700; margin-bottom: .5rem; }
.tc-about-val p { font-size: .875rem; color: var(--tpc-ash); margin: 0; line-height: 1.72; }
.tc-about-approach { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(3rem, 6vw, 5rem); align-items: start; }
.tc-about-approach p { color: var(--tpc-ash); margin-bottom: 1rem; line-height: 1.85; }
.tc-about-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--tpc-border); border: 1px solid var(--tpc-border); border-radius: var(--tpc-r12); overflow: hidden; margin-bottom: 1.25rem; }
.tc-about-fact { background: var(--tpc-darker); padding: 1.5rem; }
.tc-about-fact-n { font-family: var(--tpc-fh); font-size: 2rem; font-weight: 800; color: var(--tpc-lime); display: block; line-height: 1; margin-bottom: .25rem; }
.tc-about-fact-l { font-size: .8125rem; color: var(--tpc-ash); }
@media (max-width: 860px) {
  .tc-about-split { grid-template-columns: 1fr; }
  .tc-about-approach { grid-template-columns: 1fr; }
  .tc-about-values { grid-template-columns: 1fr; }
}

/* Contact extras */
.tc-ct-form-wrap { background: var(--tpc-dark); border: 1px solid var(--tpc-border); border-radius: var(--tpc-r16); padding: 2rem; }
.tc-ct-form-wrap h3 { font-family: var(--tpc-fh); font-size: 1.25rem; margin-bottom: 1.5rem; }
.tc-ct-info-wrap h3 { font-family: var(--tpc-fh); font-size: 1.25rem; margin-bottom: 1.5rem; }
.tc-ct-info-items { display: flex; flex-direction: column; gap: 1.25rem; margin-top: 1.25rem; }
.tc-ct-info-item { display: flex; align-items: flex-start; gap: 1rem; color: var(--tpc-lime); }
.tc-ct-info-item > svg { flex-shrink: 0; margin-top: 2px; }
.tc-ct-info-lbl { font-size: .6875rem; font-weight: 800; text-transform: uppercase; letter-spacing: .09em; color: var(--tpc-lime); margin-bottom: .25rem; font-family: var(--tpc-fh); }
.tc-ct-info-val { font-size: .9375rem; color: var(--tpc-snow); }
.tc-ct-info-val a { color: var(--tpc-snow); }
.tc-ct-info-val a:hover { color: var(--tpc-lime); }
.tc-ct-service-list { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--tpc-border); }
.tc-ct-svc-link { display: flex; align-items: center; gap: .5rem; font-size: .875rem; color: var(--tpc-ash); padding: .375rem 0; transition: color .16s; }
.tc-ct-svc-link:hover { color: var(--tpc-lime); }

/* Pricing page extras */
.tc-plans { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; margin-top: clamp(2rem, 4vw, 3.5rem); }
.tc-plan-nm { font-family: var(--tpc-fh); font-size: 1.375rem; font-weight: 700; margin-bottom: .375rem; }
.tc-plan-amt { font-family: var(--tpc-fh); font-size: 2.75rem; font-weight: 800; color: var(--tpc-lime); }
.tc-plan-per { font-size: .8125rem; color: var(--tpc-ash); display: block; margin-top: .125rem; }
.tc-plan-price { margin-bottom: 1.5rem; }
.tc-plan-inc { display: flex; flex-direction: column; gap: .625rem; margin-bottom: 2rem; }
.tc-plan-inc li { display: flex; align-items: flex-start; gap: .625rem; font-size: .875rem; color: var(--tpc-ash); }
.tc-plan-inc li > svg { color: var(--tpc-lime); flex-shrink: 0; margin-top: 1px; }
.tc-plan-cta { display: flex; align-items: center; gap: .5rem; justify-content: center; width: 100%; background: transparent; color: var(--tpc-snow); font-family: var(--tpc-fh); font-size: .9375rem; font-weight: 700; padding: .875rem 2rem; border-radius: var(--tpc-r6); border: 1.5px solid var(--tpc-border); transition: border-color .16s, background .16s, color .16s; text-decoration: none; }
.tc-plan-cta:hover { border-color: var(--tpc-snow); }
.tc-plan-cta-pop { background: var(--tpc-lime); color: #000; border-color: var(--tpc-lime); }
.tc-plan-cta-pop:hover { background: var(--tpc-lime-d); border-color: var(--tpc-lime-d); }
.tc-plans-note { margin-top: 2rem; text-align: center; font-size: .875rem; color: var(--tpc-ash); }
.tc-plans-note a { color: var(--tpc-lime); text-decoration: underline; }
.tc-split-head { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: start; margin-bottom: 2rem; }
.tc-split-head p { color: var(--tpc-ash); line-height: 1.8; }
.tc-riddle-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.25rem; border-bottom: 1px solid var(--tpc-border); background: var(--tpc-dark); }
.tc-riddle-row:first-child { border-radius: var(--tpc-r8) var(--tpc-r8) 0 0; }
.tc-riddle-row:last-child { border-bottom: none; border-radius: 0 0 var(--tpc-r8) var(--tpc-r8); }
.tc-riddle-nm { display: flex; align-items: center; gap: .625rem; font-size: .9375rem; color: var(--tpc-snow); }
.tc-riddle-nm > svg { color: var(--tpc-lime); flex-shrink: 0; }
.tc-riddle-pr { font-family: var(--tpc-fh); font-size: 1.0625rem; font-weight: 700; color: var(--tpc-lime); white-space: nowrap; }
.tc-riddle-hr { background: rgba(184,242,68,.07) !important; border: 1px solid rgba(184,242,68,.2) !important; border-radius: var(--tpc-r8) !important; margin-top: .5rem; }
.tc-folds { border: 1px solid var(--tpc-border); border-radius: var(--tpc-r12); overflow: hidden; }
.tc-fold-item { border-bottom: 1px solid var(--tpc-border); background: var(--tpc-dark); }
.tc-fold-item:last-child { border-bottom: none; }
.tc-fold-trigger { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.25rem 1.5rem; background: none; border: none; text-align: left; cursor: pointer; font-family: var(--tpc-fh); font-size: 1rem; font-weight: 700; color: var(--tpc-snow); }
.tc-fold-trigger > svg { flex-shrink: 0; color: var(--tpc-ash); transition: transform .25s; }
.tc-fold-item.tc-fold-on .tc-fold-trigger > svg { transform: rotate(180deg); }
.tc-fold-body { display: none; padding: 0 1.5rem 1.25rem; }
.tc-fold-item.tc-fold-on .tc-fold-body { display: block; }
.tc-fold-body p { font-size: .9375rem; color: var(--tpc-ash); line-height: 1.8; margin: 0; }
@media (max-width: 860px) {
  .tc-plans { grid-template-columns: 1fr; max-width: 420px; }
  .tc-split-head { grid-template-columns: 1fr; }
}

/* Portfolio page */
.tc-port-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.tc-port-card { background: var(--tpc-dark); border: 1px solid var(--tpc-border); border-radius: var(--tpc-r16); overflow: hidden; transition: border-color .2s; text-decoration: none; display: block; }
.tc-port-card:hover { border-color: var(--tpc-lime); }
.tc-port-img { aspect-ratio: 16/9; background: var(--tpc-darker); overflow: hidden; }
.tc-port-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.tc-port-card:hover .tc-port-img img { transform: scale(1.04); }
.tc-port-body { padding: 1.75rem; }
.tc-port-cat { font-size: .6875rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; color: var(--tpc-lime); font-family: var(--tpc-fh); margin-bottom: .5rem; }
.tc-port-h { font-family: var(--tpc-fh); font-size: 1.125rem; font-weight: 700; color: var(--tpc-snow); margin-bottom: .75rem; }
.tc-port-p { font-size: .875rem; color: var(--tpc-ash); line-height: 1.7; }
.tc-port-stat { margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid var(--tpc-border); display: flex; align-items: baseline; gap: .75rem; }
.tc-port-stat-n { font-family: var(--tpc-fh); font-size: 1.75rem; font-weight: 800; color: var(--tpc-lime); }
.tc-port-stat-l { font-size: .8125rem; color: var(--tpc-ash); }
@media (max-width: 640px) { .tc-port-grid { grid-template-columns: 1fr; } }
