.tv-gradient {
  background: linear-gradient(120deg, #4b4fcf 0%, #00d4e8 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

/* Cards */
.tv-cards .wp-block-column {
  position: relative;
  background: #ffffff;
  border: 1px solid #e5eaf2;
  border-radius: 16px;
  padding: 32px 28px;
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease;
}
.tv-cards .wp-block-column::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #00d4e8, #4b4fcf);
}
.tv-cards .wp-block-column:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 40px -24px rgba(26, 26, 46, .4);
}

/* Card tags */
.tv-tag {
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #3a3ea8;
  font-weight: 600;
  margin-bottom: 8px !important;
}

/* Card spacing */
.tv-cards {
  gap: 22px;
}

/* Buttons */
.tv-btn .wp-block-button__link {
  background: linear-gradient(120deg, #4b4fcf, #00d4e8) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 9px !important;
  padding: 0.9em 1.9em !important;
  font-weight: 600;
  transition: transform .18s ease, box-shadow .18s ease;
}
.tv-btn .wp-block-button__link:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px -12px rgba(75, 79, 207, .55);
}

.tv-btn-outline .wp-block-button__link {
  background: transparent !important;
  color: #1a1a2e !important;
  border: 1px solid #d9dfea !important;
  border-radius: 9px !important;
  padding: 0.9em 1.9em !important;
  font-weight: 600;
  transition: border-color .18s ease, color .18s ease;
}
.tv-btn-outline .wp-block-button__link:hover {
  border-color: #4b4fcf !important;
  color: #4b4fcf !important;
}

/* Verdict band */
.tv-verdict {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background: linear-gradient(180deg, #1d1d33, #161627);
  color: #e9ecf5;
  padding: 88px 24px;
  overflow: hidden;
}
.tv-verdict-inner { max-width: 1080px; margin: 0 auto; }
.tv-verdict .tv-eyebrow {
  font-size: 0.72rem; letter-spacing: 0.2em; text-transform: uppercase;
  color: #00d4e8; font-weight: 600; margin: 0 0 14px;
}
.tv-vtitle { color: #fff; font-size: clamp(1.8rem, 3.4vw, 2.6rem); line-height: 1.1; margin: 0 0 14px; }
.tv-vsub { color: #aeb5cc; max-width: 38em; margin: 0 0 40px; font-size: 1.05rem; }
.tv-dims { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 56px; }
.tv-dim { padding: 20px 0; border-top: 1px solid rgba(255,255,255,0.1); }
.tv-dim-top { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
.tv-dim-name { font-family: inherit; font-size: 0.95rem; letter-spacing: 0.03em; color: #fff; }
.tv-dim-pct { font-family: monospace; font-size: 0.85rem; color: #00d4e8; }
.tv-dim-desc { font-size: 0.9rem; color: #9aa2bd; margin: 6px 0 12px; }
.tv-bar { height: 4px; border-radius: 4px; background: rgba(255,255,255,0.1); overflow: hidden; }
.tv-fill { display: block; height: 100%; border-radius: 4px; background: linear-gradient(90deg, #4b4fcf, #00d4e8); }
.w92 { width: 92%; } .w88 { width: 88%; } .w85 { width: 85%; }
.w78 { width: 78%; } .w71 { width: 71%; } .w64 { width: 64%; }
.tv-cited { margin-top: 34px; font-size: 0.95rem; color: #c3c9df; font-weight: 600; }

@media (max-width: 782px) {
  .tv-dims { grid-template-columns: 1fr; gap: 0; }
  .tv-verdict { padding: 64px 20px; }
}

/* Rooftop Intelligence */
.tv-rooftop {
  background: #f3f6fb;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 88px 24px;
}
.tv-rooftop-inner { max-width: 1080px; margin: 0 auto; }
.tv-eyebrow-dark {
  display: block; font-size: 0.72rem; letter-spacing: 0.2em;
  text-transform: uppercase; color: #3a3ea8; font-weight: 700; margin: 0 0 14px;
}
.tv-rtitle { font-size: clamp(1.8rem, 3.4vw, 2.6rem); line-height: 1.1; margin: 0 0 14px; color: #1a1a2e; }
.tv-rsub { color: #42475f; max-width: 40em; margin: 0 0 44px; font-size: 1.08rem; }
.tv-caps { display: grid; grid-template-columns: 1fr 1fr; gap: 26px 48px; }
.tv-cap { border-top: 2px solid #e5eaf2; padding-top: 18px; }
.tv-cap-tag {
  display: inline-block; font-size: 0.72rem; letter-spacing: 0.12em;
  text-transform: uppercase; font-weight: 700; color: #3a3ea8; margin-bottom: 8px;
}
.tv-cap-desc { color: #42475f; font-size: 1rem; margin: 0; }
.tv-rfoot { margin-top: 40px; font-size: 0.92rem; color: #6b7186; }

@media (max-width: 782px) {
  .tv-caps { grid-template-columns: 1fr; gap: 0; }
  .tv-cap { padding-bottom: 18px; }
  .tv-rooftop { padding: 64px 20px; }
}

/* Rooftop capability icons */
.tv-cap::before {
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  margin-bottom: 14px;
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
}
.tv-caps .tv-cap:nth-child(1)::before {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%234b4fcf'%20stroke-width='1.6'%3E%3Crect%20x='3'%20y='5'%20width='18'%20height='14'%20rx='1'/%3E%3Cpath%20d='M3%2012h18M9%205v14M15%205v14'/%3E%3C/svg%3E");
}
.tv-caps .tv-cap:nth-child(2)::before {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%234b4fcf'%20stroke-width='1.6'%3E%3Cpath%20d='M2%2012s3.5-7%2010-7%2010%207%2010%207-3.5%207-10%207-10-7-10-7z'/%3E%3Ccircle%20cx='12'%20cy='12'%20r='3'/%3E%3C/svg%3E");
}
.tv-caps .tv-cap:nth-child(3)::before {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%234b4fcf'%20stroke-width='1.6'%3E%3Cpath%20d='M12%203%202%2020h20L12%203z'/%3E%3Cpath%20d='M12%2010v4M12%2017h.01'/%3E%3C/svg%3E");
}
.tv-caps .tv-cap:nth-child(4)::before {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%234b4fcf'%20stroke-width='1.6'%3E%3Cpath%20d='M3%203v18h18'/%3E%3Cpath%20d='M7%2015l4-4%203%203%205-6'/%3E%3C/svg%3E");
}

/* Product screenshot */
.tv-shot img {
  border-radius: 14px;
  border: 1px solid #e5eaf2;
  box-shadow: 0 30px 60px -40px rgba(26, 26, 46, 0.5);
}

/* Header — gradient wordmark */
.site-title a,
.site-title,
.wp-block-site-title a,
.wp-block-site-title {
  background: linear-gradient(120deg, #4b4fcf, #00d4e8);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

/* Header — tagline */
.site-description,
.wp-block-site-tagline {
  color: #6b7186 !important;
  font-weight: 500;
  letter-spacing: 0.03em;
}

/* Header nav */
.header-navigation .menu-item > a:hover,
.main-navigation .menu-item > a:hover,
.header-navigation .current-menu-item > a,
.main-navigation .current-menu-item > a {
  color: #4b4fcf !important;
}

/* Footer */
.site-footer,
.site-top-footer-wrap,
.site-middle-footer-wrap,
.site-bottom-footer-wrap {
  background: #1a1a2e !important;
}
.site-footer,
.site-footer p,
.site-footer .footer-html {
  color: #aeb5cc !important;
}
.site-footer a { color: #aeb5cc !important; }
.site-footer a:hover { color: #00d4e8 !important; }

.site-footer { position: relative; }
.site-footer::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #4b4fcf, #00d4e8);
}

/* TerraVision hero verdict card */
.tv-hcard { background:#fff; border:1px solid #e5eaf2; border-radius:18px; box-shadow:0 40px 80px -50px rgba(26,26,46,.45); overflow:hidden; }
.tv-hcard-top { background:#1a1a2e; color:#fff; padding:18px 20px; display:flex; justify-content:space-between; align-items:center; gap:12px; }
.tv-hcard-site { font-family:monospace; font-size:.8rem; color:#aeb5cc; }
.tv-hcard-site b { color:#fff; display:block; font-size:.95rem; }
.tv-hcard-badge { font-family:monospace; font-size:.78rem; padding:.4em .8em; border-radius:7px; background:rgba(18,166,122,.16); color:#3fd7a6; border:1px solid rgba(18,166,122,.4); white-space:nowrap; }
.tv-hcard-body { padding:20px; }
.tv-hrow { display:flex; justify-content:space-between; font-family:monospace; font-size:.85rem; margin-bottom:6px; }
.tv-hrow .p { color:#3a3ea8; }
.tv-htrack { height:5px; border-radius:5px; background:#eef1f7; overflow:hidden; margin-bottom:15px; }
.tv-htrack i { display:block; height:100%; border-radius:5px; background:linear-gradient(90deg,#4b4fcf,#00d4e8); }
.tv-hcard-foot { border-top:1px solid #e5eaf2; padding:13px 20px; font-family:monospace; font-size:.74rem; color:#6b7186; }

/* Verdict chips */
.tv-chips { display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:1px solid #e5eaf2; border-bottom:1px solid #e5eaf2; margin:20px 0; }
.tv-chip { padding:24px 26px; border-left:1px solid #e5eaf2; }
.tv-chip:first-child { border-left:0; padding-left:0; }
.tv-ccode { font-family:monospace; font-size:.82rem; font-weight:500; display:block; margin-bottom:8px; }
.tv-ccode.go { color:#12a67a; }
.tv-ccode.cond { color:#dd9130; }
.tv-ccode.nogo { color:#e0484d; }
.tv-ccode.insuff { color:#8a93a6; }
.tv-chip p { font-size:.88rem; color:#6b7186; margin:0; }
@media (max-width:782px){ .tv-chips{ grid-template-columns:1fr 1fr; } .tv-chip{ border-left:1px solid #e5eaf2; padding:20px; } .tv-chip:nth-child(odd){ border-left:0; padding-left:20px; } }

/* Platform surfaces */
.tv-surf-sec { padding: 20px 0; }
.tv-surf-inner { max-width: 1080px; margin: 0 auto; }
.tv-eyebrow-dark { display:block; font-family:monospace; font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:#3a3ea8; font-weight:700; margin:0 0 14px; }
.tv-surf-title { font-size:clamp(1.9rem,3.6vw,2.6rem); line-height:1.1; margin:0 0 14px; color:#1a1a2e; }
.tv-surf-sub { color:#42475f; max-width:38em; margin:0 0 40px; font-size:1.06rem; }
.tv-surf { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.tv-surf-item { border:1px solid #e5eaf2; border-radius:14px; padding:26px; background:#fff; }
.tv-surf-k { font-family:monospace; font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:#3a3ea8; }
.tv-surf-item h4 { font-size:1.14rem; margin:10px 0 8px; color:#1a1a2e; }
.tv-surf-item p { color:#42475f; font-size:.96rem; margin:0; }
@media (max-width:782px){ .tv-surf{ grid-template-columns:1fr; } }

/* Credibility strip */
.tv-cred { display:flex; flex-wrap:wrap; gap:16px; justify-content:center; text-align:center; max-width:1080px; margin:0 auto; padding:20px 0 60px; }
.tv-cred-item { flex:1; min-width:210px; padding:22px; border:1px solid #e5eaf2; border-radius:14px; background:#fff; }
.tv-cred-k { display:block; font-family:monospace; font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:#6b7186; }
.tv-cred-v { display:block; font-weight:600; font-size:1.04rem; margin-top:8px; color:#1a1a2e; }

/* CTA band */
.tv-cta { margin:0 0 40px; }
.tv-cta-inner { max-width:1080px; margin:0 auto; border-radius:24px; background:linear-gradient(120deg,#1a1a2e,#232349 55%,#3a3ea8); padding:60px 40px; text-align:center; color:#fff; }
.tv-cta-inner h2 { color:#fff; font-size:clamp(1.8rem,3.4vw,2.5rem); }
.tv-cta-inner p { color:#c6ccdf; max-width:32em; margin:16px auto 28px; font-size:1.06rem; }
.tv-cta-btn { display:inline-block; background:linear-gradient(120deg,#4b4fcf,#00d4e8); color:#fff; font-weight:600; padding:.9em 1.9em; border-radius:9px; }
.tv-cta-btn:hover { transform:translateY(-2px); box-shadow:0 12px 28px -12px rgba(75,79,207,.55); }

/* ===== Rooftop Intelligence page ===== */
.tvr{ margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); color:#1a1a2e; }
.tvr-wrap{ max-width:1160px; margin:0 auto; padding:0 28px; }
.tvr .tvr-sec{ padding:80px 0; }
.tvr .mist{ background:#f3f6fb; }
.tvr .dark{ background:linear-gradient(180deg,#1d1d33,#161627); color:#e9ecf5; }
.tvr .dark h2,.tvr .dark h4{ color:#fff; }
.tvr h1,.tvr h2,.tvr h4{ font-weight:700; line-height:1.1; letter-spacing:-.02em; }
.tvr h1{ font-size:clamp(2.2rem,5vw,3.5rem); margin:16px 0 0; }
.tvr h2{ font-size:clamp(1.8rem,3.6vw,2.6rem); margin:12px 0 0; }
.tvr .grad{ background:linear-gradient(120deg,#4b4fcf,#00d4e8); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; }
.tvr .eyebrow{ font-family:monospace; font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:#3a3ea8; display:inline-block; }
.tvr .dark .eyebrow,.tvr .cta-inner .eyebrow{ color:#00d4e8; }
.tvr .lead{ color:#42475f; font-size:1.08rem; margin-top:14px; max-width:42em; }
.tvr .dark .lead{ color:#aeb5cc; }
.tvr .sec-head{ max-width:42em; }
.tvr .cta{ display:flex; gap:13px; flex-wrap:wrap; margin-top:28px; }
.tvr .btn{ display:inline-flex; align-items:center; justify-content:center; font-weight:600; font-size:.94rem; padding:.8em 1.6em; border-radius:9px; border:1px solid transparent; transition:transform .18s,box-shadow .18s; }
.tvr .btn-accent{ background:linear-gradient(120deg,#4b4fcf,#00d4e8); color:#fff; }
.tvr .btn-accent:hover{ transform:translateY(-2px); box-shadow:0 12px 30px -12px rgba(75,79,207,.55); }
.tvr .btn-ghost{ background:transparent; color:#1a1a2e; border-color:#e5eaf2; }
.tvr .dark .btn-ghost{ color:#fff; border-color:rgba(255,255,255,.25); }
.tvr .hero{ padding:72px 0 64px; }
.tvr .hero-grid{ display:grid; grid-template-columns:1.02fr .98fr; gap:50px; align-items:center; }
.tvr .hero .lead{ font-size:1.15rem; margin:22px 0 0; }
.tvr .shot{ border-radius:16px; border:1px solid #e5eaf2; box-shadow:0 40px 80px -50px rgba(26,26,46,.5); overflow:hidden; background:#fff; }
.tvr .shot img{ display:block; width:100%; height:auto; }
.tvr .shot .cap{ font-family:monospace; font-size:.72rem; color:#6b7186; padding:12px 16px; border-top:1px solid #e5eaf2; display:flex; justify-content:space-between; gap:12px; }
.tvr .split{ display:grid; grid-template-columns:1fr 1fr; gap:52px; align-items:center; }
.tvr .split.rev .col-img{ order:-1; }
.tvr .ph{ border-radius:16px; border:1.5px dashed #c7d0e0; background:#fbfcfe; min-height:280px; display:grid; place-items:center; text-align:center; color:#6b7186; padding:24px; }
.tvr .dark .ph{ border-color:rgba(255,255,255,.2); background:rgba(255,255,255,.03); color:#9aa2bd; }
.tvr .ph .fm{ font-family:monospace; font-size:.78rem; display:block; margin-bottom:8px; }
.tvr .feat{ list-style:none; margin:22px 0 0; padding:0; display:grid; gap:11px; }
.tvr .feat li{ position:relative; padding-left:30px; font-size:1rem; color:#42475f; }
.tvr .dark .feat li{ color:#c3c9df; }
.tvr .feat li::before{ content:""; position:absolute; left:0; top:2px; width:19px; height:19px; border-radius:6px; background:linear-gradient(135deg,#4b4fcf,#00d4e8); }
.tvr .feat li::after{ content:""; position:absolute; left:6px; top:7px; width:6px; height:9px; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(40deg); }
.tvr .callout{ margin-top:26px; padding:18px 22px; border-left:3px solid #00d4e8; background:rgba(0,212,232,.06); border-radius:0 10px 10px 0; font-size:1.02rem; color:#42475f; }
.tvr .dark .callout{ background:rgba(0,212,232,.08); color:#cdd3e6; }
.tvr .callout b{ color:#1a1a2e; } .tvr .dark .callout b{ color:#fff; }
.tvr .badge-soon{ display:inline-block; font-family:monospace; font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:#dd9130; border:1px solid rgba(221,145,48,.5); border-radius:20px; padding:.3em .8em; margin-left:10px; vertical-align:middle; }
.tvr .chips{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:24px; }
.tvr .chip{ border:1px solid #e5eaf2; border-radius:12px; padding:20px; }
.tvr .chip .c{ font-family:monospace; font-weight:500; font-size:.9rem; display:flex; align-items:center; gap:.5em; margin-bottom:6px; }
.tvr .chip p{ font-size:.9rem; color:#6b7186; margin:0; }
.tvr .d{ width:9px; height:9px; border-radius:50%; display:inline-block; }
.tvr .b-go{ background:#12a67a; } .tvr .b-cond{ background:#dd9130; } .tvr .b-nogo{ background:#e0484d; }
.tvr .c-go{ color:#12a67a; } .tvr .c-cond{ color:#dd9130; } .tvr .c-nogo{ color:#e0484d; }
.tvr .table{ border:1px solid #e5eaf2; border-radius:16px; overflow:hidden; margin-top:16px; max-width:760px; background:#fff; }
.tvr .trow{ display:flex; justify-content:space-between; align-items:center; padding:15px 24px; border-top:1px solid #e5eaf2; font-size:1rem; }
.tvr .trow:first-child{ border-top:0; background:#1a1a2e; color:#fff; font-family:monospace; font-size:.8rem; letter-spacing:.06em; text-transform:uppercase; }
.tvr .trow .v{ font-weight:700; color:#12a67a; }
.tvr .trow .soon{ color:#dd9130; font-family:monospace; font-size:.78rem; }
.tvr .segs{ display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.tvr .seg{ font-family:monospace; font-size:.85rem; padding:.6em 1.1em; border:1px solid #e5eaf2; border-radius:30px; background:#fff; }
.tvr .flow{ display:flex; flex-wrap:wrap; align-items:stretch; gap:12px; margin-top:20px; }
.tvr .step{ flex:1; min-width:150px; border:1px solid #e5eaf2; border-radius:12px; padding:20px 18px; background:#fff; }
.tvr .step .n{ font-family:monospace; font-size:.72rem; color:#3a3ea8; }
.tvr .step h4{ font-size:1.02rem; margin-top:6px; font-weight:600; }
.tvr .arrow{ align-self:center; color:#4b4fcf; font-size:1.3rem; }
.tvr .why{ display:grid; grid-template-columns:1fr 1fr; gap:14px 40px; margin-top:24px; list-style:none; padding:0; }
.tvr .why li{ position:relative; padding-left:30px; font-size:1.05rem; color:#42475f; }
.tvr .dark .why li{ color:#c3c9df; }
.tvr .why li::before{ content:"✔"; position:absolute; left:0; color:#00d4e8; font-weight:700; }
.tvr .caps{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-top:16px; }
.tvr .capcol h4{ font-family:monospace; font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; color:#3a3ea8; margin-bottom:12px; padding-bottom:10px; border-bottom:1px solid #e5eaf2; }
.tvr .capcol ul{ list-style:none; padding:0; display:grid; gap:7px; margin:0; }
.tvr .capcol li{ font-size:.95rem; color:#42475f; }
.tvr .cta-inner{ border-radius:24px; background:linear-gradient(120deg,#1a1a2e,#232349 55%,#3a3ea8); padding:60px 44px; text-align:center; color:#fff; }
.tvr .cta-inner h2{ color:#fff; }
.tvr .cta-inner p{ color:#c6ccdf; max-width:40em; margin:16px auto 28px; font-size:1.08rem; }
.tvr .cta-inner .cta{ justify-content:center; }
@media(max-width:900px){
  .tvr .hero-grid,.tvr .split{ grid-template-columns:1fr; gap:34px; }
  .tvr .hero .shot,.tvr .split.rev .col-img{ order:-1; }
  .tvr .chips,.tvr .caps,.tvr .why{ grid-template-columns:1fr; }
  .tvr .tvr-sec{ padding:56px 0; }
  .tvr .arrow{ transform:rotate(90deg); }
}

/* ===== Rooftop page icons ===== */
/* Section eyebrows get a small mark; feature/section icons via ::before */
.tvr .sec-head h2::before{
  content:""; display:inline-block; width:26px; height:26px; margin-right:12px; vertical-align:-4px;
  background-repeat:no-repeat; background-position:center; background-size:contain;
}
.tvr .dark .sec-head h2::before{ filter:brightness(0) invert(1); opacity:.9; }

/* Section 01 — roof analysis (layers) */
.tvr .tvr-sec:nth-of-type(2) .sec-head h2::before{ background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%234b4fcf'%20stroke-width='1.7'%3E%3Cpath%20d='M12%202%2022%208%2012%2014%202%208z'/%3E%3Cpath%20d='M2%2012l10%206%2010-6M2%2016l10%206%2010-6'/%3E%3C/svg%3E"); }
/* Section 02 — panel grid */
.tvr .tvr-sec:nth-of-type(3) .sec-head h2::before{ background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%234b4fcf'%20stroke-width='1.7'%3E%3Crect%20x='3'%20y='5'%20width='18'%20height='14'%20rx='1'/%3E%3Cpath%20d='M3%2012h18M9%205v14M15%205v14'/%3E%3C/svg%3E"); }
/* Section 03 — engineering (warning triangle) */
.tvr .tvr-sec:nth-of-type(4) .sec-head h2::before{ background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%234b4fcf'%20stroke-width='1.7'%3E%3Cpath%20d='M12%203%202%2020h20L12%203z'/%3E%3Cpath%20d='M12%2010v4M12%2017h.01'/%3E%3C/svg%3E"); }
/* Section 04 — decision (target) */
.tvr .tvr-sec:nth-of-type(5) .sec-head h2::before{ background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%234b4fcf'%20stroke-width='1.7'%3E%3Ccircle%20cx='12'%20cy='12'%20r='9'/%3E%3Ccircle%20cx='12'%20cy='12'%20r='4.5'/%3E%3Ccircle%20cx='12'%20cy='12'%20r='.6'%20fill='%234b4fcf'/%3E%3C/svg%3E"); }
/* Section 05 — proposal (document) */
.tvr .tvr-sec:nth-of-type(6) .sec-head h2::before{ background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%234b4fcf'%20stroke-width='1.7'%3E%3Cpath%20d='M6%202h9l3%203v17H6z'/%3E%3Cpath%20d='M9%208h6M9%2012h6M9%2016h4'/%3E%3C/svg%3E"); }
/* Section 06 — market intel (chart) */
.tvr .tvr-sec:nth-of-type(7) .sec-head h2::before{ background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%234b4fcf'%20stroke-width='1.7'%3E%3Cpath%20d='M3%203v18h18'/%3E%3Cpath%20d='M7%2015l4-4%203%203%205-6'/%3E%3C/svg%3E"); }

/* Capability-column icons */
.tvr .capcol h4{ display:flex; align-items:center; gap:8px; }
.tvr .capcol h4::before{ content:""; width:16px; height:16px; background-repeat:no-repeat; background-position:center; background-size:contain; }
.tvr .capcol:nth-child(1) h4::before{ background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%233a3ea8'%20stroke-width='1.8'%3E%3Ccircle%20cx='12'%20cy='12'%20r='3'/%3E%3Cpath%20d='M12%202v3M12%2019v3M2%2012h3M19%2012h3'/%3E%3C/svg%3E"); }
.tvr .capcol:nth-child(2) h4::before{ background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%233a3ea8'%20stroke-width='1.8'%3E%3Cpath%20d='M12%203%202%2020h20L12%203z'/%3E%3Cpath%20d='M12%2011v3'/%3E%3C/svg%3E"); }
.tvr .capcol:nth-child(3) h4::before{ background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%233a3ea8'%20stroke-width='1.8'%3E%3Crect%20x='3'%20y='5'%20width='18'%20height='14'%20rx='1'/%3E%3Cpath%20d='M9%205v14M15%205v14'/%3E%3C/svg%3E"); }
.tvr .capcol:nth-child(4) h4::before{ background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%233a3ea8'%20stroke-width='1.8'%3E%3Cpath%20d='M12%201v22M17%205H9.5a3.5%203.5%200%200%200%200%207h5a3.5%203.5%200%200%201%200%207H6'/%3E%3C/svg%3E"); }
.tvr .capcol:nth-child(5) h4::before{ background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%233a3ea8'%20stroke-width='1.8'%3E%3Cpath%20d='M20%206%209%2017l-5-5'/%3E%3C/svg%3E"); }
.tvr .capcol:nth-child(6) h4::before{ background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%233a3ea8'%20stroke-width='1.8'%3E%3Cpath%20d='M6%202h9l3%203v17H6z'/%3E%3Cpath%20d='M9%2012h6M9%2016h4'/%3E%3C/svg%3E"); }