.dc-topic-shell{
	--dc-topic-radius:14px;
	--dc-topic-radius-sm:10px;
	--dc-topic-border:1px solid #e6e6ea;
	--dc-topic-shadow:0 1px 2px rgba(20,20,40,.04),0 8px 24px rgba(20,20,40,.06);
	--dc-topic-shadow-hover:0 2px 4px rgba(20,20,40,.06),0 16px 32px rgba(20,20,40,.10);
	--dc-topic-muted:#5a5d6b;
	--dc-topic-surface:#fff;
	--dc-topic-bg-soft:#f6f7fb;
	margin:0 auto;
	max-width:1180px;
	padding:0 8px;
}

.dc-topic-hero{
	position:relative;
	display:grid;
	grid-template-columns:280px 1fr;
	gap:32px;
	align-items:center;
	margin:0 0 28px;
	padding:28px;
	border:var(--dc-topic-border);
	border-radius:var(--dc-topic-radius);
	background:var(--dc-topic-surface);
	box-shadow:var(--dc-topic-shadow);
	overflow:hidden;
}
.dc-topic-hero__image{
	width:280px;
	height:280px;
	object-fit:cover;
	border-radius:50%;
	box-shadow:0 12px 32px rgba(20,20,40,.18);
}
.dc-topic-hero__body{font-size:1.05em;line-height:1.55;color:#2c2f3a}
.dc-topic-hero__body p:first-child{margin-top:0}
.dc-topic-hero__body p:last-child{margin-bottom:0}

.dc-topic-tabs{margin:0 0 24px}
.dc-topic-tabs .dc-button{text-decoration:none}
.dc-topic-tabs .dc-button--active,
.dc-topic-tabs .dc-button--active:link,
.dc-topic-tabs .dc-button--active:visited,
.dc-topic-tabs .dc-button--active:hover{
	background-color:#0f172a !important;
	color:#fff !important;
	border-color:#0f172a !important;
}

.dc-topic-panel{min-height:240px}

.dc-topic-strip{margin:0 0 36px}
.dc-topic-strip__head{
	display:flex;
	align-items:baseline;
	justify-content:space-between;
	gap:16px;
	margin:0 0 16px;
}
.dc-topic-strip__head h2{margin:0;font-size:1.5em;letter-spacing:-.01em}
.dc-topic-strip__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.dc-topic-strip__more{
	display:inline-flex;
	font-weight:600;
	font-size:.92em;
	text-decoration:none;
	color:var(--dc-topic-muted);
	white-space:nowrap;
}
.dc-topic-strip__more:hover{color:#111}
.dc-topic-link{color:#181a22;text-decoration:none;cursor:pointer}
.dc-topic-link:hover{text-decoration:underline}
.dc-topic-link:focus-visible{outline:3px solid #2563eb;outline-offset:3px;border-radius:4px}

.dc-topic-carousel.dc-button-row{
	overflow-x:auto;
	overflow-y:hidden;
	scrollbar-width:none;
	white-space:normal;
}
.dc-topic-carousel.dc-button-row::-webkit-scrollbar{display:none}
.dc-topic-carousel .dc-button-row__scroll{
	display:flex;
	flex-wrap:nowrap;
	gap:18px;
	padding:6px 36px;
	align-items:stretch;
}
.dc-topic-carousel .dc-topic-card{
	flex:0 0 320px;
	width:320px;
	white-space:normal;
}
.dc-topic-carousel--photos .dc-topic-card{flex:0 0 280px;width:280px}
.dc-topic-carousel .dc-button-row__chevron{
	width:40px;
	height:40px;
	font-size:1.6em;
	background:rgba(255,255,255,.96);
	box-shadow:0 4px 12px rgba(20,20,40,.18);
}
.dc-topic-carousel .dc-button-row__chevron--left{left:-4px}
.dc-topic-carousel .dc-button-row__chevron--right{right:-4px}

.dc-topic-grid{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));
	gap:20px;
}
.dc-topic-grid--wide{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.dc-topic-grid--photos{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.dc-topic-slider{
	display:flex;
	gap:18px;
	overflow-x:auto;
	overflow-y:hidden;
	padding:2px 2px 16px;
	scroll-snap-type:x mandatory;
	scroll-padding-left:2px;
	-webkit-overflow-scrolling:touch;
}
.dc-topic-slider::-webkit-scrollbar{height:8px}
.dc-topic-slider::-webkit-scrollbar-track{background:#f1f5f9;border-radius:999px}
.dc-topic-slider::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}
.dc-topic-slider>.dc-topic-card,.dc-topic-slider>.dc-topic-quote{
	flex:0 0 clamp(260px,31vw,360px);
	scroll-snap-align:start;
}
.dc-topic-slider--wide>.dc-topic-quote{flex-basis:clamp(300px,38vw,430px)}
.dc-topic-slider--photos>.dc-topic-card{flex-basis:clamp(240px,28vw,340px)}
.dc-topic-slider__button{min-width:2.2rem;padding:.34rem .58rem;line-height:1.1;font-weight:700}

.dc-topic-card{
	display:flex;
	flex-direction:column;
	overflow:hidden;
	border:var(--dc-topic-border);
	border-radius:var(--dc-topic-radius);
	background:var(--dc-topic-surface);
	box-shadow:var(--dc-topic-shadow);
	transition:transform .15s ease,box-shadow .15s ease;
}
.dc-topic-card:hover{transform:translateY(-2px);box-shadow:var(--dc-topic-shadow-hover)}
.dc-topic-card__media{
	position:relative;
	display:block;
	aspect-ratio:16/9;
	background:var(--dc-topic-bg-soft);
	overflow:hidden;
}
.dc-topic-clickable{cursor:pointer}
.dc-topic-clickable:focus-visible{outline:3px solid #2563eb;outline-offset:3px}
.dc-topic-card__media img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
	transition:transform .3s ease;
}
.dc-topic-card:hover .dc-topic-card__media img{transform:scale(1.04)}
.dc-topic-card__body{padding:18px;display:flex;flex-direction:column;gap:8px;flex:1}
.dc-topic-card__title{margin:0;font-size:1.15em;line-height:1.3;letter-spacing:-.005em}
.dc-topic-card__title .dc-topic-link{color:#181a22}
.dc-topic-card__meta{margin:0;color:var(--dc-topic-muted);font-size:.92em}
.dc-topic-card__body p{margin:0;color:#3a3d49;line-height:1.5}
.dc-topic-card__badge{
	position:absolute;
	top:12px;
	left:12px;
	padding:4px 10px;
	border-radius:999px;
	background:rgba(20,20,40,.78);
	color:#fff;
	font-size:.78em;
	font-weight:600;
	letter-spacing:.02em;
}

.dc-topic-list{display:grid;gap:18px}
.dc-topic-list-item{
	display:flex;
	flex-direction:row;
	gap:20px;
	align-items:stretch;
	overflow:hidden;
	border:var(--dc-topic-border);
	border-radius:var(--dc-topic-radius);
	background:var(--dc-topic-surface);
	box-shadow:var(--dc-topic-shadow);
	transition:transform .15s ease,box-shadow .15s ease;
}
.dc-topic-list-item:hover{transform:translateY(-1px);box-shadow:var(--dc-topic-shadow-hover)}
.dc-topic-list-item__media{
	position:relative;
	flex:0 0 clamp(180px,24vw,260px);
	background:var(--dc-topic-bg-soft);
	overflow:hidden;
	min-height:160px;
}
.dc-topic-list-item__media img{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
}
.dc-topic-list-item__media--avatar{
	display:flex;
	align-items:center;
	justify-content:center;
	padding:18px;
}
.dc-topic-list-item__media--avatar img{
	position:static;
	width:140px;
	height:140px;
	border-radius:50%;
	box-shadow:0 8px 20px rgba(20,20,40,.12);
}
.dc-topic-list-item__body{padding:20px 20px 20px 0;display:flex;flex-direction:column;gap:8px;justify-content:center}
.dc-topic-list-item__body>div:first-child:last-child{padding:20px}
.dc-topic-list-item__title{margin:0;font-size:1.25em;line-height:1.3;letter-spacing:-.005em;text-align:left}
.dc-topic-list-item__title .dc-topic-link{color:#181a22}
.dc-topic-list-item__meta{margin:0;color:var(--dc-topic-muted);font-size:.92em}
.dc-topic-list-item__body p{margin:0;color:#3a3d49;line-height:1.55}

.dc-topic-list-item--no-media{grid-template-columns:1fr}
.dc-topic-list-item--no-media .dc-topic-list-item__body{padding:22px}

.dc-topic-quote{
	position:relative;
	padding:28px 28px 24px;
	border:var(--dc-topic-border);
	border-radius:var(--dc-topic-radius);
	background:var(--dc-topic-surface);
	box-shadow:var(--dc-topic-shadow);
}
.dc-topic-quote::before{
	content:"\201C";
	position:absolute;
	top:-12px;
	left:18px;
	font-size:5em;
	line-height:1;
	color:#cfd1da;
	font-family:Georgia,serif;
}
.dc-topic-quote__body{margin:0 0 12px;font-size:1.05em;line-height:1.6;color:#2c2f3a}
.dc-topic-quote__sig{margin:0;font-weight:600;color:#181a22}
.dc-topic-quote--with-media{display:flex;flex-direction:column;gap:18px}
.dc-topic-quote__media{
	position:relative;
	z-index:1;
	width:100%;
	aspect-ratio:16/9;
	border-radius:var(--dc-topic-radius-sm);
	overflow:hidden;
	background:var(--dc-topic-bg-soft);
	box-shadow:0 8px 20px rgba(20,20,40,.12);
}
.dc-topic-quote__media img{width:100%;height:100%;object-fit:cover;display:block}
.dc-topic-quote__content{position:relative;z-index:1}

.dc-topic-media-blur{background:#fff}
.dc-topic-media-blur .dc-topic-media__image{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	display:block;
}
.dc-topic-media-blur .dc-topic-media__image--backdrop{
	z-index:1;
	object-fit:cover;
	transform:scale(1.12);
	filter:blur(20px) saturate(104%) brightness(1.08);
	opacity:.34;
}
.dc-topic-media-blur .dc-topic-media__image--foreground{
	z-index:2;
	object-fit:contain;
	padding:0;
	filter:drop-shadow(0 10px 18px rgba(15,23,42,.18));
}
.dc-topic-card:hover .dc-topic-media__image--backdrop{transform:scale(1.12)}
.dc-topic-card:hover .dc-topic-media__image--foreground{transform:none}
.dc-topic-list-item:hover .dc-topic-media__image--backdrop{transform:scale(1.12)}
.dc-topic-list-item:hover .dc-topic-media__image--foreground{transform:none}
.dc-topic-quote__media.dc-topic-media-blur img{position:absolute}

.dc-topic-editorial{
	margin:0 0 28px;
	padding:24px 28px;
	border:var(--dc-topic-border);
	border-radius:var(--dc-topic-radius);
	background:var(--dc-topic-surface);
	box-shadow:var(--dc-topic-shadow);
	line-height:1.6;
	color:#2c2f3a;
}
.dc-topic-editorial p:first-child{margin-top:0}
.dc-topic-editorial p:last-child{margin-bottom:0}

.dc-topic-loading{
	padding:32px;
	text-align:center;
	color:var(--dc-topic-muted);
	font-weight:600;
}
.dc-topic-error{
	padding:20px;
	margin:16px 0;
	border:1px solid #f3c4c4;
	border-radius:var(--dc-topic-radius-sm);
	background:#fff5f5;
	color:#8a1f1f;
}
.dc-topic-empty{
	padding:48px 24px;
	text-align:center;
	color:var(--dc-topic-muted);
	border:1px dashed #d6d8e0;
	border-radius:var(--dc-topic-radius);
	background:var(--dc-topic-bg-soft);
}

.dc-topics-index{
	display:grid;
	grid-template-columns:repeat(auto-fill,minmax(320px,1fr));
	gap:22px;
	margin:0 auto;
	max-width:1180px;
	padding:0 8px;
}
.dc-topic-card-index{
	display:flex;
	flex-direction:column;
	overflow:hidden;
	border:var(--dc-topic-border,1px solid #e6e6ea);
	border-radius:14px;
	background:#fff;
	box-shadow:0 1px 2px rgba(20,20,40,.04),0 8px 24px rgba(20,20,40,.06);
	transition:transform .15s ease,box-shadow .15s ease;
}
.dc-topic-card-index:hover{transform:translateY(-2px);box-shadow:0 2px 4px rgba(20,20,40,.06),0 16px 32px rgba(20,20,40,.10)}
.dc-topic-card-index__media{
	position:relative;
	aspect-ratio:16/9;
	background:#f6f7fb;
	overflow:hidden;
}
.dc-topic-card-index__media img{
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform .3s ease;
}
.dc-topic-card-index:hover .dc-topic-card-index__media img{transform:scale(1.04)}
.dc-topic-card-index__media.dc-topic-media-blur .dc-topic-media__image--backdrop{position:absolute;object-fit:cover;transform:scale(1.12)}
.dc-topic-card-index__media.dc-topic-media-blur .dc-topic-media__image--foreground{position:absolute;object-fit:contain;transform:none}
.dc-topic-card-index:hover .dc-topic-media__image--backdrop{transform:scale(1.12)}
.dc-topic-card-index:hover .dc-topic-media__image--foreground{transform:none}
.dc-topic-card-index__body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:10px;flex:1}
.dc-topic-card-index__title{margin:0;font-size:1.35em;letter-spacing:-.01em;line-height:1.25}
.dc-topic-card-index__title .dc-topic-link{color:#181a22}
.dc-topic-card-index__summary{margin:0;color:#3a3d49;line-height:1.55}
.dc-topic-card-index__counts{
	margin-top:auto;
	padding-top:10px;
	color:#5a5d6b;
	font-size:.9em;
	border-top:1px solid #eef0f5;
	display:flex;
	flex-wrap:wrap;
	gap:6px 14px;
}

@media (max-width:880px){
	.dc-topic-shell{padding:0 4px}
	.dc-topic-hero{display:flex;flex-direction:column;text-align:center;padding:18px;margin-bottom:18px}
	.dc-topic-hero__image{width:200px;height:200px;margin:0 auto}
	.dc-topic-strip{margin-bottom:26px}
	.dc-topic-strip__head{align-items:flex-start;flex-direction:column;gap:6px}
	.dc-topic-strip__actions{justify-content:flex-start}
	.dc-topic-list-item{flex-direction:column;gap:0}
	.dc-topic-list-item__media{aspect-ratio:16/9;min-height:0}
	.dc-topic-list-item__media--avatar{aspect-ratio:auto;padding:22px}
	.dc-topic-list-item__body{padding:18px}
	.dc-topic-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
	.dc-topic-carousel .dc-topic-card{flex-basis:260px;width:260px}
	.dc-topics-index{grid-template-columns:1fr;padding:0 4px}
}
@media (max-width:520px){
	.dc-topic-shell{max-width:none;padding:0}
	.dc-topic-hero{border-radius:10px;padding:14px}
	.dc-topic-hero__image{width:160px;height:160px}
	.dc-topic-hero__body{font-size:1em}
	.dc-topic-tabs{gap:4px;border-radius:10px}
	.dc-topic-tabs__link{padding:8px 12px;font-size:.9em}
	.dc-topic-strip__head h2{font-size:1.25em}
	.dc-topic-grid,.dc-topic-grid--wide,.dc-topic-grid--photos{grid-template-columns:1fr;gap:14px}
	.dc-topic-list{gap:14px}
	.dc-topic-card__body,.dc-topic-list-item__body,.dc-topic-card-index__body{padding:16px}
	.dc-topic-quote{padding:24px 18px 18px}
	.dc-topic-quote::before{left:14px;font-size:4em}
	.dc-topic-editorial{padding:18px}
	.dc-topic-carousel .dc-topic-card{flex-basis:240px;width:240px}
}
