.rd-footer { border-top:1px solid var(--rd-line); }
body>.rd-footer>.rd-footer-inner { max-width:1240px; margin:auto; padding-block:30px 20px; }
.rd-footer * { box-sizing:border-box; }
.rd-footer-brand { display:flex; align-items:center; gap:28px; padding-bottom:26px; }
.rd-footer .rd-footer-logo { display:inline-flex; align-items:center; gap:9px; color:var(--rd-ink); font-size:21px; line-height:1; text-decoration:none; }
.rd-footer-logo img { width:28px; height:34px; }
.rd-footer-brand p { margin:0; color:var(--rd-muted); font-size:13px; line-height:1.6; }
.rd-footer-groups { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; padding:25px 0 26px; border-top:1px solid var(--rd-line); }
.rd-footer-group { min-width:0; }
.rd-footer-group summary { list-style:none; display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; cursor:default; }
.rd-footer-group summary::-webkit-details-marker { display:none; }
.rd-footer-group summary::marker { content:''; }
.rd-footer-group summary h3 { margin:0; }
.rd-footer-chevron { display:none; }
.rd-footer-group ul,.rd-footer-bottom ul { margin:0; padding:0; list-style:none; }
.rd-footer-group ul { display:grid; gap:0; }
.rd-footer-group a { display:inline-flex; align-items:center; min-height:30px; color:var(--rd-muted); font-size:13px; line-height:1.4; text-decoration:none; }
.rd-footer-group--apps ul { grid-auto-flow:column; grid-template-rows:repeat(5,auto); grid-template-columns:1fr 1fr; column-gap:20px; }
.rd-footer a:hover { color:var(--rd-accent); text-decoration:underline; text-underline-offset:4px; }
.rd-footer a:focus-visible,.rd-footer summary:focus-visible { outline:2px solid var(--rd-accent); outline-offset:4px; }
.rd-footer-bottom { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px 24px; padding-top:17px; border-top:1px solid var(--rd-line); color:var(--rd-muted); font-size:11px; }
.rd-footer-bottom ul { display:flex; flex-wrap:wrap; gap:4px 20px; }
.rd-footer-bottom a { display:inline-flex; align-items:center; min-height:30px; color:inherit; text-decoration:none; }
.rd-footer-tools { display:flex; align-items:center; gap:16px; }
.rd-footer-tools>a { justify-content:center; }
.rd-footer-tools>a svg { width:18px; height:18px; }
.rd-footer-tools #theme-toggle { display:grid; place-items:center; width:30px; height:30px; padding:5px; }
.rd-footer-tools #theme-toggle svg { width:17px; height:17px; }

.rd-home-latest { width:min(1240px,calc(100% - 48px)); margin:auto; padding:35px 36px 40px; border-inline:1px solid var(--rd-line); border-top:1px solid var(--rd-line); color:var(--rd-ink); font-family:var(--rd-font); }
.rd-home-latest-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:25px; }
.rd-home-latest h2 { margin:0; scroll-margin-top:90px; font-size:30px; font-weight:500; line-height:1.2; letter-spacing:-.035em; }
.rd-home-latest-heading>a { flex:none; font-size:12px; color:var(--rd-accent); text-decoration:none; }
.rd-home-latest-heading>a span { margin-left:6px; }
.rd-home-latest-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.rd-home-latest-grid article { min-width:0; border-top:1px solid var(--rd-line); padding-top:17px; }
.rd-home-latest time { color:var(--rd-muted); font:400 10px/1.5 var(--rd-mono); }
.rd-home-latest h3 { margin:10px 0; font-size:19px; font-weight:500; line-height:1.35; letter-spacing:-.025em; }
.rd-home-latest h3 a { color:inherit; text-decoration:none; }
.rd-home-latest p { margin:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--rd-muted); font-size:13px; line-height:1.6; }
.rd-home-latest a:hover { color:var(--rd-accent); text-decoration:underline; text-underline-offset:4px; }
.rd-home-latest a:focus-visible { outline:2px solid var(--rd-accent); outline-offset:4px; }
@media(max-width:900px) {
  .rd-footer-groups { grid-template-columns:1fr 1fr; gap:28px 36px; }
  .rd-home-latest { padding-inline:28px; }
}
@media(max-width:640px) {
  body>.rd-footer>.rd-footer-inner { padding-block:24px 18px; }
  .rd-footer-brand { align-items:flex-start; flex-direction:column; gap:12px; padding-bottom:22px; }
  .rd-footer-groups { display:block; padding:0; border:0; }
  .rd-footer-group { border-top:1px solid var(--rd-line); }
  .rd-footer-group summary { min-height:54px; margin:0; cursor:pointer; }
  .rd-footer-group summary h3 { font-size:11px; }
  .rd-footer-chevron { display:block; width:7px; height:7px; margin-right:3px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:rotate(45deg); color:var(--rd-muted); }
  .rd-footer-group[open] .rd-footer-chevron { transform:rotate(225deg); }
  .rd-footer-group ul { padding-bottom:14px; }
  .rd-footer-group a { min-height:44px; font-size:14px; }
  .rd-footer-bottom { margin-top:0; padding-top:16px; gap:16px; }
  .rd-footer-bottom ul { gap:0 16px; }
  .rd-footer-bottom a { min-height:36px; }
  .rd-footer-tools { width:100%; }
  .rd-footer-tools>span { margin-right:auto; }
  .rd-home-latest { padding:30px 24px; }
  .rd-home-latest-heading { align-items:flex-start; flex-direction:column; gap:12px; }
  .rd-home-latest h2 { font-size:27px; }
  .rd-home-latest-grid { grid-template-columns:1fr; gap:24px; }
  .rd-home-latest h3 { font-size:20px; }
}
@media(max-width:480px) { .rd-home-latest { width:calc(100% - 24px); padding-inline:18px; } }
