/* Homepage enhancements; the archive keeps the shared blog.css layout. */
.blog-home-section .blog-home-carousel{min-width:0}
.blog-home-section .blog-home-track{
  --blog-visible:3;
  --blog-gap:28px;
  --blog-card-width:calc((100% - var(--blog-gap) - var(--blog-gap))/3);
  display:flex;
  align-items:stretch;
  gap:var(--blog-gap);
  width:100%;
  min-width:0;
  padding:0 0 12px;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;
  scroll-behavior:auto;
  -webkit-overflow-scrolling:touch;
}
.blog-home-section .blog-home-track>.blog-card{
  flex:0 0 var(--blog-card-width);
  width:var(--blog-card-width);
  max-width:none;
  scroll-snap-align:start;
}
.blog-home-section .blog-home-track:focus-visible{outline:3px solid var(--pink);outline-offset:6px;border-radius:6px}
.blog-home-section .blog-home-track .blog-card h3{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
  overflow-wrap:anywhere;
}
.blog-home-section .blog-home-carousel.is-ready .blog-home-track{
  cursor:grab;
  user-select:none;
  -webkit-user-select:none;
  scrollbar-width:none;
}
.blog-home-section .blog-home-carousel.is-ready .blog-home-track::-webkit-scrollbar{display:none}
.blog-home-section .blog-home-carousel.is-ready .blog-card-link{cursor:inherit;-webkit-user-drag:none}
.blog-home-section .blog-home-track img{-webkit-user-drag:none}
.blog-home-section .blog-home-carousel.is-ready .blog-home-track.is-dragging{
  cursor:grabbing;
  scroll-snap-type:none;
  scroll-behavior:auto;
}
.blog-home-section .blog-home-track.is-dragging .blog-card-media>img{transform:none;transition:none}
.blog-home-section .blog-home-controls{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:20px;
  margin-top:12px;
}
.blog-home-section .blog-browse-hint{
  margin:0;
  font-size:9px;
  font-weight:600;
  line-height:1.6;
  letter-spacing:.14em;
  color:var(--muted);
}
.blog-home-section .blog-home-navigation{display:flex;align-items:center;gap:12px;flex-shrink:0}
.blog-home-section .blog-home-navigation .circle-control{
  width:44px;
  height:44px;
  flex-shrink:0;
  color:var(--berry);
  background:#fff;
  border-color:#d9c3cd;
}
.blog-home-section .blog-home-navigation .circle-control svg{width:19px;height:19px}
.blog-home-section .blog-home-navigation .circle-control:hover:not(:disabled){color:#fff;background:var(--berry);border-color:var(--berry)}
.blog-home-section .blog-home-navigation .circle-control:focus-visible{outline:3px solid var(--pink);outline-offset:3px}
.blog-home-section .blog-home-navigation .circle-control:disabled{opacity:.4;cursor:default}
.blog-home-section .blog-home-position{
  min-width:90px;
  color:var(--berry);
  text-align:center;
  font-size:10px;
  font-weight:600;
  line-height:1.4;
  letter-spacing:.08em;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.blog-home-section .blog-home-autoplay[aria-pressed="true"]{background:var(--blush)}
.blog-home-section .blog-home-autoplay[aria-pressed="true"] .icon-pause,
.blog-home-section .blog-home-autoplay[aria-pressed="false"] .icon-play{display:none}
.blog-home-section .blog-home-progress{height:3px;margin-top:19px;overflow:hidden;border-radius:3px;background:var(--blush)}
.blog-home-section .blog-home-progress>span{display:block;width:0;height:100%;border-radius:inherit;background:var(--berry);transition:width .4s ease}
.blog-home-section [hidden]{display:none!important}

/* The native dialog owns scrolling, so its close control stays reachable. */
.blog-home-section .blog-reader{
  width:calc(100vw - 48px);
  max-width:1000px;
  max-height:90vh;
  max-height:90dvh;
  margin:auto;
  padding:0;
  border:1px solid #e8dce2;
  border-radius:32px 12px 32px 12px;
  background:#fff;
  box-shadow:0 30px 110px #27142342;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  scroll-padding-top:96px;
}
.blog-home-section .blog-reader::backdrop{background:#2d132a99;backdrop-filter:blur(5px)}
.blog-home-section .blog-reader-toolbar{
  position:sticky;
  top:0;
  z-index:5;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:77px;
  padding:14px 28px;
  background:var(--ivory);
  border-bottom:1px solid var(--line);
}
.blog-home-section .blog-reader-toolbar>span{color:var(--berry);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:.13em}
.blog-home-section .blog-reader-close{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  flex-shrink:0;
  min-height:44px;
  padding:10px 17px;
  border:1px solid #d9c3cd;
  border-radius:999px;
  background:#fff;
  color:var(--berry);
  font-size:10px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:.08em;
  white-space:nowrap;
  transition:background .2s,color .2s,border-color .2s;
}
.blog-home-section .blog-reader-close>span{font-size:23px;font-weight:400;line-height:1}
.blog-home-section .blog-reader-close:hover{background:var(--berry);border-color:var(--berry);color:#fff}
.blog-home-section .blog-reader-close:focus-visible{outline:3px solid var(--pink);outline-offset:3px}
.blog-home-section .blog-reader-heading{max-width:820px;margin:0 auto;padding:44px 44px 32px}
.blog-home-section .blog-reader-heading .eyebrow{font-size:10px;margin-bottom:16px}
.blog-home-section .blog-reader-heading h2{font-size:clamp(28px,3.6vw,48px);line-height:1.1;letter-spacing:-.04em;margin:0 0 23px;overflow-wrap:anywhere}
.blog-home-section .blog-reader-article{max-width:820px;margin:0 auto;padding:0 44px}
.blog-home-section .blog-reader-article .article-cover img,
.blog-home-section .blog-reader-article .article-prose img{width:auto;max-width:100%;height:auto;object-fit:contain;margin-left:auto;margin-right:auto}
.blog-home-section .blog-reader-article .article-prose h2{font-size:clamp(25px,2.5vw,33px)}
.blog-home-section .blog-reader-article .article-prose h3{font-size:clamp(21px,2vw,27px)}
.blog-home-section .blog-reader-article .article-source{overflow-wrap:anywhere}
.blog-home-section .blog-reader-footer{max-width:820px;margin:30px auto 0;padding:26px 44px 40px;border-top:1px solid var(--line)}
.blog-home-section .blog-reader-footer>button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:44px;
  border:0;
  border-radius:999px;
  padding:12px 22px;
  background:var(--berry);
  color:#fff;
  font-size:12px;
  font-weight:600;
  line-height:1.3;
  white-space:normal;
  text-align:center;
  transition:background .2s;
}
.blog-home-section .blog-reader-footer>button:hover{background:#76203c}

@media(max-width:1100px){.blog-home-section .blog-home-track{--blog-gap:20px}}
@media(max-width:960px){
  .blog-home-section .blog-home-track{--blog-visible:2;--blog-card-width:calc((100% - var(--blog-gap))/2)}
}
@media(max-width:600px){
  .blog-home-section .blog-home-track{--blog-visible:1;--blog-gap:16px;--blog-card-width:calc(100% - 40px)}
  .blog-home-section .blog-home-track>.blog-card:last-child{margin-right:40px}
  .blog-home-section .blog-home-controls{display:flex;flex-direction:column;gap:14px;margin-top:7px}
  .blog-home-section .blog-browse-hint{text-align:center;font-size:8px}
  .blog-home-section .blog-home-navigation{gap:10px;justify-content:center;width:100%}
  .blog-home-section .blog-home-position{min-width:76px;font-size:9px}
  .blog-home-section .blog-home-progress{margin-top:17px}
  .blog-home-section .blog-reader{width:calc(100vw - 20px);border-radius:24px 8px 24px 8px;scroll-padding-top:85px}
  .blog-home-section .blog-reader-toolbar{min-height:69px;padding:12px 16px;gap:12px}
  .blog-home-section .blog-reader-toolbar>span{font-size:8px;letter-spacing:.1em}
  .blog-home-section .blog-reader-close{padding:10px 13px;font-size:9px}
  .blog-home-section .blog-reader-heading{padding:30px 23px 26px}
  .blog-home-section .blog-reader-heading h2{margin-bottom:20px}
  .blog-home-section .blog-reader-heading .article-meta{font-size:10px;gap:8px 16px}
  .blog-home-section .blog-reader-article{padding:0 23px}
  .blog-home-section .blog-reader-article .article-cover{margin-bottom:27px}
  .blog-home-section .blog-reader-article .article-prose blockquote{padding:20px}
  .blog-home-section .blog-reader-footer{margin-top:24px;padding:24px 23px 30px}
}
@media(prefers-reduced-motion:reduce){
  .blog-home-section .blog-home-track{scroll-behavior:auto}
  .blog-home-section .blog-home-progress>span,
  .blog-home-section .blog-home-track .blog-card-media>img,
  .blog-home-section .blog-home-navigation .circle-control,
  .blog-home-section .blog-reader-close,
  .blog-home-section .blog-reader-footer>button{transition:none}
  .blog-home-section .blog-home-track .blog-card-link:hover .blog-card-media>img{transform:none}
}
