.ds-w{ white-space: nowrap; }
.ds-space.ds-gap{ display: inline; width: auto; }

.ds-hidden{
  position: absolute;
  width: 1px; height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.ds-posts{
  --post-fs: 1rem;
  display: grid;
  margin: 0;
  padding: 0;
}

.ds-post{
  min-width: 0;
  min-height: 0;
  font-size: var(--post-fs);
}

.ds-post__link{
  display: flex;
  flex-direction: column;
  height: 100%;
  color: var(--ds-ink);
  text-decoration: none;
  background: var(--ds-paper);
  box-shadow: 0 .35em 1.1em rgb(0 0 0 / .14), 0 .05em .2em rgb(0 0 0 / .1);
  -webkit-tap-highlight-color: transparent;
}

.ds-post__media{
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--ds-ink);
}

.ds-post__media img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: scale .6s var(--ds-ease-out);
}

.ds-post__body{
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
  gap: .5em;
  padding: 1em 1.1em .95em;
}

.ds-post__title{
  margin: 0;
  font-family: var(--ds-font-display);
  font-size: 1.18em;
  font-weight: var(--ds-fw-medium);
  line-height: 1.22;
  letter-spacing: -.005em;

  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.ds-post__excerpt{
  margin: 0;
  font-family: var(--ds-font-alt);
  font-size: .9em;
  line-height: 1.4;
  color: rgb(23 23 23 / .7);

  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.ds-post__foot{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1em;
  margin-top: auto;
  padding-top: .45em;
}

.ds-post__meta{
  font-family: var(--ds-font-display);
  font-size: max(.68em, .6875rem);
  font-weight: var(--ds-fw-bold);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ds-red);
}

.ds-post__more{
  font-family: var(--ds-font-display);
  font-size: max(.74em, .6875rem);
  font-weight: var(--ds-fw-bold);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ds-ink);
  transition: color .2s ease;
}

@media (hover: hover){
  .ds-post__link:hover .ds-post__more{ color: var(--ds-red); }
  .ds-post__link:hover .ds-post__media img{ scale: 1.04; }
}

.ds-post__link:focus-visible{
  outline: 3px solid var(--ds-red);
  outline-offset: 4px;
}
.ds-post__link:focus-visible .ds-post__more{ color: var(--ds-red); }

@media (prefers-reduced-motion: reduce){
  .ds-post__media img,
  .ds-post__more{ transition: none; }
}

.ds-posts--grid{
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 19rem), 1fr));
  gap: clamp(1.25rem, 2.5vw, 2.25rem);
}

.ds-posts--feature .ds-post__media{ aspect-ratio: 2 / 1; }
.ds-posts--feature .ds-post__body{ padding: 1.05em 1.25em 1em; }
.ds-posts--feature .ds-post__title{ font-size: 1.42em; -webkit-line-clamp: 2; }

.ds-posts--rows .ds-post__link{ flex-direction: row; }
.ds-posts--rows .ds-post__media{
  aspect-ratio: 4 / 3;
  height: 100%;
  flex: none;
}
.ds-posts--rows .ds-post__body{ padding: .75em 1em .7em 1.05em; gap: .3em; }
.ds-posts--rows .ds-post__title{ font-size: 1.08em; -webkit-line-clamp: 2; }
.ds-posts--rows .ds-post__excerpt{ display: none; }

.ds-blog{
  --bl-title: clamp(2rem, calc(1.02 * var(--ds-cell)), 6.5rem);
  --bl-feat:  calc(6.2 * var(--ds-cell));
  --bl-side:  calc(8 * var(--ds-cell));

  position: absolute;
  inset: 0;
  z-index: 1;
}

.ds-blog__grid{
  --post-fs: clamp(.8125rem, calc(.45rem + .1 * var(--ds-cell)), 1.0625rem);

  position: absolute;
  top: calc(1.5 * var(--ds-cell));
  bottom: calc(.6 * var(--ds-cell));
  left: calc(1.4 * var(--ds-cell));
  right: calc(1.4 * var(--ds-cell));

  display: grid;
  grid-template-columns: var(--bl-feat) minmax(0, var(--bl-side));
  grid-template-rows: auto auto;
  justify-content: center;
  grid-template-areas:
    "head  label"
    "feat  list";
  gap: calc(.4 * var(--ds-cell)) calc(.8 * var(--ds-cell));
  align-content: safe center;
}

.ds-blog__head{ grid-area: head; }

.ds-blog__head[data-ds-blog-fit]{
  justify-self: start;
  width: var(--bl-head-w, 100%);
  max-width: 100%;
  display: grid;
  grid-template-columns: max-content max-content;
  justify-content: space-between;
  align-items: end;
  column-gap: calc(.3 * var(--ds-cell));
}
.ds-blog__head .ds-blog__title{ grid-column: 1; grid-row: 1; }
.ds-blog__head .ds-blog__intro{ grid-column: 1 / -1; grid-row: 2; width: 0; min-width: 100%; }

.ds-blog__title{
  --ds-title-size: var(--bl-title);
  --ds-title-leading: 1.2;
}

.ds-blog__intro{
  max-width: 34em;
  margin: calc(.08 * var(--ds-cell)) 0 0;
  font-family: var(--ds-font-alt);
  font-size: clamp(.9375rem, calc(.47rem + .125 * var(--ds-cell)), 1.25rem);
  line-height: 1.4;
  color: var(--ds-text-color);
}

.ds-blog__label{
  grid-area: label;
  align-self: end;
  display: flex;
  align-items: center;
  gap: .7em;
  margin: 0;
  font-family: var(--ds-font-display);
  font-size: max(calc(.8 * var(--post-fs)), .75rem);
  font-weight: var(--ds-fw-bold);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ds-ink);
}
.ds-blog__label::before{
  content: "";
  width: .75em;
  height: .75em;
  background: var(--ds-red);
}

.ds-posts--feature{ grid-area: feat; }

.ds-posts--rows{
  grid-area: list;
  contain: size;
  display: flex;
  flex-direction: column;
  gap: calc(.22 * var(--ds-cell));
}
.ds-posts--rows .ds-post{ flex: 1 1 0; }

.ds-blog__more{
  grid-column: 2;
  grid-row: 1;
  justify-self: end;
  margin-bottom: calc(.08 * var(--bl-title));

  display: inline-flex;
  align-items: center;
  gap: .6em;
  padding: .8em 1em .8em 1.2em;

  font-family: var(--ds-font-display);
  font-size: clamp(.8125rem, calc(.42rem + .1 * var(--ds-cell)), 1rem);
  font-weight: var(--ds-fw-bold);
  line-height: 1;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  color: var(--ds-paper);
  background: var(--ds-ink);
  border-radius: 0;
  box-shadow: 0 .4em 1em rgb(0 0 0 / .16);
  transition: background-color .2s ease;
}
.ds-blog__more svg{
  flex: 0 0 auto;
  width: 1.1em;
  height: 1.1em;
  transition: translate .25s var(--ds-ease-out);
}
@media (hover: hover){
  .ds-blog__more:hover{ background: var(--ds-red); }
  .ds-blog__more:hover svg{ translate: .14em -.14em; }
}
.ds-blog__more:focus-visible{
  outline: 2px solid var(--ds-red);
  outline-offset: 3px;
}

.ds-blog__grid{ container-type: inline-size; }
.ds-posts--rows{ position: relative; z-index: 2; }
.ds-blog__sticker{
  --st-col:   min(var(--bl-side), 100cqw - var(--bl-feat) - .8 * var(--ds-cell));
  --st-label: calc(12 * max(.8 * var(--post-fs), .75rem));
  --st-room:  calc(var(--st-col) - var(--st-label) - .55 * var(--ds-cell));
  --st-w:     min(3.6 * var(--ds-cell), var(--st-room));
  --st-in:    clamp(.2 * var(--ds-cell), var(--st-col) - var(--st-label) - .35 * var(--ds-cell) - var(--st-w), 1.3 * var(--ds-cell));

  grid-area: list;
  justify-self: end;
  align-self: start;
  position: relative;
  z-index: 1;
  display: block;
  width: var(--st-w);
  height: auto;
  translate: calc(-1 * var(--st-in)) calc(-100% + .85 * var(--ds-cell));
  filter: drop-shadow(0 .35rem .8rem rgb(0 0 0 / .25));
}
@media (hover: hover){
  .ds-blog__sticker:hover{ animation: ds-blog-shake .16s linear infinite; }
}
@keyframes ds-blog-shake{
  0%  { transform: translate(0, 0) rotate(0); }
  20% { transform: translate(-2px, 1px) rotate(-1.6deg); }
  40% { transform: translate(2px, -1px) rotate(1.4deg); }
  60% { transform: translate(-1px, -1.5px) rotate(-1deg); }
  80% { transform: translate(1.5px, 1px) rotate(1.2deg); }
  100%{ transform: translate(0, 0) rotate(0); }
}
@media (prefers-reduced-motion: reduce){
  .ds-blog__sticker:hover{ animation: none; }
}

.ds-sec--7 .ds-journals{
  position: absolute;
  inset: 0;
  -webkit-mask-image: linear-gradient(to bottom, #000 var(--ds-fade-hold, 100%), transparent 100%);
          mask-image: linear-gradient(to bottom, #000 var(--ds-fade-hold, 100%), transparent 100%);
}
.ds-sec--7 .ds-journal{
  position: absolute;
  width: auto;
  height: calc(5.6 * var(--ds-cell));
  max-width: none;
}
.ds-sec--7 .ds-journal--tr{ top: 0; right: 0; }
.ds-sec--7 .ds-journal--bl{ bottom: 0; left: 0; scale: -1 -1; }

.ds-sec--7 .h-t1{ top: 0; left: var(--ds-cell); }
.ds-sec--7 .h-t2{ top: 0; right: calc(3 * var(--ds-cell)); }
.ds-sec--7 .h-t3{ top: 0; right: 0; }
.ds-sec--7 .h-t4{ top: var(--ds-cell); left: 0; }
.ds-sec--7 .h-t5{ top: var(--ds-cell); right: var(--ds-cell); }
.ds-sec--7 .h-b1{ bottom: 0; left: 0; }
.ds-sec--7 .h-b2{ bottom: 0; right: calc(3 * var(--ds-cell)); }
.ds-sec--7 .h-b3{ bottom: 0; right: var(--ds-cell); }
.ds-sec--7 .h-b4{ bottom: var(--ds-cell); right: 0; }

@media (max-height: 800px) and (min-width: 721px){
  .ds-posts--feature .ds-post__excerpt{ display: none; }
}

@media (max-height: 650px) and (min-width: 721px){
  .ds-blog{ --bl-title: clamp(1.5rem, calc(.86 * var(--ds-cell)), 4.75rem); }
}

@media (max-width: 720px), (orientation: portrait){
  .ds-blog__grid{
    top: calc(1.9 * var(--ds-cell));
    bottom: calc(1.1 * var(--ds-cell));
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "head" "feat" "label" "list";
    row-gap: max(.9rem, calc(.25 * var(--ds-cell)));
  }
  .ds-posts--rows{ contain: none; gap: .6rem; }
  .ds-posts--rows .ds-post{ flex: none; height: max(5rem, calc(1.4 * var(--ds-cell))); }
  .ds-posts--rows .ds-post:nth-child(n+3){ display: none; }
  .ds-blog__label{ margin-top: .3rem; }
  .ds-blog__sticker{ display: none; }
}

@media (max-width: 720px){
  .ds-sec--7 .ds-journal{ height: calc(4.2 * var(--ds-cell)); }

  .ds-blog__grid{
    --post-fs: .875rem;
    top: 76px;
    bottom: calc(.9 * var(--ds-cell) + var(--ds-sec-cut, 0px));
    left: var(--ds-gutter);
    right: var(--ds-gutter);
  }
  .ds-blog__intro{ font-size: .9375rem; }
  .ds-posts--feature .ds-post__media{ aspect-ratio: 2.3 / 1; }
  .ds-posts--feature .ds-post__excerpt{ display: none; }
  .ds-posts--rows .ds-post{ height: 5.5rem; }
  .ds-posts--rows .ds-post__title{ font-size: .92em; line-height: 1.18; }
}

@media (max-width: 720px){
  .ds-posts--feature .ds-post{ height: 5.5rem; }
  .ds-posts--feature .ds-post__link{ flex-direction: row; }
  .ds-posts--feature .ds-post__media{
    aspect-ratio: 4 / 3;
    height: 100%;
    flex: none;
  }
  .ds-posts--feature .ds-post__body{ padding: .75em 1em .7em 1.05em; gap: .3em; }
  .ds-posts--feature .ds-post__title{ font-size: .98em; line-height: 1.18; -webkit-line-clamp: 2; }
}

@media (min-width: 721px) and (orientation: portrait){
  .ds-blog__grid{
    top: calc(1.5 * var(--ds-cell) + 1rem);
    bottom: calc(1.1 * var(--ds-cell) + var(--ds-sec-cut, 0px));
    left: max(8vw, (100% - 42rem) / 2);
    right: max(8vw, (100% - 42rem) / 2);
  }
  .ds-sec--7 .ds-journal{ height: calc(4.4 * var(--ds-cell)); }
  .ds-posts--feature .ds-post__media{
    max-height: max(9rem, var(--ds-sec-h) - var(--ds-sec-cut, 0px) - 42rem);
  }
}
@media (min-width: 721px) and (orientation: portrait) and (max-height: 1000px){
  .ds-posts--feature .ds-post__excerpt{ display: none; }
}

@media (max-width: 720px) and (max-height: 600px){
  .ds-posts--rows .ds-post:nth-child(n+2){ display: none; }
}

.ds-blogpage{
  --bp-cell: clamp(2.5rem, 6.9444vw, 4.5rem);
  --ds-cell: min(6.9444vw, 100vh / 10.24);

  position: relative;
  min-height: 100vh;
  margin: 0;
  background: rgb(240 240 240 / .75);
  color: var(--ds-text-color);
  font-family: var(--ds-font-alt);
}
.ds-blogpage--dark{ background: rgb(23 23 23 / .75); }

.ds-blogpage *,
.ds-blogpage *::before,
.ds-blogpage *::after{ box-sizing: border-box; }

.ds-pageart{
  position: absolute;
  top: 0; left: 0; right: 0;
  height: calc(2 * var(--bp-cell));
  opacity: .75;
  pointer-events: none;
}
.ds-pageart i{
  position: absolute;
  width: var(--bp-cell);
  height: var(--bp-cell);
  background: var(--ds-red);
}
.ds-pageart .top1{ top: 0; left: 0; }
.ds-pageart .top2{ top: 0; left: calc(3 * var(--bp-cell)); }
.ds-pageart .top3{ top: 0; right: var(--bp-cell); }
.ds-pageart .top4{ top: var(--bp-cell); left: var(--bp-cell); }
.ds-pageart .top5{ top: var(--bp-cell); right: 0; }

.ds-blogbar{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 76rem;
  margin: 0 auto;
  padding: calc(2 * var(--bp-cell) + 1rem) var(--ds-gutter) 0;
}

.ds-crumbs{ flex: 0 1 auto; min-width: 0; }

.ds-blogbar__back{
  flex: none;
  margin-left: 1.5rem;
}
.ds-crumbs ol{
  display: flex;
  align-items: center;
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  font-family: var(--ds-font-display);
  font-size: var(--ds-fs-caption);
  font-weight: var(--ds-fw-bold);
  line-height: 1.4;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.ds-crumbs li{
  display: flex;
  align-items: center;
  flex: none;
  white-space: nowrap;
}
.ds-crumbs li + li::before{
  content: "/";
  margin: 0 .75em;
  color: var(--ds-red);
}
.ds-crumbs li:last-child{ flex: 0 1 auto; min-width: 0; }
.ds-crumbs [aria-current]{
  display: block;
  min-width: 0;
  max-width: 46ch;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ds-crumbs a{
  color: inherit;
  opacity: .6;
  text-decoration: none;
  transition: opacity .2s ease, color .2s ease;
}
@media (hover: hover){
  .ds-crumbs a:hover{ opacity: 1; color: var(--ds-red); }
}
.ds-crumbs a:focus-visible{
  opacity: 1;
  outline: 2px solid var(--ds-red);
  outline-offset: 4px;
}

.ds-bloglist{
  position: relative;
  max-width: 76rem;
  margin: 0 auto;
  padding: calc(2 * var(--bp-cell) + clamp(1.5rem, 4vw, 3rem)) var(--ds-gutter) clamp(4rem, 8vw, 7rem);
}

.ds-bloglist__head{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 27rem);
  grid-template-areas:
    "title  title"
    "crumbs ."
    "intro  search";
  align-items: end;
  gap: .9rem 3rem;
  margin-bottom: clamp(2rem, 4vw, 3.25rem);
}

.ds-bloglist__title{
  grid-area: title;
  justify-self: center;
  margin-bottom: clamp(.75rem, 2vw, 1.75rem);
  --ds-title-size: clamp(2.5rem, 1.2rem + 5vw, 5.5rem);
  --ds-title-leading: 1.05;
}
.ds-bloglist__crumbs{ grid-area: crumbs; }

.ds-bloglist__intro{
  grid-area: intro;
  max-width: 34em;
  margin: 0;
  font-size: var(--ds-fs-xs);
  line-height: 1.45;
}

.ds-search{
  grid-area: search;
  position: relative;
  display: block;
  width: 100%;
}
.ds-search input{
  width: 100%;
  padding: .85em 1em .85em 2.8em;
  border: 2px solid var(--ds-ink);
  border-radius: 0;
  background: var(--ds-paper);
  color: var(--ds-ink);
  font: inherit;
  font-size: 1rem;
  outline: none;
  -webkit-appearance: none;
          appearance: none;
}
.ds-search input::placeholder{ color: rgb(23 23 23 / .5); }
.ds-search input:focus{ border-color: var(--ds-red); }
.ds-search::before,
.ds-search::after{
  content: "";
  position: absolute;
  pointer-events: none;
}
.ds-search::before{
  left: 1em; top: 50%;
  width: .8em; height: .8em;
  border: 2px solid var(--ds-ink);
  border-radius: 50%;
  transform: translate(0, -60%);
}
.ds-search::after{
  left: 1.62em; top: 50%;
  width: 2px; height: .45em;
  background: var(--ds-ink);
  transform: translate(0, .15em) rotate(-45deg);
}

.ds-bloglist__empty{
  margin: 2rem 0 0;
  font-size: var(--ds-fs-xs);
}

.ds-blogpage--dark .ds-search input{
  border-color: rgb(240 240 240 / .4);
  background: rgb(240 240 240 / .06);
  color: var(--ds-paper);
}
.ds-blogpage--dark .ds-search input::placeholder{ color: rgb(240 240 240 / .5); }
.ds-blogpage--dark .ds-search input:focus{ border-color: var(--ds-red); background: rgb(240 240 240 / .1); }
.ds-blogpage--dark .ds-search::before{ border-color: var(--ds-paper); }
.ds-blogpage--dark .ds-search::after{ background: var(--ds-paper); }

@media (max-width: 720px){
  .ds-bloglist__head{
    grid-template-columns: 1fr;
    grid-template-areas: "title" "crumbs" "intro" "search";
  }
  .ds-search{ width: 100%; }
}

.ds-progress{
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 30;
  height: 4px;
  pointer-events: none;
}
.ds-progress span{
  display: block;
  height: 100%;
  background: var(--ds-red);
  transform: scaleX(var(--ds-read, 0));
  transform-origin: 0 50%;
}

.ds-article{
  --ar-pad: clamp(1.25rem, 4vw, 3.5rem);
  --ar-col: 100%;

  width: calc(100% - 2 * var(--ds-gutter));
  max-width: calc(76rem - 2 * var(--ds-gutter));
  margin: clamp(1.5rem, 4vw, 3rem) auto 0;
  padding: var(--ar-pad);
  background: var(--ds-paper);
  box-shadow: 0 .5rem 2.5rem rgb(0 0 0 / .18), 0 .1rem .3rem rgb(0 0 0 / .1);
}

.ds-article__head{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "meta pic" "title pic";
  align-content: center;
  column-gap: clamp(1.5rem, 4vw, 3.5rem);
  max-width: var(--ar-col);
  margin: 0 auto;
}
.ds-article__head > .ds-article__meta{ grid-area: meta; align-self: end; }
.ds-article__head > .ds-article__title{ grid-area: title; align-self: start; }

.ds-article__pic{
  grid-area: pic;
  align-self: center;
  display: block;
  width: clamp(9rem, 16vw, 15rem);
  height: auto;
  margin: -.5rem 0;
  user-select: none;
  -webkit-user-drag: none;
  transform-origin: 50% 55%;
  transition: scale .3s cubic-bezier(.2, .8, .2, 1);
}

@media (hover: hover){
  .ds-article__pic:hover{
    scale: 1.07;
    animation: ds-pic-buzz .3s linear infinite;
  }
}
.ds-article__pic.is-buzz{
  scale: 1.07;
  animation: ds-pic-buzz .3s linear 2;
}
@keyframes ds-pic-buzz{
  0%, 100%{ transform: translate(0, 0) rotate(0deg); }
  20%{ transform: translate(-1.5px, 1px) rotate(-1.4deg); }
  40%{ transform: translate(1.5px, -1px) rotate(1.4deg); }
  60%{ transform: translate(-1px, -.5px) rotate(-.9deg); }
  80%{ transform: translate(1px, 1px) rotate(.9deg); }
}
@media (prefers-reduced-motion: reduce){
  .ds-article__pic:hover,
  .ds-article__pic.is-buzz{ animation: none; }
}
.ds-article__meta{
  display: flex;
  flex-wrap: wrap;
  gap: .4em 1.2em;
  margin: 0 0 1.1rem;
  font-family: var(--ds-font-display);
  font-size: var(--ds-fs-caption);
  font-weight: var(--ds-fw-bold);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ds-red);
}
.ds-article__meta span + span{ color: var(--ds-ink); }

.ds-article__title{
  --ds-title-size: clamp(1.75rem, 1rem + 3vw, 3.25rem);
  --ds-title-leading: 1.08;
}

.ds-article__cover{
  margin: clamp(1.5rem, 3vw, 2.5rem) calc(-1 * var(--ar-pad)) 0;
}
.ds-article__cover img{
  display: block;
  width: 100%;
  height: auto;
}

.ds-article__body{
  max-width: var(--ar-col);
  margin: clamp(2rem, 4vw, 3rem) auto 0;
  font-family: var(--ds-font-alt);
  font-size: clamp(1.0625rem, .98rem + .3vw, 1.1875rem);
  line-height: 1.7;
  color: var(--ds-ink);
}

.ds-article__body p{ margin: 0 0 1.2em; }

.ds-article__body > p:first-child:has(> em:only-child){
  margin-bottom: 1.6em;
  padding-left: 1.1em;
  border-left: 6px solid var(--ds-red);
  font-size: 1.18em;
  line-height: 1.5;
}

.ds-article__body h2{
  margin: 2em 0 .7em;
  font-family: var(--ds-font-display);
  font-size: 1.55em;
  font-weight: var(--ds-fw-xbold);
  line-height: 1.15;
  letter-spacing: -.01em;
}

.ds-article__body h3{
  margin: 1.6em 0 .5em;
  font-family: var(--ds-font-display);
  font-size: 1.15em;
  font-weight: var(--ds-fw-bold);
  line-height: 1.25;
}

.ds-article__body strong{ font-weight: 650; }

.ds-article__body a{
  color: inherit;
  text-decoration: underline;
  text-decoration-color: var(--ds-red);
  text-decoration-thickness: 2px;
  text-underline-offset: .2em;
  transition: color .18s ease;
}
.ds-article__body a:hover{ color: var(--ds-red); }

.ds-article__img{
  display: block;
  width: 100%;
  height: auto;
  margin: 2.2em 0;
  box-shadow: 0 .4rem 1.4rem rgb(0 0 0 / .14);
}

.ds-article__table{
  margin: 1.8em 0 2em;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 2px solid var(--ds-ink);
}
.ds-article__table table{
  width: 100%;
  min-width: 34rem;
  border-collapse: collapse;
  font-size: .86em;
  line-height: 1.45;
}
.ds-article__table--compare table{ min-width: 28rem; }
.ds-article__table th,
.ds-article__table td{
  padding: .75em .9em;
  text-align: left;
  vertical-align: top;
}
.ds-article__table th{
  background: var(--ds-ink);
  color: var(--ds-paper, #F0F0F0);
  font-family: var(--ds-font-display);
  font-weight: var(--ds-fw-bold);
  font-size: .9em;
  letter-spacing: .02em;
}
.ds-article__table td{ border-top: 1px solid rgb(23 23 23 / .16); }
.ds-article__table tbody tr:nth-child(even) td{ background: rgb(23 23 23 / .035); }
.ds-article__table .ds-num{
  text-align: right;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.ds-article__table td.ds-num strong{ color: var(--ds-red); }
.ds-article__table--compare td:first-child{ color: rgb(23 23 23 / .6); }
.ds-article__table--compare td:last-child{ font-weight: 600; }

@media (max-width: 40rem){
  .ds-article__table{
    overflow: visible;
    border: 0;
  }
  .ds-article__table table,
  .ds-article__table--compare table{ min-width: 0; }
  .ds-article__table table,
  .ds-article__table tbody,
  .ds-article__table tr,
  .ds-article__table td{ display: block; }
  .ds-article__table thead{
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
  .ds-article__table tr{
    margin: 0 0 .8em;
    border: 2px solid var(--ds-ink);
  }
  .ds-article__table td,
  .ds-article__table tbody tr:nth-child(even) td{ background: none; }
  .ds-article__table td{
    padding: .55em .8em;
    border-top: 1px solid rgb(23 23 23 / .16);
  }
  .ds-article__table td:first-child{ border-top: 0; }
  .ds-article__table .ds-num{ text-align: left; }
  .ds-article__table td[data-label]::before{
    content: attr(data-label);
    display: block;
    margin-bottom: .15em;
    font-family: var(--ds-font-display);
    font-size: .78em;
    font-weight: var(--ds-fw-bold);
    letter-spacing: .06em;
    text-transform: uppercase;
    color: rgb(23 23 23 / .55);
  }
  .ds-article__table tbody tr td:first-child{
    background: var(--ds-ink);
    color: var(--ds-paper, #F0F0F0);
    font-weight: 600;
  }
  .ds-article__table tbody tr td:first-child::before{ color: rgb(240 240 240 / .6); }
  .ds-article__table tbody tr td:first-child a{ color: inherit; }
}

.ds-article__body ol,
.ds-article__body ul{
  margin: 0 0 1.2em;
  padding-left: 1.4em;
}
.ds-article__body li{ margin: 0 0 .5em; }
.ds-article__body li::marker{
  color: var(--ds-red);
  font-family: var(--ds-font-display);
  font-weight: var(--ds-fw-bold);
}

.ds-article__sources{
  font-size: .82em;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.ds-article__foot{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem 2rem;
  max-width: var(--ar-col);
  margin: clamp(2.5rem, 5vw, 3.5rem) auto 0;
  padding-top: 1.75rem;
  border-top: 2px solid var(--ds-ink);
}

.ds-author{
  display: flex;
  align-items: center;
  gap: .9rem;
}
.ds-author img{
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  object-fit: cover;
}
.ds-author p{
  display: flex;
  flex-direction: column;
  margin: 0;
  font-size: .95rem;
  line-height: 1.35;
}
.ds-author strong{
  font-family: var(--ds-font-display);
  font-weight: var(--ds-fw-xbold);
  font-size: 1.05rem;
}

.ds-article__actions{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
}

.ds-share{
  display: inline-flex;
  align-items: center;
  line-height: 1.2;
  text-decoration: none;
  padding: .7em 1.1em;
  border: 2px solid var(--ds-ink);
  border-radius: 0;
  background: transparent;
  color: var(--ds-ink);
  font-family: var(--ds-font-display);
  font-size: var(--ds-fs-caption);
  font-weight: var(--ds-fw-bold);
  letter-spacing: .12em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}
.ds-share:hover{ background: var(--ds-ink); color: var(--ds-paper); }
.ds-share.is-done{ background: var(--ds-red); border-color: var(--ds-red); color: var(--ds-paper); }
.ds-share:focus-visible{ outline: 2px solid var(--ds-red); outline-offset: 3px; }

.ds-share--light{
  border-color: var(--ds-paper);
  color: var(--ds-paper);
}
.ds-share--light:hover{ background: var(--ds-paper); color: var(--ds-ink); }

.ds-sharebar{
  display: none;
  align-items: center;
  gap: .5rem;
}
.ds-sharebar__label{
  margin-right: .5rem;
  font-family: var(--ds-font-display);
  font-size: var(--ds-fs-caption);
  font-weight: var(--ds-fw-bold);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ds-ink);
  transition: color .18s ease;
}
.ds-sharebar.is-done .ds-sharebar__label{ color: var(--ds-red); }

.ds-sharebar__btn{
  display: inline-grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  border: 2px solid var(--ds-ink);
  border-radius: 0;
  background: transparent;
  color: var(--ds-ink);
  cursor: pointer;
  transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}
.ds-sharebar__btn svg{ width: 1.15rem; height: 1.15rem; }
.ds-sharebar__btn:hover{ background: var(--ds-ink); color: var(--ds-paper); }
.ds-sharebar__btn:focus-visible{ outline: 2px solid var(--ds-red); outline-offset: 3px; }
.ds-sharebar.is-done [data-ds-copy]{ background: var(--ds-red); border-color: var(--ds-red); color: var(--ds-paper); }

@media (hover: hover) and (pointer: fine){
  .ds-sharebar{ display: flex; }
  .ds-share--native{ display: none; }
  .ds-sharebar + .ds-share--native + .ds-share{ margin-left: 1rem; }
}

.ds-related{
  max-width: 76rem;
  margin: 0 auto;
  padding: clamp(3.5rem, 7vw, 6rem) var(--ds-gutter) clamp(4rem, 8vw, 7rem);
}

.ds-related__title{
  --ds-title-size: clamp(1.5rem, 1rem + 2vw, 2.5rem);
  --ds-title-leading: 1.1;
  margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
}

@media (max-width: 720px){
  .ds-article{ margin-top: 1rem; box-shadow: 0 .3rem 1.2rem rgb(0 0 0 / .14); }
  .ds-article__foot{ flex-direction: column; align-items: flex-start; }
  .ds-blogbar__back{ margin-left: 1rem; padding: .6em .85em; }

  .ds-article__head{
    grid-template-areas: "meta pic" "title title";
    column-gap: 1rem;
  }
  .ds-article__pic{
    align-self: end;
    width: 6.5rem;
    margin: -.25rem 0 .9rem;
  }
}

@media (max-width: 560px){
  .ds-blogbar .ds-crumbs li:last-child{ display: none; }
}
