/* Shared information patterns. Deliberately scoped to opt-in markup. */
:root { --tf-ink:#192e29; --tf-muted:#566762; --tf-line:#d9e1dc; --tf-paper:#f3f5f2; --tf-green:#24594c; }
.tf-visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip-path:inset(50%)!important; white-space:nowrap!important; border:0!important; }
.tf-table-region { width:100%; max-width:100%; min-width:0; margin:20px 0 30px; border-block:1px solid var(--tf-line); background:#fff; }
.tf-scroll { overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:thin; scrollbar-color:#799087 #eef2ef; }
.tf-scroll:focus-visible { outline:3px solid var(--tf-green); outline-offset:4px; }
.tf-table-help { margin:24px 0 8px!important; color:var(--tf-muted)!important; font-size:13px!important; line-height:1.7!important; text-align:left!important; }
body table.tf-table { width:100%; margin:0; border:0; border-radius:0; border-collapse:collapse; border-spacing:0; overflow:visible; background:#fff; color:var(--tf-ink); font-size:15px; line-height:1.85; table-layout:fixed; }
body .tf-table tr { background:transparent; }
body .tf-table :is(th,td) { width:auto; min-width:0; padding:21px 24px; border:0; border-bottom:1px solid var(--tf-line); text-align:left; vertical-align:top; font-size:inherit; line-height:inherit; white-space:normal; overflow-wrap:anywhere; background:transparent; color:inherit; }
body .tf-table thead th { padding-block:18px; background:var(--tf-paper); color:var(--tf-green); font-weight:650; font-size:14px; }
body .tf-table tbody th,body .tf-table tr>th[scope=row] { font-weight:600; color:var(--tf-green); }
body .tf-table tr:last-child :is(th,td) { border-bottom:0; }
body .tf-table td:first-child,body .tf-table th:first-child { width:25%; }
body .tf-table.tf-reference th:first-child { width:26%; }
body .tf-table a { color:var(--tf-green); text-decoration:underline; text-underline-offset:4px; }
body .tf-table code { font-size:.9em; white-space:normal; overflow-wrap:anywhere; }
body .tf-table.ptbl { min-width:1160px; font-variant-numeric:tabular-nums; }
body .tf-table.ptbl :is(th,td) { padding:18px 16px; }
body .tf-table.ptbl :is(th,td):first-child { width:5%; }
body .tf-table.ptbl :is(th,td):nth-child(2),body .tf-table.ptbl :is(th,td):nth-child(3) { width:12%; }
body .tf-table.ptbl :is(th,td):nth-child(4) { width:28%; }
body .tf-table.ptbl :is(th,td):nth-child(5) { width:10%; }
body .tf-table.ptbl :is(th,td):nth-child(6) { width:11%; }
body .tf-table.ptbl :is(th,td):nth-child(n+7) { width:11%; }
/* Price is always paired with its original range, exclusions and conditions. */
body .tf-prices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin-block:30px; border-block:1px solid var(--tf-line); background:#fff; }
body .tf-prices>.p { min-width:0; padding:30px; border:0; border-radius:0; background:transparent; box-shadow:none; text-align:left; color:var(--tf-ink); }
body .tf-prices>.p+.p { border-left:1px solid var(--tf-line); }
body .tf-prices>.p :is(h3,h4) { min-height:3.4em; margin:0 0 20px; font-size:18px; line-height:1.7; font-weight:600; color:var(--tf-green); }
body .tf-prices .amt { margin:0 0 22px; font-size:clamp(24px,2.6vw,34px); font-weight:550; line-height:1.4; color:var(--tf-ink); letter-spacing:-.04em; font-variant-numeric:tabular-nums; }
body .tf-prices .amt small { font-size:16px; color:var(--tf-muted); margin-left:5px; letter-spacing:0; }
body .tf-prices>.p p { margin:0; font-size:15px; line-height:1.9; color:var(--tf-muted); }
body .tf-prices+.note { font-size:14px; color:var(--tf-muted); line-height:1.9; text-align:left; }
/* Description lists use open rows instead of nested boxes. */
body .tf-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 42px; }
body .tf-list>:is(.card,.pain) { min-width:0; border:0; border-top:1px solid var(--tf-line); border-radius:0; padding:26px 0 30px; background:transparent; box-shadow:none; }
body .tf-list .no { font-size:12px; color:var(--tf-muted); font-weight:500; letter-spacing:.1em; }
body .tf-list :is(.card,.pain)>b { display:block; color:var(--tf-green); font-size:21px; font-weight:600; line-height:1.6; margin:10px 0 14px; }
body .tf-list :is(.card,.pain)>p { color:var(--tf-muted); font-size:15px; line-height:1.95; }
body .tf-list .card ul { margin:18px 0 0; padding:0; }
body .tf-list .card li { border-top:1px solid var(--tf-line); padding:9px 0; font-size:14px; line-height:1.75; color:var(--tf-ink); }
body .tf-list .card li:before { content:none; }
body .tf-flow,body .tf-devlist { display:block; padding:0; margin-block:30px; border-top:1px solid var(--tf-line); }
body .tf-flow>.step,body .tf-flow>li,body .tf-devlist>li { position:relative; display:grid; grid-template-columns:42px minmax(0,1fr); gap:20px; margin:0; padding:23px 0; border:0; border-bottom:1px solid var(--tf-line); border-radius:0; background:transparent; box-shadow:none; }
body .tf-flow>.step:after,body .tf-flow>li:after { content:none; }
body .tf-flow :is(.no,i) { display:block; position:static; width:auto; height:auto; border:0; border-radius:0; padding:4px 0; background:none; color:var(--tf-green); font-style:normal; font-size:14px; font-weight:500; line-height:1.8; }
body .tf-flow b,body .tf-devlist b { display:block; color:var(--tf-green); font-size:18px; line-height:1.7; font-weight:600; margin-bottom:6px; }
body .tf-flow p,body .tf-devlist p { font-size:15px; line-height:1.9; color:var(--tf-muted); margin:0; }
body .tf-devlist>li { display:block; padding-left:62px; }
body .tf-devlist>li:before { left:0; top:26px; color:var(--tf-green); font-size:13px; font-weight:500; }
/* Diagram text is selectable HTML; each original titled group stays together. */
body figure.tf-diagram { margin:34px 0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.tf-diagram-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 36px; border-top:1px solid var(--tf-line); }
.tf-diagram-part { min-width:0; padding:24px 0; border-bottom:1px solid var(--tf-line); }
body .tf-diagram-part h3 { margin:0 0 14px; padding:0; border:0; font-size:19px; font-weight:600; line-height:1.65; color:var(--tf-green); }
body .tf-diagram-part ul { margin:0; padding:0; list-style:none; }
body .tf-diagram-part li { padding:4px 0; color:var(--tf-muted); font-size:15px; line-height:1.8; list-style:none; overflow-wrap:anywhere; }
body .tf-diagram-note { grid-column:1/-1; margin:0; padding:15px 0; color:var(--tf-muted); font-size:14px; line-height:1.85; }
body .tf-diagram figcaption { margin:20px 0 0; padding-left:16px; border-left:2px solid #91aaa0; font-size:14px; line-height:1.9; color:var(--tf-muted); text-align:left; }
body .tf-fact { display:grid; grid-template-columns:190px minmax(0,1fr); gap:32px; padding:25px 0; border-bottom:1px solid var(--tf-line); background:transparent; }
body .tf-fact>:first-child { color:var(--tf-green); font-size:15px; font-weight:600; }
body .tf-fact>:last-child { font-size:15px; line-height:1.9; min-width:0; }
body .tf-summary { background:transparent; border:0; border-radius:0; box-shadow:none; padding:26px 0; border-top:1px solid var(--tf-line); }
body .tf-summary h3 { color:var(--tf-green); font-size:21px; }
body .tf-stat { background:var(--tf-paper); border:0; border-radius:0; box-shadow:none; color:var(--tf-green); }
body .tf-specs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 40px; }
body .tf-specs>.spec { background:transparent; border:0; border-radius:0; padding:26px 0; border-top:1px solid var(--tf-line); }
body .tf-specs>.spec b { color:var(--tf-green); font-size:20px; }
body .tf-specs>.spec span { color:var(--tf-muted); font-size:15px; line-height:1.9; }
body .tf-metrics { gap:1px; background:var(--tf-line); border:1px solid var(--tf-line); border-radius:0; }
body .tf-metrics>.mini { border:0; border-radius:0; background:#fff; color:var(--tf-ink); }
@media(max-width:1050px) {
 body .tf-prices>.p { padding:24px 22px; }
 body .tf-table :is(th,td) { padding:18px; }
}
@media(max-width:700px) {
 body .tf-table.tf-comparison { min-width:640px; }
 body .tf-table.tf-reference { table-layout:fixed; }
 body .tf-table.tf-reference th:first-child { width:34%; }
 body .tf-table :is(th,td) { font-size:14px; padding:16px 12px; }
 body .tf-prices { grid-template-columns:1fr; margin-block:24px; }
 body .tf-prices>.p { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:14px 16px; padding:24px 0; }
 body .tf-prices>.p+.p { border-left:0; border-top:1px solid var(--tf-line); }
 body .tf-prices>.p :is(h3,h4) { min-height:0; margin:0; font-size:16px; }
 body .tf-prices .amt { margin:0; font-size:24px; }
 body .tf-prices>.p p { grid-column:1/-1; font-size:14px; }
 body .tf-list { grid-template-columns:1fr; gap:0; }
 body .tf-list>:is(.card,.pain) { padding:22px 0; }
 body .tf-list :is(.card,.pain)>b { font-size:20px; }
 body .tf-flow>.step,body .tf-flow>li { grid-template-columns:26px minmax(0,1fr); gap:14px; padding:20px 0; }
 body .tf-flow b,body .tf-devlist b { font-size:17px; }
 body .tf-devlist>li { padding-left:40px; }
 .tf-diagram-list { grid-template-columns:1fr; }
 .tf-diagram-part { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:16px; padding:22px 0; }
 body .tf-diagram-part h3 { font-size:16px; }
 body .tf-diagram-part li { font-size:14px; padding:3px 0; }
 body .tf-fact { grid-template-columns:1fr; gap:10px; padding:22px 0; }
 body .tf-specs { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) { .tf-scroll { scroll-behavior:auto; } }
/* Legacy utility-CSS pages opt into the same information rhythm by section. */
body .tf-info-section { width:min(1080px,calc(100% - 80px)); max-width:1080px; min-width:0; margin:0 auto; padding:72px 0; background:#fff; color:var(--tf-ink); }
body .tf-info-section h2 { margin:0 0 34px; font-size:clamp(26px,3vw,38px); line-height:1.55; letter-spacing:-.035em; font-weight:600; color:var(--tf-ink); }
body .tf-info-section h3,body .tf-info-section .tf-flow h3 { margin:0 0 12px; font-size:20px; line-height:1.65; font-weight:600; color:var(--tf-green); }
body .tf-info-section .tf-flow h3 { font-size:18px; }
body .tf-info-section .tf-flow p { margin:0; }
body .tf-info-section .tf-flow h3 span { display:inline; }
body .tf-info-section .tf-kicker { color:var(--tf-green); font-size:11px; letter-spacing:.15em; margin:0 0 16px; }
body .tf-info-section .tf-info-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 36px; width:100%; max-width:100%; align-items:start; padding:0; border:0; background:transparent; }
body .tf-info-section .tf-info-item { width:100%; min-width:0; max-width:100%; min-height:0; height:auto; margin:0; padding:24px 0; border:0; border-top:1px solid var(--tf-line); border-radius:0; background:transparent; box-shadow:none; color:var(--tf-ink); }
body .tf-info-section .tf-info-item :is(p,li) { font-size:15px; line-height:1.85; color:var(--tf-muted); }
body .tf-info-section .tf-info-item ul { width:100%; gap:0; }
body .tf-info-section .tf-info-item li { padding:8px 0; border-bottom:1px solid var(--tf-line); }
body .tf-info-section .tf-info-item>div:has(>svg):not(:has(p,h3,a)) { display:none; }
body .tf-info-section .tf-info-item li>svg { display:none; }
body .tf-info-section .tf-info-item .tf-info-item { padding:16px 0; }
body .tf-info-section .tf-info-item :is([class*="bg-gradient"],[class*="bg-white"],[class*="bg-zinc"],[class*="bg-gray"]) { background:transparent; box-shadow:none; border-radius:0; }
body .tf-info-section .tf-info-item [class*="min-h-"] { min-height:0; }
body .tf-info-section .tf-info-item [class*="text-white"] { color:var(--tf-green); }
body .tf-info-section a { text-underline-offset:4px; }
body .tf-info-section a:hover { text-decoration:underline; }
body .tf-stage-strip { display:flex; justify-content:space-between; gap:16px; padding:14px 0; border-block:1px solid var(--tf-line); color:var(--tf-green); font-size:14px; }
body .tf-info-section [class*="aspect-"]:has(>.tf-stage-strip) { aspect-ratio:auto; overflow:visible; }
@media(max-width:700px) {
 body .tf-info-section { width:calc(100% - 40px); padding:48px 0; }
 body .tf-info-section .tf-info-grid { grid-template-columns:1fr; gap:0; }
 body .tf-info-section .tf-info-item { padding:22px 0; }
 body .tf-info-section h3 { font-size:19px; }
}
/* Reset the older mobile card-table rules; retain native table semantics. */
body table.tf-table { display:table; }
body .tf-table thead { display:table-header-group; }
body .tf-table tbody { display:table-row-group; }
body .tf-table tr { display:table-row; border:0; border-radius:0; box-shadow:none; margin:0; }
body .tf-table :is(th,td) { display:table-cell; }
body .tf-table :is(th,td):before,body .tf-table :is(th,td):after { content:none; }
body .tf-prices>.p.mid { background:transparent; border-radius:0; box-shadow:none; transform:none; }
body .tf-prices>.p.mid:before { content:none; }
body .tf-prices>.p { padding:30px; }
@media(max-width:700px) {
 body .tf-prices>.p { padding:24px 0; }
 body .tf-table.tf-reference th:first-child { width:34%; }
 body .tf-table.tf-reference td { width:66%; }
}
/* Authored static content must not depend on the archived reveal animation. */
body .tf-info-section .section-reveal,body .tf-info-section [style*="opacity:0"],body .tf-info-section [style*="opacity: 0"] { opacity:1!important; transform:none!important; }
body .tf-info-section h2 span { font-size:inherit!important; line-height:inherit!important; }
body .tf-info-section h2 .pointer-events-none { display:none!important; }
body .tf-info-section>div { gap:32px!important; }
body .tf-info-section .tf-info-item li>* { border:0!important; }
body .tf-info-section .tf-info-item li span { font-size:inherit; }
body .tf-info-section .tf-flow p span { display:inline; }
body .tf-info-section .tf-info-item [class*="text-green"],body .tf-info-section .tf-info-item [class*="text-red"] { color:var(--tf-green); }
@media(max-width:700px) {
 body .tf-table.tf-reference th:first-child { width:34%!important; font-size:14px!important; }
 body .tf-table.tf-reference :is(th,td) { padding:16px 12px!important; }
}
body .tf-diagram-route { margin:0 0 22px; padding:18px 20px; background:#eaf0eb; color:var(--tf-green); font-size:14px; line-height:1.9; border-left:2px solid #809e8f; }
body .tf-history { padding:0; border-top:1px solid var(--tf-line); }
body .tf-history:before,body .tf-history .ev:before { content:none; }
body .tf-history .ev { display:grid; grid-template-columns:100px minmax(0,1fr); gap:28px; padding:23px 0; margin:0; border:0; border-bottom:1px solid var(--tf-line); background:transparent; border-radius:0; box-shadow:none; }
body .tf-history .d { color:var(--tf-green); font-size:14px; font-weight:500; }
body .tf-history .t { font-size:16px; line-height:1.8; color:var(--tf-ink); }
body .tf-history small { font-size:14px; color:var(--tf-muted); }
body .tf-history .badge { color:var(--tf-muted); background:var(--tf-paper); border:0; font-size:11px; font-weight:500; }
body .tf-service-catalog>h2 { margin-top:64px; padding-top:28px; border-top:1px solid var(--tf-line); font-size:30px; color:var(--tf-green); line-height:1.55; }
body .tf-service-catalog>h3 { margin:32px 0 14px; font-size:22px; color:var(--tf-green); }
body .tf-service-catalog>a:has(h3) { display:block; padding:28px 0; border-bottom:1px solid var(--tf-line); color:var(--tf-green); }
body .tf-service-catalog>a:has(h3) h3 { margin:0 0 10px; font-size:22px; }
body .tf-service-catalog>a:has(h3) p { margin:0 0 16px; font-size:15px; color:var(--tf-muted); }
body .tf-service-catalog>ul { padding:18px 24px; background:var(--tf-paper); }
body .tf-service-catalog>ul li { padding:7px 0; font-size:15px; }
body .tf-catalog-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 36px; }
body .tf-catalog-list .i { border:0; border-top:1px solid var(--tf-line); border-radius:0; padding:26px 0; box-shadow:none; background:transparent; }
body .tf-catalog-list .i b { color:var(--tf-green); font-size:20px; }
body .tf-catalog-list .i p { color:var(--tf-muted); font-size:15px; }
body .tf-catalog-list .i a { display:block; padding:8px 0; line-height:1.8; color:var(--tf-green); font-size:14px; }
@media(max-width:700px) {
 body .tf-history .ev { grid-template-columns:65px minmax(0,1fr); gap:16px; }
 body .tf-catalog-list { grid-template-columns:1fr; }
}
/* Legacy shells use fixed desktop widths; allow the content area to shrink. */
body:has(.tf-info-section) main>section,body:has(.tf-info-section) main>div { max-width:100%; min-width:0; }
body:has(.tf-info-section) [class~="lg:min-w-[1100px]"] { min-width:0; max-width:100%; }
@media(min-width:1024px) and (max-width:1279px) {
 body:has(.tf-info-section) header [class~="max-lg:hidden"] { display:none; }
 body:has(.tf-info-section) header [class~="lg:hidden"] { display:flex; }
}
body:has(.tf-specs) .ai-wrap,body:has(.tf-specs) .ai-copy,body:has(.tf-specs) .dash,body:has(.tf-specs) .ai-point>div { min-width:0; max-width:100%; }
@media(max-width:700px) {
 body:has(.tf-specs) .soc-row { flex-direction:column; align-items:stretch; }
 body:has(.tf-specs) .tf-metrics { width:100%; }
 body:has(.tf-specs) .ai-wrap { grid-template-columns:minmax(0,1fr); }
 body:has(.tf-specs) .dash-top { flex-wrap:wrap; gap:10px; }
}
body .tf-steps { padding:0; margin:28px 0; background:transparent; border:0; }
body .tf-steps>li { padding:18px 0 18px 32px; border-bottom:1px solid var(--tf-line); font-size:15px; line-height:1.85; color:var(--tf-ink); }
body:has(.tf-info-section) main section,body:has(.tf-info-section) main [class~="lg:w-body"],body:has(.tf-info-section) main [class~="lg:w-[1024px]"] { max-width:100%; min-width:0; }
body:has(.tf-info-section) main [class~="lg:w-body2xl"] { max-width:100%; min-width:0; }
body:has(.tf-specs) .clima-copy,body:has(.tf-specs) .dial-card { min-width:0; max-width:100%; }
@media(max-width:700px) {
 body:has(.tf-specs) .clima-wrap { grid-template-columns:minmax(0,1fr); }
}
body .tf-info-section .tf-info-item { opacity:1!important; transform:none!important; }
body .tf-info-section * { min-width:0; max-width:100%; }
body .tf-table.tf-comparison.ptbl { min-width:1160px; }
body .tf-table.tf-reference :is(th,td):first-child,body .tf-table.tf-reference td { width:auto!important; }
body .tf-table.tf-reference col:first-child { width:26%; }
body .tf-table.tf-reference col:last-child { width:74%; }
@media(max-width:700px) {
 body .tf-table.tf-reference col:first-child { width:34%; }
 body .tf-table.tf-reference col:last-child { width:66%; }
 body .tf-diagram,body .tf-prices>.p,body .tf-prices>.p.mid { padding-inline:0!important; }
 body .tf-flow>.step { padding:20px 0!important; }
 body .tf-devlist>li { padding:20px 0 20px 40px!important; }
 body .tf-devlist>li:before { position:absolute!important; margin:0; }
}
body .tf-solution { padding-inline:0; }
body .tf-solution>p { margin:16px 0; font-size:15px; line-height:1.9; color:var(--tf-muted); }
body .tf-solution>h3 { margin:40px 0 20px; }
.tf-stages { margin:32px 0; border-top:1px solid var(--tf-line); }
.tf-stage { display:grid; grid-template-columns:180px minmax(0,1fr); gap:36px; padding:28px 0; border-bottom:1px solid var(--tf-line); }
body .tf-stage h3 { margin:0; font-size:20px; color:var(--tf-green); }
body .tf-stage-body p { margin:0 0 10px; color:var(--tf-muted); font-size:15px; line-height:1.85; }
body .tf-stage-body a,body .tf-solution>a { display:flex; align-items:center; flex-wrap:wrap; gap:16px 28px; padding:16px 0; border-top:1px solid var(--tf-line); color:var(--tf-green); font-size:15px; line-height:1.85; }
body .tf-stage-body a img,body .tf-solution>a img { position:static; width:130px; height:auto; max-height:48px; object-fit:contain; }
body .tf-stage-body a p { flex:1; min-width:160px; margin:0; }
@media(max-width:700px) {
 .tf-stage { grid-template-columns:1fr; gap:16px; padding:24px 0; }
 body .tf-stage h3 { font-size:18px; }
 body .tf-stage-body a { gap:12px; padding:14px 0; }
}
body .tf-stage-body img[src*="/White_"] { background:var(--tf-green); padding:8px; border-radius:2px; }
body .tf-stage-body>p:first-child { color:var(--tf-green); font-weight:600; }
body:has(.tf-info-section) main .section-reveal { width:100%; max-width:100%; min-width:0; }
body:has(.tf-info-section) main .section-reveal>[class],body:has(.tf-info-section) main .section-reveal [class~="lg:grid-cols-3"] { min-width:0; max-width:100%; }
body:has(.tf-info-section) main { min-width:0!important; width:100%; max-width:calc(100vw - 24px)!important; margin-inline:auto; }
body:has(.tf-info-section) main>div { min-width:0; max-width:100%; }
body section.tf-info-section { width:min(1080px,calc(100% - 56px))!important; min-width:0!important; max-width:100%!important; margin-inline:auto!important; }
@media(max-width:700px) { body section.tf-info-section { width:calc(100% - 16px)!important; } }
body:has(.tf-info-section) main section>div { width:100%; min-width:0; max-width:100%; box-sizing:border-box; }
/* Off-screen reveal translations otherwise enlarge the document before scrolling. */
body:has(.tf-info-section) main .section-reveal { transform:none!important; }
body .tf-info-section [class] { filter:none!important; }
body .tf-info-section div[class*="bg-"] { background:transparent!important; border-radius:0!important; box-shadow:none!important; }
body .tf-info-section [class*="text-white"] { color:var(--tf-green)!important; }
body .tf-info-section img[src*="/White_"] { background:var(--tf-green); padding:8px; }
.tf-flow-compare { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px; border-top:1px solid var(--tf-line); padding-top:28px; }
body .tf-flow-compare h3 { min-height:3.3em; margin:0 0 20px; font-size:20px; line-height:1.65; }
body .tf-flow-compare ol { list-style:decimal; margin:0; padding-left:24px; }
body .tf-flow-compare li { padding:15px 0 15px 5px; border-bottom:1px solid var(--tf-line); color:var(--tf-muted); font-size:15px; line-height:1.8; }
body .tf-flow-compare li::marker { color:var(--tf-green); font-size:12px; }
@media(max-width:700px) {
 .tf-flow-compare { gap:20px; }
 body .tf-flow-compare h3 { font-size:16px; }
 body .tf-flow-compare li { font-size:14px; padding-block:14px; }
}
body .tf-solution h4 { margin:30px 0 14px; color:var(--tf-green); font-size:18px; }
.tf-brand-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 24px; margin:12px 0 28px; }
.tf-brand-links a { display:flex; align-items:center; min-height:68px; padding:14px 0; border-top:1px solid var(--tf-line); }
.tf-brand-links img { width:160px; height:32px; object-fit:contain; object-position:left center; }
.tf-support-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 24px; list-style:none; padding:0; margin:20px 0; }
.tf-support-list li { padding:12px 0; border-top:1px solid var(--tf-line); font-size:15px; color:var(--tf-muted); }
@media(max-width:700px) { .tf-brand-links,.tf-support-list { grid-template-columns:repeat(2,minmax(0,1fr)); } .tf-brand-links img { width:125px; } }

/* Static authored sections do not depend on the archived reveal observer. */
body .tf-info-section,body .tf-info-section * { opacity:1!important; visibility:visible!important; transform:none!important; }
/* Keep the legacy menu reachable beside the brand at narrow widths. */
@media(max-width:700px) {
 body:has(.tf-info-section) header [class~="min-w-[220px]"] { min-width:0; flex:1; }
 body:has(.tf-info-section) header [class~="min-w-[220px]"]>.relative,
 body:has(.tf-info-section) header [class~="min-w-[220px]"]>span { display:none; }
 body:has(.tf-info-section) header [class~="overflow-x-auto"] { overflow:visible; flex:none; }
 body:has(.tf-info-section) header [class~="overflow-x-auto"]>.relative { display:none; }
}

/* Company facts: open definition rows, including the older label utilities. */
body dl.tbl:has(.tf-fact) { border:0; border-radius:0; box-shadow:none; overflow:visible; }
body .tbl .tf-fact { background:transparent; }
body .tbl .tf-fact .k,body .tbl .tf-fact .v { margin:0; padding:0; background:transparent; font-size:15px; color:var(--tf-ink); }
body .tbl .tf-fact .k { color:var(--tf-green); font-weight:600; align-items:start; }
body .tbl .tf-fact .k i { display:none; }
body .tbl .tf-fact .v .tag { border:0; background:var(--tf-paper); border-radius:2px; color:var(--tf-green); font-size:13px; font-weight:500; padding:5px 8px; }
body .tbl .tf-fact .v small { color:var(--tf-muted); font-size:13px; line-height:1.8; }
/* The AIVIS shell is dark; this information section uses the shared light surface. */
body section:has(.tf-specs) { background:#fff; color:var(--tf-ink); }
body section:has(.tf-specs) :is(h2,.sec-title,.lead) { color:var(--tf-ink); }
body .tf-info-section .tf-info-item :is(svg[aria-hidden=true],.tf-info-item svg) { display:none; }
body .tf-info-section .tf-info-item img { object-fit:contain; }
/* Open rows for legacy problem/solution illustrations and compact feature panels. */
body .tf-info-section article { height:auto!important; min-height:0!important; padding:20px 0!important; border:0!important; border-top:1px solid var(--tf-line)!important; border-radius:0!important; background:transparent!important; box-shadow:none!important; }
body .tf-info-section article [aria-hidden=true],body .tf-info-section [class*="border-t-"][aria-hidden=true] { display:none; }
body .tf-info-section article :is(p,h3,h4) { text-align:left; }
body .tf-info-section article p { font-size:15px; line-height:1.85; color:var(--tf-muted); }
body .tf-info-section article h4 { color:var(--tf-green); font-size:17px; line-height:1.7; }
body .tf-info-section article .absolute { position:static; }
body .tf-info-section .tf-info-item .tf-info-grid { grid-template-columns:1fr; }
body .tf-info-section .tf-info-item .tf-info-item { border-top:0; }
body section#specs:has(.tf-specs) { background:#fff!important; color:var(--tf-ink); }
body section#specs:has(.tf-specs) h2 { color:var(--tf-ink); }

.tf-impact-list,.tf-result-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
body .tf-impact-row,body .tf-result-row { display:block; height:auto; min-height:0; padding:24px 0; border-top:1px solid var(--tf-line); color:var(--tf-green); }
body .tf-impact-row h3 { margin:14px 0 8px; font-size:18px; }
body .tf-impact-row p,body .tf-result-row p { font-size:15px; line-height:1.8; color:var(--tf-muted); }
body .tf-impact-row>div>div:first-child { font-size:28px; font-weight:600; }
body .tf-result-row>div:first-child p:first-child { color:var(--tf-green); font-weight:600; }
body .tf-result-row>div:last-child { margin-top:18px; }
body .tf-result-row>div:last-child>p:first-child,body .tf-result-row>div:last-child>div { font-size:28px; font-weight:600; color:var(--tf-green); }
body .tf-feature-pair { display:block; border-top:1px solid var(--tf-line); padding:24px 0; }
body .tf-feature-picture { margin-top:24px; }
body .tf-info-section .tf-feature-copy p { font-size:15px; line-height:1.85; }
@media(max-width:700px) { .tf-impact-list,.tf-result-list { grid-template-columns:1fr; gap:0; } }
