/* TC Engineering Article Layout. Every selector is rooted in the four opt-in articles. */
.tc-v1 .tc-eng-article{--eng-green:#124a35;--eng-ink:#17342b;--eng-muted:#52635c;--eng-line:#dce4de;--eng-surface:#f3f6f2;--eng-sticky:20px;background:#fff}
.tc-v1 .tc-eng-article .tc-resource-shell{width:calc(100% - 64px);max-width:1400px;margin-inline:auto;padding-inline:0}
.tc-v1 .tc-eng-article .tc-resource-hero{padding:30px 0 32px;background:#f4f5f2;border-bottom:1px solid #e6ebe5}
.tc-v1 .tc-eng-article .tc-eng-hero-grid{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(0,1fr);align-items:center;gap:38px}
.tc-v1 .tc-eng-article .tc-eng-no-cover{grid-template-columns:minmax(0,1100px)}
.tc-v1 .tc-eng-article .tc-resource-breadcrumb{gap:10px;font-size:13px;line-height:1.5}
.tc-v1 .tc-eng-article .tc-resource-eyebrow{margin:22px 0 14px;color:#18583e;font-size:12px;letter-spacing:.035em;font-weight:650}
.tc-v1 .tc-eng-article h1{max-width:none;font-size:clamp(32px,2.8vw,43px);line-height:1.12;letter-spacing:-.035em;text-wrap:pretty;font-weight:600;color:#19322b}
.tc-v1 .tc-eng-article .tc-resource-meta{margin:20px 0 0;color:var(--eng-muted);font-size:13px;line-height:1.5}
.tc-v1 .tc-eng-article .tc-resource-hero-image{width:100%;max-width:none;margin:0}
.tc-v1 .tc-eng-article .tc-resource-hero-image img{width:100%;height:auto;max-height:300px;aspect-ratio:auto;object-fit:contain;border-radius:14px;background:#fff}
.tc-v1 .tc-eng-article .tc-resource-hero-image figcaption{margin:8px 0 0;font-size:12px;line-height:1.45;color:var(--eng-muted)}
.tc-v1 .tc-eng-article .tc-eng-reading{display:grid;grid-template-columns:210px minmax(0,1fr) 260px;align-items:start;gap:26px;padding:30px 0 48px}
.tc-v1 .tc-eng-article .tc-resource-body{min-width:0;width:100%;max-width:none;margin:0;padding:0;color:#273d34}
.tc-v1 .tc-eng-article .tc-resource-body>p{max-width:none;margin:0 0 20px;font-size:16px;line-height:1.7;overflow-wrap:break-word}
.tc-v1 .tc-eng-article .tc-resource-body>.tc-resource-lead{padding:19px 22px;background:#f2f3e9;border-radius:10px;font-size:16px;line-height:1.65}
.tc-v1 .tc-eng-article .tc-resource-body h2{max-width:none;margin:38px 0 12px;font-size:26px;line-height:1.2;letter-spacing:-.025em;font-weight:600;color:var(--eng-green);scroll-margin-top:calc(var(--eng-sticky) + 20px);text-wrap:pretty}
.tc-v1 .tc-eng-article .tc-resource-body h3{max-width:none;margin:28px 0 12px;font-size:21px;line-height:1.3;letter-spacing:-.015em;font-weight:600;color:var(--eng-green);scroll-margin-top:calc(var(--eng-sticky) + 20px)}
.tc-v1 .tc-eng-article .tc-resource-body :is(ul,ol){margin:0 0 22px;padding-left:24px;font-size:16px;line-height:1.7}
.tc-v1 .tc-eng-article .tc-resource-body li+li{margin-top:7px}
.tc-v1 .tc-eng-article .tc-resource-body a{text-decoration-thickness:1px;color:#165c3d;text-underline-offset:3px;overflow-wrap:anywhere}
.tc-v1 .tc-eng-article .tc-resource-body>.tc-eng-note{padding:18px 20px;background:#f4f5ed;border:1px solid #e2e6d8;border-radius:10px}
.tc-v1 .tc-eng-article .tc-resource-body :is(figure,.tc-resource-figure){max-width:100%;margin:26px 0;padding:14px;background:#f6f7f4;border:1px solid #e5e9e2;border-radius:12px}
.tc-v1 .tc-eng-article .tc-resource-body figure img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;aspect-ratio:auto;border-radius:6px}
.tc-v1 .tc-eng-article .tc-resource-body figcaption{margin-top:10px;font-size:13px;line-height:1.5;color:var(--eng-muted)}
.tc-v1 .tc-eng-article .tc-resource-table-block{min-width:0;margin:24px 0 30px}
.tc-v1 .tc-eng-article .tc-resource-table-title{margin-bottom:10px;color:var(--eng-green);font-size:15px;line-height:1.5;font-weight:650}
.tc-v1 .tc-eng-article .tc-resource-table-scroll{width:100%;max-width:100%;overflow:auto;overscroll-behavior-x:contain;border:1px solid #cfdccf;border-radius:10px;scrollbar-color:#779583 #edf2eb}
.tc-v1 .tc-eng-article table{width:100%;min-width:640px;font-size:14px;line-height:1.5;border-collapse:collapse;table-layout:auto}
.tc-v1 .tc-eng-article table :is(th,td){padding:12px 13px;border:1px solid #d8e2d8;vertical-align:top;text-align:left;overflow-wrap:normal;word-break:normal}
.tc-v1 .tc-eng-article table th{background:var(--eng-green);color:#fff;font-weight:650}
.tc-v1 .tc-eng-article table tbody tr:nth-child(even){background:#f2f5ef}
.tc-v1 .tc-eng-article .tc-resource-table-hint{display:block;margin-top:8px;color:var(--eng-muted);font-size:12px;line-height:1.45}
.tc-v1 .tc-eng-article .tc-resource-body>.tc-resource-source-title{margin:20px 0 5px;font-size:14px;line-height:1.5}
.tc-v1 .tc-eng-article .tc-resource-body>.tc-resource-source-note{margin:0 0 15px;color:var(--eng-muted);font-size:14px;line-height:1.55}
.tc-v1 .tc-eng-article .tc-eng-toc{min-width:0;position:sticky;top:var(--eng-sticky);padding:18px 14px;background:var(--eng-surface);border-radius:12px}
.tc-v1 .tc-eng-article .tc-eng-toc details{max-height:calc(100dvh - var(--eng-sticky) - 40px);overflow:auto;scrollbar-width:thin}
.tc-v1 .tc-eng-article .tc-eng-toc summary{list-style:none;font-size:16px;font-weight:700;color:var(--eng-ink);padding:0 8px 12px;cursor:default}
.tc-v1 .tc-eng-article .tc-eng-toc summary::-webkit-details-marker{display:none}
.tc-v1 .tc-eng-article .tc-eng-toc ol{list-style:none;margin:0;padding:0}
.tc-v1 .tc-eng-article .tc-eng-toc li{margin:0}
.tc-v1 .tc-eng-article .tc-eng-toc a{display:block;padding:10px 9px;border-radius:5px;color:#2c493a;font-size:13px;line-height:1.45;text-decoration:none;border-left:2px solid transparent;overflow-wrap:break-word}
.tc-v1 .tc-eng-article .tc-eng-toc a:hover{background:#e8eee3;color:#0e4b2d}
.tc-v1 .tc-eng-article .tc-eng-toc a[aria-current]{background:#e2ecde;border-left-color:#205c39;color:#12452d;font-weight:650}
.tc-v1 .tc-eng-article .tc-eng-support{min-width:0;display:grid;gap:18px;align-content:start}
.tc-v1 .tc-eng-article .tc-eng-card{padding:20px;background:var(--eng-surface);border-radius:12px}
.tc-v1 .tc-eng-article .tc-eng-card h2{margin:0 0 15px;font-size:19px;line-height:1.2;letter-spacing:-.02em;font-weight:600;color:var(--eng-green)}
.tc-v1 .tc-eng-article .tc-eng-checks{display:grid;gap:13px}
.tc-v1 .tc-eng-article .tc-eng-checks label{display:flex;align-items:flex-start;gap:9px;cursor:pointer;font-size:13px;line-height:1.5;color:#304b3c}
.tc-v1 .tc-eng-article .tc-eng-checks input{flex:none;width:16px;height:16px;margin:2px 0 0;accent-color:var(--eng-green)}
.tc-v1 .tc-eng-article .tc-eng-review{background:#164e38;color:#fff}
.tc-v1 .tc-eng-article .tc-eng-review h2{color:#fff;margin-bottom:20px}
.tc-v1 .tc-eng-article .tc-eng-review-link{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:13px 14px;background:#f8f2db;color:#153e2a;border-radius:7px;font-size:13px;font-weight:650;line-height:1.45;text-decoration:none}
.tc-v1 .tc-eng-article .tc-eng-review-link:hover{background:#fff}
.tc-v1 .tc-eng-article .tc-eng-related ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.tc-v1 .tc-eng-article .tc-eng-related a{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:12px;background:#fff;border-radius:6px;font-size:13px;font-weight:550;line-height:1.4;color:#193c2c;text-decoration:none}
.tc-v1 .tc-eng-article .tc-eng-related a:hover{color:#145f36;background:#e7eee2}
.tc-v1 .tc-eng-article :is(.tc-eng-toc a,.tc-eng-card a,.tc-eng-toc summary,.tc-eng-checks input):focus-visible{outline:3px solid #377958;outline-offset:3px}
.tc-v1 .tc-eng-article .tc-resource-body :is(h2,h3):focus{outline:none}
@media(max-width:1279px) and (min-width:820px){
.tc-v1 .tc-eng-article .tc-resource-shell{width:calc(100% - 48px)}
.tc-v1 .tc-eng-article .tc-eng-reading{grid-template-columns:210px minmax(0,1fr);gap:24px}
.tc-v1 .tc-eng-article .tc-eng-toc{grid-column:1;grid-row:1 / span 2}
.tc-v1 .tc-eng-article .tc-resource-body{grid-column:2}
.tc-v1 .tc-eng-article .tc-eng-support{grid-column:2;grid-template-columns:repeat(2,minmax(0,1fr))}
.tc-v1 .tc-eng-article .tc-eng-hero-grid{gap:26px}
.tc-v1 .tc-eng-article h1{font-size:34px}
}
@media(max-width:819px){
.tc-v1 .tc-eng-article .tc-resource-shell{width:calc(100% - 32px)}
.tc-v1 .tc-eng-article .tc-resource-hero{padding:24px 0 26px}
.tc-v1 .tc-eng-article .tc-eng-hero-grid{grid-template-columns:minmax(0,1fr);gap:24px}
.tc-v1 .tc-eng-article h1{font-size:clamp(29px,6.8vw,38px);line-height:1.14;letter-spacing:-.03em}
.tc-v1 .tc-eng-article .tc-resource-eyebrow{margin:20px 0 12px}
.tc-v1 .tc-eng-article .tc-resource-meta{margin-top:18px}
.tc-v1 .tc-eng-article .tc-eng-reading{display:flex;flex-direction:column;gap:28px;padding:24px 0 36px}
.tc-v1 .tc-eng-article .tc-eng-toc{position:static;width:100%;padding:15px 14px}
.tc-v1 .tc-eng-article .tc-eng-toc details{max-height:none;overflow:visible}
.tc-v1 .tc-eng-article .tc-eng-toc summary{padding:2px 8px;display:flex;justify-content:space-between;cursor:pointer}
.tc-v1 .tc-eng-article .tc-eng-toc summary::after{content:'+';font-weight:400}
.tc-v1 .tc-eng-article .tc-eng-toc details[open] summary::after{content:'−'}
.tc-v1 .tc-eng-article .tc-eng-toc ol{padding-top:12px}
.tc-v1 .tc-eng-article .tc-resource-body>p{font-size:16px;line-height:1.7}
.tc-v1 .tc-eng-article .tc-resource-body>.tc-resource-lead{padding:17px 18px;font-size:16px}
.tc-v1 .tc-eng-article .tc-resource-body h2{font-size:25px;margin-top:34px}
.tc-v1 .tc-eng-article .tc-resource-body h3{font-size:20px;margin-top:26px}
.tc-v1 .tc-eng-article .tc-eng-support{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.tc-v1 .tc-eng-article .tc-eng-card{padding:18px}
.tc-v1 .tc-eng-article .tc-resource-body figure{padding:8px}
}
@media(max-width:559px){.tc-v1 .tc-eng-article .tc-eng-support{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.tc-v1 .tc-eng-article *{scroll-behavior:auto!important}}

@media(max-width:819px){.tc-v1 .tc-eng-article .tc-resource-hero-image img{max-height:none}}

.tc-v1 .tc-eng-article .tc-eng-hero-excerpt{max-width:66ch;margin:16px 0 0;font-size:16px;line-height:1.6;color:#304b3e}
