/* s16 — Kết */
.s16-bg { transition: none; }
.s16-scrim { position: absolute; inset: 0; z-index: 0; pointer-events: none; transition: opacity 2.6s var(--ease-io);
  background: linear-gradient(90deg, rgba(4, 11, 8, .78) 0%, rgba(4, 11, 8, .42) 38%, rgba(4, 11, 8, 0) 66%),
              linear-gradient(0deg, rgba(4, 11, 8, .7) 0%, rgba(4, 11, 8, 0) 30%); }
.s16-scrim.dissolved { opacity: 0; }
.s16 .kicker { position: relative; z-index: 2; }
.s16-tagw { position: absolute; left: 0; top: 300px; }
.s16-tag { margin: 0; margin: 0; font-size: 70px; line-height: 1.22; max-width: 1200px; color: var(--ink); text-shadow: 0 6px 40px rgba(0, 0, 0, .7); border-left: 3px solid var(--green); padding-left: 34px; }

/* the s00 window, returning with three layers */
.s16-win { position: absolute; left: 540px; top: 70px; margin: 0; width: 600px; transition: left 1.3s var(--ease-io), opacity .7s var(--ease-out), transform .9s var(--ease-out), filter .7s var(--ease-out); }
.s16.asked .s16-win { left: 0; }
.s16-win img, .s16-win svg { display: block; width: 600px; height: 600px; border-radius: 14px; }
.s16-win img { border: 1px solid var(--line2); box-shadow: 0 30px 90px rgba(0, 0, 0, .55); filter: saturate(.9) brightness(.92); }
.s16-layers { position: absolute; left: 0; top: 0; overflow: visible; }
.s16-poly path { fill: rgba(76, 201, 240, .2); stroke: var(--cyan); stroke-width: 1.3; stroke-linejoin: round; }
.s16-poly path.hi { fill: rgba(76, 201, 240, .34); stroke-width: 2.2; }
.s16-links path { fill: none; stroke: var(--violet); stroke-width: 2.4; filter: drop-shadow(0 0 4px rgba(167, 139, 250, .8)); }
.s16-links circle { fill: var(--violet); stroke: #120c22; stroke-width: 1.5; }
.s16-seal circle { fill: rgba(242, 193, 78, .22); stroke: var(--gold); stroke-width: 3; filter: drop-shadow(0 0 8px rgba(242, 193, 78, .8)); }
.s16-seal circle.in { fill: none; stroke-width: 1.2; stroke-dasharray: 3 3; filter: none; }
.s16-seal path { fill: none; stroke: var(--gold); stroke-width: 3.4; stroke-linecap: round; stroke-linejoin: round; }
.s16-doc { position: absolute; left: 400px; top: 500px; width: 192px; padding: 8px 12px; border-radius: 10px; background: rgba(18, 12, 34, .88); border: 1px solid var(--violet); box-shadow: 0 0 24px rgba(167, 139, 250, .35); display: flex; flex-direction: column; gap: 2px; }
.s16-doc b { font-size: 17px; color: var(--violet); }
.s16-doc span { font: 500 12.5px/1.2 var(--mono); color: var(--ink2); }
.s16-win figcaption { margin-top: 14px; font-size: 15.5px; line-height: 1.45; color: var(--ink3); }
.s16-win figcaption .tag { font-size: 12px; padding: 5px 8px; margin-right: 6px; }

/* right column: the question, the final line, the law, the partners */
.s16-ask { position: absolute; left: 700px; top: 66px; margin: 0; font: italic 500 30px/1 var(--serif); color: var(--ink3); }
.s16-final { position: absolute; left: 700px; top: 118px; margin: 0; font-size: 104px; font-weight: 800; letter-spacing: -.03em; line-height: 1.04; }
.s16-final .ln { display: block; }
.s16-final .w { display: inline-block; }
.s16-final .c-cyan { text-shadow: 0 0 40px rgba(76, 201, 240, .3); }
.s16-final .c-violet { text-shadow: 0 0 40px rgba(167, 139, 250, .3); }
.s16-final .c-gold { text-shadow: 0 0 40px rgba(242, 193, 78, .3); }
.s16-law { position: absolute; left: 700px; top: 476px; width: 980px; margin: 0; padding-left: 22px; border-left: 3px solid var(--gold); }
.s16-law p { margin: 0; font: italic 400 21px/1.42 var(--serif); color: var(--ink2); }
.s16-law cite { display: block; margin-top: 6px; font: 500 14px/1 var(--mono); font-style: normal; color: var(--gold); letter-spacing: .02em; }
.s16-partners { position: absolute; left: 700px; top: 620px; width: 980px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.s16-partners .card { padding: 16px 20px 18px; border-radius: 16px; display: flex; flex-direction: column; gap: 4px; }
.s16-partners b { font-size: 20px; line-height: 1.2; color: var(--ink); }
.s16-partners small { font: 600 12.5px/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--green); margin-bottom: 4px; }
.s16-partners p { font-size: 16.5px; line-height: 1.35; }
.s16-thanks { position: absolute; left: 700px; top: 808px; margin: 0; font-size: 30px; font-weight: 600; color: var(--ink); }
.s16-src { bottom: 30px; }

/* polish pass (19/10): no sub-14px labels; give the cite line room inside the quote block */
.s16-doc span { font-size: 14px; }
.s16-win figcaption .tag { font-size: 14px; padding: 5px 10px; }
.s16-partners small { font-size: 14px; letter-spacing: .08em; }
.s16-law cite { line-height: 1.25; }
