:root {
  --navy: #0d2a4a;
  --navy-2: #2a435f;
  --accent: #c8743a;
}

/* Trafovia design (option C: clean big-brand look + dense product content). Brand-owned file. */
.btn-primary:hover { background: #d98a50; }
.btn-primary { color: #fff; }
.nav .btn { color: #fff; }
.tv-hero { position: relative; background: var(--navy); color: #fff; overflow: hidden; padding: 96px 0 88px; }
.tv-hero-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .9; }
.tv-hero-in { position: relative; display: grid; grid-template-columns: 1.25fr 1fr; gap: 56px; align-items: center; }
.tv-hero h1 { color: #fff; font-size: clamp(2.1rem, 4.2vw, 3.3rem); max-width: 720px; }
.tv-hero .lead { color: #d3dfec; }
.tv-hero .actions { display: flex; gap: 14px; flex-wrap: wrap; margin: 30px 0 28px; }
.tv-hero-fig { margin: 0; background: #eef2f6; border-radius: 8px; padding: 10px; box-shadow: 0 24px 60px rgba(0,0,0,.35); }
.tv-chips { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.tv-chips li { border: 1px solid rgba(255,255,255,.28); border-radius: 999px; padding: 6px 14px; font-size: .85rem; color: #e4ecf4; }
.tv-route { display: block; border: 1px solid var(--line); border-top: 3px solid var(--accent); padding: 26px 24px; text-decoration: none; color: var(--body); background: #fff; transition: box-shadow .2s, transform .2s; }
.tv-route:hover { box-shadow: var(--shadow); transform: translateY(-2px); }
.tv-route h3 { color: var(--ink); }
.tv-route .more { color: var(--accent); font-weight: 650; font-size: .9rem; }
.tv-lines { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.tv-line { display: grid; grid-template-columns: 200px 1fr; gap: 24px; background: #fff; border: 1px solid var(--line); padding: 20px; align-items: center; }
.tv-line img { border-radius: 4px; }
.tv-line h3 a { color: var(--ink); text-decoration: none; }
.tv-line ul { margin: 0; padding-left: 18px; font-size: .95rem; }
.tv-line li { margin: 6px 0; }
.tv-line li a { color: var(--navy-2); }
.tv-proof > div { border-left: 2px solid var(--line); padding-left: 20px; }
.tv-ico { display: inline-block; font-weight: 800; color: var(--accent); font-size: 1.4rem; margin-bottom: 8px; letter-spacing: .04em; }
.tv-data { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); padding: 32px; border-radius: 6px; }
.tv-big { font-size: 4rem; font-weight: 800; color: #fff; line-height: 1; margin: 6px 0 12px; }
.tv-markets a { display: block; border: 1px solid var(--line); padding: 22px; text-decoration: none; color: var(--body); }
.tv-markets a:hover { border-color: var(--accent); }
.tv-markets h3 { color: var(--ink); margin-bottom: 6px; }
@media (max-width: 900px) {
  .tv-hero-in, .tv-lines { grid-template-columns: 1fr; }
  .tv-hero-fig { display: none; }
  .tv-line { grid-template-columns: 1fr; }
}
.tv-hero h1 { hyphens: manual; -webkit-hyphens: manual; }
.tv-phero { position: relative; background: var(--navy) url('../img/illus/grid-hero.svg') center/cover no-repeat; color: #fff; padding: 72px 0 64px; }
.tv-phero-in { display: grid; grid-template-columns: 1.3fr 1fr; gap: 48px; align-items: center; }
.tv-phero h1 { color: #fff; hyphens: manual; -webkit-hyphens: manual; }
.tv-phero .lead { color: #d3dfec; }
.tv-phero .actions { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 24px; }
.tv-phero .eyebrow { color: #e8a87c; }
.article table.spec th { width: 34%; text-align: left; vertical-align: top; background: var(--bg-soft); font-weight: 600; color: var(--ink); }
@media (max-width: 900px) { .tv-phero-in { grid-template-columns: 1fr; } .tv-phero .tv-hero-fig { display: none; } }
.tv-stat { border-left: 4px solid var(--accent); background: var(--bg-soft); padding: 22px 26px; margin: 28px 0; }
.tv-stat .tv-big { color: var(--navy); font-size: 3rem; margin: 0 0 6px; }
.page-hero { background-image: url('../img/illus/grid-hero.svg') !important; }
/* Trafovia spec tables are text-heavy: wrap instead of horizontal scroll */
.table-wrap .spec td, .table-wrap .spec th { white-space: normal; }
.article table.spec th { min-width: 180px; }
/* Long product-line names: keep menu items on one line at laptop widths */
.nav > ul > li > a { white-space: nowrap; }
@media (max-width: 1240px) and (min-width: 901px) {
  .nav ul { gap: 16px; }
  .nav > ul > li > a { font-size: .9rem; }
  .nav .btn { padding: 9px 14px; }
}

/* Keep the complete navigation usable in narrow desktop windows and tablets. */
@media (max-width: 1100px) {
  .nav-toggle { display: block; }
  .nav { display: none; position: absolute; top: 72px; left: 0; right: 0; background: #fff; border-bottom: 1px solid var(--line); padding: 16px 24px 24px; max-height: calc(100svh - 108px); overflow-y: auto; }
  .nav.open { display: block; }
  .nav ul { flex-direction: column; align-items: flex-start; gap: 16px; }
  .nav .mega { display: none; }
}

/* Resource kit */
.tv-resource{padding:26px;border:1px solid #dbe5ed;border-radius:12px;background:white;display:flex;flex-direction:column;align-items:flex-start}
.tv-resource h2{font-size:1.5rem;line-height:1.25}.tv-resource .btn{margin-top:auto}
.tv-resource-figure{margin:0;background:white;border-radius:12px;overflow:hidden;border:1px solid #dbe5ed}
.tv-resource-figure img{display:block;width:100%;height:auto}.tv-resource-figure figcaption{padding:16px 22px;color:#536476;font-size:.9rem}
.tv-hero-fig figcaption{padding:10px 18px;color:#536476;font-size:.8rem;line-height:1.5;background:white}
.tv-brand-video{display:block;width:100%;max-width:1100px;border-radius:12px;background:#0d2a4a}

/* Completed Trafovia content, same visual system. */
.tv-hero-fig img{display:block;width:100%;height:auto;object-fit:contain}
.tv-line img{width:100%;height:auto;object-fit:contain}
.tv-steps{padding-left:24px}.tv-steps li{padding:0 0 18px 10px}.tv-steps strong{color:var(--navy);font-size:1.1rem}
.tv-resource h3{margin-top:0}.tv-resource p{flex:1}
.topbar-links{display:flex;gap:20px}.tv-resource .btn{white-space:normal}
@media(max-width:900px){.tv-hero .tv-hero-fig,.tv-phero .tv-hero-fig{display:block;max-width:600px;width:100%;margin:8px auto 0}.tv-phero-in{gap:28px}.tv-hero{padding:52px 0}.tv-phero{padding:44px 0}.tv-hero-fig{box-shadow:0 12px 32px #0003}.tv-hero-fig img{max-height:340px}.tv-chips{gap:8px}.tv-chips li{font-size:.78rem}.tv-line{grid-template-columns:140px 1fr;gap:16px}.topbar-links{gap:12px}}
@media(max-width:520px){.tv-line{grid-template-columns:1fr}.tv-line img{max-height:240px}.topbar-links{font-size:.75rem}}

.tv-home-complete{padding:78px 0;min-height:560px;background:#061d2d}.tv-home-complete .tv-hero-in{display:block}.tv-home-complete .tv-hero-in>div{max-width:540px}.tv-home-complete .tv-hero-bg{opacity:1;object-position:center}.tv-home-complete:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#041a2be0 0%,#041a2b90 36%,transparent 65%)}.tv-home-complete .tv-hero-in{z-index:1}.tv-home-complete h1{font-size:clamp(2rem,3.5vw,3rem)}.tv-home-mobile{display:none}.tv-concept-note{font-size:.72rem;color:#bac9d5;margin-top:20px}.tv-home-complete .tv-chips li{font-size:.74rem}
@media(max-width:900px){.tv-home-complete{padding:44px 0 0;min-height:0}.tv-home-complete>.tv-hero-bg,.tv-home-complete:after{display:none}.tv-home-complete .tv-hero-in>div{max-width:660px}.tv-home-mobile{display:block;height:270px;overflow:hidden;margin:14px -24px 0;position:relative}.tv-home-mobile img{width:180%;max-width:none;height:auto;position:absolute;right:0;bottom:0}.tv-concept-note{margin-bottom:8px}}

/* Interior banners use the same completed brand concept, beneath a legibility layer. */
.tv-phero{background-image:linear-gradient(105deg,rgba(9,35,59,.97),rgba(9,35,59,.86)),url('../img/products/TF-B01-power-equipment-concept.webp')}
.page-hero{background-image:linear-gradient(105deg,rgba(9,35,59,.95),rgba(9,35,59,.76)),url('../img/products/TF-B01-power-equipment-concept.webp')!important}

.tv-detail-card{display:block;text-decoration:none;border:1px solid var(--line);background:white;border-radius:8px;overflow:hidden;color:var(--navy)}.tv-detail-card img{width:100%;height:auto;display:block}.tv-detail-card h3{font-size:1.05rem;padding:0 18px}.tv-detail-card span{display:block;padding:0 18px 20px;color:var(--accent);font-size:.85rem}

.mobile-cta a:last-child{background:var(--navy)}
@media(max-width:600px){.tv-home-complete{padding-top:30px}.tv-home-complete h1{font-size:1.85rem;line-height:1.16}.tv-home-complete .eyebrow{font-size:.66rem}.tv-home-complete .lead{font-size:.98rem;line-height:1.65}.tv-home-complete .actions{gap:10px;margin:20px 0}.tv-home-complete .actions .btn{font-size:.78rem;padding:12px 13px}.tv-home-complete .tv-chips{display:none}.tv-home-complete .tv-concept-note{margin-top:10px}.tv-home-mobile{height:235px}}
