/* translatedcontent.com — style.css
   DESIGN: Warm editorial / literary agency
   Playfair Display (serif display) + IBM Plex Sans (body)
   Palette: warm cream #F4EFE6 · rust #C0432D · navy #1C2B4A · sage #7A9E7E · warm-gray surface
   CSS prefix: tc-
   NAV: Split nav — left links, centered logo wordmark, right CTA
   HERO: Asymmetric split — left rust color block, right cream with large editorial type
   VERY different from webtranslationexperts.com (dark tech, horizontal sticky, centered bento)
*/

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,600;1,800&family=IBM+Plex+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap');

:root {
  --tc-cream:   #F4EFE6;
  --tc-cream2:  #EDE6D9;
  --tc-cream3:  #E3DAC8;
  --tc-rust:    #C0432D;
  --tc-rust2:   #A33825;
  --tc-rust3:   #E05840;
  --tc-rust-lo: rgba(192,67,45,.1);
  --tc-navy:    #1C2B4A;
  --tc-navy2:   #152038;
  --tc-sage:    #7A9E7E;
  --tc-sage-lo: rgba(122,158,126,.12);
  --tc-ink:     #2A2318;
  --tc-ink2:    #3D3428;
  --tc-mid:     #7A7060;
  --tc-line:    rgba(42,35,24,.1);
  --tc-line2:   rgba(42,35,24,.18);
  --tc-white:   #FDFAF5;

  --ff-disp: 'Playfair Display', Georgia, serif;
  --ff-body: 'IBM Plex Sans', system-ui, sans-serif;
  --nav-h:   68px;
  --r:       3px;
  --r-md:    6px;
  --r-lg:    10px;
  --r-xl:    16px;
  --r-2xl:   24px;
  --r-pill:  100px;
  --ease:    cubic-bezier(.16,1,.3,1);
  --dur:     .18s;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 16px; scroll-behavior: smooth; }
body { font-family: var(--ff-body); background: var(--tc-cream); color: var(--tc-ink); line-height: 1.7; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img  { display: block; max-width: 100%; height: auto; }
a    { color: inherit; text-decoration: none; }
button { cursor: pointer; border: none; background: none; font-family: inherit; }
ul,ol { list-style: none; }
input,textarea,select { font-family: inherit; font-size: inherit; }
p { margin-bottom: .9rem; }
p:last-child { margin-bottom: 0; }
h1,h2,h3,h4 { font-family: var(--ff-disp); line-height: 1.05; }

/* ── Labels ── */
.tc-label {
  display: inline-flex; align-items: center; gap: .3rem;
  border: 1px solid var(--tc-rust); color: var(--tc-rust);
  border-radius: 0; font-family: var(--ff-body); font-size: .56rem;
  font-weight: 600; padding: .22rem .8rem; letter-spacing: .18em; text-transform: uppercase;
}
.tc-label--navy { border-color: var(--tc-navy); color: var(--tc-navy); }
.tc-label--sage  { border-color: var(--tc-sage);  color: var(--tc-sage);  }

/* ── Buttons ── */
.tc-btn-rust {
  display: inline-flex; align-items: center; gap: .4rem;
  background: var(--tc-rust); color: #fff;
  font-family: var(--ff-body); font-size: .8rem; font-weight: 600;
  padding: .78rem 2rem; border: 2px solid var(--tc-rust);
  border-radius: 0; transition: background var(--dur), box-shadow var(--dur);
  white-space: nowrap; letter-spacing: .02em;
}
.tc-btn-rust:hover { background: var(--tc-rust2); box-shadow: 4px 4px 0 var(--tc-navy); }

.tc-btn-navy {
  display: inline-flex; align-items: center; gap: .4rem;
  background: var(--tc-navy); color: #fff;
  font-family: var(--ff-body); font-size: .8rem; font-weight: 600;
  padding: .78rem 2rem; border: 2px solid var(--tc-navy);
  border-radius: 0; transition: background var(--dur);
  white-space: nowrap;
}
.tc-btn-navy:hover { background: var(--tc-navy2); }

.tc-btn-outline {
  display: inline-flex; align-items: center; gap: .4rem;
  background: transparent; color: var(--tc-ink);
  font-family: var(--ff-body); font-size: .8rem; font-weight: 600;
  padding: .76rem 1.8rem; border: 2px solid var(--tc-line2);
  border-radius: 0; transition: border-color var(--dur), background var(--dur);
  white-space: nowrap;
}
.tc-btn-outline:hover { border-color: var(--tc-rust); color: var(--tc-rust); }

.tc-arrow-link { color: var(--tc-rust); font-family: var(--ff-body); font-size: .82rem; font-weight: 600; display: inline-flex; align-items: center; gap: .2rem; transition: gap var(--dur); }
.tc-arrow-link:hover { gap: .38rem; }

/* ══════════════════════════════════════════════
   SPLIT NAVIGATION — left links · center wordmark · right CTA
   Light cream background, editorial serif wordmark
   (opposite of WTE's dark sticky nav with dropdown)
   ══════════════════════════════════════════════ */
.tc-nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  height: var(--nav-h);
  background: rgba(244,239,230,.95);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--tc-line);
  transition: box-shadow var(--dur), background var(--dur);
}
.tc-nav.tc-scrolled { box-shadow: 0 2px 18px rgba(42,35,24,.1); background: rgba(244,239,230,.98); }
.tc-nav-inner {
  height: 100%; display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 0 clamp(1.5rem,2.5vw,3.5rem);
  max-width: 1440px; margin: 0 auto;
}
/* Left links */
.tc-nav-left { display: flex; align-items: center; gap: .1rem; }
.tc-nav-lnk {
  font-family: var(--ff-body); font-size: .72rem; font-weight: 500;
  color: var(--tc-mid); padding: .3rem .65rem; border-radius: 0;
  transition: color var(--dur); white-space: nowrap; position: relative;
}
.tc-nav-lnk::after { content:''; position:absolute; bottom:0; left:.65rem; right:.65rem; height:1.5px; background:var(--tc-rust); transform:scaleX(0); transition:transform var(--dur); }
.tc-nav-lnk:hover { color: var(--tc-ink); }
.tc-nav-lnk:hover::after { transform:scaleX(1); }
.tc-nav-lnk.tc-nav-cur { color: var(--tc-ink); }
.tc-nav-lnk.tc-nav-cur::after { transform:scaleX(1); }

/* Services dropdown in split nav */
.tc-nav-drop { position: relative; }
.tc-nav-drop-btn {
  font-family: var(--ff-body); font-size: .72rem; font-weight: 500;
  color: var(--tc-mid); padding: .3rem .65rem;
  cursor: pointer; background: none; border: none;
  transition: color var(--dur); display: flex; align-items: center; gap: .1rem;
}
.tc-nav-drop-btn::after { content: '▾'; font-size: .48rem; opacity: .5; }
.tc-nav-drop-btn:hover { color: var(--tc-ink); }
.tc-nav-drop-panel {
  position: absolute; top: calc(100% + 8px); left: 0;
  background: var(--tc-white); border: 1px solid var(--tc-line2);
  box-shadow: 4px 4px 0 var(--tc-cream3); min-width: 220px;
  padding: .4rem 0; opacity: 0; pointer-events: none;
  transform: translateY(4px); transition: opacity var(--dur), transform var(--dur);
}
.tc-nav-drop:hover .tc-nav-drop-panel { opacity: 1; pointer-events: auto; transform: none; }
.tc-nav-drop-row {
  display: block; padding: .42rem 1rem;
  font-family: var(--ff-body); font-size: .72rem; font-weight: 500;
  color: var(--tc-mid); transition: background var(--dur), color var(--dur); border-left: 2px solid transparent;
}
.tc-nav-drop-row:hover { background: var(--tc-cream); color: var(--tc-ink); border-left-color: var(--tc-rust); }

/* Center wordmark */
.tc-nav-logo {
  font-family: var(--ff-disp); font-size: 1.1rem; font-weight: 800;
  color: var(--tc-ink); letter-spacing: -.01em; text-align: center;
  white-space: nowrap; line-height: 1;
}
.tc-nav-logo em { font-style: italic; color: var(--tc-rust); }

/* Right CTA */
.tc-nav-right { display: flex; align-items: center; justify-content: flex-end; gap: .6rem; }
.tc-nav-cta { font-family: var(--ff-body); font-size: .7rem; font-weight: 600; background: var(--tc-rust); color: #fff; padding: .38rem 1.1rem; border: 1.5px solid var(--tc-rust); transition: background var(--dur); letter-spacing: .02em; }
.tc-nav-cta:hover { background: var(--tc-rust2); }

/* Mobile */
.tc-burger {
  display: none; flex-direction: column; gap: 4.5px; padding: 6px;
  cursor: pointer; background: transparent; border: 1px solid var(--tc-line2); border-radius: 2px;
}
.tc-burger-bar { width: 20px; height: 1.5px; background: var(--tc-ink); transition: transform .2s, opacity .2s; }
.tc-burger.tc-open .tc-burger-bar:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.tc-burger.tc-open .tc-burger-bar:nth-child(2) { opacity: 0; }
.tc-burger.tc-open .tc-burger-bar:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

.tc-mob {
  position: fixed; inset: 0; z-index: 99;
  background: var(--tc-cream); padding: calc(var(--nav-h) + 2.5rem) 2rem 2rem;
  opacity: 0; pointer-events: none; transition: opacity var(--dur); overflow-y: auto;
}
.tc-mob.tc-mob-on { opacity: 1; pointer-events: auto; }
.tc-mob-lnk { font-family: var(--ff-disp); font-size: 2.2rem; font-weight: 800; font-style: italic; color: var(--tc-ink); display: block; padding: .2rem 0; border-bottom: 1px solid var(--tc-line); transition: color var(--dur); }
.tc-mob-lnk:hover { color: var(--tc-rust); }
.tc-mob-subh { font-family: var(--ff-body); font-size: .52rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--tc-mid); margin: .7rem 0 .2rem; }
.tc-mob-sub { font-family: var(--ff-body); font-size: .88rem; font-weight: 500; color: var(--tc-mid); display: block; padding: .12rem 0; }

/* ══════════════════════════════════════════════
   ASYMMETRIC SPLIT HERO
   Left = rust color block with serif number + stats
   Right = cream with giant editorial type + image
   (completely opposite of WTE's centered dark bento hero)
   ══════════════════════════════════════════════ */
.tc-hero {
  min-height: 100vh; display: grid;
  grid-template-columns: 1fr 1.6fr;
  /* no padding-top here — nav offset goes into each panel */
}
.tc-hero-left {
  background: var(--tc-navy);
  display: flex; flex-direction: column; justify-content: flex-end;
  padding: calc(var(--nav-h) + 3rem) 3.5rem 4rem;
  position: relative; overflow: hidden;
}
.tc-hero-left::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0;
  background: url('/assets/images/tc-hero-texture.webp') center/cover no-repeat;
  opacity: .07; pointer-events: none;
}
.tc-hero-num {
  font-family: var(--ff-disp); font-size: clamp(6rem,12vw,16rem);
  font-weight: 900; color: rgba(244,239,230,.06);
  line-height: 1; position: absolute; bottom: 3rem; right: -1rem;
  user-select: none;
}
.tc-hero-label { font-family: var(--ff-body); font-size: .56rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: rgba(244,239,230,.4); margin-bottom: 2rem; }
.tc-hero-left-h { font-family: var(--ff-disp); font-size: clamp(2.4rem,4vw,4.2rem); font-weight: 800; font-style: italic; color: var(--tc-cream); line-height: 1.12; margin-bottom: 1.5rem; }
.tc-hero-left-h em { color: var(--tc-rust3); font-style: normal; }
.tc-hero-stats { display: flex; gap: 2rem; position: relative; z-index: 1; }
.tc-hero-stat-n { font-family: var(--ff-disp); font-size: 2.2rem; font-weight: 900; color: var(--tc-cream); line-height: 1; }
.tc-hero-stat-l { font-family: var(--ff-body); font-size: .62rem; color: rgba(244,239,230,.4); margin-top: .08rem; }

.tc-hero-right {
  background: var(--tc-cream); display: flex; flex-direction: column;
  justify-content: center; padding: calc(var(--nav-h) + 4rem) clamp(2.5rem,4vw,6rem) 4rem 4rem;
  position: relative; overflow: hidden;
}
.tc-hero-right::after {
  content: ''; position: absolute; top: 2rem; right: 0;
  width: 1px; height: 60%; background: linear-gradient(to bottom, transparent, var(--tc-line), transparent);
}
.tc-hero-right-h {
  font-family: var(--ff-disp); font-weight: 900;
  font-size: clamp(3rem,6vw,7.5rem); line-height: .94; letter-spacing: -.02em;
  color: var(--tc-ink); margin-bottom: 1.4rem;
}
.tc-hero-right-h em { font-style: italic; color: var(--tc-rust); }
.tc-hero-right-p { font-size: .92rem; color: var(--tc-mid); max-width: 44ch; line-height: 1.82; margin-bottom: 2rem; }
.tc-hero-btns { display: flex; gap: .8rem; flex-wrap: wrap; margin-bottom: 3rem; }
.tc-hero-img {
  width: 100%; max-height: 240px; object-fit: cover;
  border: 1px solid var(--tc-line); opacity: .8;
}

/* ── Ticker strip ── */
.tc-strip { background: var(--tc-navy); padding: .9rem 0; overflow: hidden; }
.tc-strip-inner { display: flex; gap: 5rem; white-space: nowrap; animation: tc-run 26s linear infinite; }
@keyframes tc-run { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
.tc-strip-item { font-family: var(--ff-body); font-size: .64rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: rgba(244,239,230,.35); display: inline-flex; align-items: center; gap: .5rem; }
.tc-strip-dot { width: 4px; height: 4px; background: var(--tc-rust3); border-radius: 50%; flex-shrink: 0; }

/* ── Services: editorial numbered list ── */
.tc-svc-section { padding: 8rem clamp(1.5rem,3vw,4rem); border-top: 1px solid var(--tc-line2); }
.tc-svc-inner { max-width: 1440px; margin: 0 auto; }
.tc-svc-header { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: end; margin-bottom: 5rem; }
.tc-svc-h2 { font-family: var(--ff-disp); font-size: clamp(3rem,6vw,8rem); font-weight: 900; color: var(--tc-ink); line-height: .92; letter-spacing: -.02em; }
.tc-svc-h2 em { font-style: italic; color: var(--tc-rust); }
.tc-svc-aside { font-size: .88rem; color: var(--tc-mid); line-height: 1.82; max-width: 38ch; }
/* Numbered list, no grid */
.tc-svc-list { border-top: 1px solid var(--tc-line2); }
.tc-svc-row {
  display: grid; grid-template-columns: 2.5rem 1fr auto; align-items: baseline;
  gap: 1.8rem; padding: 1.5rem 0;
  border-bottom: 1px solid var(--tc-line2);
  text-decoration: none;
  transition: background var(--dur);
  position: relative; cursor: pointer;
}
.tc-svc-row::before {
  content: ''; position: absolute; left: 0; top: 0; bottom: 0;
  width: 0; background: var(--tc-rust-lo);
  transition: width .25s var(--ease);
}
.tc-svc-row:hover::before { width: 100%; }
.tc-svc-row-n { font-family: var(--ff-disp); font-size: .88rem; font-weight: 400; font-style: italic; color: var(--tc-rust); position: relative; }
.tc-svc-row-body { position: relative; }
.tc-svc-row-name { font-family: var(--ff-disp); font-size: 1.35rem; font-weight: 700; color: var(--tc-ink); transition: color var(--dur); }
.tc-svc-row:hover .tc-svc-row-name { color: var(--tc-rust); }
.tc-svc-row-desc { font-size: .75rem; color: var(--tc-mid); margin-top: .12rem; max-width: 44ch; }
.tc-svc-row-right { display: flex; align-items: center; gap: 2rem; position: relative; }
.tc-svc-row-price { font-family: var(--ff-disp); font-size: 1.1rem; font-weight: 700; color: var(--tc-ink); white-space: nowrap; }
.tc-svc-row-arr { color: var(--tc-rust); font-size: .84rem; opacity: 0; transform: translateX(-4px); transition: opacity var(--dur), transform var(--dur); }
.tc-svc-row:hover .tc-svc-row-arr { opacity: 1; transform: none; }

/* ── Pull quote / manifesto ── */
.tc-quote-zone { background: var(--tc-rust); padding: 7rem clamp(2rem,4vw,6rem); text-align: center; position: relative; overflow: hidden; }
.tc-quote-zone::before { content: '"'; position: absolute; top: -2rem; left: 3rem; font-family: var(--ff-disp); font-size: 20rem; color: rgba(255,255,255,.04); line-height: 1; pointer-events: none; }
.tc-quote-main { font-family: var(--ff-disp); font-size: clamp(1.8rem,4vw,4.5rem); font-weight: 800; font-style: italic; color: #fff; line-height: 1.18; max-width: 22ch; margin: 0 auto; position: relative; }
.tc-quote-main em { font-style: normal; text-decoration: underline; text-decoration-color: rgba(255,255,255,.35); text-underline-offset: .15em; }
.tc-quote-attr { font-family: var(--ff-body); font-size: .68rem; color: rgba(255,255,255,.45); letter-spacing: .18em; text-transform: uppercase; margin-top: 1.5rem; }

/* ── Cases ── */
.tc-cases-section { padding: 8rem clamp(1.5rem,3vw,4rem); background: var(--tc-cream2); border-top: 1px solid var(--tc-line); }
.tc-cases-inner { max-width: 1440px; margin: 0 auto; }
.tc-cases-h2 { font-family: var(--ff-disp); font-size: clamp(3rem,6vw,8rem); font-weight: 900; color: var(--tc-ink); line-height: .92; letter-spacing: -.02em; margin-bottom: 4rem; }
.tc-cases-h2 em { font-style: italic; color: var(--tc-navy); }
.tc-case-list { display: flex; flex-direction: column; gap: 0; }
.tc-case-entry {
  display: grid; grid-template-columns: 4rem 1fr 2fr 1.2fr; gap: 2.5rem; align-items: start;
  padding: 2.5rem 0; border-bottom: 1px solid var(--tc-line2);
  transition: background var(--dur);
}
.tc-case-entry:first-child { border-top: 1px solid var(--tc-line2); }
.tc-case-num { font-family: var(--ff-disp); font-size: 2rem; font-weight: 900; font-style: italic; color: var(--tc-cream3); line-height: 1; }
.tc-case-meta {}
.tc-case-type { font-family: var(--ff-body); font-size: .54rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--tc-rust); margin-bottom: .12rem; }
.tc-case-client { font-family: var(--ff-disp); font-size: 1.15rem; font-weight: 700; color: var(--tc-ink); }
.tc-case-story { font-size: .82rem; color: var(--tc-mid); line-height: 1.78; }
.tc-case-result { font-family: var(--ff-body); font-size: .7rem; color: var(--tc-navy); background: var(--tc-sage-lo); border: 1px solid rgba(122,158,126,.3); padding: .3rem .7rem; display: inline-block; align-self: start; line-height: 1.5; }

/* ── Testimonials: magazine pull-quote style ── */
.tc-tmon-section { padding: 8rem clamp(1.5rem,3vw,4rem); border-top: 1px solid var(--tc-line); }
.tc-tmon-inner { max-width: 1440px; margin: 0 auto; }
.tc-tmon-h2 { font-family: var(--ff-disp); font-size: clamp(2.5rem,5vw,6rem); font-weight: 900; font-style: italic; color: var(--tc-ink); margin-bottom: 4rem; }
.tc-tmon-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 0; border-top: 2px solid var(--tc-ink); }
.tc-tmon-card { padding: 2rem 1.5rem 2rem 0; border-right: 1px solid var(--tc-line2); }
.tc-tmon-card:last-child { border-right: none; padding-right: 0; padding-left: 1.5rem; }
.tc-tmon-card:nth-child(2) { padding-left: 1.5rem; }
.tc-tmon-stars { color: var(--tc-rust); font-size: .82rem; letter-spacing: .08em; margin-bottom: .6rem; }
.tc-tmon-q { font-family: var(--ff-disp); font-size: 1rem; font-weight: 400; font-style: italic; color: var(--tc-ink2); line-height: 1.6; margin-bottom: 1.2rem; }
.tc-tmon-who-n { font-family: var(--ff-body); font-size: .8rem; font-weight: 700; color: var(--tc-ink); }
.tc-tmon-who-r { font-size: .64rem; color: var(--tc-mid); }

/* ── Process: minimal numbered steps in two columns ── */
.tc-proc-section { padding: 8rem clamp(1.5rem,3vw,4rem); background: var(--tc-navy); border-top: 1px solid var(--tc-navy2); }
.tc-proc-inner { max-width: 1440px; margin: 0 auto; }
.tc-proc-h2 { font-family: var(--ff-disp); font-size: clamp(3rem,6vw,8rem); font-weight: 900; font-style: italic; color: var(--tc-cream); line-height: .9; margin-bottom: 4rem; }
.tc-proc-h2 em { color: var(--tc-rust3); font-style: normal; }
.tc-proc-steps { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
.tc-proc-step { padding: 2rem 2rem 2rem 0; border-bottom: 1px solid rgba(244,239,230,.07); }
.tc-proc-step:nth-child(odd) { border-right: 1px solid rgba(244,239,230,.07); }
.tc-proc-step:last-child { border-bottom: none; }
.tc-proc-step:nth-last-child(2) { border-bottom: none; }
.tc-proc-n { font-family: var(--ff-disp); font-size: 3.5rem; font-weight: 900; color: rgba(244,239,230,.06); line-height: 1; margin-bottom: .4rem; }
.tc-proc-title { font-family: var(--ff-disp); font-size: 1.1rem; font-weight: 700; color: var(--tc-cream); margin-bottom: .3rem; }
.tc-proc-desc { font-size: .78rem; color: rgba(244,239,230,.4); line-height: 1.75; }

/* ── Pricing: full-page table layout ── */
.tc-price-section { padding: 8rem clamp(1.5rem,3vw,4rem); border-top: 1px solid var(--tc-line); }
.tc-price-inner { max-width: 1440px; margin: 0 auto; }
.tc-price-h2 { font-family: var(--ff-disp); font-size: clamp(3rem,6vw,8rem); font-weight: 900; color: var(--tc-ink); line-height: .9; letter-spacing: -.02em; margin-bottom: 3.5rem; }
.tc-price-h2 em { font-style: italic; color: var(--tc-rust); }
.tc-price-table { width: 100%; border-collapse: collapse; }
.tc-pt-head th { font-family: var(--ff-body); font-size: .54rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--tc-mid); padding: .8rem 0; border-bottom: 2px solid var(--tc-ink); text-align: left; }
.tc-pt-row { border-bottom: 1px solid var(--tc-line2); transition: background var(--dur); }
.tc-pt-row:hover { background: rgba(192,67,45,.04); }
.tc-pt-row td { padding: 1.5rem 0; vertical-align: middle; }
.tc-pt-name { font-family: var(--ff-disp); font-size: 1.1rem; font-weight: 700; color: var(--tc-ink); }
.tc-pt-del  { font-family: var(--ff-body); font-size: .7rem; color: var(--tc-mid); }
.tc-pt-price { font-family: var(--ff-disp); font-size: 1.4rem; font-weight: 700; color: var(--tc-rust); }
.tc-pt-cta a {
  display: inline-flex; align-items: center; gap: .2rem;
  font-family: var(--ff-body); font-size: .7rem; font-weight: 600;
  color: var(--tc-rust); border: 1.5px solid var(--tc-rust); padding: .3rem .8rem;
  transition: background var(--dur), color var(--dur);
}
.tc-pt-cta a:hover { background: var(--tc-rust); color: #fff; }
/* Addons box */
.tc-addon-box { margin-top: 2.5rem; background: var(--tc-cream2); border: 1px solid var(--tc-line2); padding: 1.5rem; }
.tc-addon-box-h { font-family: var(--ff-disp); font-size: 1rem; font-weight: 700; color: var(--tc-ink); margin-bottom: 1rem; }
.tc-addon-items { display: grid; grid-template-columns: repeat(4,1fr); gap: 1rem; }
.tc-addon-item { border: 1px solid var(--tc-line2); padding: .85rem 1rem; background: var(--tc-white); }
.tc-addon-item-l { font-family: var(--ff-body); font-size: .78rem; font-weight: 600; color: var(--tc-ink); margin-bottom: .1rem; }
.tc-addon-item-p { font-family: var(--ff-disp); font-size: 1.1rem; font-weight: 700; color: var(--tc-rust); }

/* ── FAQ ── */
.tc-faq-section { padding: 8rem clamp(1.5rem,3vw,4rem); background: var(--tc-cream2); border-top: 1px solid var(--tc-line); }
.tc-faq-inner { max-width: 1440px; margin: 0 auto; }
.tc-faq-h2 { font-family: var(--ff-disp); font-size: clamp(3rem,6vw,8rem); font-weight: 900; font-style: italic; color: var(--tc-ink); margin-bottom: 4rem; }
.tc-faq-h2 em { color: var(--tc-rust); font-style: normal; }
.tc-faq-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 0 5rem; }
.tc-faq-item { border-bottom: 1px solid var(--tc-line2); }
.tc-faq-trigger { width: 100%; display: flex; justify-content: space-between; align-items: flex-start; gap: 1.5rem; padding: 1.1rem 0; background: none; border: none; cursor: pointer; text-align: left; }
.tc-faq-q { font-family: var(--ff-disp); font-size: .96rem; font-weight: 600; color: var(--tc-ink); line-height: 1.35; transition: color var(--dur); }
.tc-faq-trigger:hover .tc-faq-q { color: var(--tc-rust); }
.tc-faq-ico { width: 18px; height: 18px; border: 1px solid var(--tc-line2); flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: .7rem; color: var(--tc-mid); transition: all var(--dur); margin-top: .12rem; }
.tc-faq-item.tc-fq-on .tc-faq-ico { background: var(--tc-rust); border-color: var(--tc-rust); color: #fff; transform: rotate(45deg); }
.tc-faq-ans { max-height: 0; overflow: hidden; transition: max-height .35s ease; }
.tc-faq-ans-txt { padding: 0 0 1rem; font-size: .8rem; color: var(--tc-mid); line-height: 1.82; }
.tc-faq-item.tc-fq-on .tc-faq-ans { max-height: 300px; }

/* ── Mast (inner pages) — CENTERED ── */
.tc-mast {
  padding: calc(var(--nav-h) + 5rem) clamp(1.5rem,3vw,4rem) 5rem;
  background: var(--tc-navy);
  border-bottom: 1px solid var(--tc-navy2);
  text-align: center; position: relative; overflow: hidden;
}
.tc-mast::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(ellipse 80% 60% at 50% 120%, rgba(192,67,45,.15) 0%, transparent 60%);
  pointer-events: none;
}
.tc-mast-label { display: block; margin: 0 auto .8rem; width: fit-content; position: relative; }
.tc-mast-label-n { display: inline-flex; align-items: center; gap: .3rem; border: 1px solid rgba(244,239,230,.2); color: rgba(244,239,230,.5); font-family: var(--ff-body); font-size: .54rem; font-weight: 600; padding: .22rem .8rem; letter-spacing: .18em; text-transform: uppercase; }
.tc-mast-h1 { font-family: var(--ff-disp); font-size: clamp(2.5rem,6vw,7rem); font-weight: 900; color: var(--tc-cream); line-height: .94; letter-spacing: -.02em; margin-bottom: .8rem; position: relative; }
.tc-mast-h1 em { font-style: italic; color: var(--tc-rust3); }
.tc-mast-sub { font-size: .92rem; color: rgba(244,239,230,.45); max-width: 52ch; margin: 0 auto; line-height: 1.82; position: relative; }
.tc-mast-btns { display: flex; justify-content: center; gap: .7rem; flex-wrap: wrap; margin-top: 2.2rem; position: relative; }

/* ── CTA band ── */
.tc-cta-section {
  padding: 8rem clamp(1.5rem,3vw,4rem);
  background: var(--tc-cream); border-top: 1px solid var(--tc-line);
  display: grid; grid-template-columns: 1.2fr 1fr; gap: 6rem; align-items: center;
  max-width: 1440px; margin: 0 auto;
}
.tc-cta-left {}
.tc-cta-h2 { font-family: var(--ff-disp); font-size: clamp(2.5rem,5vw,6.5rem); font-weight: 900; color: var(--tc-ink); line-height: .92; letter-spacing: -.02em; margin-bottom: .8rem; }
.tc-cta-h2 em { font-style: italic; color: var(--tc-rust); }
.tc-cta-p { font-size: .9rem; color: var(--tc-mid); max-width: 38ch; line-height: 1.82; margin-bottom: 1.5rem; }
.tc-cta-right { background: var(--tc-cream2); border: 1px solid var(--tc-line2); padding: 2rem; }
.tc-cta-right-h { font-family: var(--ff-disp); font-size: 1.2rem; font-weight: 700; color: var(--tc-ink); margin-bottom: .8rem; }
.tc-cta-det { display: flex; flex-direction: column; gap: .5rem; margin-bottom: 1.2rem; }
.tc-cta-det-row { display: flex; gap: .6rem; font-size: .78rem; color: var(--tc-mid); }
.tc-cta-det-ico { color: var(--tc-rust); flex-shrink: 0; }

/* ── Service page ── */
.tc-svc-pg { padding: 5rem clamp(1.5rem,3vw,4rem); }
.tc-svc-pg-inner { max-width: 1440px; margin: 0 auto; display: grid; grid-template-columns: 1.8fr 1fr; gap: 6rem; }
.tc-svc-pg-body h3 { font-family: var(--ff-disp); font-size: 1.5rem; font-weight: 700; color: var(--tc-ink); margin: 2.2rem 0 .5rem; }
.tc-svc-pg-body p { font-size: .9rem; color: var(--tc-mid); line-height: 1.88; margin-bottom: .9rem; }
.tc-svc-highlight { background: var(--tc-rust-lo); border-left: 3px solid var(--tc-rust); padding: .65rem 1rem; margin-bottom: .4rem; font-size: .82rem; color: var(--tc-ink2); line-height: 1.65; }
.tc-svc-pg-sidebar {}
.tc-svc-img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border: 1px solid var(--tc-line2); margin-bottom: .8rem; opacity: .85; }
.tc-svc-img-wrap { overflow: hidden; background: var(--tc-cream3); margin-bottom: .8rem; }
.tc-price-panel { background: var(--tc-navy); padding: 1.8rem; margin-bottom: .8rem; }
.tc-price-panel-lbl { font-family: var(--ff-body); font-size: .52rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: rgba(244,239,230,.35); margin-bottom: .08rem; }
.tc-price-panel-val { font-family: var(--ff-disp); font-size: 3.2rem; font-weight: 900; color: var(--tc-cream); letter-spacing: -.02em; line-height: 1; }
.tc-price-panel-del { font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(244,239,230,.3); margin-bottom: 1.2rem; }
.tc-incl-list { background: var(--tc-cream2); border: 1px solid var(--tc-line2); padding: 1.1rem; }
.tc-incl-h { font-family: var(--ff-body); font-size: .52rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--tc-rust); margin-bottom: .6rem; }
.tc-incl-row { display: flex; gap: .3rem; font-size: .74rem; color: var(--tc-mid); padding: .16rem 0; border-bottom: 1px solid var(--tc-line); }
.tc-incl-row:last-child { border-bottom: none; }
.tc-incl-row-ico { color: var(--tc-rust); flex-shrink: 0; font-size: .48rem; margin-top: .2rem; }

/* ── Builder ── */
.tc-build-outer { padding: calc(var(--nav-h) + 4rem) clamp(1.5rem,3vw,4rem) 5rem; min-height: 100vh; background: var(--tc-cream); }
.tc-build-inner { max-width: 1440px; margin: 0 auto; }
.tc-build-head { margin-bottom: 4rem; text-align: center; }
.tc-build-h1 { font-family: var(--ff-disp); font-size: clamp(2.5rem,7vw,9rem); font-weight: 900; font-style: italic; color: var(--tc-ink); letter-spacing: -.02em; line-height: .92; }
.tc-build-h1 em { color: var(--tc-rust); font-style: normal; }
.tc-build-cols { display: grid; grid-template-columns: 1.6fr 1fr; gap: 5rem; }
.tc-build-step { margin-bottom: 2.5rem; }
.tc-build-step-h { display: flex; align-items: center; gap: .65rem; margin-bottom: .8rem; }
.tc-step-n { width: 22px; height: 22px; background: var(--tc-rust); display: flex; align-items: center; justify-content: center; font-family: var(--ff-disp); font-size: .64rem; font-weight: 900; color: #fff; flex-shrink: 0; }
.tc-step-lbl { font-family: var(--ff-body); font-size: .54rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--tc-mid); }

.tc-radio-list { display: flex; flex-direction: column; gap: 0; border-top: 1px solid var(--tc-line2); }
.tc-radio-row {
  display: flex; justify-content: space-between; align-items: baseline; gap: 2rem;
  padding: .9rem 0; border-bottom: 1px solid var(--tc-line2);
  cursor: pointer; transition: background var(--dur); position: relative; user-select: none;
}
.tc-radio-row::before { content:''; position:absolute; left:0; top:0; bottom:0; width:0; background:var(--tc-rust-lo); transition:width .2s; }
.tc-radio-row:hover::before { width:100%; }
.tc-radio-row.tc-picked::before { width:100%; }
.tc-radio-lft { display: flex; align-items: baseline; gap: .6rem; position: relative; }
.tc-radio-disc { width: 12px; height: 12px; border: 1.5px solid var(--tc-line2); border-radius: 50%; background: transparent; flex-shrink: 0; transition: all var(--dur); display: flex; align-items: center; justify-content: center; margin-top: .15rem; }
.tc-radio-row.tc-picked .tc-radio-disc { border-color: var(--tc-rust); background: var(--tc-rust); }
.tc-radio-row.tc-picked .tc-radio-disc::after { content: ''; width: 4px; height: 4px; background: #fff; border-radius: 50%; }
.tc-radio-n { font-family: var(--ff-disp); font-size: 1.05rem; font-weight: 700; color: var(--tc-ink); transition: color var(--dur); }
.tc-radio-row.tc-picked .tc-radio-n { color: var(--tc-rust); }
.tc-radio-sub { font-size: .62rem; color: var(--tc-mid); margin-left: .2rem; }
.tc-radio-p { font-family: var(--ff-disp); font-size: 1rem; font-weight: 700; color: var(--tc-mid); white-space: nowrap; position: relative; }
.tc-radio-row.tc-picked .tc-radio-p { color: var(--tc-rust); }

.tc-addon-list { display: flex; flex-direction: column; gap: .3rem; }
.tc-addon-row {
  background: var(--tc-cream2); border: 1px solid var(--tc-line2);
  padding: .65rem 1rem; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 1rem;
  transition: border-color var(--dur), background var(--dur); user-select: none;
}
.tc-addon-row:hover { border-color: var(--tc-rust); }
.tc-addon-row.tc-picked { border-color: var(--tc-rust); background: var(--tc-rust-lo); }
.tc-addon-lft { display: flex; align-items: center; gap: .45rem; }
.tc-addon-sq { width: 12px; height: 12px; border: 1.5px solid var(--tc-line2); background: transparent; flex-shrink: 0; transition: all var(--dur); display: flex; align-items: center; justify-content: center; }
.tc-addon-row.tc-picked .tc-addon-sq { background: var(--tc-rust); border-color: var(--tc-rust); }
.tc-addon-row.tc-picked .tc-addon-sq::after { content: '\2713'; font-size: .44rem; color: #fff; font-weight: 900; }
.tc-addon-lbl { font-family: var(--ff-body); font-size: .82rem; font-weight: 600; color: var(--tc-ink); }
.tc-addon-pr { font-family: var(--ff-disp); font-size: .9rem; font-weight: 700; color: var(--tc-mid); }
.tc-addon-row.tc-picked .tc-addon-pr { color: var(--tc-rust); }

.tc-hrs-panel { background: var(--tc-cream2); border: 1px solid var(--tc-line2); padding: 1.1rem; }
.tc-hrs-title { font-family: var(--ff-disp); font-size: 1rem; font-weight: 700; color: var(--tc-ink); }
.tc-hrs-sub { font-size: .68rem; color: var(--tc-mid); margin-bottom: .75rem; }
.tc-hrs-row { display: flex; align-items: center; gap: 1rem; }
.tc-hrs-num { font-family: var(--ff-disp); font-size: 2.2rem; font-weight: 900; color: var(--tc-ink); min-width: 2.5ch; text-align: center; }
.tc-hrs-slider { -webkit-appearance: none; appearance: none; flex: 1; height: 2px; background: var(--tc-line2); outline: none; cursor: pointer; }
.tc-hrs-slider::-webkit-slider-thumb { -webkit-appearance: none; width: 14px; height: 14px; background: var(--tc-rust); cursor: pointer; }
.tc-hrs-rate strong { font-family: var(--ff-disp); font-size: .9rem; font-weight: 700; color: var(--tc-ink); display: block; }
.tc-hrs-rate span { font-size: .56rem; color: var(--tc-mid); }

.tc-sum-panel { background: var(--tc-navy); padding: 1.6rem; position: sticky; top: 5rem; }
.tc-sum-hd { font-family: var(--ff-body); font-size: .52rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: rgba(244,239,230,.3); padding-bottom: .7rem; border-bottom: 1px solid rgba(244,239,230,.08); margin-bottom: .7rem; }
.tc-sum-body { min-height: 48px; margin-bottom: .7rem; }
.tc-sum-row { display: flex; justify-content: space-between; gap: 1rem; font-size: .72rem; color: rgba(244,239,230,.4); padding: .18rem 0; border-bottom: 1px solid rgba(244,239,230,.06); }
.tc-sum-row-v { font-family: var(--ff-disp); font-weight: 700; color: var(--tc-cream); font-size: .88rem; white-space: nowrap; }
.tc-sum-empty { font-size: .7rem; color: rgba(244,239,230,.25); font-style: italic; }
.tc-sum-total { display: flex; justify-content: space-between; align-items: baseline; border-top: 1px solid rgba(244,239,230,.12); padding-top: .8rem; margin-top: .2rem; }
.tc-sum-total-lbl { font-family: var(--ff-body); font-size: .52rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: rgba(244,239,230,.3); }
.tc-sum-total-v { font-family: var(--ff-disp); font-size: 3rem; font-weight: 900; color: var(--tc-cream); letter-spacing: -.02em; }
.tc-sum-go { width: 100%; background: var(--tc-rust); color: #fff; font-family: var(--ff-body); font-size: .8rem; font-weight: 700; padding: .82rem; border: 2px solid var(--tc-rust); cursor: pointer; transition: all var(--dur); margin-top: 1rem; letter-spacing: .02em; }
.tc-sum-go:hover { background: var(--tc-rust2); }
.tc-sum-go:disabled { opacity: .2; pointer-events: none; }

/* ── Checkout ── */
.tc-co-outer { padding: calc(var(--nav-h) + 4rem) clamp(1.5rem,3vw,4rem) 5rem; min-height: 100vh; }
.tc-co-head { max-width: 1440px; margin: 0 auto 3rem; text-align: center; }
.tc-co-h1 { font-family: var(--ff-disp); font-size: clamp(2.5rem,7vw,9rem); font-weight: 900; font-style: italic; color: var(--tc-ink); letter-spacing: -.02em; line-height: .92; }
.tc-co-h1 em { color: var(--tc-rust); font-style: normal; }
.tc-co-cols { max-width: 1440px; margin: 0 auto; display: grid; grid-template-columns: 1.4fr 1fr; gap: 5rem; align-items: start; }
.tc-field { display: flex; flex-direction: column; gap: .18rem; margin-bottom: .65rem; }
.tc-field-lbl { font-family: var(--ff-body); font-size: .52rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--tc-mid); }
.tc-finp, .tc-fsel, .tc-fta { background: var(--tc-white); border: 1.5px solid var(--tc-line2); padding: .7rem .92rem; color: var(--tc-ink); font-size: .88rem; outline: none; width: 100%; transition: border-color var(--dur); }
.tc-finp:focus, .tc-fsel:focus, .tc-fta:focus { border-color: var(--tc-rust); }
.tc-finp::placeholder { color: var(--tc-mid); }
.tc-pair { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; }
.tc-tos-row { display: flex; gap: .55rem; align-items: flex-start; font-size: .74rem; color: var(--tc-mid); cursor: pointer; margin-bottom: 1rem; line-height: 1.6; }
.tc-tos-row a { color: var(--tc-rust); }
.tc-tos-row input { accent-color: var(--tc-rust); flex-shrink: 0; margin-top: 2px; }
.tc-pay-btn { width: 100%; background: var(--tc-rust); color: #fff; font-family: var(--ff-body); font-size: .9rem; font-weight: 700; padding: .92rem 1.5rem; border: 2px solid var(--tc-rust); cursor: pointer; transition: background var(--dur); display: flex; align-items: center; justify-content: space-between; letter-spacing: .02em; }
.tc-pay-btn:hover { background: var(--tc-rust2); }
.tc-order-panel { background: var(--tc-cream2); border: 1px solid var(--tc-line2); border-top: 3px solid var(--tc-rust); padding: 1.6rem; position: sticky; top: 5rem; }
.tc-order-hd { font-family: var(--ff-body); font-size: .52rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--tc-mid); padding-bottom: .7rem; border-bottom: 1px solid var(--tc-line2); margin-bottom: .7rem; }
.tc-order-row { display: flex; justify-content: space-between; gap: 1rem; font-size: .72rem; color: var(--tc-mid); padding: .2rem 0; border-bottom: 1px solid var(--tc-line); }
.tc-order-val { color: var(--tc-ink); font-weight: 700; font-family: var(--ff-disp); }
.tc-order-total-v { font-family: var(--ff-disp); font-size: 3rem; font-weight: 900; color: var(--tc-rust); }

/* ── Legal ── */
.tc-legal-outer { padding: calc(var(--nav-h) + 4rem) clamp(1.5rem,3vw,4rem) 5rem; }
.tc-legal-doc { max-width: 800px; margin: 0 auto; }
.tc-legal-doc h2 { font-family: var(--ff-disp); font-size: 1.2rem; font-weight: 700; color: var(--tc-ink); margin: 2.5rem 0 .6rem; padding-top: 2rem; border-top: 1px solid var(--tc-line); }
.tc-legal-doc h2:first-child { margin-top: 0; padding-top: 0; border: none; }
.tc-legal-doc p { font-size: .88rem; color: var(--tc-mid); line-height: 1.85; margin-bottom: 1rem; }
.tc-legal-doc ul { font-size: .88rem; color: var(--tc-mid); padding-left: 1.4rem; list-style: disc; margin-bottom: 1rem; line-height: 1.78; }
.tc-legal-doc a { color: var(--tc-rust); }
.tc-legal-meta { font-size: .72rem; color: var(--tc-mid); margin-bottom: 2.5rem; padding-bottom: 1.5rem; border-bottom: 2px solid var(--tc-ink); }
.tc-ltbl { width: 100%; border-collapse: collapse; margin: 1rem 0; font-size: .82rem; }
.tc-ltbl th { background: var(--tc-navy); color: var(--tc-cream); padding: .55rem 1rem; text-align: left; font-family: var(--ff-body); font-weight: 700; }
.tc-ltbl td { padding: .45rem 1rem; border-bottom: 1px solid var(--tc-line); color: var(--tc-mid); }

/* ── Contact ── */
.tc-contact-cols { max-width: 1440px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1.6fr; gap: 7rem; padding: 5rem clamp(1.5rem,3vw,4rem); align-items: start; }
.tc-det-block { margin-bottom: .9rem; }
.tc-det-lbl { font-family: var(--ff-body); font-size: .52rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--tc-mid); margin-bottom: .1rem; }
.tc-det-val { font-size: .84rem; color: var(--tc-ink2); }
.tc-det-val a { color: var(--tc-rust); }
.tc-form-card { background: var(--tc-white); border: 1px solid var(--tc-line2); border-top: 3px solid var(--tc-rust); padding: 2.4rem; }

/* ── Footer ── */
.tc-footer { background: var(--tc-navy); padding: 6rem clamp(1.5rem,3vw,4rem) 3rem; border-top: 1px solid rgba(244,239,230,.05); }
.tc-footer-rail { max-width: 1440px; margin: 0 auto; }
.tc-footer-top { display: grid; grid-template-columns: 2.5fr 1fr 1fr 1.2fr; gap: 4rem; padding-bottom: 4rem; border-bottom: 1px solid rgba(244,239,230,.06); margin-bottom: 2rem; }
.tc-footer-brand { font-family: var(--ff-disp); font-size: 1.2rem; font-weight: 800; font-style: italic; color: var(--tc-cream); margin-bottom: .3rem; }
.tc-footer-brand em { color: var(--tc-rust3); font-style: normal; }
.tc-footer-blurb { font-size: .72rem; color: rgba(244,239,230,.3); max-width: 24ch; line-height: 1.68; margin-bottom: 1rem; }
.tc-footer-biz { font-size: .62rem; color: rgba(244,239,230,.18); line-height: 2; }
.tc-footer-biz a { color: rgba(244,239,230,.18); transition: color var(--dur); }
.tc-footer-biz a:hover { color: var(--tc-rust3); }
.tc-footer-col-h { font-family: var(--ff-body); font-size: .52rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: rgba(244,239,230,.25); margin-bottom: 1rem; }
.tc-footer-nav { display: flex; flex-direction: column; gap: .5rem; }
.tc-footer-nav a { font-size: .72rem; color: rgba(244,239,230,.25); transition: color var(--dur); }
.tc-footer-nav a:hover { color: var(--tc-rust3); }
.tc-footer-btm { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem; }
.tc-footer-copy { font-size: .6rem; color: rgba(244,239,230,.1); }
.tc-footer-dig  { font-size: .58rem; color: rgba(244,239,230,.1); font-style: italic; }
.tc-footer-leg  { display: flex; gap: 1.2rem; }
.tc-footer-leg a { font-size: .6rem; color: rgba(244,239,230,.12); transition: color var(--dur); }
.tc-footer-leg a:hover { color: var(--tc-rust3); }

/* ── Cookie + Chat ── */
.tc-cookie {
  position: fixed; bottom: 1.5rem; left: 1.5rem; z-index: 200;
  background: var(--tc-navy); border-left: 3px solid var(--tc-rust);
  box-shadow: 4px 4px 0 rgba(192,67,45,.3); padding: 1.1rem 1.4rem;
  max-width: 400px; display: flex; flex-direction: column; gap: .6rem;
  transition: opacity .3s, transform .3s;
}
.tc-cookie.tc-ck-gone { opacity: 0; pointer-events: none; transform: translateY(8px); }
.tc-ck-txt { font-size: .7rem; color: rgba(244,239,230,.5); line-height: 1.65; }
.tc-ck-txt a { color: var(--tc-rust3); }
.tc-ck-btns { display: flex; gap: .4rem; }
.tc-ck-yes { background: var(--tc-rust); color: #fff; font-family: var(--ff-body); font-size: .68rem; font-weight: 700; padding: .32rem .9rem; border: none; cursor: pointer; }
.tc-ck-no  { background: transparent; color: rgba(244,239,230,.3); font-family: var(--ff-body); font-size: .68rem; padding: .32rem .8rem; border: 1px solid rgba(244,239,230,.1); cursor: pointer; }

.tc-chat-fab {
  position: fixed; bottom: 2rem; right: 2rem; z-index: 199;
  width: 48px; height: 48px; background: var(--tc-rust); display: flex; align-items: center; justify-content: center;
  cursor: pointer; box-shadow: 3px 3px 0 var(--tc-navy); border: none;
  transition: transform var(--dur), background var(--dur);
}
.tc-chat-fab:hover { transform: translate(-2px,-2px); box-shadow: 5px 5px 0 var(--tc-navy); }
.tc-chat-win {
  position: fixed; bottom: 5.5rem; right: 2rem; z-index: 199;
  width: 300px; background: var(--tc-navy);
  box-shadow: 4px 4px 0 rgba(192,67,45,.3); border-top: 3px solid var(--tc-rust);
  opacity: 0; pointer-events: none; transform: translateY(8px) scale(.97);
  transform-origin: bottom right; transition: opacity var(--dur), transform var(--dur);
}
.tc-chat-win.tc-chat-on { opacity: 1; pointer-events: auto; transform: none; }
.tc-chat-top { padding: .8rem 1rem; border-bottom: 1px solid rgba(244,239,230,.06); display: flex; align-items: center; justify-content: space-between; }
.tc-chat-pulse { width: 7px; height: 7px; background: #22c55e; border-radius: 50%; flex-shrink: 0; }
.tc-chat-who { font-family: var(--ff-disp); font-size: .88rem; font-weight: 700; font-style: italic; color: var(--tc-cream); }
.tc-chat-city { font-size: .56rem; color: rgba(244,239,230,.3); }
.tc-chat-x { background: none; border: none; color: rgba(244,239,230,.3); cursor: pointer; font-size: .82rem; }
.tc-chat-log { padding: .8rem; height: 175px; overflow-y: auto; display: flex; flex-direction: column; gap: .42rem; }
.tc-chat-msg { max-width: 90%; padding: .42rem .75rem; font-size: .7rem; line-height: 1.55; }
.tc-chat-msg--agent { background: rgba(244,239,230,.06); color: rgba(244,239,230,.5); align-self: flex-start; border-left: 2px solid var(--tc-rust); }
.tc-chat-msg--self  { background: var(--tc-rust); color: #fff; align-self: flex-end; }
.tc-chat-form { display: flex; border-top: 1px solid rgba(244,239,230,.06); }
.tc-chat-inp { flex: 1; background: none; border: none; padding: .58rem .85rem; font-size: .7rem; color: var(--tc-cream); outline: none; font-family: var(--ff-body); }
.tc-chat-inp::placeholder { color: rgba(244,239,230,.25); }
.tc-chat-send { background: var(--tc-rust); color: #fff; border: none; padding: 0 .85rem; font-family: var(--ff-body); font-size: .6rem; font-weight: 700; cursor: pointer; letter-spacing: .04em; }

/* ── Confirm pages ── */
.tc-confirm-wrap { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 4rem 2rem; background: var(--tc-cream); }
.tc-confirm-box { max-width: 420px; width: 100%; background: var(--tc-navy); padding: 3.5rem; text-align: center; box-shadow: 6px 6px 0 var(--tc-rust); }

/* ── Reveal ── */
.tc-rev { opacity: 0; transform: translateY(10px); transition: opacity .5s ease, transform .5s ease; }
.tc-rev.tc-vis { opacity: 1; transform: none; }
.tc-d1{transition-delay:.06s}.tc-d2{transition-delay:.12s}.tc-d3{transition-delay:.18s}

.tc-pt { padding-top: var(--nav-h); }

/* ── Responsive ── */
@media(max-width:1100px) {
  .tc-nav-left,.tc-nav-right>*:not(.tc-burger) { display: none; }
  .tc-burger { display: flex; margin-left: auto; }
  .tc-nav-inner { grid-template-columns: auto 1fr; }
  .tc-hero { grid-template-columns: 1fr; }
  .tc-hero-left { min-height: 40vh; }
  .tc-svc-header { grid-template-columns: 1fr; gap: 1.5rem; }
  .tc-case-entry { grid-template-columns: 3rem 1fr; }
  .tc-case-entry .tc-case-story, .tc-case-entry .tc-case-result { display: none; }
  .tc-tmon-grid { grid-template-columns: 1fr; border-top: none; }
  .tc-tmon-card { border-right: none; border-top: 1px solid var(--tc-line2); padding-left: 0; }
  .tc-proc-steps { grid-template-columns: 1fr; }
  .tc-proc-step:nth-child(odd) { border-right: none; }
  .tc-price-section { overflow-x: auto; }
  .tc-addon-items { grid-template-columns: 1fr 1fr; }
  .tc-faq-cols { grid-template-columns: 1fr; }
  .tc-footer-top { grid-template-columns: 1fr 1fr; }
  .tc-build-cols,.tc-co-cols,.tc-svc-pg-inner,.tc-contact-cols { grid-template-columns: 1fr; }
  .tc-cta-section { grid-template-columns: 1fr; gap: 2.5rem; }
}
@media(max-width:720px) {
  .tc-hero-stats { flex-wrap: wrap; gap: 1rem; }
  .tc-footer-top { grid-template-columns: 1fr; }
  .tc-pair { grid-template-columns: 1fr; }
  .tc-addon-items { grid-template-columns: 1fr; }
}
