/* Article-specific additions for Software / Automotive UX article. */
.article-figure{margin:8px 0 30px;}
.article-figure img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:2px;}
.article-figure figcaption{margin-top:9px;color:#78818a;font-size:.76rem;line-height:1.45;}
.article-section .section-head + .article-figure{margin-top:2px;}
@media(max-width:620px){
  .article-figure{margin:4px 0 24px;}
}


/* Facts, lists and source links */
.article-body .external-link{
  color:var(--violet);
  text-decoration:none;
  border-bottom:1px solid rgba(101,86,143,.35);
}
.article-body .external-link:hover{border-bottom-color:var(--violet);}

.article-list-block{margin:24px 0 28px;}
.article-list-block h3{
  margin:0 0 12px;
  font-family:"IBM Plex Sans",sans-serif;
  font-size:1rem;
  line-height:1.35;
  color:var(--ink);
}
.article-list--boxed{
  list-style:none;
  padding:18px 22px;
  margin:18px 0 26px;
  background:var(--cream);
  border-left:2px solid var(--violet);
}
.article-list--boxed li{
  position:relative;
  padding-left:20px;
  margin-bottom:9px;
}
.article-list--boxed li:last-child{margin-bottom:0;}
.article-list--boxed li::before{
  content:"";
  position:absolute;
  left:0;
  top:.72em;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--violet);
}
.article-list--compact{margin-top:-4px;margin-bottom:26px;}

.fact-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:32px 0 6px;
}
.fact-card{
  display:flex;
  flex-direction:column;
  min-height:206px;
  padding:20px 18px 17px;
  background:var(--cream);
  border-top:2px solid var(--violet);
  border-bottom:1px solid var(--line-light);
  text-decoration:none;
  color:var(--ink);
  transition:transform .18s ease, background .18s ease;
}
.fact-card:hover{transform:translateY(-2px);background:#f0ede5;}
.fact-number{
  display:block;
  margin-bottom:4px;
  font-family:"Fraunces",serif;
  font-size:2.05rem;
  line-height:1;
  color:var(--violet);
  letter-spacing:-.035em;
}
.fact-label{
  display:block;
  min-height:38px;
  font-size:.82rem;
  line-height:1.35;
  font-weight:600;
  color:var(--ink);
}
.fact-copy{
  display:block;
  margin-top:11px;
  font-size:.78rem;
  line-height:1.45;
  color:#59636d;
}
.fact-source{
  display:block;
  margin-top:auto;
  padding-top:14px;
  font-size:.7rem;
  color:var(--violet);
}

.single-fact{
  display:grid;
  grid-template-columns:130px 1fr auto;
  gap:22px;
  align-items:center;
  margin:30px 0 4px;
  padding:22px 24px;
  background:var(--cream);
  border-top:2px solid var(--violet);
  border-bottom:1px solid var(--line-light);
  text-decoration:none;
  color:var(--ink);
}
.single-fact-number{
  font-family:"Fraunces",serif;
  font-size:2rem;
  line-height:1;
  color:var(--violet);
  letter-spacing:-.035em;
}
.single-fact-text{font-size:.86rem;line-height:1.5;color:#3f4a54;}
.single-fact-source{white-space:nowrap;font-size:.72rem;color:var(--violet);}

.article-sources{
  margin-top:10px;
  padding-top:52px;
  border-top:1px solid var(--line-light);
  scroll-margin-top:86px;
}
.source-links{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.source-links a{
  display:flex;
  flex-direction:column;
  min-height:154px;
  padding:20px;
  background:var(--cream);
  border-top:2px solid var(--violet);
  text-decoration:none;
  color:var(--ink);
}
.source-links span{
  margin-bottom:8px;
  color:var(--violet);
  font-size:.72rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.045em;
}
.source-links strong{
  font-size:.91rem;
  line-height:1.42;
  font-weight:500;
}
.source-links em{
  margin-top:auto;
  padding-top:14px;
  color:#707984;
  font-size:.72rem;
  font-style:normal;
}

@media(max-width:720px){
  .fact-grid{grid-template-columns:1fr;}
  .fact-card{min-height:0;}
  .fact-label{min-height:0;}
  .single-fact{grid-template-columns:1fr;gap:8px;}
  .single-fact-source{padding-top:4px;}
  .source-links{grid-template-columns:1fr;}
  .source-links a{min-height:0;}
}


/* Personal ID. Buzz experience chapter */
.article-experience-note{
  margin-top:22px !important;
  padding:17px 20px;
  background:var(--cream);
  border-left:2px solid var(--violet);
  font-size:.92rem !important;
  line-height:1.55 !important;
}
.section-overline{
  margin:0 0 8px;
  color:var(--violet);
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.experience-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin:30px 0 34px;
}
.experience-card{
  position:relative;
  padding:24px 22px 22px;
  background:var(--cream);
  border-top:2px solid var(--violet);
  border-bottom:1px solid var(--line-light);
}
.experience-card--wide{
  grid-column:1 / -1;
}
.experience-number{
  display:block;
  margin-bottom:16px;
  font-family:"Fraunces",serif;
  font-size:2.15rem;
  line-height:1;
  color:var(--violet);
  opacity:.62;
}
.experience-card h3{
  margin:0 0 13px;
  font-family:"IBM Plex Sans",sans-serif;
  font-size:1rem;
  line-height:1.32;
  color:var(--ink);
}
.article-body .experience-card p{
  margin:0 0 14px;
  font-size:.84rem;
  line-height:1.56;
  color:#46515b;
}
.article-body .experience-card p:last-child{
  margin-bottom:0;
}
.article-body .experience-card .experience-ux{
  padding-top:12px;
  border-top:1px solid rgba(101,86,143,.16);
  color:#333c44;
}
.experience-quote{
  margin:36px 0;
  padding:5px 0 5px 25px;
  border-left:3px solid var(--violet);
  font-family:"Fraunces",serif;
  font-size:1.38rem;
  line-height:1.48;
  color:var(--ink);
}
@media(max-width:760px){
  .experience-grid{grid-template-columns:1fr;}
  .experience-card--wide{grid-column:auto;}
  .experience-card{padding:21px 18px 19px;}
  .experience-quote{font-size:1.18rem;padding-left:18px;}
}


/* SEO summary / related links */
.seo-summary{
  margin:28px 0 24px;
  padding:22px 24px 16px;
  background:var(--cream);
  border-top:2px solid var(--violet);
  border-bottom:1px solid var(--line-light);
}
.seo-summary-label{
  margin:0 0 10px !important;
  font-size:.78rem !important;
  line-height:1.3 !important;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.055em;
  color:var(--violet) !important;
}
.seo-summary .article-list{margin-bottom:0;}
.article-related{
  margin-top:14px;
  padding-top:52px;
  border-top:1px solid var(--line-light);
}
.related-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.related-grid a{
  display:flex;
  flex-direction:column;
  min-height:150px;
  padding:20px;
  text-decoration:none;
  background:var(--cream);
  border-top:2px solid var(--violet);
  color:var(--ink);
}
.related-grid span{
  margin-bottom:9px;
  color:var(--violet);
  font-size:.72rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.045em;
}
.related-grid strong{
  font-size:.92rem;
  line-height:1.42;
  font-weight:500;
}
.related-grid em{
  margin-top:auto;
  padding-top:14px;
  font-size:.74rem;
  font-style:normal;
  color:var(--violet);
}
@media(max-width:720px){
  .seo-summary{padding:19px 18px 13px;}
  .related-grid{grid-template-columns:1fr;}
  .related-grid a{min-height:0;}
}

/* v16: bottom related/sources sections removed */
.article-related,
.article-sources { display:none !important; }

.publications-more{margin-top:32px;padding-top:20px;border-top:1px solid var(--line-light);}.publications-more a{font-size:.9rem;color:var(--violet);text-decoration:none;border-bottom:1px solid var(--violet-soft);}


/* v25 ID. Buzz video callout */
.article-video-callout{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:28px;
  align-items:center;
  margin:8px 0 64px;
  padding:28px 30px;
  background:var(--cream);
  border-top:2px solid var(--violet);
  border-bottom:1px solid var(--line-light);
}
.video-callout-kicker{
  display:block;
  margin-bottom:7px;
  color:var(--violet);
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.article-video-callout h2{
  margin:0 0 9px;
  font-family:"Fraunces",serif;
  font-size:1.55rem;
  line-height:1.15;
  letter-spacing:-.02em;
  color:var(--ink);
}
.article-body .article-video-callout p{
  max-width:620px;
  margin:0;
  color:#535d66;
  font-size:.88rem;
  line-height:1.55;
}
.video-callout-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-width:235px;
  padding:14px 17px;
  background:var(--ink);
  color:#fff;
  text-decoration:none;
  font-size:.78rem;
  font-weight:600;
  white-space:nowrap;
  transition:transform .18s ease, opacity .18s ease;
}
.video-callout-link:hover{transform:translateY(-1px);opacity:.92;}
.video-play{
  display:grid;
  place-items:center;
  width:29px;
  height:29px;
  border-radius:50%;
  background:var(--violet);
  font-size:.66rem;
  padding-left:2px;
}
@media(max-width:760px){
  .article-video-callout{
    grid-template-columns:1fr;
    gap:18px;
    margin-bottom:52px;
    padding:23px 20px;
  }
  .video-callout-link{width:100%;justify-content:center;}
}
