/* Shared header owns native fragment clearance through root scroll-padding; do not add it twice. */
.article-catalog { color:#281c37; background:#fee9fb; font:400 18px/1.65 Manrope,Arial,sans-serif; }
.article-catalog *, .article-catalog *::before, .article-catalog *::after { box-sizing:border-box; }
.article-catalog [hidden] { display:none!important; }
.article-catalog__width { width:100%; max-width:1248px; margin:0 auto; padding-right:32px; padding-left:32px; }
.article-catalog :is(h1,h2,h3,p) { width:auto; height:auto; margin:0; color:inherit; font-family:inherit; text-align:left; }
.article-catalog :is(h1,h2,h3) { font-weight:600; letter-spacing:-.035em; }
.article-catalog h1 { font-size:clamp(36px,4.1vw,56px); line-height:1.13; }
.article-catalog h2 { font-size:clamp(28px,3vw,38px); line-height:1.2; }
.article-catalog h3 { font-size:23px; line-height:1.35; letter-spacing:-.025em; }
.article-catalog__hero { position:relative; overflow:hidden; isolation:isolate; display:flex; align-items:center; min-height:620px; margin:0; padding:140px 0 88px; background:#d7bed3; }
.article-catalog__hero::after { content:""; position:absolute; z-index:1; right:0; bottom:0; left:0; height:40px; background:linear-gradient(180deg,rgba(215,190,211,0),#d7bed3); pointer-events:none; }
.article-catalog__hero-inner { position:relative; z-index:2; }
.article-catalog__intro { min-width:0; max-width:58%; }
.article-catalog .article-catalog__lead { max-width:560px; margin-top:24px; font-size:20px; line-height:1.65; }
.article-catalog .article-catalog__note { margin-top:16px; font-size:16px; }
.article-catalog__art { position:absolute; z-index:0; top:0; right:-4%; bottom:0; width:74%; pointer-events:none; mask-image:linear-gradient(90deg,transparent,#000 42%); }
.article-catalog__art img { display:block; width:100%; height:100%; max-width:none; object-fit:cover; object-position:right bottom; }
.article-catalog .article-catalog__browse { display:inline-flex; min-height:48px; align-items:center; gap:24px; margin-top:28px; color:#633b7e; font-size:16px; font-weight:700; text-decoration:underline; text-underline-offset:5px; }
/* Keep the scene tone through choosing a topic; lighten only behind the cards. */
.article-library-surface { background:linear-gradient(180deg,#d7bed3 240px,#fee9fb 580px); }
.article-catalog .article-library { padding-top:36px; padding-bottom:88px; scroll-margin-top:0; }
.article-library__heading { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:16px 32px; margin-bottom:28px; }
.article-library__heading p { color:#503b59; font-size:17px; }
.article-library__filters { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:20px; }
.article-catalog .article-library__filters button { display:inline-flex; min-width:0; min-height:48px; align-items:center; justify-content:center; gap:16px; padding:10px 20px; color:#633b7e; border:1px solid #633b7e; border-radius:14px; background:transparent; font:700 16px/1.4 Manrope,Arial,sans-serif; white-space:normal; overflow-wrap:anywhere; cursor:pointer; }
.article-catalog .article-library__filters button:hover { color:#281c37; background:#e7cde3; }
.article-catalog .article-library__filters button[aria-pressed="true"], .article-catalog .article-library__filters button[aria-pressed="true"]:hover { color:#fff8ff; border-color:#281c37; background:#281c37; }
.article-library__filters button span { font-size:14px; }
.article-library__meta { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 24px; margin-bottom:28px; }
.article-catalog .article-library__count, .article-catalog .article-library__times { font-size:14px; color:#503b59; }
.article-library__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:stretch; }
.article-library__entry { min-width:0; }
.article-catalog .article-card { display:flex; height:100%; min-width:0; flex-direction:column; overflow:hidden; color:#281c37; border:1px solid #c9a8c4; border-radius:20px; background:#fff8fc; text-decoration:none; box-shadow:none; }
.article-catalog .article-card:hover { color:#281c37; border-color:#633b7e; background:#fff8fc; }
.article-card__cover { display:block; width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; }
.article-card__body { display:flex; flex:1; flex-direction:column; padding:24px; }
.article-catalog .article-card__topic { margin-bottom:12px; color:#633b7e; font-size:12px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.article-catalog .article-card__summary { margin-top:16px; margin-bottom:24px; color:#503b59; font-size:16px; line-height:1.75; }
.article-catalog .article-card__time { display:flex; flex-wrap:wrap; gap:6px 10px; margin-top:auto; padding-top:8px; color:#503b59; font-size:14px; }
.article-card__open { display:flex; min-height:44px; align-items:center; justify-content:space-between; gap:12px; margin-top:12px; color:#633b7e; font-size:16px; font-weight:700; text-decoration:underline; text-underline-offset:5px; }
.article-library__topics { margin-top:32px; color:#503b59; font-size:15px; }
.article-library__topics summary { width:fit-content; min-height:44px; padding:10px 0; color:#633b7e; font-weight:700; text-decoration:underline; text-underline-offset:5px; cursor:pointer; }
.article-catalog .article-library__topics p { max-width:720px; margin:12px 0 0; }
.article-catalog :is(a,button,summary):focus-visible { outline:3px solid #633b7e; outline-offset:4px; }
.article-catalog :is(h1,section)[tabindex="-1"]:focus-visible { outline:3px solid #633b7e; outline-offset:6px; }
@media (max-width:1023px) {
 .article-catalog__hero { padding-top:132px; }




 .article-library__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px) {
 .article-catalog__hero { display:block; min-height:0; padding-bottom:0; }
 .article-catalog__art { position:relative; top:auto; right:auto; bottom:auto; width:100%; height:auto; aspect-ratio:3/2; margin-top:16px; mask-image:linear-gradient(180deg,transparent,#000 16%); }
 .article-catalog__art img { height:auto; aspect-ratio:3/2; object-fit:contain; }
 .article-catalog__intro { max-width:760px; }
 .article-library-surface { background:linear-gradient(180deg,#d7bed3 340px,#fee9fb 720px); }
}
@media (max-width:639px) {
 .article-catalog__width { padding-right:24px; padding-left:24px; }
 .article-catalog__hero { padding-top:120px; padding-bottom:0; }
 .article-catalog .article-catalog__lead { font-size:18px; }

 .article-catalog .article-library { padding-top:24px; padding-bottom:56px; }
 .article-library__heading { margin-bottom:24px; }
 .article-library__grid { grid-template-columns:minmax(0,1fr); gap:20px; }
 .article-card__body { padding:24px; }
 .article-library__filters { gap:10px; }
 .article-catalog .article-library__filters button { padding-right:16px; padding-left:16px; }
}
@media (forced-colors:active) {
 .article-catalog .article-card, .article-catalog .article-library__filters button { border:1px solid ButtonText; }
 .article-catalog .article-library__filters button[aria-pressed="true"] { border-width:3px; }
 .article-catalog :is(a,button,summary):focus-visible { outline:3px solid Highlight; }
}

/* The same seven falling stars and slow twinkles used by the other catalog. */
.article-catalog__twinkles { position:absolute; z-index:1; inset:0; pointer-events:none; color:#fff7e8; }
.article-catalog__twinkles span { position:absolute; left:76%; top:25%; font-size:20px; text-shadow:0 0 12px #c775a0; animation:article-starlight 5s ease-in-out infinite alternate; }
.article-catalog__twinkles span:nth-child(2) { left:88%; top:43%; font-size:30px; animation-delay:-2s; }
.article-catalog__twinkles span:nth-child(3) { left:63%; top:17%; font-size:13px; animation-delay:-4s; }
.article-catalog__twinkles span:nth-child(4) { left:94%; top:16%; font-size:18px; animation-delay:-1s; }
.article-catalog__twinkles span:nth-child(5) { left:71%; top:61%; font-size:14px; animation-delay:-3s; }
.article-catalog__twinkles span:nth-child(6) { left:55%; top:48%; font-size:22px; animation-delay:-5s; }
@keyframes article-starlight { from { opacity:.22; transform:scale(.8); } to { opacity:.9; transform:scale(1.1); } }
.article-catalog__hero .emt-sky { position:absolute; inset:0; z-index:1; overflow:hidden; pointer-events:none; }
.article-catalog__hero .emt-star { --size:7px; --drift:18px; --duration:7s; --delay:0s; position:absolute; top:-10%; left:var(--x); width:var(--size); height:var(--size); opacity:0; border-radius:50%; background:#fff5c9; box-shadow:0 0 7px 2px rgba(152,85,126,.42); animation:article-star-fall var(--duration) linear var(--delay) infinite; will-change:transform,opacity; }
.article-catalog__hero .emt-star::before,.article-catalog__hero .emt-star::after { content:""; position:absolute; inset:50% auto auto 50%; background:inherit; border-radius:999px; transform:translate(-50%,-50%); }
.article-catalog__hero .emt-star::before { width:240%; height:24%; }
.article-catalog__hero .emt-star::after { width:24%; height:240%; }
.article-catalog__hero .emt-star--dot::before,.article-catalog__hero .emt-star--dot::after { display:none; }
@keyframes article-star-fall { 0% { transform:translate3d(0,-6vh,0) rotate(0); opacity:0; } 10% { opacity:.88; } 68% { opacity:.72; } 82%,100% { transform:translate3d(var(--drift),70vh,0) rotate(55deg); opacity:0; } }
@media (prefers-reduced-motion:reduce), (forced-colors:active) {
 .article-catalog__twinkles,.article-catalog__hero .emt-sky { display:none; }
 .article-catalog__hero :is(.emt-star,.article-catalog__twinkles span) { animation:none; }
}
