/* Public marketing site — intentionally scoped so the tenant CRM/CMS remains unchanged. */
html, body { min-width:320px; margin:0; }
.tc-site { --tc-navy:#071832; --tc-blue:#123661; --tc-orange:#ff5a14; --tc-ink:#16253b; --tc-muted:#56657a; --tc-line:#dbe3ec; --tc-tint:#f4f7fb; min-height:100vh; color:var(--tc-ink); background:#fff; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.tc-site *, .tc-site *::before, .tc-site *::after { box-sizing:border-box; }
.tc-site a { color:inherit; }
.tc-site p { line-height:1.7; }
.tc-container { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
.tc-narrow { max-width:850px; }
.sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.tc-header { position:sticky; top:0; z-index:100; display:flex; align-items:center; justify-content:space-between; min-height:78px; padding:10px max(24px,calc((100vw - 1180px)/2)); background:rgba(255,255,255,.94); border-bottom:1px solid rgba(219,227,236,.78); box-shadow:0 8px 30px rgba(7,24,50,.035); backdrop-filter:blur(18px); }
.tc-brand { display:inline-flex; align-items:center; gap:10px; color:var(--tc-navy); font-size:1.18rem; font-weight:900; letter-spacing:-.03em; text-decoration:none; }
.tc-brand img { width:42px; height:42px; object-fit:contain; }
.tc-brand small { display:block; color:var(--tc-muted); font-size:.62rem; font-weight:800; letter-spacing:.18em; line-height:1; text-transform:uppercase; }
.tc-nav { display:flex; align-items:center; gap:5px; font-size:.9rem; font-weight:750; }
.tc-nav>a,.tc-dropdown>summary { display:flex; align-items:center; min-height:44px; padding:0 12px; border-radius:8px; text-decoration:none; cursor:pointer; list-style:none; }
.tc-dropdown>summary::-webkit-details-marker { display:none; }
.tc-nav>a:hover,.tc-nav>a:focus-visible,.tc-dropdown>summary:hover,.tc-dropdown>summary:focus-visible { color:var(--tc-orange); background:#fff4ee; outline:none; }
.tc-dropdown { position:relative; }
.tc-dropdown>summary span { margin-left:6px; }
.tc-dropdown-menu { position:absolute; top:calc(100% + 8px); left:0; display:grid; width:286px; padding:9px; background:#fff; border:1px solid var(--tc-line); border-radius:12px; box-shadow:0 20px 45px rgba(7,24,50,.16); }
.tc-dropdown-menu a { padding:11px 12px; border-radius:7px; text-decoration:none; }
.tc-dropdown-menu a:hover,.tc-dropdown-menu a:focus-visible { color:var(--tc-orange); background:#fff4ee; outline:2px solid transparent; }
.tc-dropdown-overview { margin-bottom:6px; color:var(--tc-muted)!important; border-bottom:1px solid var(--tc-line); border-radius:0!important; font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; }
.tc-nav .tc-nav-cta { margin-left:8px; padding-inline:16px; color:#fff; background:var(--tc-orange); }
.tc-nav .tc-nav-cta:hover,.tc-nav .tc-nav-cta:focus-visible { color:#fff; background:#db4200; }
.tc-menu-button { display:none; min-height:44px; padding:0 15px; color:var(--tc-navy); background:#fff; border:1px solid var(--tc-line); border-radius:8px; font:inherit; font-weight:800; cursor:pointer; }
.tc-hero,.tc-page-hero,.tc-service-hero { overflow:hidden; background:radial-gradient(circle at 84% 26%,rgba(255,90,20,.13),transparent 29%),radial-gradient(circle at 12% 72%,rgba(18,54,97,.065),transparent 25%),linear-gradient(135deg,#fff 12%,#f5f8fc 100%); }
.tc-hero { position:relative; padding:104px 0 116px; isolation:isolate; }
.tc-hero::before { position:absolute; z-index:-1; inset:0 0 auto 46%; height:720px; opacity:.7; background:linear-gradient(rgba(18,54,97,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(18,54,97,.045) 1px,transparent 1px); background-size:34px 34px; mask-image:linear-gradient(135deg,transparent 4%,#000 40%,transparent 90%); content:""; }
.tc-hero::after { position:absolute; z-index:-1; top:138px; right:max(4vw,calc((100vw - 1280px)/2)); width:260px; height:260px; opacity:.38; background:radial-gradient(circle,rgba(255,90,20,.24),rgba(255,90,20,.04) 42%,transparent 70%); border:1px solid rgba(255,90,20,.13); border-radius:50%; box-shadow:0 0 0 34px rgba(255,255,255,.22),0 0 0 35px rgba(18,54,97,.055); content:""; }
.tc-hero-intro { position:relative; z-index:1; max-width:920px; }
.tc-eyebrow { margin:0 0 14px; color:var(--tc-orange); font-size:.76rem; font-weight:900; letter-spacing:.16em; line-height:1.2!important; text-transform:uppercase; }
.tc-site h1,.tc-site h2,.tc-site h3 { margin-top:0; color:var(--tc-navy); letter-spacing:-.035em; }
.tc-hero h1 { max-width:780px; margin-bottom:26px; font-size:clamp(3rem,5.7vw,5.6rem); line-height:.98; text-wrap:balance; }
.tc-hero h1 span { position:relative; display:inline-block; color:var(--tc-orange); }
.tc-hero h1 span::after { position:absolute; z-index:-1; right:0; bottom:-7px; left:0; height:8px; opacity:.22; background:linear-gradient(90deg,var(--tc-orange),transparent 94%); border-radius:999px; content:""; }
.tc-lead { max-width:790px; margin:0; color:#43536a; font-size:clamp(1.08rem,1.7vw,1.3rem); line-height:1.7!important; }
.tc-actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-top:30px; }
.tc-button { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:0 21px; border:1px solid transparent; border-radius:10px; font-size:.91rem; font-weight:850; text-align:center; text-decoration:none; cursor:pointer; transition:transform 180ms ease,background 180ms ease,border-color 180ms ease,box-shadow 180ms ease; }
.tc-button-primary { color:#fff!important; background:linear-gradient(135deg,#ff681f,var(--tc-orange)); box-shadow:0 14px 30px rgba(255,90,20,.24),inset 0 1px rgba(255,255,255,.22); }
.tc-button-primary:hover,.tc-button-primary:focus-visible { background:linear-gradient(135deg,#ef5008,#d94100); box-shadow:0 18px 34px rgba(255,90,20,.3); transform:translateY(-2px); }
.tc-button-secondary { color:var(--tc-navy)!important; background:rgba(255,255,255,.82); border-color:#bfcbd9; box-shadow:0 8px 22px rgba(7,24,50,.045); }
.tc-button-secondary:hover,.tc-button-secondary:focus-visible { background:#fff; border-color:var(--tc-orange); box-shadow:0 12px 26px rgba(7,24,50,.08); transform:translateY(-2px); }
.tc-button-light { color:var(--tc-navy)!important; background:#fff; }
.tc-text-link { display:inline-flex; gap:8px; align-items:center; color:var(--tc-orange)!important; font-weight:850; text-decoration:none; }
.tc-text-link:hover,.tc-text-link:focus-visible { text-decoration:underline; text-underline-offset:4px; }
.tc-text-link-light { color:#fff!important; }
.tc-connected-systems { position:relative; margin-top:96px; padding:46px; overflow:hidden; background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(248,251,254,.9)); border:1px solid rgba(18,54,97,.14); border-radius:22px; box-shadow:0 34px 90px rgba(7,24,50,.115),0 1px 0 rgba(255,255,255,.9) inset; }
.tc-connected-systems::before { position:absolute; top:0; right:12%; left:12%; height:3px; background:linear-gradient(90deg,transparent,var(--tc-orange),transparent); border-radius:999px; content:""; }
.tc-connected-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.8fr); gap:48px; align-items:end; padding-bottom:34px; border-bottom:1px solid var(--tc-line); }
.tc-connected-heading h2 { margin-bottom:0; font-size:clamp(2rem,3.4vw,3.25rem); }
.tc-connected-heading>p { margin:0; color:var(--tc-muted); }
.tc-connected-layout { display:grid; grid-template-columns:minmax(590px,1.45fr) minmax(320px,.75fr); gap:36px; align-items:start; margin-top:30px; }
.tc-capability-map { position:relative; width:100%; min-height:550px; isolation:isolate; background:radial-gradient(circle at center,rgba(255,90,20,.08),transparent 20%),linear-gradient(rgba(18,54,97,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(18,54,97,.035) 1px,transparent 1px); background-size:auto,32px 32px,32px 32px; border:1px solid rgba(18,54,97,.12); border-radius:16px; }
.tc-connector-map { position:absolute; inset:0; z-index:-1; width:100%; height:100%; pointer-events:none; }
.tc-connector-map line { stroke:#b5c4d5; stroke-width:2; stroke-dasharray:5 8; vector-effect:non-scaling-stroke; }
.tc-connector-map line.is-active { stroke:var(--tc-orange); stroke-width:3; stroke-dasharray:10 7; animation:tc-data-flow 2.8s linear infinite; }
.tc-connected-hub { position:absolute; top:50%; left:50%; display:grid; width:180px; min-height:180px; align-content:center; justify-items:center; padding:22px; color:#fff; text-align:center; background:linear-gradient(145deg,var(--tc-navy),#164779); border:8px solid #fff; border-radius:50%; box-shadow:0 0 0 1px rgba(18,54,97,.16),0 22px 50px rgba(7,24,50,.2); transform:translate(-50%,-50%); animation:tc-hub-pulse 4s ease-in-out infinite; }
.tc-connected-hub span { font-size:.72rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.tc-connected-hub strong { margin:5px 0 8px; font-size:1.1rem; line-height:1.15; }
.tc-connected-hub small { color:#bfcde0; font-size:.58rem; line-height:1.35; }
.tc-capability-node { position:absolute; z-index:2; display:grid; min-width:180px; max-width:225px; min-height:62px; place-items:center; gap:3px; padding:11px 15px; color:var(--tc-blue); text-align:center; background:#fff; border:1px solid #c9d5e2; border-radius:10px; box-shadow:0 12px 28px rgba(7,24,50,.09); font:inherit; font-size:.82rem; font-weight:850; line-height:1.25; cursor:pointer; transition:transform 180ms ease,border-color 180ms ease,box-shadow 180ms ease; }
.tc-capability-node:hover,.tc-capability-node:focus-visible { border-color:var(--tc-orange); box-shadow:0 16px 34px rgba(7,24,50,.13); transform:translateY(-2px); }
.tc-capability-node.is-active { color:var(--tc-navy); border:2px solid var(--tc-orange); box-shadow:0 0 0 4px rgba(255,90,20,.1),0 18px 38px rgba(7,24,50,.13); }
.tc-capability-node small { color:#a73400; font-size:.58rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.tc-capability-1{top:4%;left:50%;transform:translateX(-50%)}.tc-capability-1:hover,.tc-capability-1:focus-visible{transform:translateX(-50%) translateY(-2px)}
.tc-capability-2{top:20%;right:2%}.tc-capability-3{right:0;bottom:20%}.tc-capability-4{bottom:4%;left:50%;transform:translateX(-50%)}.tc-capability-4:hover,.tc-capability-4:focus-visible{transform:translateX(-50%) translateY(-2px)}
.tc-capability-5{bottom:20%;left:0}.tc-capability-6{top:20%;left:2%}
.tc-capability-detail { min-height:455px; padding:30px; background:linear-gradient(155deg,#fff,#f4f7fb); border:1px solid var(--tc-line); border-top:5px solid var(--tc-orange); border-radius:12px; box-shadow:0 18px 40px rgba(7,24,50,.07); }
.tc-capability-detail h3 { margin-bottom:14px; font-size:1.75rem; }
.tc-capability-detail h3 a { display:flex; align-items:baseline; justify-content:space-between; gap:8px 18px; color:var(--tc-navy); text-decoration:none; }
.tc-capability-detail h3 a small { color:var(--tc-blue); font-size:.72rem; font-weight:850; letter-spacing:.01em; }
.tc-capability-detail h3 a:hover,.tc-capability-detail h3 a:focus-visible { color:var(--tc-orange); }
.tc-capability-detail h3 a:focus-visible { outline:3px solid rgba(26,91,255,.3); outline-offset:5px; border-radius:4px; }
.tc-capability-detail>p:not(.tc-eyebrow) { color:var(--tc-muted); }
.tc-capability-detail .tc-tags { margin-top:22px; }
.tc-capability-detail .tc-tags li { padding:0; overflow:hidden; }
.tc-capability-detail .tc-tags a { display:flex; min-height:42px; align-items:center; max-width:100%; padding:9px 11px; color:inherit; overflow-wrap:anywhere; text-decoration:none; }
.tc-capability-detail .tc-tags a:hover { color:var(--tc-blue); background:#e3ebf5; }
.tc-capability-detail .tc-tags a:focus-visible { color:var(--tc-blue); outline:3px solid rgba(26,91,255,.35); outline-offset:-3px; }
.tc-outcomes { margin-top:32px; padding-top:28px; border-top:1px solid var(--tc-line); }
.tc-outcomes h3 { margin-bottom:16px; font-size:1rem; letter-spacing:-.01em; }
.tc-outcomes ul { display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; list-style:none; }
.tc-outcomes li { padding:0; overflow:hidden; color:#3f5068; background:#eef3f8; border:1px solid #d9e3ed; border-radius:999px; font-size:.74rem; font-weight:800; }
.tc-outcomes a { display:flex; min-height:42px; align-items:center; max-width:100%; padding:8px 11px; color:inherit; overflow-wrap:anywhere; text-decoration:none; }
.tc-outcomes a:hover { color:var(--tc-blue); background:#e3ebf5; }
.tc-outcomes a:focus-visible { color:var(--tc-blue); outline:3px solid rgba(26,91,255,.35); outline-offset:-3px; }
@keyframes tc-data-flow { to { stroke-dashoffset:-34; } }
@keyframes tc-hub-pulse { 50% { box-shadow:0 0 0 10px rgba(255,90,20,.07),0 22px 50px rgba(7,24,50,.2); } }
.tc-section { padding:96px 0; }
.tc-section-dark { color:#cfdaea; background:radial-gradient(circle at 18% 22%,rgba(255,90,20,.09),transparent 27%),linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px),var(--tc-navy); background-size:auto,40px 40px,40px 40px,auto; }
.tc-section-dark h2,.tc-section-dark h3 { color:#fff; }
.tc-section-dark .tc-eyebrow { color:#ff8b57; }
.tc-section-tint { background:var(--tc-tint); }
.tc-split { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:70px; align-items:center; }
.tc-align-start { align-items:start; }
.tc-site h2 { font-size:clamp(2rem,3.5vw,3.35rem); line-height:1.08; }
.tc-site h3 { font-size:1.28rem; line-height:1.25; }
.tc-section-heading { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(280px,.7fr); gap:60px; align-items:end; margin-bottom:42px; }
.tc-section-heading h2 { margin-bottom:0; }
.tc-section-heading p:last-child { margin-bottom:0; color:var(--tc-muted); }
.tc-problem-list,.tc-check-list { display:grid; gap:0; margin:0; padding:0; list-style:none; }
.tc-problem-list li,.tc-check-list li { position:relative; padding:16px 0 16px 32px; border-bottom:1px solid rgba(255,255,255,.13); line-height:1.45; }
.tc-problem-list li::before,.tc-check-list li::before { position:absolute; left:0; color:var(--tc-orange); font-weight:900; content:"✓"; }
.tc-check-list li { border-color:var(--tc-line); }
.tc-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.tc-card { display:flex; min-height:350px; flex-direction:column; padding:28px; background:#fff; border:1px solid var(--tc-line); border-radius:12px; box-shadow:0 15px 40px rgba(7,24,50,.055); transition:transform 200ms ease,border-color 200ms ease,box-shadow 200ms ease; }
.tc-card:hover { border-color:#c6d3e1; box-shadow:0 22px 52px rgba(7,24,50,.1); transform:translateY(-4px); }
.tc-card h3 { margin:0 0 14px; font-size:1.55rem; }
.tc-card p { color:var(--tc-muted); }
.tc-card>strong { display:block; margin:4px 0 22px; color:var(--tc-blue); font-size:.9rem; line-height:1.5; }
.tc-card .tc-text-link { margin-top:auto; }
.tc-glossary-tools { margin-bottom:56px; padding:26px; background:var(--tc-tint); border:1px solid var(--tc-line); border-radius:14px; }
.tc-glossary-search label { display:block; margin-bottom:9px; color:var(--tc-navy); font-size:.88rem; font-weight:850; }
.tc-glossary-search>div { display:flex; gap:10px; }
.tc-glossary-search input { width:100%; min-height:48px; padding:11px 14px; color:var(--tc-ink); background:#fff; border:1px solid #b9c7d7; border-radius:8px; font:inherit; }
.tc-glossary-search input::placeholder { color:#6e7e91; }
.tc-glossary-status { min-height:1.4em; margin:8px 0 0; color:var(--tc-muted); font-size:.78rem; }
.tc-glossary-categories { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; padding-top:20px; border-top:1px solid var(--tc-line); }
.tc-glossary-categories button { min-height:42px; padding:8px 12px; color:var(--tc-blue); background:#fff; border:1px solid #c8d4e1; border-radius:999px; font:inherit; font-size:.78rem; font-weight:800; cursor:pointer; }
.tc-glossary-categories button:hover,.tc-glossary-categories button:focus-visible,.tc-glossary-categories button.is-active { color:#fff; background:var(--tc-blue); border-color:var(--tc-blue); }
.tc-glossary-category { scroll-margin-top:96px; }
.tc-glossary-category+.tc-glossary-category { margin-top:64px; }
.tc-glossary-category>h2 { margin-bottom:24px; padding-bottom:14px; border-bottom:1px solid var(--tc-line); font-size:clamp(1.65rem,2.6vw,2.25rem); }
.tc-glossary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.tc-glossary-entry { scroll-margin-top:96px; min-width:0; padding:28px; background:#fff; border:1px solid var(--tc-line); border-radius:12px; box-shadow:0 15px 40px rgba(7,24,50,.055); }
.tc-glossary-entry:target { border-color:var(--tc-orange); box-shadow:0 0 0 4px rgba(255,90,20,.1),0 15px 40px rgba(7,24,50,.08); }
.tc-glossary-entry h3 { margin:0 0 12px; font-size:1.25rem; }
.tc-glossary-entry h3 a { display:flex; align-items:baseline; justify-content:space-between; gap:14px; color:var(--tc-navy); text-decoration:none; }
.tc-glossary-entry h3 a span { color:var(--tc-orange); font-size:.82rem; }
.tc-glossary-entry h3 a:hover,.tc-glossary-entry h3 a:focus-visible { color:var(--tc-orange); }
.tc-glossary-entry p { margin:0; color:var(--tc-muted); font-size:.91rem; line-height:1.65; }
.tc-glossary-entry .tc-glossary-aliases { margin-top:14px; padding-top:12px; border-top:1px solid var(--tc-line); font-size:.78rem; }
.tc-glossary-entry .tc-glossary-aliases+.tc-glossary-aliases { margin-top:6px; padding-top:0; border-top:0; }
.tc-glossary-empty { padding:48px 28px; text-align:center; background:var(--tc-tint); border:1px solid var(--tc-line); border-radius:14px; }
.tc-glossary-empty p { color:var(--tc-muted); }
.tc-glossary-context { display:flex; align-items:center; justify-content:center; margin-top:34px; }
.tc-featured-section { color:#dbe6f4; background:linear-gradient(135deg,#06172e,#0d3158); }
.tc-featured-project { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(310px,.7fr); min-width:0; overflow:hidden; background:#fff; border:1px solid rgba(255,255,255,.24); border-radius:18px; box-shadow:0 30px 80px rgba(0,0,0,.24); }
.tc-featured-project-copy { min-width:0; padding:48px; color:var(--tc-ink); background:linear-gradient(135deg,#fff,#f5f8fc); }
.tc-featured-badges { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:22px; }
.tc-featured-badges span { padding:7px 10px; color:#9b3207; background:#fff0e8; border:1px solid #ffd1bc; border-radius:999px; font-size:.7rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.tc-featured-badges span+span { color:#fff; background:var(--tc-blue); border-color:var(--tc-blue); }
.tc-featured-category { margin:0 0 13px; color:#52657d!important; font-size:.76rem!important; font-weight:820; letter-spacing:.06em; text-transform:uppercase; }
.tc-featured-project h2 { margin-bottom:6px; font-size:clamp(2.2rem,4vw,3.8rem); }
.tc-featured-subtitle { margin:0 0 24px; color:var(--tc-orange)!important; font-size:clamp(1.1rem,2vw,1.45rem)!important; font-weight:850; }
.tc-featured-project-copy>p:not(.tc-featured-category):not(.tc-featured-subtitle) { max-width:760px; color:var(--tc-muted); line-height:1.72; }
.tc-featured-tags { display:flex; flex-wrap:wrap; gap:8px; margin:26px 0 30px; padding:0; list-style:none; }
.tc-featured-tags li { padding:7px 10px; color:#3f5068; background:#edf3f8; border:1px solid #dce6ef; border-radius:6px; font-size:.74rem; font-weight:820; }
.tc-featured-result { display:grid; min-width:0; align-content:end; padding:42px; color:#fff; background:linear-gradient(155deg,#123d6c,#07182f 68%); }
.tc-featured-result::before { width:52px; height:4px; margin-bottom:24px; background:var(--tc-orange); content:""; }
.tc-featured-result p { margin:0; color:#fff; font-size:clamp(1.05rem,1.8vw,1.35rem); font-weight:760; line-height:1.65; }
.tc-project-hero { padding:76px 0 82px; color:#dbe6f4; background:linear-gradient(135deg,rgba(7,24,48,.98),rgba(15,57,99,.96)),linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px); background-size:auto,32px 32px,32px 32px; }
.tc-project-hero-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr); gap:56px; align-items:stretch; }
.tc-project-hero h1 { margin-bottom:8px; color:#fff; font-size:clamp(3rem,7vw,6.6rem); line-height:.94; }
.tc-project-hero .tc-lead { max-width:800px; color:#d0dceb; }
.tc-project-hero-subtitle { margin:0 0 24px; color:#ff9869; font-size:clamp(1.25rem,2.4vw,1.8rem); font-weight:850; }
.tc-project-attribution { padding:34px 0; background:var(--tc-tint); border-bottom:1px solid var(--tc-line); }
.tc-project-attribution p:last-child { margin:0; color:var(--tc-muted); line-height:1.7; }
.tc-deep-dive-layout { display:grid; grid-template-columns:minmax(210px,260px) minmax(0,860px); gap:72px; align-items:start; justify-content:center; }
.tc-deep-dive-toc { position:sticky; top:96px; min-width:0; padding:24px; background:var(--tc-tint); border:1px solid var(--tc-line); border-radius:12px; }
.tc-deep-dive-toc nav { display:grid; gap:9px; }
.tc-deep-dive-toc strong { margin-bottom:7px; color:var(--tc-navy); font-size:.82rem; letter-spacing:.08em; text-transform:uppercase; }
.tc-deep-dive-toc a { color:var(--tc-muted); font-size:.76rem; line-height:1.35; text-decoration:none; }
.tc-deep-dive-toc a:hover,.tc-deep-dive-toc a:focus-visible { color:var(--tc-orange); text-decoration:underline; text-underline-offset:3px; }
.tc-deep-dive-article { min-width:0; }
.tc-deep-dive-section { scroll-margin-top:96px; padding:0 0 54px; margin:0 0 54px; border-bottom:1px solid var(--tc-line); }
.tc-deep-dive-section:last-child { margin-bottom:0; border-bottom:0; }
.tc-deep-dive-section h2 { font-size:clamp(2rem,3.8vw,3.1rem); }
.tc-deep-dive-section>p { color:var(--tc-muted); line-height:1.78; }
.tc-deep-dive-list { display:grid; gap:10px; margin:24px 0; padding:0; list-style:none; }
.tc-deep-dive-list li { position:relative; padding:13px 16px 13px 38px; color:#43556d; background:#f6f8fb; border-left:3px solid #d7e2ed; line-height:1.55; }
.tc-deep-dive-list li::before { position:absolute; left:16px; color:var(--tc-orange); font-weight:900; content:"•"; }
.tc-inline-link { color:var(--tc-blue); font-weight:780; text-decoration-color:rgba(18,54,97,.35); text-underline-offset:3px; }
.tc-inline-link:hover,.tc-inline-link:focus-visible { color:var(--tc-orange); }
.tc-architecture { margin:34px 0 6px; padding:28px; overflow:hidden; background:#071a33; border:1px solid #1c4b77; border-radius:14px; }
.tc-architecture figcaption { display:grid; gap:5px; margin-bottom:24px; color:#fff; }
.tc-architecture figcaption span,.tc-architecture section>span { color:#ff9869; font-size:.68rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.tc-architecture figcaption strong { font-size:1.22rem; }
.tc-architecture-lanes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.tc-architecture-lanes>section { min-width:0; padding:18px; background:#0c294b; border:1px solid #214f7b; border-radius:10px; }
.tc-architecture-lanes h3 { margin:0 0 15px; color:#fff; font-size:.9rem; }
.tc-architecture-flow { display:flex; min-width:0; align-items:stretch; gap:8px; }
.tc-architecture-flow>div { display:grid; min-width:0; flex:1; align-content:center; gap:4px; padding:12px; text-align:center; background:#fff; border-radius:7px; }
.tc-architecture-flow strong { color:var(--tc-navy); font-size:.78rem; line-height:1.25; }
.tc-architecture-flow small { color:#63748a; font-size:.64rem; line-height:1.3; }
.tc-architecture-arrow { display:grid; flex:0 0 auto; place-items:center; color:#ff9869; font-weight:900; }
.tc-architecture-support { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:14px; }
.tc-architecture-support section { display:grid; min-width:0; gap:5px; padding:15px; background:#0a2341; border:1px solid #214f7b; border-radius:8px; }
.tc-architecture-support strong { color:#fff; font-size:.82rem; }
.tc-architecture-support small { color:#b9c9dc; font-size:.68rem; line-height:1.4; }
.tc-architecture-note { margin:18px 0 0!important; color:#b9c9dc!important; font-size:.74rem; line-height:1.55!important; }
.tc-technology-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.tc-technology-groups section { min-width:0; padding:20px; background:var(--tc-tint); border:1px solid var(--tc-line); border-radius:10px; }
.tc-technology-groups h3 { margin:0 0 12px; color:var(--tc-navy); font-size:1rem; }
.tc-technology-groups ul { display:flex; flex-wrap:wrap; gap:7px; margin:0; padding:0; list-style:none; }
.tc-technology-groups li { padding:6px 8px; color:#40536b; background:#fff; border:1px solid #dbe4ed; border-radius:6px; font-size:.7rem; font-weight:780; }
.tc-case-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; align-items:start; }
.tc-case-card { min-width:0; padding:28px; background:#fff; border:1px solid var(--tc-line); border-radius:12px; box-shadow:0 12px 34px rgba(7,24,50,.05); transition:transform 200ms ease,border-color 200ms ease,box-shadow 200ms ease; }
.tc-case-card:hover { border-color:#c6d3e1; box-shadow:0 20px 45px rgba(7,24,50,.09); transform:translateY(-3px); }
.tc-case-top { display:flex; justify-content:space-between; gap:10px; align-items:center; margin-bottom:25px; color:var(--tc-muted); font-size:.76rem; }
.tc-tag { padding:6px 9px; color:#a93100; background:#fff0e8; border-radius:999px; font-weight:850; }
.tc-case-card>h3 { margin-bottom:6px; font-size:1.55rem; }
.tc-case-card p { color:var(--tc-muted); font-size:.91rem; }
.tc-case-client { margin:0 0 20px; color:#758397!important; font-size:.8rem!important; font-weight:750; }
.tc-project-callout { padding:18px; background:linear-gradient(135deg,#f6f9fc,#fff4ee); border-left:4px solid var(--tc-orange); border-radius:8px; }
.tc-project-callout strong { display:block; margin-bottom:7px; color:var(--tc-navy); font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; }
.tc-project-callout p { margin:0; color:#35465d; font-weight:720; line-height:1.55; }
.tc-case-details { margin-top:20px; border-top:1px solid var(--tc-line); }
.tc-case-details summary { display:flex; min-height:48px; align-items:center; justify-content:space-between; gap:16px; color:var(--tc-blue); font-size:.86rem; font-weight:850; list-style:none; cursor:pointer; }
.tc-case-details summary::-webkit-details-marker { display:none; }
.tc-case-details summary span { color:var(--tc-orange); font-size:1.25rem; transition:transform 180ms ease; }
.tc-case-details[open] summary span { transform:rotate(45deg); }
.tc-case-body { display:grid; gap:0; padding-top:4px; }
.tc-case-body section { padding:22px 0; border-top:1px solid var(--tc-line); }
.tc-case-body h4 { margin:0 0 12px; color:var(--tc-navy); font-size:1rem; }
.tc-case-body p { margin:0 0 12px; line-height:1.68; }
.tc-case-body p:last-child { margin-bottom:0; }
.tc-case-list { display:grid; gap:8px; margin:14px 0 0; padding-left:20px; color:var(--tc-muted); font-size:.87rem; line-height:1.5; }
.tc-case-placeholders { padding:18px!important; color:#7b4a2f; background:#fff8f3; border:1px dashed #e4b99f!important; border-radius:8px; }
.tc-case-placeholders h4 { color:#7b3a18; }
.tc-case-placeholders ul { margin:0; padding-left:18px; font-size:.82rem; line-height:1.55; }
.tc-tags { display:flex; flex-wrap:wrap; gap:7px; margin:12px 0 18px; padding:0; list-style:none; }
.tc-tags li,.tc-category-list span { padding:6px 9px; color:#3f5068; background:#eef3f8; border:1px solid #dee6ef; border-radius:6px; font-size:.73rem; font-weight:800; }
.tc-process { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin:0; padding:0; list-style:none; border-top:1px solid var(--tc-line); border-left:1px solid var(--tc-line); }
.tc-process li { display:grid; grid-template-columns:auto 1fr; gap:16px; min-height:215px; padding:28px; border-right:1px solid var(--tc-line); border-bottom:1px solid var(--tc-line); }
.tc-process li { transition:background 180ms ease,box-shadow 180ms ease; }
.tc-process li:hover { z-index:1; background:#f9fbfd; box-shadow:0 12px 30px rgba(7,24,50,.06); }
.tc-process li>span,.tc-story-grid article>span { color:var(--tc-orange); font-size:.74rem; font-weight:900; letter-spacing:.1em; }
.tc-process p { margin-bottom:0; color:var(--tc-muted); }
.tc-principles { display:grid; gap:14px; }
.tc-principles article { padding:22px 24px; background:#fff; border-left:4px solid var(--tc-orange); box-shadow:0 10px 28px rgba(7,24,50,.06); transition:transform 180ms ease,box-shadow 180ms ease; }
.tc-principles article:hover { box-shadow:0 16px 34px rgba(7,24,50,.095); transform:translateX(4px); }
.tc-principles p { margin:6px 0 0; color:var(--tc-muted); }
.tc-cta { position:relative; padding:75px 0; overflow:hidden; color:#dce6f4; background:radial-gradient(circle at 88% 20%,rgba(255,90,20,.2),transparent 25%),linear-gradient(125deg,var(--tc-navy),#123b6b); }
.tc-cta h2 { margin-bottom:12px; color:#fff; }
.tc-cta p { margin-bottom:0; }
.tc-cta-grid { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:60px; align-items:center; }
.tc-cta .tc-actions { justify-content:flex-end; margin:0; }
.tc-page-hero,.tc-service-hero { padding:88px 0 95px; }
.tc-page-hero h1,.tc-service-hero h1 { max-width:900px; margin-bottom:24px; font-size:clamp(2.8rem,5.2vw,5.1rem); line-height:1.02; }
.tc-breadcrumbs { padding:20px 0 0; font-size:.78rem; }
.tc-breadcrumbs ol { display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; list-style:none; }
.tc-breadcrumbs li { display:flex; gap:8px; color:var(--tc-muted); }
.tc-breadcrumbs a { color:var(--tc-blue); }
.tc-outcome { padding:34px; background:#fff; border:1px solid var(--tc-line); border-top:5px solid var(--tc-orange); border-radius:10px; box-shadow:0 20px 55px rgba(7,24,50,.08); }
.tc-outcome span { display:block; margin-bottom:20px; color:var(--tc-orange); font-size:.74rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.tc-outcome strong { display:block; color:var(--tc-navy); font-size:1.35rem; line-height:1.4; }
.tc-outcome p { margin-bottom:0; color:var(--tc-muted); }
.tc-detail-grid,.tc-story-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.tc-detail-grid article,.tc-story-grid article { padding:32px; background:#fff; border:1px solid var(--tc-line); border-radius:10px; }
.tc-story-grid article h2 { margin-top:35px; font-size:1.8rem; }
.tc-story-grid article p { margin-bottom:0; color:var(--tc-muted); }
.tc-category-list { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:30px; }
.tc-team-grid { display:grid; gap:28px; }
.tc-bio-card { display:grid; grid-template-columns:300px minmax(0,1fr); gap:42px; padding:32px; border:1px solid var(--tc-line); border-radius:12px; }
.tc-bio-card.tc-bio-card-text { grid-template-columns:1fr; }
.tc-bio-name { margin:34px 0 4px; font-size:2rem!important; }
.tc-bio-role { margin:0; color:var(--tc-blue); font-size:1.05rem; font-weight:850; }
.tc-bio-company { margin:4px 0 28px; color:var(--tc-muted); }
.tc-biography { max-width:980px; }
.tc-biography p { color:var(--tc-muted); }
.tc-bio-card h4 { margin:30px 0 10px; color:var(--tc-navy); font-size:1rem; }
.tc-expertise-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:16px; }
.tc-expertise-group { min-width:0; padding:20px; background:var(--tc-tint); border:1px solid var(--tc-line); border-radius:10px; }
.tc-expertise-group h5 { margin:0 0 12px; color:var(--tc-navy); font-size:.92rem; }
.tc-bio-image { display:grid; min-height:350px; place-items:center; padding:30px; color:#7a4a33; text-align:center; background:linear-gradient(145deg,#f1f5f9,#fff0e8); border:1px dashed #c8d3df; border-radius:8px; }
.tc-bio-card dl { display:grid; gap:0; margin:25px 0 0; }
.tc-bio-card dl div { display:grid; grid-template-columns:180px 1fr; gap:20px; padding:14px 0; border-top:1px solid var(--tc-line); }
.tc-bio-card dt { color:var(--tc-navy); font-weight:850; }.tc-bio-card dd{margin:0;color:var(--tc-muted);line-height:1.6}
.tc-contact-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(420px,1fr); gap:70px; align-items:start; }
.tc-contact-notes { display:grid; gap:18px; margin-top:40px; }.tc-contact-notes article{padding:22px;background:#fff;border:1px solid var(--tc-line);border-radius:9px}.tc-contact-notes h2{font-size:1.2rem}.tc-contact-notes li{margin-bottom:8px;line-height:1.45}
.tc-contact-form { display:grid; gap:18px; padding:32px; background:#fff; border:1px solid var(--tc-line); border-radius:12px; box-shadow:0 22px 60px rgba(7,24,50,.1); }
.tc-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.tc-contact-form label { display:grid; gap:7px; color:var(--tc-navy); font-size:.83rem; font-weight:800; }
.tc-contact-form input,.tc-contact-form select,.tc-contact-form textarea { width:100%; min-height:48px; padding:11px 13px; color:var(--tc-ink); background:#fff; border:1px solid #b8c5d3; border-radius:7px; font:inherit; font-size:.92rem; }
.tc-contact-form textarea { resize:vertical; }
.tc-contact-form input:focus,.tc-contact-form select:focus,.tc-contact-form textarea:focus { border-color:var(--tc-orange); outline:3px solid rgba(255,90,20,.16); }
.tc-contact-form button { justify-self:start; }
.tc-contact-form button:disabled { opacity:.65; cursor:wait; }
.tc-form-status { min-height:1.5em; margin:0; font-size:.88rem; }.tc-form-status.is-error{color:#a12020}.tc-form-status.is-success{color:#17633c}
.tc-contact-form .tc-form-note { margin:0; color:var(--tc-muted); font-size:.8rem; line-height:1.5; }.tc-contact-form .tc-form-note a{color:var(--tc-blue)}
.tc-legal h2 { margin:44px 0 12px; font-size:clamp(1.35rem,2.2vw,1.7rem); line-height:1.25; }.tc-legal p,.tc-legal li{color:var(--tc-muted)}.tc-legal ul{display:grid;gap:8px;margin:0 0 16px;padding-left:20px;line-height:1.6}.tc-legal strong{color:var(--tc-navy)}
.tc-footer { padding:65px 0 35px; color:#cbd7e6; background:#041124; }
.tc-footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:70px; }
.tc-footer .tc-brand { color:#fff; }.tc-footer p{max-width:390px;font-size:.84rem}.tc-footer nav{display:grid;align-content:start;gap:11px}.tc-footer nav strong{margin-bottom:6px;color:#fff}.tc-footer nav a{font-size:.86rem;text-decoration:none}.tc-footer nav a:hover,.tc-footer nav a:focus-visible{color:#ff8b57;text-decoration:underline}
.tc-site :focus-visible { outline:3px solid rgba(255,90,20,.55); outline-offset:3px; }
@media (min-width:961px){.tc-dropdown:hover .tc-dropdown-menu{display:grid}.tc-dropdown:not([open]):not(:hover) .tc-dropdown-menu{display:none}}
@media (max-width:1120px){.tc-connected-layout{grid-template-columns:1fr}.tc-capability-map{width:min(720px,100%);margin-inline:auto}.tc-capability-detail{min-height:0}}
@media (max-width:1050px){.tc-nav{gap:0}.tc-nav>a,.tc-dropdown>summary{padding-inline:8px}.tc-nav .tc-nav-cta{display:none}.tc-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tc-contact-layout{gap:40px}.tc-connected-heading{grid-template-columns:1fr;gap:18px}}
@media (max-width:960px){.tc-header{min-height:70px;padding-inline:24px}.tc-menu-button{display:inline-flex;align-items:center}.tc-nav{position:absolute;top:100%;left:0;right:0;display:none;max-height:calc(100vh - 70px);align-items:stretch;flex-direction:column;padding:15px 24px 24px;overflow-y:auto;background:#fff;border-bottom:1px solid var(--tc-line);box-shadow:0 18px 35px rgba(7,24,50,.12)}.tc-nav.is-open{display:flex}.tc-nav>a,.tc-dropdown>summary{justify-content:space-between;min-height:48px;padding-inline:12px}.tc-nav .tc-nav-cta{display:flex;margin:10px 0 0;justify-content:center}.tc-dropdown-menu{position:static;width:auto;margin:3px 0 8px 16px;box-shadow:none}.tc-split,.tc-contact-layout{grid-template-columns:1fr}.tc-section-heading{grid-template-columns:1fr;gap:18px}.tc-cta-grid{grid-template-columns:1fr;gap:25px}.tc-cta .tc-actions{justify-content:flex-start}.tc-process{grid-template-columns:repeat(2,minmax(0,1fr))}.tc-bio-card{grid-template-columns:240px 1fr}.tc-footer-grid{grid-template-columns:1.2fr 1fr 1fr;gap:35px}}
@media (max-width:820px){.tc-connected-systems{margin-top:68px;padding:25px}.tc-connected-layout{gap:22px}.tc-capability-map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-height:0;padding:18px;background:linear-gradient(180deg,rgba(255,90,20,.06),rgba(255,255,255,.9))}.tc-connector-map{display:none}.tc-connected-hub{position:static;grid-column:1/-1;width:155px;min-height:155px;margin:0 auto 10px;transform:none}.tc-capability-node,.tc-capability-1,.tc-capability-2,.tc-capability-3,.tc-capability-4,.tc-capability-5,.tc-capability-6{position:static;width:100%;min-width:0;max-width:none;min-height:70px;transform:none}.tc-capability-node:hover,.tc-capability-node:focus-visible,.tc-capability-1:hover,.tc-capability-1:focus-visible,.tc-capability-4:hover,.tc-capability-4:focus-visible{transform:translateY(-2px)}.tc-capability-detail{padding:24px}.tc-capability-detail h3{font-size:1.5rem}}
@media (max-width:700px){.tc-container{width:min(100% - 32px,1180px)}.tc-header{padding-inline:16px}.tc-hero{padding:70px 0 80px}.tc-hero::before{inset:0 -30% auto 34%;width:auto;opacity:.45}.tc-hero::after{top:210px;right:-100px;width:220px;height:220px;opacity:.22}.tc-hero h1{font-size:clamp(2.65rem,13vw,4rem)}.tc-section,.tc-page-hero,.tc-service-hero{padding:70px 0}.tc-card-grid,.tc-case-grid,.tc-glossary-grid,.tc-process,.tc-detail-grid,.tc-story-grid,.tc-expertise-groups{grid-template-columns:1fr}.tc-card{min-height:310px}.tc-process li{min-height:auto}.tc-bio-card{grid-template-columns:1fr;padding:22px}.tc-bio-image{min-height:260px}.tc-bio-card dl div{grid-template-columns:1fr;gap:4px}.tc-contact-form{padding:22px}.tc-form-grid{grid-template-columns:1fr}.tc-footer-grid{grid-template-columns:1fr 1fr}.tc-footer-grid>div:first-child{grid-column:1/-1}.tc-actions .tc-button{width:100%}.tc-cta .tc-actions{align-items:stretch;flex-direction:column}.tc-cta .tc-text-link{justify-content:center}}
@media (max-width:480px){.tc-connected-systems{padding:18px}.tc-capability-map{grid-template-columns:1fr;padding:14px}.tc-connected-hub{grid-column:1}.tc-connected-heading h2{font-size:1.85rem}.tc-capability-detail{padding:20px}.tc-outcomes li{width:100%;text-align:center}.tc-outcomes a{justify-content:center}.tc-glossary-tools{padding:18px}.tc-glossary-search>div{align-items:stretch;flex-direction:column}.tc-glossary-search .tc-button{width:100%}.tc-glossary-categories{display:grid;grid-template-columns:1fr}.tc-glossary-categories button{width:100%}.tc-glossary-entry{padding:22px}}
@media (max-width:1050px){.tc-featured-project,.tc-project-hero-grid{grid-template-columns:1fr}.tc-featured-result{min-height:260px}.tc-deep-dive-layout{grid-template-columns:1fr;gap:46px}.tc-deep-dive-toc{position:static}.tc-deep-dive-toc nav{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}.tc-deep-dive-toc strong{grid-column:1/-1}.tc-deep-dive-article{max-width:860px;margin-inline:auto}}
@media (max-width:820px){.tc-architecture-lanes,.tc-architecture-support{grid-template-columns:1fr}.tc-technology-groups{grid-template-columns:1fr}}
@media (max-width:700px){.tc-featured-project-copy,.tc-featured-result{padding:30px}.tc-project-hero{padding:62px 0 68px}.tc-project-hero h1{font-size:clamp(2.8rem,14vw,4.4rem)}.tc-deep-dive-toc nav{grid-template-columns:1fr}.tc-deep-dive-toc strong{grid-column:1}.tc-deep-dive-section{padding-bottom:42px;margin-bottom:42px}.tc-architecture{padding:20px}.tc-architecture-flow{align-items:stretch;flex-direction:column}.tc-architecture-arrow{transform:rotate(90deg)}}
@media (max-width:480px){.tc-featured-project-copy,.tc-featured-result{padding:24px}.tc-featured-result{min-height:220px}.tc-featured-badges{align-items:stretch;flex-direction:column}.tc-featured-badges span{text-align:center}.tc-architecture{padding:16px}.tc-architecture-lanes>section{padding:14px}}
@media (prefers-reduced-motion:reduce){.tc-site *,.tc-site *::before,.tc-site *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
