.entb { background: #141E28; border-top: none; padding-top: 112px; }
.entb .container { max-width: 1240px; }
.entb-head { max-width: 620px; margin-bottom: 54px; }
.entb-head .h2 { color: #fff; }
.entb-head .h2 .accent { color: var(--orange); font-style: italic; font-weight: 500; }
.entb-sub { margin: 18px 0 26px; font-size: 16.5px; line-height: 1.65; color: rgba(255,255,255,.72); }
.entb-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 20px; }
.eb { position: relative; border-radius: 0; padding: 32px 32px 30px; display: flex; flex-direction: column; overflow: hidden; color: #fff; border: 1px solid rgba(255,255,255,.08); box-shadow: none; transition: border-color 250ms ease; }
.eb:hover { border-color: rgba(255,255,255,.2); }
.eb:hover .eb-viz { opacity: 1; }
.eb-control, .eb-one { grid-column: span 3; min-height: 340px; }
.eb-eu, .eb-int, .eb-adopt { grid-column: span 2; min-height: 290px; }
@media (max-width: 980px) { .eb-control, .eb-eu, .eb-one, .eb-int, .eb-adopt { grid-column: span 6; min-height: 280px; } }
/* elegant minimal tiles: flat hairline surface, faint monochrome watermark visual, title + desc bottom-left */
.eb-control, .eb-eu, .eb-one, .eb-int, .eb-adopt { background: rgba(255,255,255,.025); }
.entb .eb-ui { pointer-events: none; overflow: hidden; }
.entb .eb-viz { position: absolute; inset: 0; width: 100%; height: 100%; display: block; opacity: .5; transition: opacity .5s ease; }
/* Governance: dot grid fills to the card's top edge (no gap) */
.entb .eb-control .eb-viz { top: -33px; left: -32px; right: -32px; bottom: 0; width: auto; height: auto; -webkit-mask-image: linear-gradient(180deg, #000 70%, transparent 99%); mask-image: linear-gradient(180deg, #000 70%, transparent 99%); }
/* ambient animations for the governance & security visuals */
.eb-control .gov-ring { transform-box: fill-box; transform-origin: center; }
.eb-control:hover .gov-ring { animation: govPing 1.9s ease-out infinite; }
@keyframes govPing { 0% { transform: scale(.5); opacity: .6; } 75%, 100% { transform: scale(2.3); opacity: 0; } }
.eb-control .gov-tw { opacity: .28; }
.eb-control:hover .gov-tw { animation: govTw 2.6s ease-in-out infinite; }
@keyframes govTw { 0%, 100% { opacity: .15; } 45% { opacity: .95; } }
.eb-one .op-flow path { fill: none; stroke: rgba(255,255,255,.5); stroke-width: 1.4; stroke-linecap: round; stroke-dasharray: 2 74; stroke-dashoffset: 76; opacity: 0; }
.eb-one:hover .op-flow path { opacity: 1; animation: opFlow 1.5s linear infinite; }
@keyframes opFlow { to { stroke-dashoffset: 0; } }
.eb-eu .dr-ping { transform-box: fill-box; transform-origin: center; opacity: 0; }
.eb-eu:hover .dr-ping { animation: drPing 2.1s ease-out infinite; }
@keyframes drPing { 0% { transform: scale(.25); opacity: .55; } 78%, 100% { transform: scale(4.6); opacity: 0; } }
.eb-int .in-pkt { opacity: 0; filter: drop-shadow(0 0 3px rgba(255,255,255,.6)); }
.eb-int:hover .in-pkt { animation-duration: 1.5s; animation-timing-function: ease-in; animation-iteration-count: infinite; }
.eb-int:hover .in-pkt.p1 { animation-name: inPkt1; }
.eb-int:hover .in-pkt.p2 { animation-name: inPkt2; animation-delay: .375s; }
.eb-int:hover .in-pkt.p3 { animation-name: inPkt3; animation-delay: .75s; }
.eb-int:hover .in-pkt.p4 { animation-name: inPkt4; animation-delay: 1.125s; }
@keyframes inPkt1 { 0% { transform: translate(-62px,-54px); opacity: 0; } 12% { opacity: 1; } 86% { opacity: 1; } 100% { transform: translate(0,0); opacity: 0; } }
@keyframes inPkt2 { 0% { transform: translate(62px,-54px); opacity: 0; } 12% { opacity: 1; } 86% { opacity: 1; } 100% { transform: translate(0,0); opacity: 0; } }
@keyframes inPkt3 { 0% { transform: translate(62px,54px); opacity: 0; } 12% { opacity: 1; } 86% { opacity: 1; } 100% { transform: translate(0,0); opacity: 0; } }
@keyframes inPkt4 { 0% { transform: translate(-62px,54px); opacity: 0; } 12% { opacity: 1; } 86% { opacity: 1; } 100% { transform: translate(0,0); opacity: 0; } }
.eb-int .in-hub { transform-box: fill-box; transform-origin: center; }
.eb-int:hover .in-hub { animation: inHub 1.5s ease-in-out infinite; }
@keyframes inHub { 0%, 100% { transform: scale(.78); opacity: .55; } 50% { transform: scale(1.2); opacity: 1; } }
.eb-adopt .ad-bar { transform-box: fill-box; transform-origin: bottom; }
.eb-adopt .ad-bar { animation: adGrow .9s cubic-bezier(.2,.8,.2,1) both; }
@keyframes adGrow { from { transform: scaleY(0); } to { transform: scaleY(1); } }
.eb-adopt:hover .cp-chip { animation: cpGlow 2.4s ease-in-out infinite; }
.eb-adopt .cp-chip:nth-of-type(2) { animation-delay: .5s; }
.eb-adopt .cp-chip:nth-of-type(3) { animation-delay: 1s; }
.eb-adopt .cp-chip:nth-of-type(4) { animation-delay: 1.5s; }
.eb-adopt .cp-chip:nth-of-type(5) { animation-delay: 2s; }
.eb-adopt .cp-chip:nth-of-type(6) { animation-delay: 2.5s; }
@keyframes cpGlow { 0%, 100% { opacity: .55; } 50% { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .eb-control:hover .gov-ring, .eb-control:hover .gov-tw, .eb-eu:hover .dr-ping, .eb-int:hover .in-hub, .eb-adopt:hover .cp-chip { animation: none; }
  .eb-one:hover .op-flow path, .eb-int:hover .in-pkt { animation: none; opacity: 0; }
}
.entb .eb-title { font-family: var(--body); font-size: 22px; font-weight: 600; letter-spacing: -.02em; color: #fff; margin: 0 0 7px; }
.entb .eb-desc { font-size: 13.5px; line-height: 1.5; color: rgba(255,255,255,.5); margin: 0; max-width: 92%; }
.eb-ui { flex: 1; position: relative; margin-bottom: 20px; }
.eb-label { font-family: var(--mono); font-size: 9.5px; letter-spacing: .12em; text-transform: uppercase; opacity: .68; margin-bottom: 9px; }
.eb h3 { font-size: 17px; font-weight: 600; letter-spacing: -0.01em; line-height: 1.3; margin: 0 0 7px; }
.eb p { font-size: 13px; line-height: 1.55; opacity: .68; margin: 0; }



.tstm{padding:96px 0 40px}
.tstm-wrap{max-width:1400px;margin:0 auto;padding:0 32px}
.tstm-kicker{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.tstm-title{margin:0 0 42px;color:var(--ink)}
/* connected blueprint lattice: ONE grid of 6 sharp boxes (shared hairlines), rounded cards (--r-2, hero-deck radius) inset in each */
.tstm-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;border:1px solid var(--hairline)}
.tstm-cell{position:relative;border-radius:var(--r-0);padding:14px;border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}
.tstm-cell:nth-child(3n){border-right:0}
.tstm-cell:nth-child(n+4){border-bottom:0}
.tstm-in{position:relative;aspect-ratio:6/5}
.tstm-face{position:absolute;inset:0;border-radius:var(--r-0);overflow:hidden;opacity:0;transition:opacity .9s ease;pointer-events:none}
.tstm-face.on{opacity:1;pointer-events:auto}
.tf-ph{border:1px solid var(--hairline)}
.tf-ph img{width:100%;height:100%;object-fit:cover;display:block}
.tf-qt{display:flex;flex-direction:column;padding:26px 28px 24px;background:#fff;border:1px solid var(--hairline);box-shadow:var(--sh-1)}
.tf-qt blockquote{flex:1;margin:0;font-size:15px;line-height:1.55;letter-spacing:-.004em;color:var(--ink-soft)}
.tstm-au{display:flex;align-items:center;gap:12px;padding-top:16px}
.tstm-logo{flex:none;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--hairline);border-radius:var(--r-slight)}
.tstm-logo img{max-width:30px;max-height:30px;object-fit:contain;display:block}
.tstm-au b{display:block;font-size:13.5px;font-weight:600;color:var(--ink);line-height:1.3}
.tstm-au i{display:block;font-style:normal;font-size:12.5px;color:var(--muted);margin-top:1px}
.tstm-stories{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:18px}
.tstm-story{display:flex;flex-direction:column;background:#fff;border:1px solid var(--hairline);border-radius:var(--r-0);padding:24px 26px 22px;box-shadow:var(--sh-1);transition:box-shadow var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease)}
.tstm-story:hover{box-shadow:var(--sh-2);border-color:var(--border-2)}
.tstm-story .ts-co{font-family:var(--f-mono);font-size:9.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.tstm-story .ts-t{font-size:17px;font-weight:600;letter-spacing:-.01em;color:var(--ink);margin:10px 0 7px}
.tstm-story .ts-d{font-size:13px;line-height:1.5;color:var(--text-2);flex:1}
.tstm-story .ts-l{display:inline-flex;gap:6px;margin-top:14px;font-size:13px;font-weight:600;color:var(--orange)}
.tstm-story .ts-l span{transition:transform .2s}
.tstm-story:hover .ts-l span{transform:translateX(3px)}
@media (max-width:980px){
  .tstm-grid{grid-template-columns:1fr;max-width:560px;margin:0 auto}
  .tstm-cell{border-right:0;border-bottom:1px solid var(--hairline)}
  .tstm-cell:last-child{border-bottom:0}
  .tstm-stories{grid-template-columns:1fr 1fr;max-width:560px;margin:18px auto 0}
}
@media (max-width:560px){.tstm-stories{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.tstm-face{transition:none}}
