.tiktok-accounts{display:grid;grid-template-columns:1fr;gap:16px;max-width:340px;margin:0 auto}
.tiktok-account{margin:0;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fff;break-inside:avoid}
.tiktok-account figcaption{background:var(--page-accent);padding:8px 14px;border-bottom:1px solid var(--line);font-size:12px;letter-spacing:.6px}
.tiktok-account img{display:block;width:100%;height:auto;object-fit:contain}
@media screen{
 #social-visuals>.script{font-family:'Cover Serif',Georgia,serif;font-style:italic;font-size:clamp(36px,4.3vw,54px);line-height:1.2}
 #social-visuals .visual-grid{grid-template-columns:1.2fr 1fr;gap:30px}
 #social-visuals .group-title{margin:18px 0 16px;font-size:20px}
}
@media screen and (max-width:767px){#social-visuals .visual-grid{grid-template-columns:1fr;gap:16px}.tiktok-accounts{max-width:420px;width:100%}}
@media print{.tiktok-accounts{max-width:86mm;gap:4mm}.tiktok-account figcaption{font-size:9pt;padding:2mm 3mm}.tiktok-account{border-radius:4mm}#social-visuals>.script{font-size:32pt}}
@media screen and (min-width:1001px){
 #social-visuals{padding-top:24px;padding-bottom:16px}
 #social-visuals>.script{font-size:44px}
 #social-visuals .group-title{margin:12px 0 10px}
 #social-visuals .tiktok-accounts{max-width:300px;gap:12px}
 #social-visuals .page-bridge{margin-top:16px}
}
.personal-post-grid .tile{aspect-ratio:3/4;min-width:0}
.personal-post-grid .post-image{display:block;margin:0;padding:0;overflow:hidden;background:#fff;border-radius:5px}
.post-image img{display:block;width:100%;height:100%;object-fit:contain}
@media screen and (max-width:767px){.personal-post-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:420px;margin:auto}}
@media print{.personal-post-grid .post-image{break-inside:avoid}}
/* Five real posts: three above, two centred below. */
.personal-post-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;max-width:460px;margin:0 auto}
.personal-post-grid .post-image{grid-column:span 2}
.personal-post-grid .post-image:nth-child(4){grid-column:2 / span 2}
.personal-post-grid .post-image:nth-child(5){grid-column:4 / span 2}
@media screen and (max-width:767px){
 .personal-post-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-width:360px;gap:12px}
 .personal-post-grid .post-image,.personal-post-grid .post-image:nth-child(4){grid-column:span 2}
 .personal-post-grid .post-image:nth-child(5){grid-column:2 / span 2}
}
@media print{.personal-post-grid{max-width:112mm;gap:2mm}}
/* One card per supplied TikTok analytics metric. */
.five-metrics{grid-template-columns:repeat(6,minmax(0,1fr));gap:20px;max-width:960px;margin:26px auto 0}
.five-metrics .result-card{grid-column:span 2;padding:24px 26px;min-width:0}
.five-metrics .result-card:nth-child(4){grid-column:2 / span 2}
.five-metrics .result-card:nth-child(5){grid-column:4 / span 2}
.five-metrics .result-card>span{font-size:14px;text-transform:uppercase;letter-spacing:.8px}
.five-metrics .result-card strong{font-size:48px;line-height:1.4;font-variant-numeric:tabular-nums;margin:8px 0}
.five-metrics .metric-change{font-size:14px;color:var(--ink);margin:0;line-height:1.5}
.five-metrics .result-card:nth-child(2),.five-metrics .result-card:nth-child(5){background:var(--theme-lav)}
@media screen{#results .result-heading{display:block}#results>.page-bridge{margin-top:28px}}
@media screen and (max-width:767px){
 .five-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:22px}
 .five-metrics .result-card,.five-metrics .result-card:nth-child(4){grid-column:span 2;padding:18px 14px}
 .five-metrics .result-card:nth-child(5){grid-column:2 / span 2}
 .five-metrics .result-card strong{font-size:38px}
 .five-metrics .result-card>span{font-size:13px;letter-spacing:.3px}
}
@media print{.five-metrics{grid-template-columns:repeat(6,minmax(0,1fr));gap:5mm;max-width:230mm}.five-metrics .result-card{padding:5mm;break-inside:avoid}.five-metrics .result-card strong{font-size:30pt}.five-metrics .result-card>span,.five-metrics .metric-change{font-size:10pt}}
/* Display the unedited platform screenshot, one metric per frame. */
.five-metrics .metric-proof{margin:0;padding:16px;overflow:hidden}
.metric-source{display:block;position:relative;overflow:hidden;width:100%;aspect-ratio:243.2/136;background:#fff;border-radius:8px}
.metric-source img{display:block;width:500%;max-width:none;height:auto}
.metric-source-1 img{transform:translateX(-20%)}
.metric-source-2 img{transform:translateX(-40%)}
.metric-source-3 img{transform:translateX(-60%)}
.metric-source-4 img{transform:translateX(-80%)}
.analytics-source-link{text-align:center;margin:14px 0 0;font-size:14px}
.analytics-source-link a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}
@media screen and (max-width:767px){.five-metrics .metric-proof{padding:8px}}
@media print{.five-metrics .metric-proof{padding:3mm}.analytics-source-link{font-size:9pt;margin-top:3mm}}
/* Original company marks replace decorative timeline nodes. */
#experience .timeline-node.company-logo{background:#fff;border:0;border-radius:10px;overflow:hidden;box-shadow:0 0 0 6px var(--page-bg)}
#experience .company-logo img{display:block;width:100%;height:100%;object-fit:contain;filter:none}
#experience .company-logo-0 img{transform:scale(1.35)}
#experience .company-logo-1 img{transform:scale(1.15)}
#experience .timeline-node.company-logo-2{border-radius:50%}
#experience .company-logo-2 img{width:auto;max-width:none;height:100%;object-fit:initial;justify-self:start}
#experience .company-logo-2 img{width:248.4%;height:100%;object-fit:fill;flex-shrink:0}
/* Research imagery supplied by Mai Trâm Anh. */
#research .research-photo{height:180px}
#research .research-photo img{display:block;width:100%;height:100%;object-fit:contain;filter:none}
#research .research-photo-01 img{object-fit:cover}
@media screen and (max-width:767px){#research .research-photo{height:auto;aspect-ratio:16/9}}
@media print{#research .research-photo{height:40mm}}
#research .research-photo img{position:absolute;inset:0;min-height:0;min-width:0;width:100%;height:100%}
/* Original activity identities in matching circular frames. */
#activities .activity-logo-art{height:120px;display:grid;place-items:center}
.activity-logo-circle{position:relative;display:block;width:100px;height:100px;overflow:hidden;border-radius:50%;background:#fff;border:1px solid var(--line)}
.activity-logo-circle img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;filter:none}
@media print{#activities .activity-logo-art{height:30mm}.activity-logo-circle{width:25mm;height:25mm}}
@media screen and (min-width:1001px){#activities .activity-logo-art{height:100px}#activities .activity-logo-circle{width:86px;height:86px}#activities .cv-section-heading{margin-bottom:16px}#activities .activity-copy{padding-top:16px;padding-bottom:16px}#activities>.page-bridge{margin-top:18px}}
/* Hide screenshot tab/divider edges without changing source evidence. */
.metric-source::after{content:"";position:absolute;inset:0;border:solid #fff;border-width:6px 7px 2px;border-radius:inherit;pointer-events:none}
.metric-source::after{border-width:8px 12px 3px}
